{"version":3,"sources":["webpack:///./node_modules/pdfjs-dist/build/pdf.worker.js"],"names":["root","factory","module","exports","this","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","pdfjsCoreWorker","WorkerMessageHandler","WorkerTask","_regenerator","_interopRequireDefault","_util","_primitives","_pdf_manager","_is_node","_message_handler","_worker_stream","_core_utils","obj","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","TypeError","iterator","toString","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","length","err","Array","isArray","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","terminated","_capability","createPromiseCapability","promise","finish","terminate","ensureNotTerminated","Error","setup","handler","port","testMessageProcessed","on","data","Uint8Array","supportTransfers","postMessageTransfers","send","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","workerVersion","concat","docId","docBaseUrl","workerHandlerName","MessageHandler","startWorkerTask","task","finishWorkerTask","indexOf","splice","loadDocument","_x","_loadDocument","mark","_callee","recoveryMode","_ref4","_ref5","numPages","fingerprint","wrap","_context","prev","ensureDoc","all","sent","abrupt","stop","getPdfManager","evaluatorOptions","pdfManagerCapability","source","LocalPdfManager","password","ex","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","reason","loaded","flushChunks","pdfFile","arraysToBytes","warn","readPromise","readChunk","chunk","arrayByteLength","total","Math","max","read","e","cancelAllRequests","setupDoc","onSuccess","doc","pdfInfo","onFailure","PasswordException","code","sendWithPromise","updatePassword","pdfManagerReady","boundException","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","XRefParseException","requestLoadedStream","onLoadedStream","forceDataSchema","disableCreateObjectURL","maxImageSize","disableFontFace","nativeImageDecoderSupport","ignoreErrors","isEvalSupported","newPdfManager","AbortException","stream","bytes","byteLength","getPage","pageIndex","page","ensure","_ref","_ref2","rotate","ref","userUnit","view","Ref","num","catalog","pdfDocument","getPageIndex","ensureCatalog","id","xref","stats","_ref3","intent","getAnnotationsData","sink","start","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorListInfo","close","featureId","UNSUPPORTED_FEATURES","unknown","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","fontFallback","cleanup","clearPrimitiveCaches","waitOn","forEach","finished","destroy","initializeFromPort","isMessagePort","maybePort","postMessage","window","_typeof","constructor","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","type","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","AsyncIterator","invoke","record","result","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","slice","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","assert","bytesToString","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isString","isSpace","isSameOrigin","createValidAbsoluteUrl","isLittleEndian","log2","readInt8","readUint16","readUint32","removeNullCharacters","shadow","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","unreachable","_streams_polyfill","ReadableStream","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","NativeImageDecoding","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","_defineProperties","target","props","descriptor","configurable","writable","_createClass","Constructor","protoProps","staticProps","_classCallCheck","instance","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_getPrototypeOf","_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","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","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","level","Number","isInteger","msg","console","log","cond","baseUrl","otherUrl","base","URL","origin","other","_isValidProtocol","url","protocol","absoluteUrl","prop","_BaseException","_this","_BaseException2","details","_this2","_BaseException3","_BaseException4","_BaseException5","status","_this3","_BaseException6","_BaseException7","NullCharactersRegExp","str","replace","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","min","subarray","join","charCodeAt","resultLength","pos","item","itemLength","set","x","ceil","offset","buffer8","view32","Uint32Array","buffer","rgbBuf","g","b","m1","m2","xt","yt","p1","applyTransform","p2","p3","p4","v","transpose","a","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","every","element","index","ch","capability","isSettled","digits","contentType","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","isNodeJS","hasDOM","document","btoa","chars","Buffer","from","atob","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","startsWith","endsWith","includes","assign","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","global","process","versions","entryUnbind","$","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","nativeStartsWith","proto","forced","searchString","that","search","getOwnPropertyDescriptor","f","hide","redefine","setGlobal","copyConstructorProperties","isForced","options","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","O","check","it","globalThis","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","P","fails","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","classof","split","isObject","PREFERRED_STRING","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","shared","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","IS_PURE","SHARED","store","version","copyright","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","test","uid","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","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","F","Properties","objectKeys","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","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","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","step","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","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","anInstance","iterate","speciesConstructor","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","userAgent","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","fetch","v8","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","empty","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","domain","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","defaultConstructor","defer","channel","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","host","nextTick","port2","port1","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","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","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","output","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","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","URLSearchParamsConstructor","entryIterator","init","URLSearchParamsPrototype","append","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","originalArray","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","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","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","_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","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","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","_readyPromise_resolve","_readyPromise_reject","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","DOMException","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","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","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","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","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","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","isEOF","isCmd","isDict","isName","isRef","isRefsEqual","isStream","RefSetCache","RefSet","Name","Dict","Cmd","nameCache","nameValue","_clearCache","cmdCache","cmd","cmdValue","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","getAsync","_getAsync","fetchAsync","_x2","_x3","getArray","getRaw","getKeys","merge","dictArray","mergedDict","dict","keyName","refCache","refValue","put","putAlias","aliasRef","thisArg","v1","v2","getBytes","_chunked_stream","_document","_stream","BasePdfManager","_ensure","begin","_password","_docId","_docBaseUrl","_BasePdfManager","Stream","PDFDocument","_loadedStreamPromise","_ensure2","_callee2","_context2","_x4","_x5","_x6","_BasePdfManager2","pdfNetworkStream","streamManager","ChunkedStreamManager","getStream","_ensure3","_callee3","_context3","t0","MissingDataException","requestRange","_x7","_x8","_x9","requestAllChunks","onReceiveData","ChunkedStream","manager","loadedChunks","numChunksLoaded","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","beginChunk","endChunk","curChunk","ensureByte","b0","getByte","forceClamped","strEnd","ensureRange","_subarray","Uint8ClampedArray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","subStream","currRequestId","chunksNeededByRequest","requestsByChunk","promisesByRequest","_loadedStreamCapability","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_chunk","hasChunk","chunksToRequest","groupedChunksToRequest","groupChunks","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","range","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","allChunksLoaded","loadedRequests","_chunk2","requestIds","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","nextEmptyChunk","lastChunk","_loadedRequests","_requestId","getLookupTableFactory","getInheritableProperty","toRomanNumerals","XRefEntryException","initializer","lookup","_ref$getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","Page","_obj","_stream2","_annotation","_crypto","_parser","_operator_list","_evaluator","_function","DEFAULT_USER_UNIT","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","fontCache","builtInCMapCache","pdfFunctionFactory","resourcesPromise","idCounters","idFactory","createObjId","getDocId","box","_getInheritableProperty","content","streams","fetchIfRef","StreamsSequenceStream","NullStream","objectLoader","ObjectLoader","resources","load","contentStreamPromise","loadResources","partialEvaluator","PartialEvaluator","dataPromises","pageListPromise","contentStream","opList","OperatorList","transparency","hasBlendModes","operatorList","_parsedAnnotations","_ref6","pageOpList","annotations","totalLength","opListPromises","opLists","addOp","addOpList","_ref7","_ref8","_ref9","getTextContent","annotationsData","_getBoundingBox","mediaBox","cropBox","intersect","_this4","parsedAnnotations","annotationRefs","annotationPromises","AnnotationFactory","FINGERPRINT_FIRST_BYTES","EMPTY_FINGERPRINT","needle","limit","backwards","peekBytes","lastIndexOf","XRef","PDFFunctionFactory","_pagePromises","catDict","pdfFormatVersion","acroForm","xfa","fields","moveStart","MAX_PDF_VERSION_LENGTH","substring","setStartXRef","startXRef","parse","Catalog","linearization","pageFirst","objectNumberFirst","pageKidsCountCache","getPageDict","_this5","_getLinearizationPage","_ref10","_ref11","_this6","Linearization","startXRefLength","skip","infoDict","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","trailer","customValue","idArray","calculateMD5","getByteRange","fingerprintBuf","hex","FileSpec","_colorspace","fetchDestination","getCatalogObj","Map","items","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","title","flags","color","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","encrypt","permissions","destinationId","_readDests","NameTree","pageLabels","prefix","numberTree","NumberTree","nums","currentLabel","currentIndex","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","character","charBuf","jj","promises","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","currentPageIndex","_loop","currentNode","kids","_ret","pageRef","pagesBeforeRef","kidRef","parentRef","kidPromises","kid","_args","streamRef","encryptMetadata","subtype","pagesObj","_readDocumentOutline","_readPermissions","toplevelPagesDict","dests","_readPageLabels","pageLayout","pageMode","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","isValid","openActionDest","attachments","nameTree","fs","serializable","appendIfJavaScriptDict","jsDict","openActionDict","actionType","addDefaultProtocolToUrl","tryConvertUrlEncoding","actionName","urlDict","remoteDest","namedAction","jsAction","URL_OPEN_METHODS","regex","jsUrl","xrefstms","_cacheMap","streamTypes","fontTypes","startXRefQueue","trailerDict","indexObjects","readXRef","ids","fileId","CipherTransformFactory","processXRefTable","parser","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","getObj","firstEntryNum","entryCount","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","TAB","LF","CR","SPACE","PERCENT","LT","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","CHECK_CONTENT_LENGTH","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","getEntry","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","fetchIfRefAsync","_fetchIfRefAsync","_fetchAsync","NameOrNumberTree","_type","_ii","kidsOrEntries","MAX_LEVELS","limits","_l","_r","tmp","_m","currentKey","_m2","mm","_currentKey","_NameOrNumberTree","_NameOrNumberTree2","contentAvailable","pickPlatformItem","_filename","filename","contentRef","fileObj","mayHaveChildren","addChildren","dictKeys","rawValue","_i3","_ii2","refSet","_walk","nodesToRevisit","pendingRequests","getBaseStreams","baseStreams","foundMissingData","requestRanges","_i4","_ii3","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","MAX_LENGTH_TO_CACHE","MAX_ADLER32_LENGTH","computeAdler32","bytesLength","_ref$allowStreams","_ref$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","makeStream","decryptString","maybeEIPos","I","NUL","followingBytes","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","TILDE","GT","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","signature","SCAN_BLOCK_LENGTH","signatureLength","scanBytes","scanLength","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","knownCommands","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","firstDigit","secondDigit","isFirstHex","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","getHints","hintsLength","hints","hint","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arrayBuffer","getInt32","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","Int32Array","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","blockLen","predictor","readBlockTiff","readBlockPng","colors","columns","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","prevRow","up","upLeft","left","pa","pb","pc","decrypt","nextChunk","initialized","hasMoreData","TILDA_CHAR","Z_LOWER_CHAR","UPSTREAM_BLOCK_SIZE","maxDecodeLength","repeatHeader","cachedData","bitsCached","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","Uint16Array","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","blockSize","estimatedDecodedSize","decodedSizeDelta","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","rows","eoblock","black","codingLine","refLine","codingPos","row","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","decoder","contexts","getContexts","bit","readBit","decodeIAID","Int8Array","ArithmeticDecoder","cache","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmapTemplate0","width","height","decodingContext","contextLabel","pixel","row1","row2","OLD_PIXEL_MASK","decodeBitmap","mmr","templateIndex","prediction","at","Reader","decodeMMRBitmap","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","sltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeSymbolDictionary","huffman","refinement","symbols","numberOfNewSymbols","numberOfExportedSymbols","huffmanTables","refinementTemplateIndex","refinementAt","huffmanInput","tableB1","symbolWidths","newSymbols","currentHeight","symbolCodeLength","getStandardTable","deltaHeight","tableDeltaHeight","decode","currentWidth","totalWidth","firstSymbol","deltaWidth","tableDeltaWidth","numberOfInstances","decodeTextRegion","symbolId","rdx","rdy","bitmapSize","tableBitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","currentFlag","totalSymbolsLength","runLength","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","transposed","dsOffset","referenceCorner","combinationOperator","logStripSize","stripT","tableDeltaT","firstS","deltaT","deltaFirstS","tableFirstS","currentS","currentT","symbolIDTable","applyRefinement","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","decodePatternDictionary","patternWidth","patternHeight","maxPatternIndex","patternBitmap","collectiveWidth","patterns","decodeHalftoneRegion","regionWidth","regionHeight","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","RegionSegmentInformationFieldLength","genericRegionMmr","searchPatternLength","searchPattern","headerEnd","readSegments","header","segments","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","parseJbig2Chunks","SimpleSegmentVisitor","parseJbig2","numberOfPages","_visitor$currentPageI","currentPageInfo","bitPacked","imgData","mask","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","decodeTablesSegment","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","onPageInformation","rowSize","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","getSymbolDictionaryHuffmanTables","customTables","referredSymbols","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","onImmediateHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","getCustomHuffmanTable","numberOfSymbols","runCodesTable","repeatedLength","numberOfRepeats","customIndex","tableAggregateInstances","endOfBlock","lookForEOFLimit","numBits","_parseJbig","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","getData","drawWidth","drawHeight","isSourcePDF","getIR","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","_ref$decodeTransform","_ref$colorTransform","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","component","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuRow","mcuCol","blockRow","blockCol","h","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","Int16Array","currentPos","peekUint16","maxPos","newPos","currentMarker","newMarker","_ref2$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksPerColumnForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","precision","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","xScaleBlockOffset","mask3LSB","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","scale","_ref3$forceRGB","_ref3$isSourcePDF","rgbData","grayColor","_isColorConversionNeeded","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","top","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","failOnCorruptedImage","calculateComponentDimensions","siz","x0","XOsiz","XRsiz","x1","Xsiz","y0","YOsiz","YRsiz","y1","Ysiz","calculateTileGrids","tile","SIZ","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","tx0","ty0","tx1","ty1","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","resolution","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","pi","pj","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","minHeight","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","valueReady","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","included","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","mb","reversible","segmentationSymbolUsed","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","nb","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","Float32Array","mu","epsilon","gainLog2","calculate","transformComponents","resultImages","transformedTiles","y2","tile0","out","multipleComponentTransform","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","oldByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","significance","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","Transform","u0","ll","extend","j1","j2","hl_lh_hh","u","llWidth","llHeight","llItems","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","current","alpha","beta","gamma","K_","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","w","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigma","sigmaPrime","littleSigma","littleSigmaPrime","h4","h5","h6","h7","t1","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j","_j2","_k","_j3","s0","s1","s3","_j4","_j5","_j6","_j7","_j8","_j9","_k2","sourceLength","iv","plain","_decrypt","outputLength","lastBlock","psLen","_j10","_decryptBlock2","cipher","_encrypt","_j11","_AESBaseCipher","_rcon","_expandKey","rcon","t3","t4","_AESBaseCipher2","compareByteArrays","array1","array2","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","concatArrays","calculatePDF20Hash","arrayLength","k1","concatBytes","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","defaultPasswordBytes","createEncryptionKey20","revision","uBytes","perms","passwordLength","pdfAlgorithm","prepareKeyData","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","decodeUserPassword","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","decodedPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","resizeRgbImage","w1","w2","COMPONENTS","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","numComps","getRgbItem","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","destPos","_destPos","_rgbPos","cs","res","IR","parseToIR","fromIR","whitePoint","blackPoint","gray","cmyk","CalGrayCS","matrix","CalRGBCS","basePatternCS","PatternCS","baseIndexedCS","hiVal","IndexedCS","alt","tintFn","AlternateCS","LabCS","colorSpaces","resCS","altIR","altCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","getOutputLength","_ColorSpace2","baseCS","_ColorSpace3","highVal","outputDelta","lookupPos","_ColorSpace4","_ColorSpace5","convertToRgb","srcScale","_ColorSpace6","AG","G","L","YW","_ColorSpace7","XW","ZW","XB","YB","ZB","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","DECODE_L_CONSTANT","matrixProduct","convertToFlat","sourceWhitePoint","LMS","convertToD65","D65X","D65Y","D65Z","sRGBTransferFunction","adjustToRange","decodeL","compensateBlackPoint","sourceBlackPoint","XYZ_Flat","zeroDecodeL","X_DST","X_SRC","Y_DST","Y_SRC","Z_DST","Z_SRC","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","normalizeWhitePointToFlat","XYZ_In","LMS_Flat","normalizeWhitePointToD65","LMS_D65","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Black","XYZ_D65","SRGB","_ColorSpace8","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","getQuadPoints","MarkupAnnotation","AnnotationBorderStyle","Annotation","_get","receiver","Reflect","_superPropBase","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","quadPoints","quadPointsLists","getTransformMatrix","bbox","_Util$getAxialAligned","getAxialAlignedBoundingBox","_Util$getAxialAligned2","maxY","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","modificationDate","flag","_hasFlag","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","appearanceDict","_isViewable","_isPrintable","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","allZeros","validNumber","radius","_Annotation","rawIRT","inReplyTo","rt","replyType","setCreationDate","creationDate","hasPopup","_Annotation2","annotationType","fieldName","_constructFieldName","fieldValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","loopDict","_WidgetAnnotation","alignment","textAlignment","maximumLength","multiLine","comb","_WidgetAnnotation2","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","customAppearance","exportValueOptionsDict","exportValues","hasCorrectOptionCount","exportValue","buttonValue","fieldParent","fieldParentValue","_WidgetAnnotation3","option","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_this7","DEFAULT_ICON_SIZE","stateModel","_Annotation3","_this8","_Annotation4","_this9","parentItem","parentSubtype","parentType","rawParent","parentId","parentFlags","_MarkupAnnotation2","_this10","_MarkupAnnotation3","_this11","lineCoordinates","_MarkupAnnotation4","_this12","_MarkupAnnotation5","_this13","_MarkupAnnotation6","_this14","rawVertices","vertices","_PolylineAnnotation","_this15","_MarkupAnnotation7","_this16","_MarkupAnnotation8","_this17","originalInkLists","inkLists","_MarkupAnnotation9","_this18","_MarkupAnnotation10","_this19","_MarkupAnnotation11","_this20","_MarkupAnnotation12","_this21","_MarkupAnnotation13","_this22","_MarkupAnnotation14","_this23","QueueOptimizer","addState","parentState","pattern","checkFn","iterateFn","processFn","handlePaintSolidColorImageMask","iFirstSave","fnArray","argsArray","iFirstPIMXO","imageMask","InitialState","iCurr","lastProcessed","MIN_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_WIDTH","IMAGE_PADDING","curr","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","MIN_IMAGES_IN_MASKS_BLOCK","MAX_IMAGES_IN_MASKS_BLOCK","MAX_SAME_IMAGES_IN_MASKS_BLOCK","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iPIMXO","positions","images","maskParams","iFirstPIXO","firstPIXOArg0","MIN_IMAGES_IN_BLOCK","MAX_IMAGES_IN_BLOCK","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","MIN_CHARS_IN_BLOCK","MAX_CHARS_IN_BLOCK","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","CHUNK_SIZE","CHUNK_SIZE_ABOUT","streamSink","_streamSink","optimizer","dependencies","_totalLength","weight","_resolved","addDependency","addDependencies","transfers","cached","_transfers","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_bidi","_glyphlist","_metrics","_murmurhash","_image_utils","_image","DefaultPartialEvaluatorOptions","_ref$options","parsingType3Font","fetchBuiltInCMap","readableStream","sendWithStream","pump","compressionType","TIME_SLOT_DURATION_MS","CHECK_TIME_EVERY","TimeSlotManager","normalizeBlendMode","checked","endTime","deferred","TILING_PATTERN","SHADING_PATTERN","clone","newOptions","newEvaluator","nodes","graphicStates","graphicStatesKeys","graphicState","bm","xObjects","xObjectsKeys","xObject","xResources","buildFormXObject","xobj","initialState","group","groupOptions","isolated","knockout","groupSubtype","colorSpace","backdrop","buildPaintImageXObject","_buildPaintImageXObject","image","_ref4$isInline","isInline","_ref4$forceDisableNat","forceDisableNativeImageDecoder","bitStrideLength","imgArray","softMask","SMALL_IMAGE_DIMENSIONS","imageObj","nativeImageDecoder","imgPromise","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","createImageData","NativeImageDecoder","isSupported","buildImage","nativeDecoder","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","handleTilingType","patternDict","tilingOpList","resourcesArray","patternResources","getTilingPatternIR","tilingPatternIR","handleSetFont","fontArgs","fontRef","fontName","loadFont","isType3Font","loadType3Data","TranslatedFont","ErrorFont","handleText","glyphs","charsToGlyphs","isAddToPathSet","textRenderingMode","fillColorSpace","buildFontPaths","gState","gStateObj","gStateKeys","errorFont","fontRes","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","Font","getFontID","translateFont","fontType","xrefFontStats","fontFile3","getFontType","buildPath","parsingText","lastIndex","opArgs","handleColorN","_handleColorN","patternName","typeNum","shading","Pattern","parseShading","_ref5$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","resolveXObject","rejectXObject","fontSize","combinedGlyphs","arrLength","arrItem","strokeColorSpace","shadingRes","patternIR","dictName","extGState","_ref6$stateManager","_ref6$normalizeWhites","_ref6$combineTextItem","_ref6$seenStyles","seenStyles","TextState","textState","WhitespaceRegexp","textContent","styles","textContentItem","vertical","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","SPACE_FACTOR","MULTI_SPACE_FACTOR","MULTI_SPACE_FACTOR_MAX","skipEmptyXObjs","ensureTextContentItem","fontFamily","fallbackName","ascent","descent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","runBidiTransform","textChunk","bidiResult","bidi","dir","buildTextContentItem","glyph","glyphWidth","vmetric","glyphUnicode","unicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","wordSpacing","addFakeSpaces","tx","ty","w0","translateTextMatrix","abs","fakeSpaces","round","flushTextContentItem","enqueueChunk","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","baseDict","cidToGidBytes","toUnicode","toUnicodePromise","readToUnicode","composite","cidSystemInfo","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","readCidToGidMap","_buildSimpleFontToUnicode","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","getUnicodeForGlyph","baseEncoding","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","cmapObj","cmap","getMap","charCode","glyphsData","glyphID","extractWidths","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","monospace","stdFontMap","getStdFontMap","lookupName","Metrics","getMetrics","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","wideChars","fixedPitch","xHeight","capHeight","italicAngle","cidEncoding","fontChar","renderer","hasBuiltPath","getPathJs","accent","type3Loaded","exportData","glyphCacheValues","parentOperatorList","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","charProcOperatorList","_loop2","glyphStream","stateStack","old","txDiff","tyDiff","denominator","calcRenderMatrix","getOPMap","numArgs","variableArgs","MAX_INVALID_PATH_OPS","opMap","nonProcessedArgs","_numInvalidPathOPS","opSpec","argsLength","partialMsg","preprocessCommand","CMap","BUILT_IN_CMAPS","codespaceRanges","numCodespaceRanges","dstLow","dst","nn","codespaceRange","_CMap","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","MAX_NUM_SIZE","MAX_ENCODED_NUM_SIZE","BinaryCMapStream","processBinaryCMap","readByte","_char","dataSize","ucs2DataSize","subitemsCount","readNumber","readHex","readHexNumber","mapOne","readSigned","mapCidRange","readHexSigned","mapBfRange","readString","stack","sp","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","previous","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","cMapData","parsedCMap","isIdentityCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","PDF_GLYPH_SPACE_UNITS","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","adjustToUnicode","builtInEncoding","amend","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","charCodeOf","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","entriesCount","entrySize","maxPower2","searchRange","rangeShift","OTF_HEADER_SIZE","OTF_TABLE_ENTRY_SIZE","toArray","tablesNames","tableName","numTables","tableOffsets","checksum","quad","addTable","sizes","missingFile","glyphCache","toFontChar","isEmpty","fallbackToSystemFont","_getFontFileType","getFontFileType","_getFontFileType2","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","writeSignedInt16","signedInt16","int32","string16","safeString16","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","fileType","fileSubtype","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","getRanges","numGlyphs","codeIndices","createCmapTable","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","contiguous","startCode","format314","format31012","header31012","validateOS2Table","os2","selection","usWinAscent","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","angle","createNameTable","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","nameRecord","ID","FontRendererFactory","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","isIdentityUnicode","unicodeCharCode","getDingbatsGlyphsUnicode","VALID_TABLES","readTables","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","readTrueTypeCollectionHeader","ttc","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionData","_readTrueTypeCollecti","potentialHeader","potentialTables","readNameTable","nameEntry","readCmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","sanitizeMetrics","dupFirstEntry","numOfMetrics","numOfSidebearings","numMissing","sanitizeGlyph","sourceStart","sourceEnd","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","endPoint","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xyLength","glyphDataLength","sanitizeHead","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeGlyphLocations","loca","isGlyphLocationsLong","maxSizeOfInstructions","itemSize","itemDecode","itemEncode","numGlyphsOut","locaData","locaDataSize","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","missingGlyphs","simpleGlyph","firstEntryLength","readPostScriptTable","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","FORMAT_0_HEADER_LENGTH","numRecords","stringsStart","records","NAME_RECORD_LENGTH","platform","language","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","NaN","foldTTTable","checkInvalidFunctions","maxFunctionDefs","sanitizeTTPrograms","fpgm","prep","cvt","cvtData","ttcData","isTrueType","isComposite","maxZones","glyphsInfo","metricsOverride","isCidToGidMapEmpty","cmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","glyphZeroId","newMapping","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","hmtx","charstring","_shadowWidth","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","getHeaderBlock","suggestedLength","headerBytes","headerBytesLength","block","EEXEC_SIGNATURE","streamStartPos","getEexecBlock","eexecBytes","PFB_HEADER_SIZE","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","headerBlockParser","Type1Parser","extractFontHeader","eexecBlock","eexecBlockParser","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","field","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","MAX_SUBR_NESTING","NUM_STANDARD_CFF_STRINGS","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","getByName","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetSize","offsetStart","offsetEnd","Type","cffDict","setByKey","parseCharString","callDepth","stackSize","validationCommand","subrNumber","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","emptyPrivateDictionary","parentDict","privateOffset","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","raw","predefined","readSupplement","supplementsCount","sid","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","CFFEncoding","glyphZero","getSID","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","order","valueLength","createTables","layout","glyphIndex","CFFOffsetTracker","isTracking","track","setEntryLocation","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","subDict","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeNumber","encodeFloat","encodeInteger","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","compileGlobalSubrIndex","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","MacExpertEncoding","encodingName","getSpecialPUASymbols","hexStr","nameLen","toUpperCase","UnicodeRanges","isRTLRangeFor","charsLength","getLong","getUshort","parseCmap","idDelta","idOffset","groups","parseCff","gsubrs","isCFFCIDFont","parseGlyfTable","lookupCmap","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","instructionLength","numberOfPoints","points","startPoint","contour","compileCharString","stems","bezierCurveTo","xb","yb","y3","subrCode","stackClean","numSubrs","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","Type2Compiled","_CompiledFont2","cffInfo","HINTING_ENABLED","Type1CharString","COMMAND_MAP","lsb","flexing","wx","sbx","executeCommand","hstem","vstem","dy","vmoveto","rlineto","hlineto","vlineto","rrcurveto","hmoveto","endchar","rmoveto","vhcurveto","hvcurveto","sby","num2","num1","flexArgs","flex","howManyArgs","command","keepStack","stackLength","EEXEC_ENCRYPT_KEY","CHAR_STRS_ENCRYPT_KEY","isHexDigit","discardNumber","c1","c2","decrypted","decryptAscii","digit1","digit2","encrypted","isBinary","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","_index","encodingArg","ShadingType","FUNCTION_BASED","AXIAL","RADIAL","FREE_FORM_MESH","LATTICE_FORM_MESH","COONS_PATCH_MESH","TENSOR_PATCH_MESH","getPattern","ctx","Shadings","RadialAxial","Mesh","Dummy","xstep","ystep","paintType","tilingType","SMALL_NUMBER","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","NUMBER_OF_SAMPLES","colorStops","ratio","cssColor","makeCssRgb","background","r0","singularValueDecompose2dScale","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","decodeType4Shading","mesh","coords","operators","ps","verticesLeft","hasData","readFlag","coord","readCoordinate","readComponents","align","figures","decodeType5Shading","verticesPerRow","bitsPerFlag","bitsPerCoordinate","xi","yi","ci","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","TRIANGLE_DENSITY","getB","buildB","lut","t_","buildFigureFromPatch","figure","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","bounds","splitYBy","figureCoords","figureColors","cl","cr","c0","c3","bRow","bCol","newColor","decodeType6Shading","tmp4","decodeType7Shading","updateBounds","packData","coordsPacked","xy","colorsPacked","decodeContext","patchMesh","baseTypes","arabicTypes","isOdd","isEven","findUnequal","setValues","reverseValues","temp","createBidiText","isLTR","startLevel","strLength","numBidi","charType","sor","eor","lastType","before","after","highestLevel","lowestOddLevel","PostScriptCompiler","PostScriptEvaluator","_ps_parser","IsEvalSupportedCached","_ref$isEvalSupported","PDFFunction","parseArray","toNumberArray","CONSTRUCT_SAMPLED","CONSTRUCT_INTERPOLATED","CONSTRUCT_STICHED","CONSTRUCT_POSTSCRIPT","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","constructSampled","constructInterpolated","constructStiched","constructPostScript","typeFn","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","samples","interpolate","xmin","xmax","ymin","ymax","cubeVertices","cubeN","Float64Array","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","fnRefs","fns","dmin","dmax","rmin","rmax","_ref12","PostScriptLexer","PostScriptParser","_ref13","numOutputs","numInputs","MAX_CACHE_SIZE","cache_available","cachedValue","execute","stackIndex","bound","fnDict","PostScriptStack","MAX_STACK_SIZE","initialStack","copy","roll","operator","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","ExpressionBuilderVisitor","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","opValue","getOperator","SEED","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","_ref$forceDataSchema","isDecodable","handleImageData","canDecode","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","maskDict","smaskPromise","maskPromise","_ref2$isInline","_ref2$nativeDecoder","imagePromise","imageData","smaskData","maskData","computedLength","haveFullData","decodeBuffer","getComponents","buf","bufferPos","rowComps","loop1End","loop2End","remainingBits","fillOpacity","rgbaBuf","alphaBuf","sw","sh","fillGrayBuffer","opacity","imageOffset","maskOffset","undoPreblend","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","fillRgb","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","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","success","deleteStreamController","default","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","readers","_isRangeSupported","_isStreamingSupported","_headersReady","_read","_read2"],"mappings":"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S,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAA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AAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGG,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,IAC/wEQ,EAAc,CAAC,EAAE,GAAI,GAAI,CAAC,GAAIZ,GAAW,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,OAC9Wa,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAId,GAAW,CAAC,GAAIA,GAAW,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53Ce,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAEvhB,S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GACH,CACDhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CACDhnE,GAAI,EACJgnE,EAAG,IACD,CAAC,CACHhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CACDhnE,GAAI,EACJgnE,EAAG,IACD,CAAC,CACHhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CACDhnE,GAAI,EACJgnE,EAAG,IACD,CAAC,CACHhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,EAAG,EACHgnE,GAAI,GACH,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CACDhnE,GAAI,EACJgnE,EAAG,GACF,CA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AAM,EACNC,KAAM,EACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAA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M,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,KACphDtG,KAAK+qH,OAAS,IAAIzkH,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAA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aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,KACjBA,EAAE,WAAa,KACfA,EAAE,WAAa,KACfA,EAAE,WAAa,KACfA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,IACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE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E,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,QAAU,MACZA,EAAE,OAAS,MACXA,EAAE,QAAU,MACZA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAA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M,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,QAEZvB,EAAQkvJ,4BAA8BA,EACtC,IAAIE,GAAuC,EAAIpsJ,EAAY+kE,wBAAuB,SAAUxmE,GAC1FA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,OAEXvB,EAAQovJ,qCAAuCA,EAC/C,IAAIE,GAAoC,EAAItsJ,EAAY+kE,wBAAuB,SAAUxmE,GACvFA,EAAE,GAAK,GACPA,EAAE,GAAK,GACPA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,IACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,KAAO,GACTA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,GACVA,EAAE,MAAQ,MAEZvB,EAAQsvJ,kCAAoCA,GAItC,SAAUvvJ,EAAQC,EAASI,GAEjC,IAAI2nE,EAAwB3nE,EAAoB,KAAK2nE,sBACjDq/F,EAAuBr/F,GAAsB,SAAUxmE,GAC1DA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,QAEZ,SAAS64J,EAAwBxuJ,GAChC,OAAIA,GAAQ,OAAUA,GAAQ,MACtB,EACGA,GAAQ,OAAUA,GAAQ,MAC7Bw7J,IAAuBx7J,IAASA,EACpB,MAATA,EACH,GAEDA,EAER,SAASgwI,EAAmBh7I,EAAM86I,GACjC,IAAIhE,EAAUgE,EAAiB96I,GAC/B,QAAgBkD,IAAZ4zI,EACH,OAAOA,EAER,IAAK92I,EACJ,OAAQ,EAET,GAAgB,MAAZA,EAAK,GAAY,CACpB,IAA2BymK,EAAvBC,EAAU1mK,EAAKwD,OACnB,GAAgB,IAAZkjK,GAA6B,MAAZ1mK,EAAK,IAA0B,MAAZA,EAAK,GAC5CymK,EAASzmK,EAAKytE,UAAU,OAClB,MAAIi5F,GAAW,GAAKA,GAAW,GAGrC,OAAQ,EAFRD,EAASzmK,EAAKytE,UAAU,GAIzB,GAAIg5F,IAAWA,EAAOE,gBACrB7vB,EAAU3pG,SAASs5H,EAAQ,IACvB3vB,GAAW,GACd,OAAOA,EAIV,OAAQ,EAET,IAAI8vB,EAAgB,CACnB,CACC,MAAS,EACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,QACT,IAAO,SAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,SAGT,SAASja,EAAmBjsJ,GAC3B,IAAK,IAAIhB,EAAI,EAAGwuB,EAAK04I,EAAcpjK,OAAQ9D,EAAIwuB,EAAIxuB,IAAK,CACvD,IAAIumE,EAAQ2gG,EAAclnK,GAC1B,GAAIgB,GAASulE,EAAM3F,OAAS5/D,EAAQulE,EAAMnsC,IACzC,OAAOp6B,EAGT,OAAQ,EAET,SAASmnK,EAAcnmK,GACtB,IAAIulE,EAAQ2gG,EAAc,IAC1B,OAAIlmK,GAASulE,EAAM3F,OAAS5/D,EAAQulE,EAAMnsC,MAG1CmsC,EAAQ2gG,EAAc,IAClBlmK,GAASulE,EAAM3F,OAAS5/D,EAAQulE,EAAMnsC,KAK3C,IAAIk9G,EAAwB7vE,GAAsB,SAAUxmE,GAC3DA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,OACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,UACdA,EAAE,KAAY,SACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,K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AAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC14CC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,KAAM,MAAO,MAAO,MAA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AAW,IACbA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,QAAU,IACZA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,Q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","file":"js/pdfjsWorker.4829fbf5.js","sourcesContent":["/**\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.worker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = 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 pdfjsCoreWorker = __w_pdfjs_require__(1);\n\nexports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;\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.WorkerMessageHandler = exports.WorkerTask = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _pdf_manager = __w_pdfjs_require__(184);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(8));\n\nvar _message_handler = __w_pdfjs_require__(223);\n\nvar _worker_stream = __w_pdfjs_require__(224);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": 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 asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar WorkerTask = function WorkerTaskClosure() {\n function WorkerTask(name) {\n this.name = name;\n this.terminated = false;\n this._capability = (0, _util.createPromiseCapability)();\n }\n\n WorkerTask.prototype = {\n get finished() {\n return this._capability.promise;\n },\n\n finish: function finish() {\n this._capability.resolve();\n },\n terminate: function terminate() {\n this.terminated = true;\n },\n ensureNotTerminated: function ensureNotTerminated() {\n if (this.terminated) {\n throw new Error('Worker task was terminated');\n }\n }\n };\n return WorkerTask;\n}();\n\nexports.WorkerTask = WorkerTask;\nvar WorkerMessageHandler = {\n setup: function setup(handler, port) {\n var testMessageProcessed = false;\n handler.on('test', function wphSetupTest(data) {\n if (testMessageProcessed) {\n return;\n }\n\n testMessageProcessed = true;\n\n if (!(data instanceof Uint8Array)) {\n handler.send('test', null);\n return;\n }\n\n var supportTransfers = data[0] === 255;\n handler.postMessageTransfers = supportTransfers;\n handler.send('test', {\n supportTransfers: supportTransfers\n });\n });\n handler.on('configure', function wphConfigure(data) {\n (0, _util.setVerbosityLevel)(data.verbosity);\n });\n handler.on('GetDocRequest', function wphSetupDoc(data) {\n return WorkerMessageHandler.createDocumentHandler(data, port);\n });\n },\n createDocumentHandler: function createDocumentHandler(docParams, port) {\n var pdfManager;\n var terminated = false;\n var cancelXHRs = null;\n var WorkerTasks = [];\n var verbosity = (0, _util.getVerbosityLevel)();\n var apiVersion = docParams.apiVersion;\n var workerVersion = '2.3.200';\n\n if (apiVersion !== workerVersion) {\n throw new Error(\"The API version \\\"\".concat(apiVersion, \"\\\" does not match \") + \"the Worker version \\\"\".concat(workerVersion, \"\\\".\"));\n }\n\n var docId = docParams.docId;\n var docBaseUrl = docParams.docBaseUrl;\n var workerHandlerName = docParams.docId + '_worker';\n var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n handler.postMessageTransfers = docParams.postMessageTransfers;\n\n function ensureNotTerminated() {\n if (terminated) {\n throw new Error('Worker was terminated');\n }\n }\n\n function startWorkerTask(task) {\n WorkerTasks.push(task);\n }\n\n function finishWorkerTask(task) {\n task.finish();\n var i = WorkerTasks.indexOf(task);\n WorkerTasks.splice(i, 1);\n }\n\n function loadDocument(_x) {\n return _loadDocument.apply(this, arguments);\n }\n\n function _loadDocument() {\n _loadDocument = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(recoveryMode) {\n var _ref4, _ref5, numPages, fingerprint;\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 pdfManager.ensureDoc('checkHeader');\n\n case 2:\n _context.next = 4;\n return pdfManager.ensureDoc('parseStartXRef');\n\n case 4:\n _context.next = 6;\n return pdfManager.ensureDoc('parse', [recoveryMode]);\n\n case 6:\n if (recoveryMode) {\n _context.next = 9;\n break;\n }\n\n _context.next = 9;\n return pdfManager.ensureDoc('checkFirstPage');\n\n case 9:\n _context.next = 11;\n return Promise.all([pdfManager.ensureDoc('numPages'), pdfManager.ensureDoc('fingerprint')]);\n\n case 11:\n _ref4 = _context.sent;\n _ref5 = _slicedToArray(_ref4, 2);\n numPages = _ref5[0];\n fingerprint = _ref5[1];\n return _context.abrupt(\"return\", {\n numPages: numPages,\n fingerprint: fingerprint\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadDocument.apply(this, arguments);\n }\n\n function getPdfManager(data, evaluatorOptions) {\n var pdfManagerCapability = (0, _util.createPromiseCapability)();\n var pdfManager;\n var source = data.source;\n\n if (source.data) {\n try {\n pdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(pdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n return pdfManagerCapability.promise;\n }\n\n var pdfStream,\n cachedChunks = [];\n\n try {\n pdfStream = new _worker_stream.PDFWorkerStream(handler);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n return pdfManagerCapability.promise;\n }\n\n var fullRequest = pdfStream.getFullReader();\n fullRequest.headersReady.then(function () {\n if (!fullRequest.isRangeSupported) {\n return;\n }\n\n var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n pdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n msgHandler: handler,\n password: source.password,\n length: fullRequest.contentLength,\n disableAutoFetch: disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize\n }, evaluatorOptions, docBaseUrl);\n\n for (var i = 0; i < cachedChunks.length; i++) {\n pdfManager.sendProgressiveData(cachedChunks[i]);\n }\n\n cachedChunks = [];\n pdfManagerCapability.resolve(pdfManager);\n cancelXHRs = null;\n })[\"catch\"](function (reason) {\n pdfManagerCapability.reject(reason);\n cancelXHRs = null;\n });\n var loaded = 0;\n\n var flushChunks = function flushChunks() {\n var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n\n if (source.length && pdfFile.length !== source.length) {\n (0, _util.warn)('reported HTTP length is different from actual');\n }\n\n try {\n pdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(pdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n cachedChunks = [];\n };\n\n var readPromise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n ensureNotTerminated();\n\n if (chunk.done) {\n if (!pdfManager) {\n flushChunks();\n }\n\n cancelXHRs = null;\n return;\n }\n\n var data = chunk.value;\n loaded += (0, _util.arrayByteLength)(data);\n\n if (!fullRequest.isStreamingSupported) {\n handler.send('DocProgress', {\n loaded: loaded,\n total: Math.max(loaded, fullRequest.contentLength || 0)\n });\n }\n\n if (pdfManager) {\n pdfManager.sendProgressiveData(data);\n } else {\n cachedChunks.push(data);\n }\n\n fullRequest.read().then(readChunk, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n fullRequest.read().then(readChunk, reject);\n });\n readPromise[\"catch\"](function (e) {\n pdfManagerCapability.reject(e);\n cancelXHRs = null;\n });\n\n cancelXHRs = function cancelXHRs(reason) {\n pdfStream.cancelAllRequests(reason);\n };\n\n return pdfManagerCapability.promise;\n }\n\n function setupDoc(data) {\n function onSuccess(doc) {\n ensureNotTerminated();\n handler.send('GetDoc', {\n pdfInfo: doc\n });\n }\n\n function onFailure(e) {\n ensureNotTerminated();\n\n if (e instanceof _util.PasswordException) {\n var task = new WorkerTask('PasswordException: response ' + e.code);\n startWorkerTask(task);\n handler.sendWithPromise('PasswordRequest', e).then(function (data) {\n finishWorkerTask(task);\n pdfManager.updatePassword(data.password);\n pdfManagerReady();\n })[\"catch\"](function (boundException) {\n finishWorkerTask(task);\n handler.send('PasswordException', boundException);\n }.bind(null, e));\n } else if (e instanceof _util.InvalidPDFException) {\n handler.send('InvalidPDF', e);\n } else if (e instanceof _util.MissingPDFException) {\n handler.send('MissingPDF', e);\n } else if (e instanceof _util.UnexpectedResponseException) {\n handler.send('UnexpectedResponse', e);\n } else {\n handler.send('UnknownError', new _util.UnknownErrorException(e.message, e.toString()));\n }\n }\n\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function loadFailure(ex) {\n ensureNotTerminated();\n\n if (!(ex instanceof _core_utils.XRefParseException)) {\n onFailure(ex);\n return;\n }\n\n pdfManager.requestLoadedStream();\n pdfManager.onLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n }, onFailure);\n }\n\n ensureNotTerminated();\n var evaluatorOptions = {\n forceDataSchema: data.disableCreateObjectURL,\n maxImageSize: data.maxImageSize,\n disableFontFace: data.disableFontFace,\n nativeImageDecoderSupport: data.nativeImageDecoderSupport,\n ignoreErrors: data.ignoreErrors,\n isEvalSupported: data.isEvalSupported\n };\n getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n if (terminated) {\n newPdfManager.terminate(new _util.AbortException('Worker was terminated.'));\n throw new Error('Worker was terminated');\n }\n\n pdfManager = newPdfManager;\n pdfManager.onLoadedStream().then(function (stream) {\n handler.send('DataLoaded', {\n length: stream.bytes.byteLength\n });\n });\n }).then(pdfManagerReady, onFailure);\n }\n\n handler.on('GetPage', function wphSetupGetPage(data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return Promise.all([pdfManager.ensure(page, 'rotate'), pdfManager.ensure(page, 'ref'), pdfManager.ensure(page, 'userUnit'), pdfManager.ensure(page, 'view')]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 4),\n rotate = _ref2[0],\n ref = _ref2[1],\n userUnit = _ref2[2],\n view = _ref2[3];\n\n return {\n rotate: rotate,\n ref: ref,\n userUnit: userUnit,\n view: view\n };\n });\n });\n });\n handler.on('GetPageIndex', function wphSetupGetPageIndex(data) {\n var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);\n\n var catalog = pdfManager.pdfDocument.catalog;\n return catalog.getPageIndex(ref);\n });\n handler.on('GetDestinations', function wphSetupGetDestinations(data) {\n return pdfManager.ensureCatalog('destinations');\n });\n handler.on('GetDestination', function wphSetupGetDestination(data) {\n return pdfManager.ensureCatalog('getDestination', [data.id]);\n });\n handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {\n return pdfManager.ensureCatalog('pageLabels');\n });\n handler.on('GetPageLayout', function wphSetupGetPageLayout(data) {\n return pdfManager.ensureCatalog('pageLayout');\n });\n handler.on('GetPageMode', function wphSetupGetPageMode(data) {\n return pdfManager.ensureCatalog('pageMode');\n });\n handler.on('GetViewerPreferences', function (data) {\n return pdfManager.ensureCatalog('viewerPreferences');\n });\n handler.on('GetOpenActionDestination', function (data) {\n return pdfManager.ensureCatalog('openActionDestination');\n });\n handler.on('GetAttachments', function wphSetupGetAttachments(data) {\n return pdfManager.ensureCatalog('attachments');\n });\n handler.on('GetJavaScript', function wphSetupGetJavaScript(data) {\n return pdfManager.ensureCatalog('javaScript');\n });\n handler.on('GetOutline', function wphSetupGetOutline(data) {\n return pdfManager.ensureCatalog('documentOutline');\n });\n handler.on('GetPermissions', function (data) {\n return pdfManager.ensureCatalog('permissions');\n });\n handler.on('GetMetadata', function wphSetupGetMetadata(data) {\n return Promise.all([pdfManager.ensureDoc('documentInfo'), pdfManager.ensureCatalog('metadata')]);\n });\n handler.on('GetData', function wphSetupGetData(data) {\n pdfManager.requestLoadedStream();\n return pdfManager.onLoadedStream().then(function (stream) {\n return stream.bytes;\n });\n });\n handler.on('GetStats', function wphSetupGetStats(data) {\n return pdfManager.pdfDocument.xref.stats;\n });\n handler.on('GetAnnotations', function (_ref3) {\n var pageIndex = _ref3.pageIndex,\n intent = _ref3.intent;\n return pdfManager.getPage(pageIndex).then(function (page) {\n return page.getAnnotationsData(intent);\n });\n });\n handler.on('GetOperatorList', function wphSetupRenderPage(data, sink) {\n var pageIndex = data.pageIndex;\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"GetOperatorList: page \".concat(pageIndex));\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.getOperatorList({\n handler: handler,\n sink: sink,\n task: task,\n intent: data.intent,\n renderInteractiveForms: data.renderInteractiveForms\n }).then(function (operatorListInfo) {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getOperatorList: time=\") + \"\".concat(Date.now() - start, \"ms, len=\").concat(operatorListInfo.length));\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n sink.error(reason);\n });\n });\n }, this);\n handler.on('GetTextContent', function wphExtractText(data, sink) {\n var pageIndex = data.pageIndex;\n\n sink.onPull = function (desiredSize) {};\n\n sink.onCancel = function (reason) {};\n\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask('GetTextContent: page ' + pageIndex);\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.extractTextContent({\n handler: handler,\n task: task,\n sink: sink,\n normalizeWhitespace: data.normalizeWhitespace,\n combineTextItems: data.combineTextItems\n }).then(function () {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getTextContent: time=\") + \"\".concat(Date.now() - start, \"ms\"));\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n sink.error(reason);\n });\n });\n });\n handler.on('FontFallback', function (data) {\n return pdfManager.fontFallback(data.id, handler);\n });\n handler.on('Cleanup', function wphCleanup(data) {\n return pdfManager.cleanup();\n });\n handler.on('Terminate', function wphTerminate(data) {\n terminated = true;\n\n if (pdfManager) {\n pdfManager.terminate(new _util.AbortException('Worker was terminated.'));\n pdfManager = null;\n }\n\n if (cancelXHRs) {\n cancelXHRs(new _util.AbortException('Worker was terminated.'));\n }\n\n (0, _primitives.clearPrimitiveCaches)();\n var waitOn = [];\n WorkerTasks.forEach(function (task) {\n waitOn.push(task.finished);\n task.terminate();\n });\n return Promise.all(waitOn).then(function () {\n handler.destroy();\n handler = null;\n });\n });\n handler.on('Ready', function wphReady(data) {\n setupDoc(docParams);\n docParams = null;\n });\n return workerHandlerName;\n },\n initializeFromPort: function initializeFromPort(port) {\n var handler = new _message_handler.MessageHandler('worker', 'main', port);\n WorkerMessageHandler.setup(handler, port);\n handler.send('ready', null);\n }\n};\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n return typeof maybePort.postMessage === 'function' && 'onmessage' in maybePort;\n}\n\nif (typeof window === 'undefined' && !(0, _is_node[\"default\"])() && typeof self !== 'undefined' && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { 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__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.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__(6);\n\nvar _streams_polyfill = __w_pdfjs_require__(181);\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/* 6 */\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__(7);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(8);\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__(9);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(61);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(63);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(65);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(72);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(93);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(96);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(98);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(100);\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__(103);\n })();\n\n (function checkURL() {\n globalScope.URL = __w_pdfjs_require__(125);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(132);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(142);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(144);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(146);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(148);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(171);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(176);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(178);\n })();\n}\n\n/***/ }),\n/* 7 */\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/* 8 */\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/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(10);\nvar entryUnbind = __w_pdfjs_require__(58);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(53);\nvar requireObjectCoercible = __w_pdfjs_require__(21);\nvar correctIsRegExpLogic = __w_pdfjs_require__(57);\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/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(13).f;\nvar hide = __w_pdfjs_require__(27);\nvar redefine = __w_pdfjs_require__(30);\nvar setGlobal = __w_pdfjs_require__(32);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n hide(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 12 */\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/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(16);\nvar createPropertyDescriptor = __w_pdfjs_require__(17);\nvar toIndexedObject = __w_pdfjs_require__(18);\nvar toPrimitive = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(24);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(25);\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/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(15);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 15 */\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/* 16 */\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/* 17 */\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/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(19);\nvar requireObjectCoercible = __w_pdfjs_require__(21);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(15);\nvar classof = __w_pdfjs_require__(20);\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/* 20 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 21 */\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/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(23);\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/* 23 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar fails = __w_pdfjs_require__(15);\nvar createElement = __w_pdfjs_require__(26);\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/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(23);\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/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar definePropertyModule = __w_pdfjs_require__(28);\nvar createPropertyDescriptor = __w_pdfjs_require__(17);\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/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(25);\nvar anObject = __w_pdfjs_require__(29);\nvar toPrimitive = __w_pdfjs_require__(22);\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/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(23);\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/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar shared = __w_pdfjs_require__(31);\nvar hide = __w_pdfjs_require__(27);\nvar has = __w_pdfjs_require__(24);\nvar setGlobal = __w_pdfjs_require__(32);\nvar nativeFunctionToString = __w_pdfjs_require__(34);\nvar InternalStateModule = __w_pdfjs_require__(35);\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/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar setGlobal = __w_pdfjs_require__(32);\nvar IS_PURE = __w_pdfjs_require__(33);\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/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar hide = __w_pdfjs_require__(27);\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/* 33 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(31);\nmodule.exports = shared('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(36);\nvar global = __w_pdfjs_require__(12);\nvar isObject = __w_pdfjs_require__(23);\nvar hide = __w_pdfjs_require__(27);\nvar objectHas = __w_pdfjs_require__(24);\nvar sharedKey = __w_pdfjs_require__(37);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n 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/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar nativeFunctionToString = __w_pdfjs_require__(34);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(31);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(24);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(28);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(29);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(12);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nmodule.exports = __w_pdfjs_require__(12);\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(24);\nvar toIndexedObject = __w_pdfjs_require__(18);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(18);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(15);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(54);\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/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(20);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar shared = __w_pdfjs_require__(31);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(56);\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/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(15);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar bind = __w_pdfjs_require__(59);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(60);\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/* 60 */\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/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(62);\nvar entryUnbind = __w_pdfjs_require__(58);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(53);\nvar requireObjectCoercible = __w_pdfjs_require__(21);\nvar correctIsRegExpLogic = __w_pdfjs_require__(57);\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/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(64);\nvar entryUnbind = __w_pdfjs_require__(58);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar notARegExp = __w_pdfjs_require__(53);\nvar requireObjectCoercible = __w_pdfjs_require__(21);\nvar correctIsRegExpLogic = __w_pdfjs_require__(57);\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/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(66);\nvar entryUnbind = __w_pdfjs_require__(58);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(67);\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/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar create = __w_pdfjs_require__(68);\nvar hide = __w_pdfjs_require__(27);\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/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(29);\nvar defineProperties = __w_pdfjs_require__(69);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(71);\nvar documentCreateElement = __w_pdfjs_require__(26);\nvar sharedKey = __w_pdfjs_require__(37);\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/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar definePropertyModule = __w_pdfjs_require__(28);\nvar anObject = __w_pdfjs_require__(29);\nvar objectKeys = __w_pdfjs_require__(70);\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/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(73);\n__w_pdfjs_require__(85);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(74).charAt;\nvar InternalStateModule = __w_pdfjs_require__(35);\nvar defineIterator = __w_pdfjs_require__(75);\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/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(21);\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/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar createIteratorConstructor = __w_pdfjs_require__(76);\nvar getPrototypeOf = __w_pdfjs_require__(78);\nvar setPrototypeOf = __w_pdfjs_require__(83);\nvar setToStringTag = __w_pdfjs_require__(81);\nvar hide = __w_pdfjs_require__(27);\nvar redefine = __w_pdfjs_require__(30);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(33);\nvar Iterators = __w_pdfjs_require__(82);\nvar IteratorsCore = __w_pdfjs_require__(77);\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/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(77).IteratorPrototype;\nvar create = __w_pdfjs_require__(68);\nvar createPropertyDescriptor = __w_pdfjs_require__(17);\nvar setToStringTag = __w_pdfjs_require__(81);\nvar Iterators = __w_pdfjs_require__(82);\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/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(78);\nvar hide = __w_pdfjs_require__(27);\nvar has = __w_pdfjs_require__(24);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(33);\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/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(24);\nvar toObject = __w_pdfjs_require__(79);\nvar sharedKey = __w_pdfjs_require__(37);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(80);\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/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(21);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(15);\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/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(28).f;\nvar has = __w_pdfjs_require__(24);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(29);\nvar aPossiblePrototype = __w_pdfjs_require__(84);\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/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(23);\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/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(11);\nvar from = __w_pdfjs_require__(86);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(92);\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/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(59);\nvar toObject = __w_pdfjs_require__(79);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(87);\nvar isArrayIteratorMethod = __w_pdfjs_require__(88);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(89);\nvar getIteratorMethod = __w_pdfjs_require__(90);\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/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(29);\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/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar Iterators = __w_pdfjs_require__(82);\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/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(22);\nvar definePropertyModule = __w_pdfjs_require__(28);\nvar createPropertyDescriptor = __w_pdfjs_require__(17);\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/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(91);\nvar Iterators = __w_pdfjs_require__(82);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classofRaw = __w_pdfjs_require__(20);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(94);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(11);\nvar assign = __w_pdfjs_require__(95);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar fails = __w_pdfjs_require__(15);\nvar objectKeys = __w_pdfjs_require__(70);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(16);\nvar toObject = __w_pdfjs_require__(79);\nvar IndexedObject = __w_pdfjs_require__(19);\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/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(97);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(11);\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/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(11);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(101);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(11);\nvar isInteger = __w_pdfjs_require__(102);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(23);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(104);\n__w_pdfjs_require__(73);\n__w_pdfjs_require__(106);\n__w_pdfjs_require__(109);\n__w_pdfjs_require__(123);\n__w_pdfjs_require__(124);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(30);\nvar toString = __w_pdfjs_require__(105);\nvar ObjectPrototype = Object.prototype;\nif (toString !== ObjectPrototype.toString) {\n redefine(ObjectPrototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar classof = __w_pdfjs_require__(91);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar DOMIterables = __w_pdfjs_require__(107);\nvar ArrayIteratorMethods = __w_pdfjs_require__(108);\nvar hide = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 107 */\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/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(18);\nvar addToUnscopables = __w_pdfjs_require__(67);\nvar Iterators = __w_pdfjs_require__(82);\nvar InternalStateModule = __w_pdfjs_require__(35);\nvar defineIterator = __w_pdfjs_require__(75);\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/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar IS_PURE = __w_pdfjs_require__(33);\nvar global = __w_pdfjs_require__(12);\nvar path = __w_pdfjs_require__(43);\nvar NativePromise = __w_pdfjs_require__(110);\nvar redefine = __w_pdfjs_require__(30);\nvar redefineAll = __w_pdfjs_require__(111);\nvar setToStringTag = __w_pdfjs_require__(81);\nvar setSpecies = __w_pdfjs_require__(112);\nvar isObject = __w_pdfjs_require__(23);\nvar aFunction = __w_pdfjs_require__(60);\nvar anInstance = __w_pdfjs_require__(113);\nvar classof = __w_pdfjs_require__(20);\nvar iterate = __w_pdfjs_require__(114);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(92);\nvar speciesConstructor = __w_pdfjs_require__(115);\nvar task = __w_pdfjs_require__(116).set;\nvar microtask = __w_pdfjs_require__(117);\nvar promiseResolve = __w_pdfjs_require__(119);\nvar hostReportErrors = __w_pdfjs_require__(121);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(120);\nvar perform = __w_pdfjs_require__(122);\nvar userAgent = __w_pdfjs_require__(118);\nvar InternalStateModule = __w_pdfjs_require__(35);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(30);\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/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(28);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar DESCRIPTORS = __w_pdfjs_require__(14);\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/* 113 */\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/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(29);\nvar isArrayIteratorMethod = __w_pdfjs_require__(88);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(59);\nvar getIteratorMethod = __w_pdfjs_require__(90);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(87);\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/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(29);\nvar aFunction = __w_pdfjs_require__(60);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar fails = __w_pdfjs_require__(15);\nvar classof = __w_pdfjs_require__(20);\nvar bind = __w_pdfjs_require__(59);\nvar html = __w_pdfjs_require__(71);\nvar createElement = __w_pdfjs_require__(26);\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/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(13).f;\nvar classof = __w_pdfjs_require__(20);\nvar macrotask = __w_pdfjs_require__(116).set;\nvar userAgent = __w_pdfjs_require__(118);\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/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(29);\nvar isObject = __w_pdfjs_require__(23);\nvar newPromiseCapability = __w_pdfjs_require__(120);\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/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(60);\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/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\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/* 122 */\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/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar aFunction = __w_pdfjs_require__(60);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(120);\nvar perform = __w_pdfjs_require__(122);\nvar iterate = __w_pdfjs_require__(114);\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/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar IS_PURE = __w_pdfjs_require__(33);\nvar NativePromise = __w_pdfjs_require__(110);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(115);\nvar promiseResolve = __w_pdfjs_require__(119);\nvar redefine = __w_pdfjs_require__(30);\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/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(126);\n__w_pdfjs_require__(131);\n__w_pdfjs_require__(129);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(73);\nvar $ = __w_pdfjs_require__(11);\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar USE_NATIVE_URL = __w_pdfjs_require__(127);\nvar global = __w_pdfjs_require__(12);\nvar defineProperties = __w_pdfjs_require__(69);\nvar redefine = __w_pdfjs_require__(30);\nvar anInstance = __w_pdfjs_require__(113);\nvar has = __w_pdfjs_require__(24);\nvar assign = __w_pdfjs_require__(95);\nvar arrayFrom = __w_pdfjs_require__(86);\nvar codeAt = __w_pdfjs_require__(74).codeAt;\nvar toASCII = __w_pdfjs_require__(128);\nvar setToStringTag = __w_pdfjs_require__(81);\nvar URLSearchParamsModule = __w_pdfjs_require__(129);\nvar InternalStateModule = __w_pdfjs_require__(35);\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/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(15);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(33);\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/* 128 */\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/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(108);\nvar $ = __w_pdfjs_require__(11);\nvar USE_NATIVE_URL = __w_pdfjs_require__(127);\nvar redefine = __w_pdfjs_require__(30);\nvar redefineAll = __w_pdfjs_require__(111);\nvar setToStringTag = __w_pdfjs_require__(81);\nvar createIteratorConstructor = __w_pdfjs_require__(76);\nvar InternalStateModule = __w_pdfjs_require__(35);\nvar anInstance = __w_pdfjs_require__(113);\nvar hasOwn = __w_pdfjs_require__(24);\nvar bind = __w_pdfjs_require__(59);\nvar anObject = __w_pdfjs_require__(29);\nvar isObject = __w_pdfjs_require__(23);\nvar getIterator = __w_pdfjs_require__(130);\nvar getIteratorMethod = __w_pdfjs_require__(90);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(29);\nvar getIteratorMethod = __w_pdfjs_require__(90);\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/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\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/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(104);\n__w_pdfjs_require__(133);\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(12);\nvar redefineAll = __w_pdfjs_require__(111);\nvar InternalMetadataModule = __w_pdfjs_require__(134);\nvar collection = __w_pdfjs_require__(136);\nvar collectionWeak = __w_pdfjs_require__(138);\nvar isObject = __w_pdfjs_require__(23);\nvar enforceIternalState = __w_pdfjs_require__(35).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(36);\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/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(23);\nvar has = __w_pdfjs_require__(24);\nvar defineProperty = __w_pdfjs_require__(28).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(135);\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/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(15);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar global = __w_pdfjs_require__(12);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(30);\nvar InternalMetadataModule = __w_pdfjs_require__(134);\nvar iterate = __w_pdfjs_require__(114);\nvar anInstance = __w_pdfjs_require__(113);\nvar isObject = __w_pdfjs_require__(23);\nvar fails = __w_pdfjs_require__(15);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(92);\nvar setToStringTag = __w_pdfjs_require__(81);\nvar inheritIfRequired = __w_pdfjs_require__(137);\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/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(23);\nvar setPrototypeOf = __w_pdfjs_require__(83);\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/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(111);\nvar getWeakData = __w_pdfjs_require__(134).getWeakData;\nvar anObject = __w_pdfjs_require__(29);\nvar isObject = __w_pdfjs_require__(23);\nvar anInstance = __w_pdfjs_require__(113);\nvar iterate = __w_pdfjs_require__(114);\nvar ArrayIterationModule = __w_pdfjs_require__(139);\nvar $has = __w_pdfjs_require__(24);\nvar InternalStateModule = __w_pdfjs_require__(35);\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/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(59);\nvar IndexedObject = __w_pdfjs_require__(19);\nvar toObject = __w_pdfjs_require__(79);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(140);\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/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(141);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(20);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(104);\n__w_pdfjs_require__(143);\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(136);\nvar collectionWeak = __w_pdfjs_require__(138);\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/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(145);\nvar entryUnbind = __w_pdfjs_require__(58);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar codeAt = __w_pdfjs_require__(74).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(147);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(11);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(149);\n__w_pdfjs_require__(104);\n__w_pdfjs_require__(151);\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);\n__w_pdfjs_require__(167);\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(169);\n__w_pdfjs_require__(170);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(15);\nvar isArray = __w_pdfjs_require__(141);\nvar isObject = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(79);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(89);\nvar arraySpeciesCreate = __w_pdfjs_require__(140);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(150);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(15);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\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/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar global = __w_pdfjs_require__(12);\nvar IS_PURE = __w_pdfjs_require__(33);\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(56);\nvar fails = __w_pdfjs_require__(15);\nvar has = __w_pdfjs_require__(24);\nvar isArray = __w_pdfjs_require__(141);\nvar isObject = __w_pdfjs_require__(23);\nvar anObject = __w_pdfjs_require__(29);\nvar toObject = __w_pdfjs_require__(79);\nvar toIndexedObject = __w_pdfjs_require__(18);\nvar toPrimitive = __w_pdfjs_require__(22);\nvar createPropertyDescriptor = __w_pdfjs_require__(17);\nvar nativeObjectCreate = __w_pdfjs_require__(68);\nvar objectKeys = __w_pdfjs_require__(70);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(152);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(28);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(16);\nvar hide = __w_pdfjs_require__(27);\nvar redefine = __w_pdfjs_require__(30);\nvar shared = __w_pdfjs_require__(31);\nvar sharedKey = __w_pdfjs_require__(37);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(153);\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\nvar setToStringTag = __w_pdfjs_require__(81);\nvar InternalStateModule = __w_pdfjs_require__(35);\nvar $forEach = __w_pdfjs_require__(139).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/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(18);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nexports.f = __w_pdfjs_require__(55);\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(24);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(153);\nvar defineProperty = __w_pdfjs_require__(28).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/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar global = __w_pdfjs_require__(12);\nvar has = __w_pdfjs_require__(24);\nvar isObject = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(28).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(154);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(81);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(12);\nvar setToStringTag = __w_pdfjs_require__(81);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(172);\nvar entryUnbind = __w_pdfjs_require__(58);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar $padStart = __w_pdfjs_require__(173).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(175);\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/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(174);\nvar requireObjectCoercible = __w_pdfjs_require__(21);\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/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(21);\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/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(118);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(177);\nvar entryUnbind = __w_pdfjs_require__(58);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(11);\nvar $padEnd = __w_pdfjs_require__(173).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(175);\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/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(179);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(11);\nvar $values = __w_pdfjs_require__(180).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(70);\nvar toIndexedObject = __w_pdfjs_require__(18);\nvar propertyIsEnumerable = __w_pdfjs_require__(16).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/* 181 */\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__(182).ReadableStream;\n }\n}\n\n/***/ }),\n/* 182 */\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/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearPrimitiveCaches = clearPrimitiveCaches;\nexports.isEOF = isEOF;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar EOF = {};\nexports.EOF = EOF;\n\nvar Name = function NameClosure() {\n var nameCache = Object.create(null);\n\n function Name(name) {\n this.name = name;\n }\n\n Name.prototype = {};\n\n Name.get = function Name_get(name) {\n var nameValue = nameCache[name];\n return nameValue ? nameValue : nameCache[name] = new Name(name);\n };\n\n Name._clearCache = function () {\n nameCache = Object.create(null);\n };\n\n return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n var cmdCache = Object.create(null);\n\n function Cmd(cmd) {\n this.cmd = cmd;\n }\n\n Cmd.prototype = {};\n\n Cmd.get = function Cmd_get(cmd) {\n var cmdValue = cmdCache[cmd];\n return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n };\n\n Cmd._clearCache = function () {\n cmdCache = Object.create(null);\n };\n\n return Cmd;\n}();\n\nexports.Cmd = Cmd;\n\nvar Dict = function DictClosure() {\n var nonSerializable = function nonSerializableClosure() {\n return nonSerializable;\n };\n\n function Dict(xref) {\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable;\n }\n\n Dict.prototype = {\n assignXref: function Dict_assignXref(newXref) {\n this.xref = newXref;\n },\n get: function get(key1, key2, key3) {\n var value = this._map[key1];\n\n if (value === undefined && !(key1 in this._map) && key2 !== undefined) {\n value = this._map[key2];\n\n if (value === undefined && !(key2 in this._map) && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n\n if (value instanceof Ref && this.xref) {\n return this.xref.fetch(value, this.suppressEncryption);\n }\n\n return value;\n },\n getAsync: function () {\n var _getAsync = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(key1, key2, key3) {\n var value;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n value = this._map[key1];\n\n if (value === undefined && !(key1 in this._map) && key2 !== undefined) {\n value = this._map[key2];\n\n if (value === undefined && !(key2 in this._map) && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n\n if (!(value instanceof Ref && this.xref)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", this.xref.fetchAsync(value, this.suppressEncryption));\n\n case 4:\n return _context.abrupt(\"return\", value);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getAsync(_x, _x2, _x3) {\n return _getAsync.apply(this, arguments);\n }\n\n return getAsync;\n }(),\n getArray: function getArray(key1, key2, key3) {\n var value = this.get(key1, key2, key3);\n\n if (!Array.isArray(value) || !this.xref) {\n return value;\n }\n\n value = value.slice();\n\n for (var i = 0, ii = value.length; i < ii; i++) {\n if (!(value[i] instanceof Ref)) {\n continue;\n }\n\n value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n }\n\n return value;\n },\n getRaw: function Dict_getRaw(key) {\n return this._map[key];\n },\n getKeys: function Dict_getKeys() {\n return Object.keys(this._map);\n },\n set: function Dict_set(key, value) {\n this._map[key] = value;\n },\n has: function Dict_has(key) {\n return key in this._map;\n },\n forEach: function Dict_forEach(callback) {\n for (var key in this._map) {\n callback(key, this.get(key));\n }\n }\n };\n Dict.empty = new Dict(null);\n\n Dict.merge = function (xref, dictArray) {\n var mergedDict = new Dict(xref);\n\n for (var i = 0, ii = dictArray.length; i < ii; i++) {\n var dict = dictArray[i];\n\n if (!isDict(dict)) {\n continue;\n }\n\n for (var keyName in dict._map) {\n if (mergedDict._map[keyName] !== undefined) {\n continue;\n }\n\n mergedDict._map[keyName] = dict._map[keyName];\n }\n }\n\n return mergedDict;\n };\n\n return Dict;\n}();\n\nexports.Dict = Dict;\n\nvar Ref = function RefClosure() {\n var refCache = Object.create(null);\n\n function Ref(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n\n Ref.prototype = {\n toString: function Ref_toString() {\n if (this.gen === 0) {\n return \"\".concat(this.num, \"R\");\n }\n\n return \"\".concat(this.num, \"R\").concat(this.gen);\n }\n };\n\n Ref.get = function (num, gen) {\n var key = gen === 0 ? \"\".concat(num, \"R\") : \"\".concat(num, \"R\").concat(gen);\n var refValue = refCache[key];\n return refValue ? refValue : refCache[key] = new Ref(num, gen);\n };\n\n Ref._clearCache = function () {\n refCache = Object.create(null);\n };\n\n return Ref;\n}();\n\nexports.Ref = Ref;\n\nvar RefSet = function RefSetClosure() {\n function RefSet() {\n this.dict = Object.create(null);\n }\n\n RefSet.prototype = {\n has: function RefSet_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSet_put(ref) {\n this.dict[ref.toString()] = true;\n },\n remove: function RefSet_remove(ref) {\n delete this.dict[ref.toString()];\n }\n };\n return RefSet;\n}();\n\nexports.RefSet = RefSet;\n\nvar RefSetCache = function RefSetCacheClosure() {\n function RefSetCache() {\n this.dict = Object.create(null);\n }\n\n RefSetCache.prototype = {\n get: function RefSetCache_get(ref) {\n return this.dict[ref.toString()];\n },\n has: function RefSetCache_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSetCache_put(ref, obj) {\n this.dict[ref.toString()] = obj;\n },\n putAlias: function RefSetCache_putAlias(ref, aliasRef) {\n this.dict[ref.toString()] = this.get(aliasRef);\n },\n forEach: function RefSetCache_forEach(fn, thisArg) {\n for (var i in this.dict) {\n fn.call(thisArg, this.dict[i]);\n }\n },\n clear: function RefSetCache_clear() {\n this.dict = Object.create(null);\n }\n };\n return RefSetCache;\n}();\n\nexports.RefSetCache = RefSetCache;\n\nfunction isEOF(v) {\n return v === EOF;\n}\n\nfunction isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get('Type'), type));\n}\n\nfunction isRef(v) {\n return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n return _typeof(v) === 'object' && v !== null && v.getBytes !== undefined;\n}\n\nfunction clearPrimitiveCaches() {\n Cmd._clearCache();\n\n Name._clearCache();\n\n Ref._clearCache();\n}\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.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _chunked_stream = __w_pdfjs_require__(185);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar _document = __w_pdfjs_require__(187);\n\nvar _stream = __w_pdfjs_require__(190);\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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 _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 BasePdfManager =\n/*#__PURE__*/\nfunction () {\n function BasePdfManager() {\n _classCallCheck(this, BasePdfManager);\n\n if (this.constructor === BasePdfManager) {\n (0, _util.unreachable)('Cannot initialize BasePdfManager.');\n }\n }\n\n _createClass(BasePdfManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n (0, _util.unreachable)('Abstract method `onLoadedStream` called');\n }\n }, {\n key: \"ensureDoc\",\n value: function ensureDoc(prop, args) {\n return this.ensure(this.pdfDocument, prop, args);\n }\n }, {\n key: \"ensureXRef\",\n value: function ensureXRef(prop, args) {\n return this.ensure(this.pdfDocument.xref, prop, args);\n }\n }, {\n key: \"ensureCatalog\",\n value: function ensureCatalog(prop, args) {\n return this.ensure(this.pdfDocument.catalog, prop, args);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n return this.pdfDocument.getPage(pageIndex);\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.pdfDocument.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this.pdfDocument.cleanup();\n }\n }, {\n key: \"ensure\",\n value: function () {\n var _ensure = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(obj, prop, args) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n (0, _util.unreachable)('Abstract method `ensure` called');\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function ensure(_x, _x2, _x3) {\n return _ensure.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n (0, _util.unreachable)('Abstract method `requestRange` called');\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n (0, _util.unreachable)('Abstract method `requestLoadedStream` called');\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n (0, _util.unreachable)('Abstract method `sendProgressiveData` called');\n }\n }, {\n key: \"updatePassword\",\n value: function updatePassword(password) {\n this._password = password;\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {\n (0, _util.unreachable)('Abstract method `terminate` called');\n }\n }, {\n key: \"docId\",\n get: function get() {\n return this._docId;\n }\n }, {\n key: \"password\",\n get: function get() {\n return this._password;\n }\n }, {\n key: \"docBaseUrl\",\n get: function get() {\n var docBaseUrl = null;\n\n if (this._docBaseUrl) {\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n\n if (absoluteUrl) {\n docBaseUrl = absoluteUrl.href;\n } else {\n (0, _util.warn)(\"Invalid absolute docBaseUrl: \\\"\".concat(this._docBaseUrl, \"\\\".\"));\n }\n }\n\n return (0, _util.shadow)(this, 'docBaseUrl', docBaseUrl);\n }\n }]);\n\n return BasePdfManager;\n}();\n\nvar LocalPdfManager =\n/*#__PURE__*/\nfunction (_BasePdfManager) {\n _inherits(LocalPdfManager, _BasePdfManager);\n\n function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n var _this;\n\n _classCallCheck(this, LocalPdfManager);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(LocalPdfManager).call(this));\n _this._docId = docId;\n _this._password = password;\n _this._docBaseUrl = docBaseUrl;\n _this.evaluatorOptions = evaluatorOptions;\n var stream = new _stream.Stream(data);\n _this.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this), stream);\n _this._loadedStreamPromise = Promise.resolve(stream);\n return _this;\n }\n\n _createClass(LocalPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(obj, prop, args) {\n var value;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n value = obj[prop];\n\n if (!(typeof value === 'function')) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", value.apply(obj, args));\n\n case 3:\n return _context2.abrupt(\"return\", value);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function ensure(_x4, _x5, _x6) {\n return _ensure2.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return Promise.resolve();\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {}\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamPromise;\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {}\n }]);\n\n return LocalPdfManager;\n}(BasePdfManager);\n\nexports.LocalPdfManager = LocalPdfManager;\n\nvar NetworkPdfManager =\n/*#__PURE__*/\nfunction (_BasePdfManager2) {\n _inherits(NetworkPdfManager, _BasePdfManager2);\n\n function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n var _this2;\n\n _classCallCheck(this, NetworkPdfManager);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(NetworkPdfManager).call(this));\n _this2._docId = docId;\n _this2._password = args.password;\n _this2._docBaseUrl = docBaseUrl;\n _this2.msgHandler = args.msgHandler;\n _this2.evaluatorOptions = evaluatorOptions;\n _this2.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {\n msgHandler: args.msgHandler,\n length: args.length,\n disableAutoFetch: args.disableAutoFetch,\n rangeChunkSize: args.rangeChunkSize\n });\n _this2.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this2), _this2.streamManager.getStream());\n return _this2;\n }\n\n _createClass(NetworkPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3(obj, prop, args) {\n var value;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n value = obj[prop];\n\n if (!(typeof value === 'function')) {\n _context3.next = 4;\n break;\n }\n\n return _context3.abrupt(\"return\", value.apply(obj, args));\n\n case 4:\n return _context3.abrupt(\"return\", value);\n\n case 7:\n _context3.prev = 7;\n _context3.t0 = _context3[\"catch\"](0);\n\n if (_context3.t0 instanceof _core_utils.MissingDataException) {\n _context3.next = 11;\n break;\n }\n\n throw _context3.t0;\n\n case 11:\n _context3.next = 13;\n return this.requestRange(_context3.t0.begin, _context3.t0.end);\n\n case 13:\n return _context3.abrupt(\"return\", this.ensure(obj, prop, args));\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 7]]);\n }));\n\n function ensure(_x7, _x8, _x9) {\n return _ensure3.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return this.streamManager.requestRange(begin, end);\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n this.streamManager.requestAllChunks();\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n this.streamManager.onReceiveData({\n chunk: chunk\n });\n }\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this.streamManager.onLoadedStream();\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {\n this.streamManager.abort(reason);\n }\n }]);\n\n return NetworkPdfManager;\n}(BasePdfManager);\n\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(186);\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 ChunkedStream =\n/*#__PURE__*/\nfunction () {\n function ChunkedStream(length, chunkSize, manager) {\n _classCallCheck(this, ChunkedStream);\n\n this.bytes = new Uint8Array(length);\n this.start = 0;\n this.pos = 0;\n this.end = length;\n this.chunkSize = chunkSize;\n this.loadedChunks = [];\n this.numChunksLoaded = 0;\n this.numChunks = Math.ceil(length / chunkSize);\n this.manager = manager;\n this.progressiveDataLength = 0;\n this.lastSuccessfulEnsureByteChunk = -1;\n }\n\n _createClass(ChunkedStream, [{\n key: \"getMissingChunks\",\n value: function getMissingChunks() {\n var chunks = [];\n\n for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n chunks.push(chunk);\n }\n }\n\n return chunks;\n }\n }, {\n key: \"getBaseStreams\",\n value: function getBaseStreams() {\n return [this];\n }\n }, {\n key: \"allChunksLoaded\",\n value: function allChunksLoaded() {\n return this.numChunksLoaded === this.numChunks;\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(begin, chunk) {\n var chunkSize = this.chunkSize;\n\n if (begin % chunkSize !== 0) {\n throw new Error(\"Bad begin offset: \".concat(begin));\n }\n\n var end = begin + chunk.byteLength;\n\n if (end % chunkSize !== 0 && end !== this.bytes.length) {\n throw new Error(\"Bad end offset: \".concat(end));\n }\n\n this.bytes.set(new Uint8Array(chunk), begin);\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n }, {\n key: \"onReceiveProgressiveData\",\n value: function onReceiveProgressiveData(data) {\n var position = this.progressiveDataLength;\n var beginChunk = Math.floor(position / this.chunkSize);\n this.bytes.set(new Uint8Array(data), position);\n position += data.byteLength;\n this.progressiveDataLength = position;\n var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n }, {\n key: \"ensureByte\",\n value: function ensureByte(pos) {\n if (pos < this.progressiveDataLength) {\n return;\n }\n\n var chunk = Math.floor(pos / this.chunkSize);\n\n if (chunk === this.lastSuccessfulEnsureByteChunk) {\n return;\n }\n\n if (!this.loadedChunks[chunk]) {\n throw new _core_utils.MissingDataException(pos, pos + 1);\n }\n\n this.lastSuccessfulEnsureByteChunk = chunk;\n }\n }, {\n key: \"ensureRange\",\n value: function ensureRange(begin, end) {\n if (begin >= end) {\n return;\n }\n\n if (end <= this.progressiveDataLength) {\n return;\n }\n\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n throw new _core_utils.MissingDataException(begin, end);\n }\n }\n }\n }, {\n key: \"nextEmptyChunk\",\n value: function nextEmptyChunk(beginChunk) {\n var numChunks = this.numChunks;\n\n for (var i = 0; i < numChunks; ++i) {\n var chunk = (beginChunk + i) % numChunks;\n\n if (!this.loadedChunks[chunk]) {\n return chunk;\n }\n }\n\n return null;\n }\n }, {\n key: \"hasChunk\",\n value: function hasChunk(chunk) {\n return !!this.loadedChunks[chunk];\n }\n }, {\n key: \"getByte\",\n value: function getByte() {\n var pos = this.pos;\n\n if (pos >= this.end) {\n return -1;\n }\n\n if (pos >= this.progressiveDataLength) {\n this.ensureByte(pos);\n }\n\n return this.bytes[this.pos++];\n }\n }, {\n key: \"getUint16\",\n value: function getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n }\n }, {\n key: \"getInt32\",\n value: function getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n }, {\n key: \"getBytes\",\n value: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n if (strEnd > this.progressiveDataLength) {\n this.ensureRange(pos, strEnd);\n }\n\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(pos, end);\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n }, {\n key: \"peekByte\",\n value: function peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n }\n }, {\n key: \"peekBytes\",\n value: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n }\n }, {\n key: \"getByteRange\",\n value: function getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(begin, end);\n }\n\n return this.bytes.subarray(begin, end);\n }\n }, {\n key: \"skip\",\n value: function skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.pos = this.start;\n }\n }, {\n key: \"moveStart\",\n value: function moveStart() {\n this.start = this.pos;\n }\n }, {\n key: \"makeSubStream\",\n value: function makeSubStream(start, length, dict) {\n if (length) {\n if (start + length > this.progressiveDataLength) {\n this.ensureRange(start, start + length);\n }\n } else {\n if (start >= this.progressiveDataLength) {\n this.ensureByte(start);\n }\n }\n\n function ChunkedStreamSubstream() {}\n\n ChunkedStreamSubstream.prototype = Object.create(this);\n\n ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(this.start / chunkSize);\n var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n var missingChunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n missingChunks.push(chunk);\n }\n }\n\n return missingChunks;\n };\n\n var subStream = new ChunkedStreamSubstream();\n subStream.pos = subStream.start = start;\n subStream.end = start + length || this.end;\n subStream.dict = dict;\n return subStream;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this.end - this.start;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return this.length === 0;\n }\n }]);\n\n return ChunkedStream;\n}();\n\nexports.ChunkedStream = ChunkedStream;\n\nvar ChunkedStreamManager =\n/*#__PURE__*/\nfunction () {\n function ChunkedStreamManager(pdfNetworkStream, args) {\n _classCallCheck(this, ChunkedStreamManager);\n\n this.length = args.length;\n this.chunkSize = args.rangeChunkSize;\n this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n this.pdfNetworkStream = pdfNetworkStream;\n this.disableAutoFetch = args.disableAutoFetch;\n this.msgHandler = args.msgHandler;\n this.currRequestId = 0;\n this.chunksNeededByRequest = Object.create(null);\n this.requestsByChunk = Object.create(null);\n this.promisesByRequest = Object.create(null);\n this.progressiveDataLength = 0;\n this.aborted = false;\n this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(ChunkedStreamManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"sendRequest\",\n value: function sendRequest(begin, end) {\n var _this = this;\n\n var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n\n if (!rangeReader.isStreamingSupported) {\n rangeReader.onProgress = this.onProgress.bind(this);\n }\n\n var chunks = [],\n loaded = 0;\n var promise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n if (!chunk.done) {\n var data = chunk.value;\n chunks.push(data);\n loaded += (0, _util.arrayByteLength)(data);\n\n if (rangeReader.isStreamingSupported) {\n _this.onProgress({\n loaded: loaded\n });\n }\n\n rangeReader.read().then(readChunk, reject);\n return;\n }\n\n var chunkData = (0, _util.arraysToBytes)(chunks);\n chunks = null;\n resolve(chunkData);\n } catch (e) {\n reject(e);\n }\n };\n\n rangeReader.read().then(readChunk, reject);\n });\n promise.then(function (data) {\n if (_this.aborted) {\n return;\n }\n\n _this.onReceiveData({\n chunk: data,\n begin: begin\n });\n });\n }\n }, {\n key: \"requestAllChunks\",\n value: function requestAllChunks() {\n var missingChunks = this.stream.getMissingChunks();\n\n this._requestChunks(missingChunks);\n\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"_requestChunks\",\n value: function _requestChunks(chunks) {\n var requestId = this.currRequestId++;\n var chunksNeeded = Object.create(null);\n this.chunksNeededByRequest[requestId] = chunksNeeded;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _chunk = _step.value;\n\n if (!this.stream.hasChunk(_chunk)) {\n chunksNeeded[_chunk] = true;\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 if ((0, _util.isEmptyObj)(chunksNeeded)) {\n return Promise.resolve();\n }\n\n var capability = (0, _util.createPromiseCapability)();\n this.promisesByRequest[requestId] = capability;\n var chunksToRequest = [];\n\n for (var chunk in chunksNeeded) {\n chunk = chunk | 0;\n\n if (!(chunk in this.requestsByChunk)) {\n this.requestsByChunk[chunk] = [];\n chunksToRequest.push(chunk);\n }\n\n this.requestsByChunk[chunk].push(requestId);\n }\n\n if (!chunksToRequest.length) {\n return capability.promise;\n }\n\n var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = groupedChunksToRequest[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var groupedChunk = _step2.value;\n var begin = groupedChunk.beginChunk * this.chunkSize;\n var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n this.sendRequest(begin, end);\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 capability.promise;\n }\n }, {\n key: \"getStream\",\n value: function getStream() {\n return this.stream;\n }\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n end = Math.min(end, this.length);\n var beginChunk = this.getBeginChunk(begin);\n var endChunk = this.getEndChunk(end);\n var chunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n chunks.push(chunk);\n }\n\n return this._requestChunks(chunks);\n }\n }, {\n key: \"requestRanges\",\n value: function requestRanges() {\n var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var chunksToRequest = [];\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = ranges[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var range = _step3.value;\n var beginChunk = this.getBeginChunk(range.begin);\n var endChunk = this.getEndChunk(range.end);\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!chunksToRequest.includes(chunk)) {\n chunksToRequest.push(chunk);\n }\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 chunksToRequest.sort(function (a, b) {\n return a - b;\n });\n return this._requestChunks(chunksToRequest);\n }\n }, {\n key: \"groupChunks\",\n value: function groupChunks(chunks) {\n var groupedChunks = [];\n var beginChunk = -1;\n var prevChunk = -1;\n\n for (var i = 0, ii = chunks.length; i < ii; ++i) {\n var chunk = chunks[i];\n\n if (beginChunk < 0) {\n beginChunk = chunk;\n }\n\n if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: prevChunk + 1\n });\n beginChunk = chunk;\n }\n\n if (i + 1 === chunks.length) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: chunk + 1\n });\n }\n\n prevChunk = chunk;\n }\n\n return groupedChunks;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(args) {\n this.msgHandler.send('DocProgress', {\n loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n total: this.length\n });\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(args) {\n var chunk = args.chunk;\n var isProgressive = args.begin === undefined;\n var begin = isProgressive ? this.progressiveDataLength : args.begin;\n var end = begin + chunk.byteLength;\n var beginChunk = Math.floor(begin / this.chunkSize);\n var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n\n if (isProgressive) {\n this.stream.onReceiveProgressiveData(chunk);\n this.progressiveDataLength = end;\n } else {\n this.stream.onReceiveData(begin, chunk);\n }\n\n if (this.stream.allChunksLoaded()) {\n this._loadedStreamCapability.resolve(this.stream);\n }\n\n var loadedRequests = [];\n\n for (var _chunk2 = beginChunk; _chunk2 < endChunk; ++_chunk2) {\n var requestIds = this.requestsByChunk[_chunk2] || [];\n delete this.requestsByChunk[_chunk2];\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = requestIds[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var requestId = _step4.value;\n var chunksNeeded = this.chunksNeededByRequest[requestId];\n\n if (_chunk2 in chunksNeeded) {\n delete chunksNeeded[_chunk2];\n }\n\n if (!(0, _util.isEmptyObj)(chunksNeeded)) {\n continue;\n }\n\n loadedRequests.push(requestId);\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 if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {\n var nextEmptyChunk;\n\n if (this.stream.numChunksLoaded === 1) {\n var lastChunk = this.stream.numChunks - 1;\n\n if (!this.stream.hasChunk(lastChunk)) {\n nextEmptyChunk = lastChunk;\n }\n } else {\n nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n }\n\n if (Number.isInteger(nextEmptyChunk)) {\n this._requestChunks([nextEmptyChunk]);\n }\n }\n\n for (var _i = 0, _loadedRequests = loadedRequests; _i < _loadedRequests.length; _i++) {\n var _requestId = _loadedRequests[_i];\n var capability = this.promisesByRequest[_requestId];\n delete this.promisesByRequest[_requestId];\n capability.resolve();\n }\n\n this.msgHandler.send('DocProgress', {\n loaded: this.stream.numChunksLoaded * this.chunkSize,\n total: this.length\n });\n }\n }, {\n key: \"onError\",\n value: function onError(err) {\n this._loadedStreamCapability.reject(err);\n }\n }, {\n key: \"getBeginChunk\",\n value: function getBeginChunk(begin) {\n return Math.floor(begin / this.chunkSize);\n }\n }, {\n key: \"getEndChunk\",\n value: function getEndChunk(end) {\n return Math.floor((end - 1) / this.chunkSize) + 1;\n }\n }, {\n key: \"abort\",\n value: function abort(reason) {\n this.aborted = true;\n\n if (this.pdfNetworkStream) {\n this.pdfNetworkStream.cancelAllRequests(reason);\n }\n\n for (var requestId in this.promisesByRequest) {\n this.promisesByRequest[requestId].reject(reason);\n }\n }\n }]);\n\n return ChunkedStreamManager;\n}();\n\nexports.ChunkedStreamManager = ChunkedStreamManager;\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.getLookupTableFactory = getLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.toRomanNumerals = toRomanNumerals;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(5);\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\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\n}\n\nvar MissingDataException =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(MissingDataException, _BaseException);\n\n function MissingDataException(begin, end) {\n var _this;\n\n _classCallCheck(this, MissingDataException);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(MissingDataException).call(this, \"Missing data [\".concat(begin, \", \").concat(end, \")\")));\n _this.begin = begin;\n _this.end = end;\n return _this;\n }\n\n return MissingDataException;\n}(_util.BaseException);\n\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException =\n/*#__PURE__*/\nfunction (_BaseException2) {\n _inherits(XRefEntryException, _BaseException2);\n\n function XRefEntryException() {\n _classCallCheck(this, XRefEntryException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(XRefEntryException).apply(this, arguments));\n }\n\n return XRefEntryException;\n}(_util.BaseException);\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException =\n/*#__PURE__*/\nfunction (_BaseException3) {\n _inherits(XRefParseException, _BaseException3);\n\n function XRefParseException() {\n _classCallCheck(this, XRefParseException);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(XRefParseException).apply(this, arguments));\n }\n\n return XRefParseException;\n}(_util.BaseException);\n\nexports.XRefParseException = XRefParseException;\n\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n (0, _util.warn)(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get('Parent');\n }\n\n return values;\n}\n\nvar ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];\n\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos,\n romanBuf = [];\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDocument = exports.Page = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(188);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar _stream2 = __w_pdfjs_require__(190);\n\nvar _annotation = __w_pdfjs_require__(202);\n\nvar _crypto = __w_pdfjs_require__(200);\n\nvar _parser = __w_pdfjs_require__(189);\n\nvar _operator_list = __w_pdfjs_require__(203);\n\nvar _evaluator = __w_pdfjs_require__(204);\n\nvar _function = __w_pdfjs_require__(218);\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 DEFAULT_USER_UNIT = 1.0;\nvar LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n return intent === 'display' && annotation.viewable || intent === 'print' && annotation.printable;\n}\n\nvar Page =\n/*#__PURE__*/\nfunction () {\n function Page(_ref) {\n var pdfManager = _ref.pdfManager,\n xref = _ref.xref,\n pageIndex = _ref.pageIndex,\n pageDict = _ref.pageDict,\n ref = _ref.ref,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n _classCallCheck(this, Page);\n\n this.pdfManager = pdfManager;\n this.pageIndex = pageIndex;\n this.pageDict = pageDict;\n this.xref = xref;\n this.ref = ref;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n var idCounters = {\n obj: 0\n };\n this.idFactory = {\n createObjId: function createObjId() {\n return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n },\n getDocId: function getDocId() {\n return \"g_\".concat(pdfManager.docId);\n }\n };\n }\n\n _createClass(Page, [{\n key: \"_getInheritableProperty\",\n value: function _getInheritableProperty(key) {\n var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var value = (0, _core_utils.getInheritableProperty)({\n dict: this.pageDict,\n key: key,\n getArray: getArray,\n stopWhenFound: false\n });\n\n if (!Array.isArray(value)) {\n return value;\n }\n\n if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {\n return value[0];\n }\n\n return _primitives.Dict.merge(this.xref, value);\n }\n }, {\n key: \"_getBoundingBox\",\n value: function _getBoundingBox(name) {\n var box = this._getInheritableProperty(name, true);\n\n if (Array.isArray(box) && box.length === 4) {\n if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n return box;\n }\n\n (0, _util.warn)(\"Empty /\".concat(name, \" entry.\"));\n }\n\n return null;\n }\n }, {\n key: \"getContentStream\",\n value: function getContentStream() {\n var content = this.content;\n var stream;\n\n if (Array.isArray(content)) {\n var xref = this.xref;\n var streams = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = content[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _stream = _step.value;\n streams.push(xref.fetchIfRef(_stream));\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 stream = new _stream2.StreamsSequenceStream(streams);\n } else if ((0, _primitives.isStream)(content)) {\n stream = content;\n } else {\n stream = new _stream2.NullStream();\n }\n\n return stream;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n var _this = this;\n\n if (!this.resourcesPromise) {\n this.resourcesPromise = this.pdfManager.ensure(this, 'resources');\n }\n\n return this.resourcesPromise.then(function () {\n var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);\n return objectLoader.load();\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(_ref2) {\n var _this2 = this;\n\n var handler = _ref2.handler,\n sink = _ref2.sink,\n task = _ref2.task,\n intent = _ref2.intent,\n renderInteractiveForms = _ref2.renderInteractiveForms;\n var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');\n var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font']);\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler: handler,\n pageIndex: this.pageIndex,\n idFactory: this.idFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n options: this.evaluatorOptions,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n var pageListPromise = dataPromises.then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n contentStream = _ref4[0];\n\n var opList = new _operator_list.OperatorList(intent, sink, _this2.pageIndex);\n handler.send('StartRenderPage', {\n transparency: partialEvaluator.hasBlendModes(_this2.resources),\n pageIndex: _this2.pageIndex,\n intent: intent\n });\n return partialEvaluator.getOperatorList({\n stream: contentStream,\n task: task,\n resources: _this2.resources,\n operatorList: opList\n }).then(function () {\n return opList;\n });\n });\n return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n pageOpList = _ref6[0],\n annotations = _ref6[1];\n\n if (annotations.length === 0) {\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n }\n\n var opListPromises = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = annotations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var annotation = _step2.value;\n\n if (isAnnotationRenderable(annotation, intent)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms));\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 Promise.all(opListPromises).then(function (opLists) {\n pageOpList.addOp(_util.OPS.beginAnnotations, []);\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = opLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var opList = _step3.value;\n pageOpList.addOpList(opList);\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 pageOpList.addOp(_util.OPS.endAnnotations, []);\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n });\n });\n }\n }, {\n key: \"extractTextContent\",\n value: function extractTextContent(_ref7) {\n var _this3 = this;\n\n var handler = _ref7.handler,\n task = _ref7.task,\n normalizeWhitespace = _ref7.normalizeWhitespace,\n sink = _ref7.sink,\n combineTextItems = _ref7.combineTextItems;\n var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');\n var resourcesPromise = this.loadResources(['ExtGState', 'XObject', 'Font']);\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n return dataPromises.then(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 1),\n contentStream = _ref9[0];\n\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: _this3.xref,\n handler: handler,\n pageIndex: _this3.pageIndex,\n idFactory: _this3.idFactory,\n fontCache: _this3.fontCache,\n builtInCMapCache: _this3.builtInCMapCache,\n options: _this3.evaluatorOptions,\n pdfFunctionFactory: _this3.pdfFunctionFactory\n });\n return partialEvaluator.getTextContent({\n stream: contentStream,\n task: task,\n resources: _this3.resources,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sink\n });\n });\n }\n }, {\n key: \"getAnnotationsData\",\n value: function getAnnotationsData(intent) {\n return this._parsedAnnotations.then(function (annotations) {\n var annotationsData = [];\n\n for (var i = 0, ii = annotations.length; i < ii; i++) {\n if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n annotationsData.push(annotations[i].data);\n }\n }\n\n return annotationsData;\n });\n }\n }, {\n key: \"content\",\n get: function get() {\n return this.pageDict.get('Contents');\n }\n }, {\n key: \"resources\",\n get: function get() {\n return (0, _util.shadow)(this, 'resources', this._getInheritableProperty('Resources') || _primitives.Dict.empty);\n }\n }, {\n key: \"mediaBox\",\n get: function get() {\n return (0, _util.shadow)(this, 'mediaBox', this._getBoundingBox('MediaBox') || LETTER_SIZE_MEDIABOX);\n }\n }, {\n key: \"cropBox\",\n get: function get() {\n return (0, _util.shadow)(this, 'cropBox', this._getBoundingBox('CropBox') || this.mediaBox);\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n var obj = this.pageDict.get('UserUnit');\n\n if (!(0, _util.isNum)(obj) || obj <= 0) {\n obj = DEFAULT_USER_UNIT;\n }\n\n return (0, _util.shadow)(this, 'userUnit', obj);\n }\n }, {\n key: \"view\",\n get: function get() {\n var cropBox = this.cropBox,\n mediaBox = this.mediaBox;\n var view;\n\n if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {\n view = mediaBox;\n } else {\n var box = _util.Util.intersect(cropBox, mediaBox);\n\n if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n view = box;\n } else {\n (0, _util.warn)('Empty /CropBox and /MediaBox intersection.');\n }\n }\n\n return (0, _util.shadow)(this, 'view', view || mediaBox);\n }\n }, {\n key: \"rotate\",\n get: function get() {\n var rotate = this._getInheritableProperty('Rotate') || 0;\n\n if (rotate % 90 !== 0) {\n rotate = 0;\n } else if (rotate >= 360) {\n rotate = rotate % 360;\n } else if (rotate < 0) {\n rotate = (rotate % 360 + 360) % 360;\n }\n\n return (0, _util.shadow)(this, 'rotate', rotate);\n }\n }, {\n key: \"annotations\",\n get: function get() {\n return (0, _util.shadow)(this, 'annotations', this._getInheritableProperty('Annots') || []);\n }\n }, {\n key: \"_parsedAnnotations\",\n get: function get() {\n var _this4 = this;\n\n var parsedAnnotations = this.pdfManager.ensure(this, 'annotations').then(function () {\n var annotationRefs = _this4.annotations;\n var annotationPromises = [];\n\n for (var i = 0, ii = annotationRefs.length; i < ii; i++) {\n annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRefs[i], _this4.pdfManager, _this4.idFactory));\n }\n\n return Promise.all(annotationPromises).then(function (annotations) {\n return annotations.filter(function isDefined(annotation) {\n return !!annotation;\n });\n }, function (reason) {\n (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n return [];\n });\n });\n return (0, _util.shadow)(this, '_parsedAnnotations', parsedAnnotations);\n }\n }]);\n\n return Page;\n}();\n\nexports.Page = Page;\nvar FINGERPRINT_FIRST_BYTES = 1024;\nvar EMPTY_FINGERPRINT = '\\x00\\x00\\x00\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00';\n\nfunction find(stream, needle, limit) {\n var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n (0, _util.assert)(limit > 0, 'The \"limit\" must be a positive integer.');\n var str = (0, _util.bytesToString)(stream.peekBytes(limit));\n var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle);\n\n if (index === -1) {\n return false;\n }\n\n stream.pos += index;\n return true;\n}\n\nvar PDFDocument =\n/*#__PURE__*/\nfunction () {\n function PDFDocument(pdfManager, arg) {\n _classCallCheck(this, PDFDocument);\n\n var stream;\n\n if ((0, _primitives.isStream)(arg)) {\n stream = arg;\n } else if ((0, _util.isArrayBuffer)(arg)) {\n stream = new _stream2.Stream(arg);\n } else {\n throw new Error('PDFDocument: Unknown argument type');\n }\n\n if (stream.length <= 0) {\n throw new Error('PDFDocument: Stream must have data');\n }\n\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _obj.XRef(stream, pdfManager);\n this.pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: pdfManager.evaluatorOptions.isEvalSupported\n });\n this._pagePromises = [];\n }\n\n _createClass(PDFDocument, [{\n key: \"parse\",\n value: function parse(recoveryMode) {\n this.setup(recoveryMode);\n var version = this.catalog.catDict.get('Version');\n\n if ((0, _primitives.isName)(version)) {\n this.pdfFormatVersion = version.name;\n }\n\n try {\n this.acroForm = this.catalog.catDict.get('AcroForm');\n\n if (this.acroForm) {\n this.xfa = this.acroForm.get('XFA');\n var fields = this.acroForm.get('Fields');\n\n if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n this.acroForm = null;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)('Cannot fetch AcroForm entry; assuming no AcroForms are present');\n this.acroForm = null;\n }\n\n try {\n var collection = this.catalog.catDict.get('Collection');\n\n if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {\n this.collection = collection;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)('Cannot fetch Collection dictionary.');\n }\n }\n }, {\n key: \"checkHeader\",\n value: function checkHeader() {\n var stream = this.stream;\n stream.reset();\n\n if (!find(stream, '%PDF-', 1024)) {\n return;\n }\n\n stream.moveStart();\n var MAX_PDF_VERSION_LENGTH = 12;\n var version = '',\n ch;\n\n while ((ch = stream.getByte()) > 0x20) {\n if (version.length >= MAX_PDF_VERSION_LENGTH) {\n break;\n }\n\n version += String.fromCharCode(ch);\n }\n\n if (!this.pdfFormatVersion) {\n this.pdfFormatVersion = version.substring(5);\n }\n }\n }, {\n key: \"parseStartXRef\",\n value: function parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n }, {\n key: \"setup\",\n value: function setup(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n }\n }, {\n key: \"_getLinearizationPage\",\n value: function _getLinearizationPage(pageIndex) {\n var catalog = this.catalog,\n linearization = this.linearization;\n (0, _util.assert)(linearization && linearization.pageFirst === pageIndex);\n\n var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n\n return this.xref.fetchAsync(ref).then(function (obj) {\n if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Type') && obj.has('Contents')) {\n if (ref && !catalog.pageKidsCountCache.has(ref)) {\n catalog.pageKidsCountCache.put(ref, 1);\n }\n\n return [obj, ref];\n }\n\n throw new _util.FormatError('The Linearization dictionary doesn\\'t point ' + 'to a valid Page dictionary.');\n })[\"catch\"](function (reason) {\n (0, _util.info)(reason);\n return catalog.getPageDict(pageIndex);\n });\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n var _this5 = this;\n\n if (this._pagePromises[pageIndex] !== undefined) {\n return this._pagePromises[pageIndex];\n }\n\n var catalog = this.catalog,\n linearization = this.linearization;\n var promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);\n return this._pagePromises[pageIndex] = promise.then(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n pageDict = _ref11[0],\n ref = _ref11[1];\n\n return new Page({\n pdfManager: _this5.pdfManager,\n xref: _this5.xref,\n pageIndex: pageIndex,\n pageDict: pageDict,\n ref: ref,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n pdfFunctionFactory: _this5.pdfFunctionFactory\n });\n });\n }\n }, {\n key: \"checkFirstPage\",\n value: function checkFirstPage() {\n var _this6 = this;\n\n return this.getPage(0)[\"catch\"](function (reason) {\n if (reason instanceof _core_utils.XRefEntryException) {\n _this6._pagePromises.length = 0;\n\n _this6.cleanup();\n\n throw new _core_utils.XRefParseException();\n }\n });\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.catalog.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this.catalog.cleanup();\n }\n }, {\n key: \"linearization\",\n get: function get() {\n var linearization = null;\n\n try {\n linearization = _parser.Linearization.create(this.stream);\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(err);\n }\n\n return (0, _util.shadow)(this, 'linearization', linearization);\n }\n }, {\n key: \"startXRef\",\n get: function get() {\n var stream = this.stream;\n var startXRef = 0;\n\n if (this.linearization) {\n stream.reset();\n\n if (find(stream, 'endobj', 1024)) {\n startXRef = stream.pos + 6;\n }\n } else {\n var step = 1024;\n var startXRefLength = 'startxref'.length;\n var found = false,\n pos = stream.end;\n\n while (!found && pos > 0) {\n pos -= step - startXRefLength;\n\n if (pos < 0) {\n pos = 0;\n }\n\n stream.pos = pos;\n found = find(stream, 'startxref', step, true);\n }\n\n if (found) {\n stream.skip(9);\n var ch;\n\n do {\n ch = stream.getByte();\n } while ((0, _util.isSpace)(ch));\n\n var str = '';\n\n while (ch >= 0x20 && ch <= 0x39) {\n str += String.fromCharCode(ch);\n ch = stream.getByte();\n }\n\n startXRef = parseInt(str, 10);\n\n if (isNaN(startXRef)) {\n startXRef = 0;\n }\n }\n }\n\n return (0, _util.shadow)(this, 'startXRef', startXRef);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var linearization = this.linearization;\n var num = linearization ? linearization.numPages : this.catalog.numPages;\n return (0, _util.shadow)(this, 'numPages', num);\n }\n }, {\n key: \"documentInfo\",\n get: function get() {\n var DocumentInfoValidators = {\n Title: _util.isString,\n Author: _util.isString,\n Subject: _util.isString,\n Keywords: _util.isString,\n Creator: _util.isString,\n Producer: _util.isString,\n CreationDate: _util.isString,\n ModDate: _util.isString,\n Trapped: _primitives.isName\n };\n var docInfo = {\n PDFFormatVersion: this.pdfFormatVersion,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: !!this.acroForm,\n IsXFAPresent: !!this.xfa,\n IsCollectionPresent: !!this.collection\n };\n var infoDict;\n\n try {\n infoDict = this.xref.trailer.get('Info');\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)('The document information dictionary is invalid.');\n }\n\n if ((0, _primitives.isDict)(infoDict)) {\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = infoDict.getKeys()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var key = _step4.value;\n var value = infoDict.get(key);\n\n if (DocumentInfoValidators[key]) {\n if (DocumentInfoValidators[key](value)) {\n docInfo[key] = typeof value !== 'string' ? value : (0, _util.stringToPDFString)(value);\n } else {\n (0, _util.info)(\"Bad value in document info for \\\"\".concat(key, \"\\\".\"));\n }\n } else if (typeof key === 'string') {\n var customValue = void 0;\n\n if ((0, _util.isString)(value)) {\n customValue = (0, _util.stringToPDFString)(value);\n } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {\n customValue = value;\n } else {\n (0, _util.info)(\"Unsupported value in document info for (custom) \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n if (!docInfo['Custom']) {\n docInfo['Custom'] = Object.create(null);\n }\n\n docInfo['Custom'][key] = customValue;\n }\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 return (0, _util.shadow)(this, 'documentInfo', docInfo);\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n var hash;\n var idArray = this.xref.trailer.get('ID');\n\n if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n hash = (0, _util.stringToBytes)(idArray[0]);\n } else {\n hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n }\n\n var fingerprintBuf = [];\n\n for (var i = 0, ii = hash.length; i < ii; i++) {\n var hex = hash[i].toString(16);\n fingerprintBuf.push(hex.padStart(2, '0'));\n }\n\n return (0, _util.shadow)(this, 'fingerprint', fingerprintBuf.join(''));\n }\n }]);\n\n return PDFDocument;\n}();\n\nexports.PDFDocument = PDFDocument;\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.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _parser = __w_pdfjs_require__(189);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar _chunked_stream = __w_pdfjs_require__(185);\n\nvar _crypto = __w_pdfjs_require__(200);\n\nvar _colorspace = __w_pdfjs_require__(201);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": 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 _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 _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 _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 fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get('D') : dest;\n}\n\nvar Catalog =\n/*#__PURE__*/\nfunction () {\n function Catalog(pdfManager, xref) {\n _classCallCheck(this, Catalog);\n\n this.pdfManager = pdfManager;\n this.xref = xref;\n this.catDict = xref.getCatalogObj();\n\n if (!(0, _primitives.isDict)(this.catDict)) {\n throw new _util.FormatError('Catalog object is not a dictionary.');\n }\n\n this.fontCache = new _primitives.RefSetCache();\n this.builtInCMapCache = new Map();\n this.pageKidsCountCache = new _primitives.RefSetCache();\n }\n\n _createClass(Catalog, [{\n key: \"_readDocumentOutline\",\n value: function _readDocumentOutline() {\n var obj = this.catDict.get('Outlines');\n\n if (!(0, _primitives.isDict)(obj)) {\n return null;\n }\n\n obj = obj.getRaw('First');\n\n if (!(0, _primitives.isRef)(obj)) {\n return null;\n }\n\n var root = {\n items: []\n };\n var queue = [{\n obj: obj,\n parent: root\n }];\n var processed = new _primitives.RefSet();\n processed.put(obj);\n var xref = this.xref,\n blackColor = new Uint8ClampedArray(3);\n\n while (queue.length > 0) {\n var i = queue.shift();\n var outlineDict = xref.fetchIfRef(i.obj);\n\n if (outlineDict === null) {\n continue;\n }\n\n if (!outlineDict.has('Title')) {\n throw new _util.FormatError('Invalid outline item encountered.');\n }\n\n var data = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: outlineDict,\n resultObj: data,\n docBaseUrl: this.pdfManager.docBaseUrl\n });\n var title = outlineDict.get('Title');\n var flags = outlineDict.get('F') || 0;\n var color = outlineDict.getArray('C');\n var count = outlineDict.get('Count');\n var rgbColor = blackColor;\n\n if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n }\n\n var outlineItem = {\n dest: data.dest,\n url: data.url,\n unsafeUrl: data.unsafeUrl,\n newWindow: data.newWindow,\n title: (0, _util.stringToPDFString)(title),\n color: rgbColor,\n count: Number.isInteger(count) ? count : undefined,\n bold: !!(flags & 2),\n italic: !!(flags & 1),\n items: []\n };\n i.parent.items.push(outlineItem);\n obj = outlineDict.getRaw('First');\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: outlineItem\n });\n processed.put(obj);\n }\n\n obj = outlineDict.getRaw('Next');\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: i.parent\n });\n processed.put(obj);\n }\n }\n\n return root.items.length > 0 ? root.items : null;\n }\n }, {\n key: \"_readPermissions\",\n value: function _readPermissions() {\n var encrypt = this.xref.trailer.get('Encrypt');\n\n if (!(0, _primitives.isDict)(encrypt)) {\n return null;\n }\n\n var flags = encrypt.get('P');\n\n if (!(0, _util.isNum)(flags)) {\n return null;\n }\n\n flags += Math.pow(2, 32);\n var permissions = [];\n\n for (var key in _util.PermissionFlag) {\n var value = _util.PermissionFlag[key];\n\n if (flags & value) {\n permissions.push(value);\n }\n }\n\n return permissions;\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(destinationId) {\n var obj = this._readDests();\n\n if (obj instanceof NameTree || obj instanceof _primitives.Dict) {\n return fetchDestination(obj.get(destinationId) || null);\n }\n\n return null;\n }\n }, {\n key: \"_readDests\",\n value: function _readDests() {\n var obj = this.catDict.get('Names');\n\n if (obj && obj.has('Dests')) {\n return new NameTree(obj.getRaw('Dests'), this.xref);\n } else if (this.catDict.has('Dests')) {\n return this.catDict.get('Dests');\n }\n\n return undefined;\n }\n }, {\n key: \"_readPageLabels\",\n value: function _readPageLabels() {\n var obj = this.catDict.getRaw('PageLabels');\n\n if (!obj) {\n return null;\n }\n\n var pageLabels = new Array(this.numPages);\n var style = null,\n prefix = '';\n var numberTree = new NumberTree(obj, this.xref);\n var nums = numberTree.getAll();\n var currentLabel = '',\n currentIndex = 1;\n\n for (var i = 0, ii = this.numPages; i < ii; i++) {\n if (i in nums) {\n var labelDict = nums[i];\n\n if (!(0, _primitives.isDict)(labelDict)) {\n throw new _util.FormatError('PageLabel is not a dictionary.');\n }\n\n if (labelDict.has('Type') && !(0, _primitives.isName)(labelDict.get('Type'), 'PageLabel')) {\n throw new _util.FormatError('Invalid type in PageLabel dictionary.');\n }\n\n if (labelDict.has('S')) {\n var s = labelDict.get('S');\n\n if (!(0, _primitives.isName)(s)) {\n throw new _util.FormatError('Invalid style in PageLabel dictionary.');\n }\n\n style = s.name;\n } else {\n style = null;\n }\n\n if (labelDict.has('P')) {\n var p = labelDict.get('P');\n\n if (!(0, _util.isString)(p)) {\n throw new _util.FormatError('Invalid prefix in PageLabel dictionary.');\n }\n\n prefix = (0, _util.stringToPDFString)(p);\n } else {\n prefix = '';\n }\n\n if (labelDict.has('St')) {\n var st = labelDict.get('St');\n\n if (!(Number.isInteger(st) && st >= 1)) {\n throw new _util.FormatError('Invalid start in PageLabel dictionary.');\n }\n\n currentIndex = st;\n } else {\n currentIndex = 1;\n }\n }\n\n switch (style) {\n case 'D':\n currentLabel = currentIndex;\n break;\n\n case 'R':\n case 'r':\n currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === 'r');\n break;\n\n case 'A':\n case 'a':\n var LIMIT = 26;\n var A_UPPER_CASE = 0x41,\n A_LOWER_CASE = 0x61;\n var baseCharCode = style === 'a' ? A_LOWER_CASE : A_UPPER_CASE;\n var letterIndex = currentIndex - 1;\n var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n var charBuf = [];\n\n for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n charBuf.push(character);\n }\n\n currentLabel = charBuf.join('');\n break;\n\n default:\n if (style) {\n throw new _util.FormatError(\"Invalid style \\\"\".concat(style, \"\\\" in PageLabel dictionary.\"));\n }\n\n currentLabel = '';\n }\n\n pageLabels[i] = prefix + currentLabel;\n currentIndex++;\n }\n\n return pageLabels;\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = translatedFonts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var translatedFont = _step.value;\n\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\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 }, {\n key: \"cleanup\",\n value: function cleanup() {\n var _this = this;\n\n (0, _primitives.clearPrimitiveCaches)();\n this.pageKidsCountCache.clear();\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n for (var i = 0, ii = translatedFonts.length; i < ii; i++) {\n var font = translatedFonts[i].dict;\n delete font.translated;\n }\n\n _this.fontCache.clear();\n\n _this.builtInCMapCache.clear();\n });\n }\n }, {\n key: \"getPageDict\",\n value: function getPageDict(pageIndex) {\n var capability = (0, _util.createPromiseCapability)();\n var nodesToVisit = [this.catDict.getRaw('Pages')];\n var xref = this.xref,\n pageKidsCountCache = this.pageKidsCountCache;\n var count,\n currentPageIndex = 0;\n\n function next() {\n var _loop = function _loop() {\n var currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n count = pageKidsCountCache.get(currentNode);\n\n if (count > 0 && currentPageIndex + count < pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n\n xref.fetchAsync(currentNode).then(function (obj) {\n if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Kids')) {\n if (pageIndex === currentPageIndex) {\n if (currentNode && !pageKidsCountCache.has(currentNode)) {\n pageKidsCountCache.put(currentNode, 1);\n }\n\n capability.resolve([obj, currentNode]);\n } else {\n currentPageIndex++;\n next();\n }\n\n return;\n }\n\n nodesToVisit.push(obj);\n next();\n }, capability.reject);\n return {\n v: void 0\n };\n }\n\n if (!(0, _primitives.isDict)(currentNode)) {\n capability.reject(new _util.FormatError('Page dictionary kid reference points to wrong type of object.'));\n return {\n v: void 0\n };\n }\n\n count = currentNode.get('Count');\n\n if (Number.isInteger(count) && count >= 0) {\n var objId = currentNode.objId;\n\n if (objId && !pageKidsCountCache.has(objId)) {\n pageKidsCountCache.put(objId, count);\n }\n\n if (currentPageIndex + count <= pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n }\n\n var kids = currentNode.get('Kids');\n\n if (!Array.isArray(kids)) {\n if ((0, _primitives.isName)(currentNode.get('Type'), 'Page') || !currentNode.has('Type') && currentNode.has('Contents')) {\n if (currentPageIndex === pageIndex) {\n capability.resolve([currentNode, null]);\n return {\n v: void 0\n };\n }\n\n currentPageIndex++;\n return \"continue\";\n }\n\n capability.reject(new _util.FormatError('Page dictionary kids object is not an array.'));\n return {\n v: void 0\n };\n }\n\n for (var last = kids.length - 1; last >= 0; last--) {\n nodesToVisit.push(kids[last]);\n }\n };\n\n while (nodesToVisit.length) {\n var _ret = _loop();\n\n switch (_ret) {\n case \"continue\":\n continue;\n\n default:\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n }\n\n capability.reject(new Error(\"Page index \".concat(pageIndex, \" not found.\")));\n }\n\n next();\n return capability.promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(pageRef) {\n var xref = this.xref;\n\n function pagesBeforeRef(kidRef) {\n var total = 0,\n parentRef;\n return xref.fetchAsync(kidRef).then(function (node) {\n if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, 'Page') && !((0, _primitives.isDict)(node) && !node.has('Type') && node.has('Contents'))) {\n throw new _util.FormatError('The reference does not point to a /Page dictionary.');\n }\n\n if (!node) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(node)) {\n throw new _util.FormatError('Node must be a dictionary.');\n }\n\n parentRef = node.getRaw('Parent');\n return node.getAsync('Parent');\n }).then(function (parent) {\n if (!parent) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(parent)) {\n throw new _util.FormatError('Parent must be a dictionary.');\n }\n\n return parent.getAsync('Kids');\n }).then(function (kids) {\n if (!kids) {\n return null;\n }\n\n var kidPromises = [];\n var found = false;\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (!(0, _primitives.isRef)(kid)) {\n throw new _util.FormatError('Kid must be a reference.');\n }\n\n if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n found = true;\n break;\n }\n\n kidPromises.push(xref.fetchAsync(kid).then(function (kid) {\n if (!(0, _primitives.isDict)(kid)) {\n throw new _util.FormatError('Kid node must be a dictionary.');\n }\n\n if (kid.has('Count')) {\n total += kid.get('Count');\n } else {\n total++;\n }\n }));\n }\n\n if (!found) {\n throw new _util.FormatError('Kid reference not found in parent\\'s kids.');\n }\n\n return Promise.all(kidPromises).then(function () {\n return [total, parentRef];\n });\n });\n }\n\n var total = 0;\n\n function next(ref) {\n return pagesBeforeRef(ref).then(function (args) {\n if (!args) {\n return total;\n }\n\n var _args = _slicedToArray(args, 2),\n count = _args[0],\n parentRef = _args[1];\n\n total += count;\n return next(parentRef);\n });\n }\n\n return next(pageRef);\n }\n }, {\n key: \"metadata\",\n get: function get() {\n var streamRef = this.catDict.getRaw('Metadata');\n\n if (!(0, _primitives.isRef)(streamRef)) {\n return (0, _util.shadow)(this, 'metadata', null);\n }\n\n var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);\n var stream = this.xref.fetch(streamRef, suppressEncryption);\n var metadata;\n\n if (stream && (0, _primitives.isDict)(stream.dict)) {\n var type = stream.dict.get('Type');\n var subtype = stream.dict.get('Subtype');\n\n if ((0, _primitives.isName)(type, 'Metadata') && (0, _primitives.isName)(subtype, 'XML')) {\n try {\n metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)('Skipping invalid metadata.');\n }\n }\n }\n\n return (0, _util.shadow)(this, 'metadata', metadata);\n }\n }, {\n key: \"toplevelPagesDict\",\n get: function get() {\n var pagesObj = this.catDict.get('Pages');\n\n if (!(0, _primitives.isDict)(pagesObj)) {\n throw new _util.FormatError('Invalid top-level pages dictionary.');\n }\n\n return (0, _util.shadow)(this, 'toplevelPagesDict', pagesObj);\n }\n }, {\n key: \"documentOutline\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readDocumentOutline();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read document outline.');\n }\n\n return (0, _util.shadow)(this, 'documentOutline', obj);\n }\n }, {\n key: \"permissions\",\n get: function get() {\n var permissions = null;\n\n try {\n permissions = this._readPermissions();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read permissions.');\n }\n\n return (0, _util.shadow)(this, 'permissions', permissions);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var obj = this.toplevelPagesDict.get('Count');\n\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError('Page count in top-level pages dictionary is not an integer.');\n }\n\n return (0, _util.shadow)(this, 'numPages', obj);\n }\n }, {\n key: \"destinations\",\n get: function get() {\n var obj = this._readDests(),\n dests = Object.create(null);\n\n if (obj instanceof NameTree) {\n var names = obj.getAll();\n\n for (var name in names) {\n dests[name] = fetchDestination(names[name]);\n }\n } else if (obj instanceof _primitives.Dict) {\n obj.forEach(function (key, value) {\n if (value) {\n dests[key] = fetchDestination(value);\n }\n });\n }\n\n return (0, _util.shadow)(this, 'destinations', dests);\n }\n }, {\n key: \"pageLabels\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readPageLabels();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read page labels.');\n }\n\n return (0, _util.shadow)(this, 'pageLabels', obj);\n }\n }, {\n key: \"pageLayout\",\n get: function get() {\n var obj = this.catDict.get('PageLayout');\n var pageLayout = '';\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case 'SinglePage':\n case 'OneColumn':\n case 'TwoColumnLeft':\n case 'TwoColumnRight':\n case 'TwoPageLeft':\n case 'TwoPageRight':\n pageLayout = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, 'pageLayout', pageLayout);\n }\n }, {\n key: \"pageMode\",\n get: function get() {\n var obj = this.catDict.get('PageMode');\n var pageMode = 'UseNone';\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case 'UseNone':\n case 'UseOutlines':\n case 'UseThumbs':\n case 'FullScreen':\n case 'UseOC':\n case 'UseAttachments':\n pageMode = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, 'pageMode', pageMode);\n }\n }, {\n key: \"viewerPreferences\",\n get: function get() {\n var _this2 = this;\n\n var ViewerPreferencesValidators = {\n HideToolbar: _util.isBool,\n HideMenubar: _util.isBool,\n HideWindowUI: _util.isBool,\n FitWindow: _util.isBool,\n CenterWindow: _util.isBool,\n DisplayDocTitle: _util.isBool,\n NonFullScreenPageMode: _primitives.isName,\n Direction: _primitives.isName,\n ViewArea: _primitives.isName,\n ViewClip: _primitives.isName,\n PrintArea: _primitives.isName,\n PrintClip: _primitives.isName,\n PrintScaling: _primitives.isName,\n Duplex: _primitives.isName,\n PickTrayByPDFSize: _util.isBool,\n PrintPageRange: Array.isArray,\n NumCopies: Number.isInteger\n };\n var obj = this.catDict.get('ViewerPreferences');\n var prefs = Object.create(null);\n\n if ((0, _primitives.isDict)(obj)) {\n for (var key in ViewerPreferencesValidators) {\n if (!obj.has(key)) {\n continue;\n }\n\n var value = obj.get(key);\n\n if (!ViewerPreferencesValidators[key](value)) {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n var prefValue = void 0;\n\n switch (key) {\n case 'NonFullScreenPageMode':\n switch (value.name) {\n case 'UseNone':\n case 'UseOutlines':\n case 'UseThumbs':\n case 'UseOC':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'UseNone';\n }\n\n break;\n\n case 'Direction':\n switch (value.name) {\n case 'L2R':\n case 'R2L':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'L2R';\n }\n\n break;\n\n case 'ViewArea':\n case 'ViewClip':\n case 'PrintArea':\n case 'PrintClip':\n switch (value.name) {\n case 'MediaBox':\n case 'CropBox':\n case 'BleedBox':\n case 'TrimBox':\n case 'ArtBox':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'CropBox';\n }\n\n break;\n\n case 'PrintScaling':\n switch (value.name) {\n case 'None':\n case 'AppDefault':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'AppDefault';\n }\n\n break;\n\n case 'Duplex':\n switch (value.name) {\n case 'Simplex':\n case 'DuplexFlipShortEdge':\n case 'DuplexFlipLongEdge':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'None';\n }\n\n break;\n\n case 'PrintPageRange':\n var length = value.length;\n\n if (length % 2 !== 0) {\n break;\n }\n\n var isValid = value.every(function (page, i, arr) {\n return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= _this2.numPages;\n });\n\n if (isValid) {\n prefValue = value;\n }\n\n break;\n\n case 'NumCopies':\n if (value > 0) {\n prefValue = value;\n }\n\n break;\n\n default:\n (0, _util.assert)(typeof value === 'boolean');\n prefValue = value;\n }\n\n if (prefValue !== undefined) {\n prefs[key] = prefValue;\n } else {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n }\n }\n }\n\n return (0, _util.shadow)(this, 'viewerPreferences', prefs);\n }\n }, {\n key: \"openActionDestination\",\n get: function get() {\n var obj = this.catDict.get('OpenAction');\n var openActionDest = null;\n\n if ((0, _primitives.isDict)(obj)) {\n var destDict = new _primitives.Dict(this.xref);\n destDict.set('A', obj);\n var resultObj = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: destDict,\n resultObj: resultObj\n });\n\n if (Array.isArray(resultObj.dest)) {\n openActionDest = resultObj.dest;\n }\n } else if (Array.isArray(obj)) {\n openActionDest = obj;\n }\n\n return (0, _util.shadow)(this, 'openActionDestination', openActionDest);\n }\n }, {\n key: \"attachments\",\n get: function get() {\n var obj = this.catDict.get('Names');\n var attachments = null;\n\n if (obj && obj.has('EmbeddedFiles')) {\n var nameTree = new NameTree(obj.getRaw('EmbeddedFiles'), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var fs = new FileSpec(names[name], this.xref);\n\n if (!attachments) {\n attachments = Object.create(null);\n }\n\n attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n }\n }\n\n return (0, _util.shadow)(this, 'attachments', attachments);\n }\n }, {\n key: \"javaScript\",\n get: function get() {\n var obj = this.catDict.get('Names');\n var javaScript = null;\n\n function appendIfJavaScriptDict(jsDict) {\n var type = jsDict.get('S');\n\n if (!(0, _primitives.isName)(type, 'JavaScript')) {\n return;\n }\n\n var js = jsDict.get('JS');\n\n if ((0, _primitives.isStream)(js)) {\n js = (0, _util.bytesToString)(js.getBytes());\n } else if (!(0, _util.isString)(js)) {\n return;\n }\n\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push((0, _util.stringToPDFString)(js));\n }\n\n if (obj && obj.has('JavaScript')) {\n var nameTree = new NameTree(obj.getRaw('JavaScript'), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var jsDict = names[name];\n\n if ((0, _primitives.isDict)(jsDict)) {\n appendIfJavaScriptDict(jsDict);\n }\n }\n }\n\n var openActionDict = this.catDict.get('OpenAction');\n\n if ((0, _primitives.isDict)(openActionDict, 'Action')) {\n var actionType = openActionDict.get('S');\n\n if ((0, _primitives.isName)(actionType, 'Named')) {\n var action = openActionDict.get('N');\n\n if ((0, _primitives.isName)(action, 'Print')) {\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push('print({});');\n }\n } else {\n appendIfJavaScriptDict(openActionDict);\n }\n }\n\n return (0, _util.shadow)(this, 'javaScript', javaScript);\n }\n }], [{\n key: \"parseDestDictionary\",\n value: function parseDestDictionary(params) {\n function addDefaultProtocolToUrl(url) {\n return url.startsWith('www.') ? \"http://\".concat(url) : url;\n }\n\n function tryConvertUrlEncoding(url) {\n try {\n return (0, _util.stringToUTF8String)(url);\n } catch (e) {\n return url;\n }\n }\n\n var destDict = params.destDict;\n\n if (!(0, _primitives.isDict)(destDict)) {\n (0, _util.warn)('parseDestDictionary: `destDict` must be a dictionary.');\n return;\n }\n\n var resultObj = params.resultObj;\n\n if (_typeof(resultObj) !== 'object') {\n (0, _util.warn)('parseDestDictionary: `resultObj` must be an object.');\n return;\n }\n\n var docBaseUrl = params.docBaseUrl || null;\n var action = destDict.get('A'),\n url,\n dest;\n\n if (!(0, _primitives.isDict)(action) && destDict.has('Dest')) {\n action = destDict.get('Dest');\n }\n\n if ((0, _primitives.isDict)(action)) {\n var actionType = action.get('S');\n\n if (!(0, _primitives.isName)(actionType)) {\n (0, _util.warn)('parseDestDictionary: Invalid type in Action dictionary.');\n return;\n }\n\n var actionName = actionType.name;\n\n switch (actionName) {\n case 'URI':\n url = action.get('URI');\n\n if ((0, _primitives.isName)(url)) {\n url = '/' + url.name;\n } else if ((0, _util.isString)(url)) {\n url = addDefaultProtocolToUrl(url);\n }\n\n break;\n\n case 'GoTo':\n dest = action.get('D');\n break;\n\n case 'Launch':\n case 'GoToR':\n var urlDict = action.get('F');\n\n if ((0, _primitives.isDict)(urlDict)) {\n url = urlDict.get('F') || null;\n } else if ((0, _util.isString)(urlDict)) {\n url = urlDict;\n }\n\n var remoteDest = action.get('D');\n\n if (remoteDest) {\n if ((0, _primitives.isName)(remoteDest)) {\n remoteDest = remoteDest.name;\n }\n\n if ((0, _util.isString)(url)) {\n var baseUrl = url.split('#')[0];\n\n if ((0, _util.isString)(remoteDest)) {\n url = baseUrl + '#' + remoteDest;\n } else if (Array.isArray(remoteDest)) {\n url = baseUrl + '#' + JSON.stringify(remoteDest);\n }\n }\n }\n\n var newWindow = action.get('NewWindow');\n\n if ((0, _util.isBool)(newWindow)) {\n resultObj.newWindow = newWindow;\n }\n\n break;\n\n case 'Named':\n var namedAction = action.get('N');\n\n if ((0, _primitives.isName)(namedAction)) {\n resultObj.action = namedAction.name;\n }\n\n break;\n\n case 'JavaScript':\n var jsAction = action.get('JS');\n var js;\n\n if ((0, _primitives.isStream)(jsAction)) {\n js = (0, _util.bytesToString)(jsAction.getBytes());\n } else if ((0, _util.isString)(jsAction)) {\n js = jsAction;\n }\n\n if (js) {\n var URL_OPEN_METHODS = ['app.launchURL', 'window.open'];\n var regex = new RegExp('^\\\\s*(' + URL_OPEN_METHODS.join('|').split('.').join('\\\\.') + ')\\\\((?:\\'|\\\")([^\\'\\\"]*)(?:\\'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))', 'i');\n var jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n\n if (jsUrl && jsUrl[2]) {\n url = jsUrl[2];\n\n if (jsUrl[3] === 'true' && jsUrl[1] === 'app.launchURL') {\n resultObj.newWindow = true;\n }\n\n break;\n }\n }\n\n default:\n (0, _util.warn)(\"parseDestDictionary: unsupported action type \\\"\".concat(actionName, \"\\\".\"));\n break;\n }\n } else if (destDict.has('Dest')) {\n dest = destDict.get('Dest');\n }\n\n if ((0, _util.isString)(url)) {\n url = tryConvertUrlEncoding(url);\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n\n if (absoluteUrl) {\n resultObj.url = absoluteUrl.href;\n }\n\n resultObj.unsafeUrl = url;\n }\n\n if (dest) {\n if ((0, _primitives.isName)(dest)) {\n dest = dest.name;\n }\n\n if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n resultObj.dest = dest;\n }\n }\n }\n }]);\n\n return Catalog;\n}();\n\nexports.Catalog = Catalog;\n\nvar XRef = function XRefClosure() {\n function XRef(stream, pdfManager) {\n this.stream = stream;\n this.pdfManager = pdfManager;\n this.entries = [];\n this.xrefstms = Object.create(null);\n this._cacheMap = new Map();\n this.stats = {\n streamTypes: Object.create(null),\n fontTypes: Object.create(null)\n };\n }\n\n XRef.prototype = {\n setStartXRef: function XRef_setStartXRef(startXRef) {\n this.startXRefQueue = [startXRef];\n },\n parse: function XRef_parse(recoveryMode) {\n var trailerDict;\n\n if (!recoveryMode) {\n trailerDict = this.readXRef();\n } else {\n (0, _util.warn)('Indexing all PDF objects');\n trailerDict = this.indexObjects();\n }\n\n trailerDict.assignXref(this);\n this.trailer = trailerDict;\n var encrypt;\n\n try {\n encrypt = trailerDict.get('Encrypt');\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(encrypt)) {\n var ids = trailerDict.get('ID');\n var fileId = ids && ids.length ? ids[0] : '';\n encrypt.suppressEncryption = true;\n this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n }\n\n var root;\n\n try {\n root = trailerDict.get('Root');\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Root\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(root) && root.has('Pages')) {\n this.root = root;\n } else {\n if (!recoveryMode) {\n throw new _core_utils.XRefParseException();\n }\n\n throw new _util.FormatError('Invalid root reference');\n }\n },\n processXRefTable: function XRef_processXRefTable(parser) {\n if (!('tableState' in this)) {\n this.tableState = {\n entryNum: 0,\n streamPos: parser.lexer.stream.pos,\n parserBuf1: parser.buf1,\n parserBuf2: parser.buf2\n };\n }\n\n var obj = this.readXRefTable(parser);\n\n if (!(0, _primitives.isCmd)(obj, 'trailer')) {\n throw new _util.FormatError('Invalid XRef table: could not find trailer dictionary');\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict) && dict.dict) {\n dict = dict.dict;\n }\n\n if (!(0, _primitives.isDict)(dict)) {\n throw new _util.FormatError('Invalid XRef table: could not parse trailer dictionary');\n }\n\n delete this.tableState;\n return dict;\n },\n readXRefTable: function XRef_readXRefTable(parser) {\n var stream = parser.lexer.stream;\n var tableState = this.tableState;\n stream.pos = tableState.streamPos;\n parser.buf1 = tableState.parserBuf1;\n parser.buf2 = tableState.parserBuf2;\n var obj;\n\n while (true) {\n if (!('firstEntryNum' in tableState) || !('entryCount' in tableState)) {\n if ((0, _primitives.isCmd)(obj = parser.getObj(), 'trailer')) {\n break;\n }\n\n tableState.firstEntryNum = obj;\n tableState.entryCount = parser.getObj();\n }\n\n var first = tableState.firstEntryNum;\n var count = tableState.entryCount;\n\n if (!Number.isInteger(first) || !Number.isInteger(count)) {\n throw new _util.FormatError('Invalid XRef table: wrong types in subsection header');\n }\n\n for (var i = tableState.entryNum; i < count; i++) {\n tableState.streamPos = stream.pos;\n tableState.entryNum = i;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n var entry = {};\n entry.offset = parser.getObj();\n entry.gen = parser.getObj();\n var type = parser.getObj();\n\n if (type instanceof _primitives.Cmd) {\n switch (type.cmd) {\n case 'f':\n entry.free = true;\n break;\n\n case 'n':\n entry.uncompressed = true;\n break;\n }\n }\n\n if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n throw new _util.FormatError(\"Invalid entry in XRef subsection: \".concat(first, \", \").concat(count));\n }\n\n if (i === 0 && entry.free && first === 1) {\n first = 0;\n }\n\n if (!this.entries[i + first]) {\n this.entries[i + first] = entry;\n }\n }\n\n tableState.entryNum = 0;\n tableState.streamPos = stream.pos;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n delete tableState.firstEntryNum;\n delete tableState.entryCount;\n }\n\n if (this.entries[0] && !this.entries[0].free) {\n throw new _util.FormatError('Invalid XRef table: unexpected first object');\n }\n\n return obj;\n },\n processXRefStream: function XRef_processXRefStream(stream) {\n if (!('streamState' in this)) {\n var streamParameters = stream.dict;\n var byteWidths = streamParameters.get('W');\n var range = streamParameters.get('Index');\n\n if (!range) {\n range = [0, streamParameters.get('Size')];\n }\n\n this.streamState = {\n entryRanges: range,\n byteWidths: byteWidths,\n entryNum: 0,\n streamPos: stream.pos\n };\n }\n\n this.readXRefStream(stream);\n delete this.streamState;\n return stream.dict;\n },\n readXRefStream: function XRef_readXRefStream(stream) {\n var i, j;\n var streamState = this.streamState;\n stream.pos = streamState.streamPos;\n var byteWidths = streamState.byteWidths;\n var typeFieldWidth = byteWidths[0];\n var offsetFieldWidth = byteWidths[1];\n var generationFieldWidth = byteWidths[2];\n var entryRanges = streamState.entryRanges;\n\n while (entryRanges.length > 0) {\n var first = entryRanges[0];\n var n = entryRanges[1];\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"Invalid XRef range fields: \".concat(first, \", \").concat(n));\n }\n\n if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n throw new _util.FormatError(\"Invalid XRef entry fields length: \".concat(first, \", \").concat(n));\n }\n\n for (i = streamState.entryNum; i < n; ++i) {\n streamState.entryNum = i;\n streamState.streamPos = stream.pos;\n var type = 0,\n offset = 0,\n generation = 0;\n\n for (j = 0; j < typeFieldWidth; ++j) {\n type = type << 8 | stream.getByte();\n }\n\n if (typeFieldWidth === 0) {\n type = 1;\n }\n\n for (j = 0; j < offsetFieldWidth; ++j) {\n offset = offset << 8 | stream.getByte();\n }\n\n for (j = 0; j < generationFieldWidth; ++j) {\n generation = generation << 8 | stream.getByte();\n }\n\n var entry = {};\n entry.offset = offset;\n entry.gen = generation;\n\n switch (type) {\n case 0:\n entry.free = true;\n break;\n\n case 1:\n entry.uncompressed = true;\n break;\n\n case 2:\n break;\n\n default:\n throw new _util.FormatError(\"Invalid XRef entry type: \".concat(type));\n }\n\n if (!this.entries[first + i]) {\n this.entries[first + i] = entry;\n }\n }\n\n streamState.entryNum = 0;\n streamState.streamPos = stream.pos;\n entryRanges.splice(0, 2);\n }\n },\n indexObjects: function XRef_indexObjects() {\n var TAB = 0x9,\n LF = 0xA,\n CR = 0xD,\n SPACE = 0x20;\n var PERCENT = 0x25,\n LT = 0x3C;\n\n function readToken(data, offset) {\n var token = '',\n ch = data[offset];\n\n while (ch !== LF && ch !== CR && ch !== LT) {\n if (++offset >= data.length) {\n break;\n }\n\n token += String.fromCharCode(ch);\n ch = data[offset];\n }\n\n return token;\n }\n\n function skipUntil(data, offset, what) {\n var length = what.length,\n dataLength = data.length;\n var skipped = 0;\n\n while (offset < dataLength) {\n var i = 0;\n\n while (i < length && data[offset + i] === what[i]) {\n ++i;\n }\n\n if (i >= length) {\n break;\n }\n\n offset++;\n skipped++;\n }\n\n return skipped;\n }\n\n var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n var endobjRegExp = /\\bendobj[\\b\\s]$/;\n var nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n var CHECK_CONTENT_LENGTH = 25;\n var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n var objBytes = new Uint8Array([111, 98, 106]);\n var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n this.entries.length = 0;\n var stream = this.stream;\n stream.pos = 0;\n var buffer = stream.getBytes();\n var position = stream.start,\n length = buffer.length;\n var trailers = [],\n xrefStms = [];\n\n while (position < length) {\n var ch = buffer[position];\n\n if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n ++position;\n continue;\n }\n\n if (ch === PERCENT) {\n do {\n ++position;\n\n if (position >= length) {\n break;\n }\n\n ch = buffer[position];\n } while (ch !== LF && ch !== CR);\n\n continue;\n }\n\n var token = readToken(buffer, position);\n var m;\n\n if (token.startsWith('xref') && (token.length === 4 || /\\s/.test(token[4]))) {\n position += skipUntil(buffer, position, trailerBytes);\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else if (m = objRegExp.exec(token)) {\n var num = m[1] | 0,\n gen = m[2] | 0;\n\n if (typeof this.entries[num] === 'undefined') {\n this.entries[num] = {\n offset: position - stream.start,\n gen: gen,\n uncompressed: true\n };\n }\n\n var contentLength = void 0,\n startPos = position + token.length;\n\n while (startPos < buffer.length) {\n var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n contentLength = endPos - position;\n var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));\n\n if (endobjRegExp.test(tokenStr)) {\n break;\n } else {\n var objToken = nestedObjRegExp.exec(tokenStr);\n\n if (objToken && objToken[1]) {\n (0, _util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", ' + 'caused by missing \"endobj\" -- trying to recover.');\n contentLength -= objToken[1].length;\n break;\n }\n }\n\n startPos = endPos;\n }\n\n var content = buffer.subarray(position, position + contentLength);\n var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n\n if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n xrefStms.push(position - stream.start);\n this.xrefstms[position - stream.start] = 1;\n }\n\n position += contentLength;\n } else if (token.startsWith('trailer') && (token.length === 7 || /\\s/.test(token[7]))) {\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else {\n position += token.length + 1;\n }\n }\n\n var i, ii;\n\n for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n this.startXRefQueue.push(xrefStms[i]);\n this.readXRef(true);\n }\n\n var trailerDict;\n\n for (i = 0, ii = trailers.length; i < ii; ++i) {\n stream.pos = trailers[i];\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true,\n recoveryMode: true\n });\n var obj = parser.getObj();\n\n if (!(0, _primitives.isCmd)(obj, 'trailer')) {\n continue;\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict)) {\n continue;\n }\n\n var rootDict = void 0;\n\n try {\n rootDict = dict.get('Root');\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n continue;\n }\n\n if (!(0, _primitives.isDict)(rootDict) || !rootDict.has('Pages')) {\n continue;\n }\n\n if (dict.has('ID')) {\n return dict;\n }\n\n trailerDict = dict;\n }\n\n if (trailerDict) {\n return trailerDict;\n }\n\n throw new _util.InvalidPDFException('Invalid PDF structure');\n },\n readXRef: function XRef_readXRef(recoveryMode) {\n var stream = this.stream;\n var startXRefParsedCache = Object.create(null);\n\n try {\n while (this.startXRefQueue.length) {\n var startXRef = this.startXRefQueue[0];\n\n if (startXRefParsedCache[startXRef]) {\n (0, _util.warn)('readXRef - skipping XRef table since it was already parsed.');\n this.startXRefQueue.shift();\n continue;\n }\n\n startXRefParsedCache[startXRef] = true;\n stream.pos = startXRef + stream.start;\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj = parser.getObj();\n var dict;\n\n if ((0, _primitives.isCmd)(obj, 'xref')) {\n dict = this.processXRefTable(parser);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n obj = dict.get('XRefStm');\n\n if (Number.isInteger(obj)) {\n var pos = obj;\n\n if (!(pos in this.xrefstms)) {\n this.xrefstms[pos] = 1;\n this.startXRefQueue.push(pos);\n }\n }\n } else if (Number.isInteger(obj)) {\n if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), 'obj') || !(0, _primitives.isStream)(obj = parser.getObj())) {\n throw new _util.FormatError('Invalid XRef stream');\n }\n\n dict = this.processXRefStream(obj);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n if (!dict) {\n throw new _util.FormatError('Failed to read XRef stream');\n }\n } else {\n throw new _util.FormatError('Invalid XRef stream header');\n }\n\n obj = dict.get('Prev');\n\n if (Number.isInteger(obj)) {\n this.startXRefQueue.push(obj);\n } else if ((0, _primitives.isRef)(obj)) {\n this.startXRefQueue.push(obj.num);\n }\n\n this.startXRefQueue.shift();\n }\n\n return this.topDict;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)('(while reading XRef): ' + e);\n }\n\n if (recoveryMode) {\n return undefined;\n }\n\n throw new _core_utils.XRefParseException();\n },\n getEntry: function XRef_getEntry(i) {\n var xrefEntry = this.entries[i];\n\n if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n return xrefEntry;\n }\n\n return null;\n },\n fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n if (obj instanceof _primitives.Ref) {\n return this.fetch(obj, suppressEncryption);\n }\n\n return obj;\n },\n fetch: function XRef_fetch(ref, suppressEncryption) {\n if (!(ref instanceof _primitives.Ref)) {\n throw new Error('ref object is not a reference');\n }\n\n var num = ref.num;\n\n if (this._cacheMap.has(num)) {\n var cacheEntry = this._cacheMap.get(num);\n\n if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n cacheEntry.objId = ref.toString();\n }\n\n return cacheEntry;\n }\n\n var xrefEntry = this.getEntry(num);\n\n if (xrefEntry === null) {\n this._cacheMap.set(num, xrefEntry);\n\n return xrefEntry;\n }\n\n if (xrefEntry.uncompressed) {\n xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n } else {\n xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n }\n\n if ((0, _primitives.isDict)(xrefEntry)) {\n xrefEntry.objId = ref.toString();\n } else if ((0, _primitives.isStream)(xrefEntry)) {\n xrefEntry.dict.objId = ref.toString();\n }\n\n return xrefEntry;\n },\n fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var gen = ref.gen;\n var num = ref.num;\n\n if (xrefEntry.gen !== gen) {\n throw new _core_utils.XRefEntryException(\"Inconsistent generation in XRef: \".concat(ref));\n }\n\n var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n\n if (!Number.isInteger(obj1)) {\n obj1 = parseInt(obj1, 10);\n }\n\n if (!Number.isInteger(obj2)) {\n obj2 = parseInt(obj2, 10);\n }\n\n if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {\n throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (obj3.cmd !== 'obj') {\n if (obj3.cmd.startsWith('obj')) {\n num = parseInt(obj3.cmd.substring(3), 10);\n\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n\n throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (this.encrypt && !suppressEncryption) {\n xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n } else {\n xrefEntry = parser.getObj();\n }\n\n if (!(0, _primitives.isStream)(xrefEntry)) {\n this._cacheMap.set(num, xrefEntry);\n }\n\n return xrefEntry;\n },\n fetchCompressed: function fetchCompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var tableOffset = xrefEntry.offset;\n var stream = this.fetch(_primitives.Ref.get(tableOffset, 0));\n\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError('bad ObjStm stream');\n }\n\n var first = stream.dict.get('First');\n var n = stream.dict.get('N');\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError('invalid first and n parameters for ObjStm stream');\n }\n\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var i,\n entries = [],\n num,\n nums = [];\n\n for (i = 0; i < n; ++i) {\n num = parser.getObj();\n\n if (!Number.isInteger(num)) {\n throw new _util.FormatError(\"invalid object number in the ObjStm stream: \".concat(num));\n }\n\n nums.push(num);\n var offset = parser.getObj();\n\n if (!Number.isInteger(offset)) {\n throw new _util.FormatError(\"invalid object offset in the ObjStm stream: \".concat(offset));\n }\n }\n\n for (i = 0; i < n; ++i) {\n entries.push(parser.getObj());\n\n if ((0, _primitives.isCmd)(parser.buf1, 'endobj')) {\n parser.shift();\n }\n\n num = nums[i];\n var entry = this.entries[num];\n\n if (entry && entry.offset === tableOffset && entry.gen === i) {\n this._cacheMap.set(num, entries[i]);\n }\n }\n\n xrefEntry = entries[xrefEntry.gen];\n\n if (xrefEntry === undefined) {\n throw new _core_utils.XRefEntryException(\"Bad (compressed) XRef entry: \".concat(ref));\n }\n\n return xrefEntry;\n },\n fetchIfRefAsync: function () {\n var _fetchIfRefAsync = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(obj, suppressEncryption) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(obj instanceof _primitives.Ref)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", this.fetchAsync(obj, suppressEncryption));\n\n case 2:\n return _context.abrupt(\"return\", obj);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetchIfRefAsync(_x, _x2) {\n return _fetchIfRefAsync.apply(this, arguments);\n }\n\n return fetchIfRefAsync;\n }(),\n fetchAsync: function () {\n var _fetchAsync = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(ref, suppressEncryption) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n return _context2.abrupt(\"return\", this.fetch(ref, suppressEncryption));\n\n case 4:\n _context2.prev = 4;\n _context2.t0 = _context2[\"catch\"](0);\n\n if (_context2.t0 instanceof _core_utils.MissingDataException) {\n _context2.next = 8;\n break;\n }\n\n throw _context2.t0;\n\n case 8:\n _context2.next = 10;\n return this.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);\n\n case 10:\n return _context2.abrupt(\"return\", this.fetchAsync(ref, suppressEncryption));\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[0, 4]]);\n }));\n\n function fetchAsync(_x3, _x4) {\n return _fetchAsync.apply(this, arguments);\n }\n\n return fetchAsync;\n }(),\n getCatalogObj: function XRef_getCatalogObj() {\n return this.root;\n }\n };\n return XRef;\n}();\n\nexports.XRef = XRef;\n\nvar NameOrNumberTree =\n/*#__PURE__*/\nfunction () {\n function NameOrNumberTree(root, xref, type) {\n _classCallCheck(this, NameOrNumberTree);\n\n if (this.constructor === NameOrNumberTree) {\n (0, _util.unreachable)('Cannot initialize NameOrNumberTree.');\n }\n\n this.root = root;\n this.xref = xref;\n this._type = type;\n }\n\n _createClass(NameOrNumberTree, [{\n key: \"getAll\",\n value: function getAll() {\n var dict = Object.create(null);\n\n if (!this.root) {\n return dict;\n }\n\n var xref = this.xref;\n var processed = new _primitives.RefSet();\n processed.put(this.root);\n var queue = [this.root];\n\n while (queue.length > 0) {\n var obj = xref.fetchIfRef(queue.shift());\n\n if (!(0, _primitives.isDict)(obj)) {\n continue;\n }\n\n if (obj.has('Kids')) {\n var kids = obj.get('Kids');\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (processed.has(kid)) {\n throw new _util.FormatError(\"Duplicate entry in \\\"\".concat(this._type, \"\\\" tree.\"));\n }\n\n queue.push(kid);\n processed.put(kid);\n }\n\n continue;\n }\n\n var entries = obj.get(this._type);\n\n if (Array.isArray(entries)) {\n for (var _i2 = 0, _ii = entries.length; _i2 < _ii; _i2 += 2) {\n dict[xref.fetchIfRef(entries[_i2])] = xref.fetchIfRef(entries[_i2 + 1]);\n }\n }\n }\n\n return dict;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n if (!this.root) {\n return null;\n }\n\n var xref = this.xref;\n var kidsOrEntries = xref.fetchIfRef(this.root);\n var loopCount = 0;\n var MAX_LEVELS = 10;\n\n while (kidsOrEntries.has('Kids')) {\n if (++loopCount > MAX_LEVELS) {\n (0, _util.warn)(\"Search depth limit reached for \\\"\".concat(this._type, \"\\\" tree.\"));\n return null;\n }\n\n var kids = kidsOrEntries.get('Kids');\n\n if (!Array.isArray(kids)) {\n return null;\n }\n\n var l = 0,\n r = kids.length - 1;\n\n while (l <= r) {\n var m = l + r >> 1;\n var kid = xref.fetchIfRef(kids[m]);\n var limits = kid.get('Limits');\n\n if (key < xref.fetchIfRef(limits[0])) {\n r = m - 1;\n } else if (key > xref.fetchIfRef(limits[1])) {\n l = m + 1;\n } else {\n kidsOrEntries = xref.fetchIfRef(kids[m]);\n break;\n }\n }\n\n if (l > r) {\n return null;\n }\n }\n\n var entries = kidsOrEntries.get(this._type);\n\n if (Array.isArray(entries)) {\n var _l = 0,\n _r = entries.length - 2;\n\n while (_l <= _r) {\n var tmp = _l + _r >> 1,\n _m = tmp + (tmp & 1);\n\n var currentKey = xref.fetchIfRef(entries[_m]);\n\n if (key < currentKey) {\n _r = _m - 2;\n } else if (key > currentKey) {\n _l = _m + 2;\n } else {\n return xref.fetchIfRef(entries[_m + 1]);\n }\n }\n\n (0, _util.info)(\"Falling back to an exhaustive search, for key \\\"\".concat(key, \"\\\", \") + \"in \\\"\".concat(this._type, \"\\\" tree.\"));\n\n for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {\n var _currentKey = xref.fetchIfRef(entries[_m2]);\n\n if (_currentKey === key) {\n (0, _util.warn)(\"The \\\"\".concat(key, \"\\\" key was found at an incorrect, \") + \"i.e. out-of-order, position in \\\"\".concat(this._type, \"\\\" tree.\"));\n return xref.fetchIfRef(entries[_m2 + 1]);\n }\n }\n }\n\n return null;\n }\n }]);\n\n return NameOrNumberTree;\n}();\n\nvar NameTree =\n/*#__PURE__*/\nfunction (_NameOrNumberTree) {\n _inherits(NameTree, _NameOrNumberTree);\n\n function NameTree(root, xref) {\n _classCallCheck(this, NameTree);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NameTree).call(this, root, xref, 'Names'));\n }\n\n return NameTree;\n}(NameOrNumberTree);\n\nvar NumberTree =\n/*#__PURE__*/\nfunction (_NameOrNumberTree2) {\n _inherits(NumberTree, _NameOrNumberTree2);\n\n function NumberTree(root, xref) {\n _classCallCheck(this, NumberTree);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NumberTree).call(this, root, xref, 'Nums'));\n }\n\n return NumberTree;\n}(NameOrNumberTree);\n\nvar FileSpec = function FileSpecClosure() {\n function FileSpec(root, xref) {\n if (!root || !(0, _primitives.isDict)(root)) {\n return;\n }\n\n this.xref = xref;\n this.root = root;\n\n if (root.has('FS')) {\n this.fs = root.get('FS');\n }\n\n this.description = root.has('Desc') ? (0, _util.stringToPDFString)(root.get('Desc')) : '';\n\n if (root.has('RF')) {\n (0, _util.warn)('Related file specifications are not supported');\n }\n\n this.contentAvailable = true;\n\n if (!root.has('EF')) {\n this.contentAvailable = false;\n (0, _util.warn)('Non-embedded file specifications are not supported');\n }\n }\n\n function pickPlatformItem(dict) {\n if (dict.has('UF')) {\n return dict.get('UF');\n } else if (dict.has('F')) {\n return dict.get('F');\n } else if (dict.has('Unix')) {\n return dict.get('Unix');\n } else if (dict.has('Mac')) {\n return dict.get('Mac');\n } else if (dict.has('DOS')) {\n return dict.get('DOS');\n }\n\n return null;\n }\n\n FileSpec.prototype = {\n get filename() {\n if (!this._filename && this.root) {\n var filename = pickPlatformItem(this.root) || 'unnamed';\n this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, '\\\\').replace(/\\\\\\//g, '/').replace(/\\\\/g, '/');\n }\n\n return this._filename;\n },\n\n get content() {\n if (!this.contentAvailable) {\n return null;\n }\n\n if (!this.contentRef && this.root) {\n this.contentRef = pickPlatformItem(this.root.get('EF'));\n }\n\n var content = null;\n\n if (this.contentRef) {\n var xref = this.xref;\n var fileObj = xref.fetchIfRef(this.contentRef);\n\n if (fileObj && (0, _primitives.isStream)(fileObj)) {\n content = fileObj.getBytes();\n } else {\n (0, _util.warn)('Embedded file specification points to non-existing/invalid ' + 'content');\n }\n } else {\n (0, _util.warn)('Embedded file specification does not have a content');\n }\n\n return content;\n },\n\n get serializable() {\n return {\n filename: this.filename,\n content: this.content\n };\n }\n\n };\n return FileSpec;\n}();\n\nexports.FileSpec = FileSpec;\n\nvar ObjectLoader = function () {\n function mayHaveChildren(value) {\n return (0, _primitives.isRef)(value) || (0, _primitives.isDict)(value) || Array.isArray(value) || (0, _primitives.isStream)(value);\n }\n\n function addChildren(node, nodesToVisit) {\n if ((0, _primitives.isDict)(node) || (0, _primitives.isStream)(node)) {\n var dict = (0, _primitives.isDict)(node) ? node : node.dict;\n var dictKeys = dict.getKeys();\n\n for (var i = 0, ii = dictKeys.length; i < ii; i++) {\n var rawValue = dict.getRaw(dictKeys[i]);\n\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n } else if (Array.isArray(node)) {\n for (var _i3 = 0, _ii2 = node.length; _i3 < _ii2; _i3++) {\n var value = node[_i3];\n\n if (mayHaveChildren(value)) {\n nodesToVisit.push(value);\n }\n }\n }\n }\n\n function ObjectLoader(dict, keys, xref) {\n this.dict = dict;\n this.keys = keys;\n this.xref = xref;\n this.refSet = null;\n this.capability = null;\n }\n\n ObjectLoader.prototype = {\n load: function load() {\n this.capability = (0, _util.createPromiseCapability)();\n\n if (!(this.xref.stream instanceof _chunked_stream.ChunkedStream) || this.xref.stream.getMissingChunks().length === 0) {\n this.capability.resolve();\n return this.capability.promise;\n }\n\n var keys = this.keys,\n dict = this.dict;\n this.refSet = new _primitives.RefSet();\n var nodesToVisit = [];\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n var rawValue = dict.getRaw(keys[i]);\n\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n\n this._walk(nodesToVisit);\n\n return this.capability.promise;\n },\n _walk: function _walk(nodesToVisit) {\n var _this3 = this;\n\n var nodesToRevisit = [];\n var pendingRequests = [];\n\n while (nodesToVisit.length) {\n var currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n if (this.refSet.has(currentNode)) {\n continue;\n }\n\n try {\n this.refSet.put(currentNode);\n currentNode = this.xref.fetch(currentNode);\n } catch (ex) {\n if (!(ex instanceof _core_utils.MissingDataException)) {\n throw ex;\n }\n\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: ex.begin,\n end: ex.end\n });\n }\n }\n\n if (currentNode && currentNode.getBaseStreams) {\n var baseStreams = currentNode.getBaseStreams();\n var foundMissingData = false;\n\n for (var i = 0, ii = baseStreams.length; i < ii; i++) {\n var stream = baseStreams[i];\n\n if (stream.getMissingChunks && stream.getMissingChunks().length) {\n foundMissingData = true;\n pendingRequests.push({\n begin: stream.start,\n end: stream.end\n });\n }\n }\n\n if (foundMissingData) {\n nodesToRevisit.push(currentNode);\n }\n }\n\n addChildren(currentNode, nodesToVisit);\n }\n\n if (pendingRequests.length) {\n this.xref.stream.manager.requestRanges(pendingRequests).then(function () {\n for (var _i4 = 0, _ii3 = nodesToRevisit.length; _i4 < _ii3; _i4++) {\n var node = nodesToRevisit[_i4];\n\n if ((0, _primitives.isRef)(node)) {\n _this3.refSet.remove(node);\n }\n }\n\n _this3._walk(nodesToRevisit);\n }, this.capability.reject);\n return;\n }\n\n this.refSet = null;\n this.capability.resolve();\n }\n };\n return ObjectLoader;\n}();\n\nexports.ObjectLoader = ObjectLoader;\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.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _ccitt_stream = __w_pdfjs_require__(191);\n\nvar _jbig2_stream = __w_pdfjs_require__(193);\n\nvar _jpeg_stream = __w_pdfjs_require__(196);\n\nvar _jpx_stream = __w_pdfjs_require__(198);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_LENGTH_TO_CACHE = 1000;\nvar MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n var bytesLength = bytes.length;\n var a = 1,\n b = 0;\n\n for (var i = 0; i < bytesLength; ++i) {\n a += bytes[i] & 0xFF;\n b += a;\n }\n\n return b % 65521 << 16 | a % 65521;\n}\n\nvar Parser =\n/*#__PURE__*/\nfunction () {\n function Parser(_ref) {\n var lexer = _ref.lexer,\n xref = _ref.xref,\n _ref$allowStreams = _ref.allowStreams,\n allowStreams = _ref$allowStreams === void 0 ? false : _ref$allowStreams,\n _ref$recoveryMode = _ref.recoveryMode,\n recoveryMode = _ref$recoveryMode === void 0 ? false : _ref$recoveryMode;\n\n _classCallCheck(this, Parser);\n\n this.lexer = lexer;\n this.xref = xref;\n this.allowStreams = allowStreams;\n this.recoveryMode = recoveryMode;\n this.imageCache = Object.create(null);\n this.refill();\n }\n\n _createClass(Parser, [{\n key: \"refill\",\n value: function refill() {\n this.buf1 = this.lexer.getObj();\n this.buf2 = this.lexer.getObj();\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === 'ID') {\n this.buf1 = this.buf2;\n this.buf2 = null;\n } else {\n this.buf1 = this.buf2;\n this.buf2 = this.lexer.getObj();\n }\n }\n }, {\n key: \"tryShift\",\n value: function tryShift() {\n try {\n this.shift();\n return true;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n return false;\n }\n }\n }, {\n key: \"getObj\",\n value: function getObj() {\n var cipherTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var buf1 = this.buf1;\n this.shift();\n\n if (buf1 instanceof _primitives.Cmd) {\n switch (buf1.cmd) {\n case 'BI':\n return this.makeInlineImage(cipherTransform);\n\n case '[':\n var array = [];\n\n while (!(0, _primitives.isCmd)(this.buf1, ']') && !(0, _primitives.isEOF)(this.buf1)) {\n array.push(this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError('End of file inside array');\n }\n\n return array;\n }\n\n this.shift();\n return array;\n\n case '<<':\n var dict = new _primitives.Dict(this.xref);\n\n while (!(0, _primitives.isCmd)(this.buf1, '>>') && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n (0, _util.info)('Malformed dictionary: key must be a name object');\n this.shift();\n continue;\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError('End of file inside dictionary');\n }\n\n return dict;\n }\n\n if ((0, _primitives.isCmd)(this.buf2, 'stream')) {\n return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n }\n\n this.shift();\n return dict;\n\n default:\n return buf1;\n }\n }\n\n if (Number.isInteger(buf1)) {\n if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, 'R')) {\n var ref = _primitives.Ref.get(buf1, this.buf1);\n\n this.shift();\n this.shift();\n return ref;\n }\n\n return buf1;\n }\n\n if (typeof buf1 === 'string') {\n if (cipherTransform) {\n return cipherTransform.decryptString(buf1);\n }\n\n return buf1;\n }\n\n return buf1;\n }\n }, {\n key: \"findDefaultInlineStreamEnd\",\n value: function findDefaultInlineStreamEnd(stream) {\n var E = 0x45,\n I = 0x49,\n SPACE = 0x20,\n LF = 0xA,\n CR = 0xD;\n var n = 10,\n NUL = 0x0;\n var startPos = stream.pos,\n state = 0,\n ch,\n maybeEIPos;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else {\n (0, _util.assert)(state === 2);\n\n if (ch === SPACE || ch === LF || ch === CR) {\n maybeEIPos = stream.pos;\n var followingBytes = stream.peekBytes(n);\n\n for (var i = 0, ii = followingBytes.length; i < ii; i++) {\n ch = followingBytes[i];\n\n if (ch === NUL && followingBytes[i + 1] !== NUL) {\n continue;\n }\n\n if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7F)) {\n state = 0;\n break;\n }\n }\n\n if (state === 2) {\n break;\n }\n } else {\n state = 0;\n }\n }\n }\n\n if (ch === -1) {\n (0, _util.warn)('findDefaultInlineStreamEnd: ' + 'Reached the end of the stream without finding a valid EI marker');\n\n if (maybeEIPos) {\n (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n stream.skip(-(stream.pos - maybeEIPos));\n }\n }\n\n var endOffset = 4;\n stream.skip(-endOffset);\n ch = stream.peekByte();\n stream.skip(endOffset);\n\n if (!(0, _util.isSpace)(ch)) {\n endOffset--;\n }\n\n return stream.pos - endOffset - startPos;\n }\n }, {\n key: \"findDCTDecodeInlineStreamEnd\",\n value: function findDCTDecodeInlineStreamEnd(stream) {\n var startPos = stream.pos,\n foundEOI = false,\n b,\n markerLength,\n length;\n\n while ((b = stream.getByte()) !== -1) {\n if (b !== 0xFF) {\n continue;\n }\n\n switch (stream.getByte()) {\n case 0x00:\n break;\n\n case 0xFF:\n stream.skip(-1);\n break;\n\n case 0xD9:\n foundEOI = true;\n break;\n\n case 0xC0:\n case 0xC1:\n case 0xC2:\n case 0xC3:\n case 0xC5:\n case 0xC6:\n case 0xC7:\n case 0xC9:\n case 0xCA:\n case 0xCB:\n case 0xCD:\n case 0xCE:\n case 0xCF:\n case 0xC4:\n case 0xCC:\n case 0xDA:\n case 0xDB:\n case 0xDC:\n case 0xDD:\n case 0xDE:\n case 0xDF:\n case 0xE0:\n case 0xE1:\n case 0xE2:\n case 0xE3:\n case 0xE4:\n case 0xE5:\n case 0xE6:\n case 0xE7:\n case 0xE8:\n case 0xE9:\n case 0xEA:\n case 0xEB:\n case 0xEC:\n case 0xED:\n case 0xEE:\n case 0xEF:\n case 0xFE:\n markerLength = stream.getUint16();\n\n if (markerLength > 2) {\n stream.skip(markerLength - 2);\n } else {\n stream.skip(-2);\n }\n\n break;\n }\n\n if (foundEOI) {\n break;\n }\n }\n\n length = stream.pos - startPos;\n\n if (b === -1) {\n (0, _util.warn)('Inline DCTDecode image stream: ' + 'EOI marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"findASCII85DecodeInlineStreamEnd\",\n value: function findASCII85DecodeInlineStreamEnd(stream) {\n var TILDE = 0x7E,\n GT = 0x3E;\n var startPos = stream.pos,\n ch,\n length;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE) {\n ch = stream.peekByte();\n\n while ((0, _util.isSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n\n if (ch === GT) {\n stream.skip();\n break;\n }\n }\n }\n\n length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)('Inline ASCII85Decode image stream: ' + 'EOD marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"findASCIIHexDecodeInlineStreamEnd\",\n value: function findASCIIHexDecodeInlineStreamEnd(stream) {\n var GT = 0x3E;\n var startPos = stream.pos,\n ch,\n length;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n\n length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)('Inline ASCIIHexDecode image stream: ' + 'EOD marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"inlineStreamSkipEI\",\n value: function inlineStreamSkipEI(stream) {\n var E = 0x45,\n I = 0x49;\n var state = 0,\n ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else if (state === 2) {\n break;\n }\n }\n }\n }, {\n key: \"makeInlineImage\",\n value: function makeInlineImage(cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n var dict = new _primitives.Dict(this.xref);\n var dictLength;\n\n while (!(0, _primitives.isCmd)(this.buf1, 'ID') && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n throw new _util.FormatError('Dictionary key must be a name object');\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if (lexer.beginInlineImagePos !== -1) {\n dictLength = stream.pos - lexer.beginInlineImagePos;\n }\n\n var filter = dict.get('Filter', 'F');\n var filterName;\n\n if ((0, _primitives.isName)(filter)) {\n filterName = filter.name;\n } else if (Array.isArray(filter)) {\n var filterZero = this.xref.fetchIfRef(filter[0]);\n\n if ((0, _primitives.isName)(filterZero)) {\n filterName = filterZero.name;\n }\n }\n\n var startPos = stream.pos;\n var length;\n\n if (filterName === 'DCTDecode' || filterName === 'DCT') {\n length = this.findDCTDecodeInlineStreamEnd(stream);\n } else if (filterName === 'ASCII85Decode' || filterName === 'A85') {\n length = this.findASCII85DecodeInlineStreamEnd(stream);\n } else if (filterName === 'ASCIIHexDecode' || filterName === 'AHx') {\n length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n } else {\n length = this.findDefaultInlineStreamEnd(stream);\n }\n\n var imageStream = stream.makeSubStream(startPos, length, dict);\n var cacheKey;\n\n if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n var imageBytes = imageStream.getBytes();\n imageStream.reset();\n var initialStreamPos = stream.pos;\n stream.pos = lexer.beginInlineImagePos;\n var dictBytes = stream.getBytes(dictLength);\n stream.pos = initialStreamPos;\n cacheKey = computeAdler32(imageBytes) + '_' + computeAdler32(dictBytes);\n var cacheEntry = this.imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n this.buf2 = _primitives.Cmd.get('EI');\n this.shift();\n cacheEntry.reset();\n return cacheEntry;\n }\n }\n\n if (cipherTransform) {\n imageStream = cipherTransform.createStream(imageStream, length);\n }\n\n imageStream = this.filter(imageStream, dict, length);\n imageStream.dict = dict;\n\n if (cacheKey !== undefined) {\n imageStream.cacheKey = \"inline_\".concat(length, \"_\").concat(cacheKey);\n this.imageCache[cacheKey] = imageStream;\n }\n\n this.buf2 = _primitives.Cmd.get('EI');\n this.shift();\n return imageStream;\n }\n }, {\n key: \"_findStreamLength\",\n value: function _findStreamLength(startPos, signature) {\n var stream = this.lexer.stream;\n stream.pos = startPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var signatureLength = signature.length;\n\n while (stream.pos < stream.end) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n break;\n }\n\n var pos = 0;\n\n while (pos < scanLength) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos;\n return stream.pos - startPos;\n }\n\n pos++;\n }\n\n stream.pos += scanLength;\n }\n\n return -1;\n }\n }, {\n key: \"makeStream\",\n value: function makeStream(dict, cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n lexer.skipToNextLine();\n var startPos = stream.pos - 1;\n var length = dict.get('Length');\n\n if (!Number.isInteger(length)) {\n (0, _util.info)(\"Bad length \\\"\".concat(length, \"\\\" in stream\"));\n length = 0;\n }\n\n stream.pos = startPos + length;\n lexer.nextChar();\n\n if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, 'endstream')) {\n this.shift();\n } else {\n var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n\n var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n\n if (actualLength < 0) {\n var MAX_TRUNCATION = 1;\n\n for (var i = 1; i <= MAX_TRUNCATION; i++) {\n var end = ENDSTREAM_SIGNATURE.length - i;\n var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n\n if (maybeLength >= 0) {\n var lastByte = stream.peekBytes(end + 1)[end];\n\n if (!(0, _util.isSpace)(lastByte)) {\n break;\n }\n\n (0, _util.info)(\"Found \\\"\".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), \"\\\" when \") + 'searching for endstream command.');\n actualLength = maybeLength;\n break;\n }\n }\n\n if (actualLength < 0) {\n throw new _util.FormatError('Missing endstream command.');\n }\n }\n\n length = actualLength;\n lexer.nextChar();\n this.shift();\n this.shift();\n }\n\n this.shift();\n stream = stream.makeSubStream(startPos, length, dict);\n\n if (cipherTransform) {\n stream = cipherTransform.createStream(stream, length);\n }\n\n stream = this.filter(stream, dict, length);\n stream.dict = dict;\n return stream;\n }\n }, {\n key: \"filter\",\n value: function filter(stream, dict, length) {\n var filter = dict.get('Filter', 'F');\n var params = dict.get('DecodeParms', 'DP');\n\n if ((0, _primitives.isName)(filter)) {\n if (Array.isArray(params)) {\n (0, _util.warn)('/DecodeParms should not contain an Array, ' + 'when /Filter contains a Name.');\n }\n\n return this.makeFilter(stream, filter.name, length, params);\n }\n\n var maybeLength = length;\n\n if (Array.isArray(filter)) {\n var filterArray = filter;\n var paramsArray = params;\n\n for (var i = 0, ii = filterArray.length; i < ii; ++i) {\n filter = this.xref.fetchIfRef(filterArray[i]);\n\n if (!(0, _primitives.isName)(filter)) {\n throw new _util.FormatError(\"Bad filter name \\\"\".concat(filter, \"\\\"\"));\n }\n\n params = null;\n\n if (Array.isArray(paramsArray) && i in paramsArray) {\n params = this.xref.fetchIfRef(paramsArray[i]);\n }\n\n stream = this.makeFilter(stream, filter.name, maybeLength, params);\n maybeLength = null;\n }\n }\n\n return stream;\n }\n }, {\n key: \"makeFilter\",\n value: function makeFilter(stream, name, maybeLength, params) {\n if (maybeLength === 0) {\n (0, _util.warn)(\"Empty \\\"\".concat(name, \"\\\" stream.\"));\n return new _stream.NullStream();\n }\n\n try {\n var xrefStreamStats = this.xref.stats.streamTypes;\n\n if (name === 'FlateDecode' || name === 'Fl') {\n xrefStreamStats[_util.StreamType.FLATE] = true;\n\n if (params) {\n return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n }\n\n return new _stream.FlateStream(stream, maybeLength);\n }\n\n if (name === 'LZWDecode' || name === 'LZW') {\n xrefStreamStats[_util.StreamType.LZW] = true;\n var earlyChange = 1;\n\n if (params) {\n if (params.has('EarlyChange')) {\n earlyChange = params.get('EarlyChange');\n }\n\n return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n }\n\n return new _stream.LZWStream(stream, maybeLength, earlyChange);\n }\n\n if (name === 'DCTDecode' || name === 'DCT') {\n xrefStreamStats[_util.StreamType.DCT] = true;\n return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === 'JPXDecode' || name === 'JPX') {\n xrefStreamStats[_util.StreamType.JPX] = true;\n return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === 'ASCII85Decode' || name === 'A85') {\n xrefStreamStats[_util.StreamType.A85] = true;\n return new _stream.Ascii85Stream(stream, maybeLength);\n }\n\n if (name === 'ASCIIHexDecode' || name === 'AHx') {\n xrefStreamStats[_util.StreamType.AHX] = true;\n return new _stream.AsciiHexStream(stream, maybeLength);\n }\n\n if (name === 'CCITTFaxDecode' || name === 'CCF') {\n xrefStreamStats[_util.StreamType.CCF] = true;\n return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n }\n\n if (name === 'RunLengthDecode' || name === 'RL') {\n xrefStreamStats[_util.StreamType.RLX] = true;\n return new _stream.RunLengthStream(stream, maybeLength);\n }\n\n if (name === 'JBIG2Decode') {\n xrefStreamStats[_util.StreamType.JBIG] = true;\n return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n }\n\n (0, _util.warn)(\"Filter \\\"\".concat(name, \"\\\" is not supported.\"));\n return stream;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid stream: \\\"\".concat(ex, \"\\\"\"));\n return new _stream.NullStream();\n }\n }\n }]);\n\n return Parser;\n}();\n\nexports.Parser = Parser;\nvar specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nfunction toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0F;\n }\n\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0F) + 9;\n }\n\n return -1;\n}\n\nvar Lexer =\n/*#__PURE__*/\nfunction () {\n function Lexer(stream) {\n var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Lexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n this.knownCommands = knownCommands;\n this.beginInlineImagePos = -1;\n }\n\n _createClass(Lexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"peekChar\",\n value: function peekChar() {\n return this.stream.peekByte();\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var eNotation = false;\n var divideBy = 0;\n var sign = 0;\n\n if (ch === 0x2D) {\n sign = -1;\n ch = this.nextChar();\n\n if (ch === 0x2D) {\n ch = this.nextChar();\n }\n } else if (ch === 0x2B) {\n sign = 1;\n ch = this.nextChar();\n }\n\n if (ch === 0x0A || ch === 0x0D) {\n do {\n ch = this.nextChar();\n } while (ch === 0x0A || ch === 0x0D);\n }\n\n if (ch === 0x2E) {\n divideBy = 10;\n ch = this.nextChar();\n }\n\n if (ch < 0x30 || ch > 0x39) {\n if (divideBy === 10 && sign === 0 && ((0, _util.isSpace)(ch) || ch === -1)) {\n (0, _util.warn)('Lexer.getNumber - treating a single decimal point as zero.');\n return 0;\n }\n\n throw new _util.FormatError(\"Invalid number: \".concat(String.fromCharCode(ch), \" (charCode \").concat(ch, \")\"));\n }\n\n sign = sign || 1;\n var baseValue = ch - 0x30;\n var powerValue = 0;\n var powerValueSign = 1;\n\n while ((ch = this.nextChar()) >= 0) {\n if (0x30 <= ch && ch <= 0x39) {\n var currentDigit = ch - 0x30;\n\n if (eNotation) {\n powerValue = powerValue * 10 + currentDigit;\n } else {\n if (divideBy !== 0) {\n divideBy *= 10;\n }\n\n baseValue = baseValue * 10 + currentDigit;\n }\n } else if (ch === 0x2E) {\n if (divideBy === 0) {\n divideBy = 1;\n } else {\n break;\n }\n } else if (ch === 0x2D) {\n (0, _util.warn)('Badly formatted number: minus sign in the middle');\n } else if (ch === 0x45 || ch === 0x65) {\n ch = this.peekChar();\n\n if (ch === 0x2B || ch === 0x2D) {\n powerValueSign = ch === 0x2D ? -1 : 1;\n this.nextChar();\n } else if (ch < 0x30 || ch > 0x39) {\n break;\n }\n\n eNotation = true;\n } else {\n break;\n }\n }\n\n if (divideBy !== 0) {\n baseValue /= divideBy;\n }\n\n if (eNotation) {\n baseValue *= Math.pow(10, powerValueSign * powerValue);\n }\n\n return sign * baseValue;\n }\n }, {\n key: \"getString\",\n value: function getString() {\n var numParen = 1;\n var done = false;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.nextChar();\n\n while (true) {\n var charBuffered = false;\n\n switch (ch | 0) {\n case -1:\n (0, _util.warn)('Unterminated string');\n done = true;\n break;\n\n case 0x28:\n ++numParen;\n strBuf.push('(');\n break;\n\n case 0x29:\n if (--numParen === 0) {\n this.nextChar();\n done = true;\n } else {\n strBuf.push(')');\n }\n\n break;\n\n case 0x5C:\n ch = this.nextChar();\n\n switch (ch) {\n case -1:\n (0, _util.warn)('Unterminated string');\n done = true;\n break;\n\n case 0x6E:\n strBuf.push('\\n');\n break;\n\n case 0x72:\n strBuf.push('\\r');\n break;\n\n case 0x74:\n strBuf.push('\\t');\n break;\n\n case 0x62:\n strBuf.push('\\b');\n break;\n\n case 0x66:\n strBuf.push('\\f');\n break;\n\n case 0x5C:\n case 0x28:\n case 0x29:\n strBuf.push(String.fromCharCode(ch));\n break;\n\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n var x = ch & 0x0F;\n ch = this.nextChar();\n charBuffered = true;\n\n if (ch >= 0x30 && ch <= 0x37) {\n x = (x << 3) + (ch & 0x0F);\n ch = this.nextChar();\n\n if (ch >= 0x30 && ch <= 0x37) {\n charBuffered = false;\n x = (x << 3) + (ch & 0x0F);\n }\n }\n\n strBuf.push(String.fromCharCode(x));\n break;\n\n case 0x0D:\n if (this.peekChar() === 0x0A) {\n this.nextChar();\n }\n\n break;\n\n case 0x0A:\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n if (done) {\n break;\n }\n\n if (!charBuffered) {\n ch = this.nextChar();\n }\n }\n\n return strBuf.join('');\n }\n }, {\n key: \"getName\",\n value: function getName() {\n var ch, previousCh;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n if (ch === 0x23) {\n ch = this.nextChar();\n\n if (specialChars[ch]) {\n (0, _util.warn)('Lexer_getName: ' + 'NUMBER SIGN (#) should be followed by a hexadecimal number.');\n strBuf.push('#');\n break;\n }\n\n var x = toHexDigit(ch);\n\n if (x !== -1) {\n previousCh = ch;\n ch = this.nextChar();\n var x2 = toHexDigit(ch);\n\n if (x2 === -1) {\n (0, _util.warn)(\"Lexer_getName: Illegal digit (\".concat(String.fromCharCode(ch), \") \") + 'in hexadecimal number.');\n strBuf.push('#', String.fromCharCode(previousCh));\n\n if (specialChars[ch]) {\n break;\n }\n\n strBuf.push(String.fromCharCode(ch));\n continue;\n }\n\n strBuf.push(String.fromCharCode(x << 4 | x2));\n } else {\n strBuf.push('#', String.fromCharCode(ch));\n }\n } else {\n strBuf.push(String.fromCharCode(ch));\n }\n }\n\n if (strBuf.length > 127) {\n (0, _util.warn)(\"Name token is longer than allowed by the spec: \".concat(strBuf.length));\n }\n\n return _primitives.Name.get(strBuf.join(''));\n }\n }, {\n key: \"getHexString\",\n value: function getHexString() {\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.currentChar;\n var isFirstHex = true;\n var firstDigit, secondDigit;\n\n while (true) {\n if (ch < 0) {\n (0, _util.warn)('Unterminated hex string');\n break;\n } else if (ch === 0x3E) {\n this.nextChar();\n break;\n } else if (specialChars[ch] === 1) {\n ch = this.nextChar();\n continue;\n } else {\n if (isFirstHex) {\n firstDigit = toHexDigit(ch);\n\n if (firstDigit === -1) {\n (0, _util.warn)(\"Ignoring invalid character \\\"\".concat(ch, \"\\\" in hex string\"));\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n\n if (secondDigit === -1) {\n (0, _util.warn)(\"Ignoring invalid character \\\"\".concat(ch, \"\\\" in hex string\"));\n ch = this.nextChar();\n continue;\n }\n\n strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n }\n\n isFirstHex = !isFirstHex;\n ch = this.nextChar();\n }\n }\n\n return strBuf.join('');\n }\n }, {\n key: \"getObj\",\n value: function getObj() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (specialChars[ch] !== 1) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2B:\n case 0x2D:\n case 0x2E:\n return this.getNumber();\n\n case 0x28:\n return this.getString();\n\n case 0x2F:\n return this.getName();\n\n case 0x5B:\n this.nextChar();\n return _primitives.Cmd.get('[');\n\n case 0x5D:\n this.nextChar();\n return _primitives.Cmd.get(']');\n\n case 0x3C:\n ch = this.nextChar();\n\n if (ch === 0x3C) {\n this.nextChar();\n return _primitives.Cmd.get('<<');\n }\n\n return this.getHexString();\n\n case 0x3E:\n ch = this.nextChar();\n\n if (ch === 0x3E) {\n this.nextChar();\n return _primitives.Cmd.get('>>');\n }\n\n return _primitives.Cmd.get('>');\n\n case 0x7B:\n this.nextChar();\n return _primitives.Cmd.get('{');\n\n case 0x7D:\n this.nextChar();\n return _primitives.Cmd.get('}');\n\n case 0x29:\n this.nextChar();\n throw new _util.FormatError(\"Illegal character: \".concat(ch));\n }\n\n var str = String.fromCharCode(ch);\n var knownCommands = this.knownCommands;\n var knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n var possibleCommand = str + String.fromCharCode(ch);\n\n if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n break;\n }\n\n if (str.length === 128) {\n throw new _util.FormatError(\"Command token too long: \".concat(str.length));\n }\n\n str = possibleCommand;\n knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n }\n\n if (str === 'true') {\n return true;\n }\n\n if (str === 'false') {\n return false;\n }\n\n if (str === 'null') {\n return null;\n }\n\n if (str === 'BI') {\n this.beginInlineImagePos = this.stream.pos;\n }\n\n return _primitives.Cmd.get(str);\n }\n }, {\n key: \"skipToNextLine\",\n value: function skipToNextLine() {\n var ch = this.currentChar;\n\n while (ch >= 0) {\n if (ch === 0x0D) {\n ch = this.nextChar();\n\n if (ch === 0x0A) {\n this.nextChar();\n }\n\n break;\n } else if (ch === 0x0A) {\n this.nextChar();\n break;\n }\n\n ch = this.nextChar();\n }\n }\n }]);\n\n return Lexer;\n}();\n\nexports.Lexer = Lexer;\n\nvar Linearization =\n/*#__PURE__*/\nfunction () {\n function Linearization() {\n _classCallCheck(this, Linearization);\n }\n\n _createClass(Linearization, null, [{\n key: \"create\",\n value: function create(stream) {\n function getInt(linDict, name) {\n var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var obj = linDict.get(name);\n\n if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n return obj;\n }\n\n throw new Error(\"The \\\"\".concat(name, \"\\\" parameter in the linearization \") + 'dictionary is invalid.');\n }\n\n function getHints(linDict) {\n var hints = linDict.get('H');\n var hintsLength;\n\n if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n for (var index = 0; index < hintsLength; index++) {\n var hint = hints[index];\n\n if (!(Number.isInteger(hint) && hint > 0)) {\n throw new Error(\"Hint (\".concat(index, \") in the linearization dictionary \") + 'is invalid.');\n }\n }\n\n return hints;\n }\n\n throw new Error('Hint array in the linearization dictionary is invalid.');\n }\n\n var parser = new Parser({\n lexer: new Lexer(stream),\n xref: null\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n var linDict = parser.getObj();\n var obj, length;\n\n if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, 'obj') && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get('Linearized')) && obj > 0)) {\n return null;\n } else if ((length = getInt(linDict, 'L')) !== stream.length) {\n throw new Error('The \"L\" parameter in the linearization dictionary ' + 'does not equal the stream length.');\n }\n\n return {\n length: length,\n hints: getHints(linDict),\n objectNumberFirst: getInt(linDict, 'O'),\n endFirst: getInt(linDict, 'E'),\n numPages: getInt(linDict, 'N'),\n mainXRefEntriesOffset: getInt(linDict, 'T'),\n pageFirst: linDict.has('P') ? getInt(linDict, 'P', true) : 0\n };\n }\n }]);\n\n return Linearization;\n}();\n\nexports.Linearization = Linearization;\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.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\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\nvar Stream = function StreamClosure() {\n function Stream(arrayBuffer, start, length, dict) {\n this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n this.start = start || 0;\n this.pos = this.start;\n this.end = start + length || this.bytes.length;\n this.dict = dict;\n }\n\n Stream.prototype = {\n get length() {\n return this.end - this.start;\n },\n\n get isEmpty() {\n return this.length === 0;\n },\n\n getByte: function Stream_getByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.bytes[this.pos++];\n },\n getUint16: function Stream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function Stream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function Stream_peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n getByteRange: function getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n return this.bytes.subarray(begin, end);\n },\n skip: function Stream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function Stream_reset() {\n this.pos = this.start;\n },\n moveStart: function Stream_moveStart() {\n this.start = this.pos;\n },\n makeSubStream: function Stream_makeSubStream(start, length, dict) {\n return new Stream(this.bytes.buffer, start, length, dict);\n }\n };\n return Stream;\n}();\n\nexports.Stream = Stream;\n\nvar StringStream = function StringStreamClosure() {\n function StringStream(str) {\n var bytes = (0, _util.stringToBytes)(str);\n Stream.call(this, bytes);\n }\n\n StringStream.prototype = Stream.prototype;\n return StringStream;\n}();\n\nexports.StringStream = StringStream;\n\nvar DecodeStream = function DecodeStreamClosure() {\n var emptyBuffer = new Uint8Array(0);\n\n function DecodeStream(maybeMinBufferLength) {\n this._rawMinBufferLength = maybeMinBufferLength || 0;\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n\n if (maybeMinBufferLength) {\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n\n DecodeStream.prototype = {\n get isEmpty() {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n\n return this.bufferLength === 0;\n },\n\n ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n var buffer = this.buffer;\n\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n\n var size = this.minBufferLength;\n\n while (size < requested) {\n size *= 2;\n }\n\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return this.buffer = buffer2;\n },\n getByte: function DecodeStream_getByte() {\n var pos = this.pos;\n\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n\n this.readBlock();\n }\n\n return this.buffer[this.pos++];\n },\n getUint16: function DecodeStream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function DecodeStream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var end,\n pos = this.pos;\n\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n\n var bufEnd = this.bufferLength;\n\n if (end > bufEnd) {\n end = bufEnd;\n }\n } else {\n while (!this.eof) {\n this.readBlock();\n }\n\n end = this.bufferLength;\n }\n\n this.pos = end;\n var subarray = this.buffer.subarray(pos, end);\n return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function DecodeStream_peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n var end = start + length;\n\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n\n return new Stream(this.buffer, start, length, dict);\n },\n getByteRange: function getByteRange(begin, end) {\n (0, _util.unreachable)('Should not call DecodeStream.getByteRange');\n },\n skip: function DecodeStream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function DecodeStream_reset() {\n this.pos = 0;\n },\n getBaseStreams: function DecodeStream_getBaseStreams() {\n if (this.str && this.str.getBaseStreams) {\n return this.str.getBaseStreams();\n }\n\n return [];\n }\n };\n return DecodeStream;\n}();\n\nexports.DecodeStream = DecodeStream;\n\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n function StreamsSequenceStream(streams) {\n this.streams = streams;\n var maybeLength = 0;\n\n for (var i = 0, ii = streams.length; i < ii; i++) {\n var stream = streams[i];\n\n if (stream instanceof DecodeStream) {\n maybeLength += stream._rawMinBufferLength;\n } else {\n maybeLength += stream.length;\n }\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n var streams = this.streams;\n\n if (streams.length === 0) {\n this.eof = true;\n return;\n }\n\n var stream = streams.shift();\n var chunk = stream.getBytes();\n var bufferLength = this.bufferLength;\n var newLength = bufferLength + chunk.length;\n var buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n };\n\n StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n var baseStreams = [];\n\n for (var i = 0, ii = this.streams.length; i < ii; i++) {\n var stream = this.streams[i];\n\n if (stream.getBaseStreams) {\n baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));\n }\n }\n\n return baseStreams;\n };\n\n return StreamsSequenceStream;\n}();\n\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\nvar FlateStream = function FlateStreamClosure() {\n var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n function FlateStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n var cmf = str.getByte();\n var flg = str.getByte();\n\n if (cmf === -1 || flg === -1) {\n throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if ((cmf & 0x0f) !== 0x08) {\n throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (flg & 0x20) {\n throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n this.codeSize = 0;\n this.codeBuf = 0;\n DecodeStream.call(this, maybeLength);\n }\n\n FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n var str = this.str;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad encoding in flate stream');\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n b = codeBuf & (1 << bits) - 1;\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n\n FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n var str = this.str;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n break;\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n var code = codes[codeBuf & (1 << maxLen) - 1];\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n\n if (codeLen < 1 || codeSize < codeLen) {\n throw new _util.FormatError('Bad encoding in flate stream');\n }\n\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n\n FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n var n = lengths.length;\n var maxLen = 0;\n var i;\n\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n var code2 = 0;\n var t = code;\n\n for (i = 0; i < len; ++i) {\n code2 = code2 << 1 | t & 1;\n t >>= 1;\n }\n\n for (i = code2; i < size; i += skip) {\n codes[i] = len << 16 | val;\n }\n\n ++code;\n }\n }\n }\n\n return [codes, maxLen];\n };\n\n FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n var buffer, len;\n var str = this.str;\n var hdr = this.getBits(3);\n\n if (hdr & 1) {\n this.eof = true;\n }\n\n hdr >>= 1;\n\n if (hdr === 0) {\n var b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n var blockLen = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n blockLen |= b << 8;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n var check = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n check |= b << 8;\n\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n throw new _util.FormatError('Bad uncompressed block length in flate stream');\n }\n\n this.codeBuf = 0;\n this.codeSize = 0;\n var bufferLength = this.bufferLength;\n buffer = this.ensureBuffer(bufferLength + blockLen);\n var end = bufferLength + blockLen;\n this.bufferLength = end;\n\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n for (var n = bufferLength; n < end; ++n) {\n if ((b = str.getByte()) === -1) {\n this.eof = true;\n break;\n }\n\n buffer[n] = b;\n }\n }\n\n return;\n }\n\n var litCodeTable;\n var distCodeTable;\n\n if (hdr === 1) {\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n } else if (hdr === 2) {\n var numLitCodes = this.getBits(5) + 257;\n var numDistCodes = this.getBits(5) + 1;\n var numCodeLenCodes = this.getBits(4) + 4;\n var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n var i;\n\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n\n var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n len = 0;\n i = 0;\n var codes = numLitCodes + numDistCodes;\n var codeLengths = new Uint8Array(codes);\n var bitsLength, bitsOffset, what;\n\n while (i < codes) {\n var code = this.getCode(codeLenCodeTab);\n\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n } else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n } else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n } else {\n codeLengths[i++] = len = code;\n continue;\n }\n\n var repeatLength = this.getBits(bitsLength) + bitsOffset;\n\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n } else {\n throw new _util.FormatError('Unknown block type in flate stream');\n }\n\n buffer = this.buffer;\n var limit = buffer ? buffer.length : 0;\n var pos = this.bufferLength;\n\n while (true) {\n var code1 = this.getCode(litCodeTable);\n\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n\n buffer[pos++] = code1;\n continue;\n }\n\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n\n code1 -= 257;\n code1 = lengthDecode[code1];\n var code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n var dist = (code1 & 0xffff) + code2;\n\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n\n for (var k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n };\n\n return FlateStream;\n}();\n\nexports.FlateStream = FlateStream;\n\nvar PredictorStream = function PredictorStreamClosure() {\n function PredictorStream(str, maybeLength, params) {\n if (!(0, _primitives.isDict)(params)) {\n return str;\n }\n\n var predictor = this.predictor = params.get('Predictor') || 1;\n\n if (predictor <= 1) {\n return str;\n }\n\n if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n if (predictor === 2) {\n this.readBlock = this.readBlockTiff;\n } else {\n this.readBlock = this.readBlockPng;\n }\n\n this.str = str;\n this.dict = str.dict;\n var colors = this.colors = params.get('Colors') || 1;\n var bits = this.bits = params.get('BitsPerComponent') || 8;\n var columns = this.columns = params.get('Columns') || 1;\n this.pixBytes = colors * bits + 7 >> 3;\n this.rowBytes = columns * colors * bits + 7 >> 3;\n DecodeStream.call(this, maybeLength);\n return this;\n }\n\n PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n var rowBytes = this.rowBytes;\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var bits = this.bits;\n var colors = this.colors;\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var inbuf = 0,\n outbuf = 0;\n var inbits = 0,\n outbits = 0;\n var pos = bufferLength;\n var i;\n\n if (bits === 1 && colors === 1) {\n for (i = 0; i < rowBytes; ++i) {\n var c = rawBytes[i] ^ inbuf;\n c ^= c >> 1;\n c ^= c >> 2;\n c ^= c >> 4;\n inbuf = (c & 1) << 7;\n buffer[pos++] = c;\n }\n } else if (bits === 8) {\n for (i = 0; i < colors; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[pos] = buffer[pos - colors] + rawBytes[i];\n pos++;\n }\n } else if (bits === 16) {\n var bytesPerPixel = colors * 2;\n\n for (i = 0; i < bytesPerPixel; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; i += 2) {\n var sum = ((rawBytes[i] & 0xFF) << 8) + (rawBytes[i + 1] & 0xFF) + ((buffer[pos - bytesPerPixel] & 0xFF) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xFF);\n buffer[pos++] = sum >> 8 & 0xFF;\n buffer[pos++] = sum & 0xFF;\n }\n } else {\n var compArray = new Uint8Array(colors + 1);\n var bitMask = (1 << bits) - 1;\n var j = 0,\n k = bufferLength;\n var columns = this.columns;\n\n for (i = 0; i < columns; ++i) {\n for (var kk = 0; kk < colors; ++kk) {\n if (inbits < bits) {\n inbuf = inbuf << 8 | rawBytes[j++] & 0xFF;\n inbits += 8;\n }\n\n compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n inbits -= bits;\n outbuf = outbuf << bits | compArray[kk];\n outbits += bits;\n\n if (outbits >= 8) {\n buffer[k++] = outbuf >> outbits - 8 & 0xFF;\n outbits -= 8;\n }\n }\n }\n\n if (outbits > 0) {\n buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n }\n }\n\n this.bufferLength += rowBytes;\n };\n\n PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n var rowBytes = this.rowBytes;\n var pixBytes = this.pixBytes;\n var predictor = this.str.getByte();\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n if (prevRow.length === 0) {\n prevRow = new Uint8Array(rowBytes);\n }\n\n var i,\n j = bufferLength,\n up,\n c;\n\n switch (predictor) {\n case 0:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n break;\n\n case 1:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xFF;\n j++;\n }\n\n break;\n\n case 2:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = prevRow[i] + rawBytes[i] & 0xFF;\n }\n\n break;\n\n case 3:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xFF;\n j++;\n }\n\n break;\n\n case 4:\n for (i = 0; i < pixBytes; ++i) {\n up = prevRow[i];\n c = rawBytes[i];\n buffer[j++] = up + c;\n }\n\n for (; i < rowBytes; ++i) {\n up = prevRow[i];\n var upLeft = prevRow[i - pixBytes];\n var left = buffer[j - pixBytes];\n var p = left + up - upLeft;\n var pa = p - left;\n\n if (pa < 0) {\n pa = -pa;\n }\n\n var pb = p - up;\n\n if (pb < 0) {\n pb = -pb;\n }\n\n var pc = p - upLeft;\n\n if (pc < 0) {\n pc = -pc;\n }\n\n c = rawBytes[i];\n\n if (pa <= pb && pa <= pc) {\n buffer[j++] = left + c;\n } else if (pb <= pc) {\n buffer[j++] = up + c;\n } else {\n buffer[j++] = upLeft + c;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n this.bufferLength += rowBytes;\n };\n\n return PredictorStream;\n}();\n\nexports.PredictorStream = PredictorStream;\n\nvar DecryptStream = function DecryptStreamClosure() {\n function DecryptStream(str, maybeLength, decrypt) {\n this.str = str;\n this.dict = str.dict;\n this.decrypt = decrypt;\n this.nextChunk = null;\n this.initialized = false;\n DecodeStream.call(this, maybeLength);\n }\n\n var chunkSize = 512;\n DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n var chunk;\n\n if (this.initialized) {\n chunk = this.nextChunk;\n } else {\n chunk = this.str.getBytes(chunkSize);\n this.initialized = true;\n }\n\n if (!chunk || chunk.length === 0) {\n this.eof = true;\n return;\n }\n\n this.nextChunk = this.str.getBytes(chunkSize);\n var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n var decrypt = this.decrypt;\n chunk = decrypt(chunk, !hasMoreData);\n var bufferLength = this.bufferLength;\n var i,\n n = chunk.length;\n var buffer = this.ensureBuffer(bufferLength + n);\n\n for (i = 0; i < n; i++) {\n buffer[bufferLength++] = chunk[i];\n }\n\n this.bufferLength = bufferLength;\n };\n\n return DecryptStream;\n}();\n\nexports.DecryptStream = DecryptStream;\n\nvar Ascii85Stream = function Ascii85StreamClosure() {\n function Ascii85Stream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.input = new Uint8Array(5);\n\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n var TILDA_CHAR = 0x7E;\n var Z_LOWER_CHAR = 0x7A;\n var EOF = -1;\n var str = this.str;\n var c = str.getByte();\n\n while ((0, _util.isSpace)(c)) {\n c = str.getByte();\n }\n\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n\n var bufferLength = this.bufferLength,\n buffer;\n var i;\n\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n\n this.bufferLength += 4;\n } else {\n var input = this.input;\n input[0] = c;\n\n for (i = 1; i < 5; ++i) {\n c = str.getByte();\n\n while ((0, _util.isSpace)(c)) {\n c = str.getByte();\n }\n\n input[i] = c;\n\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n\n this.eof = true;\n }\n\n var t = 0;\n\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xFF;\n t >>= 8;\n }\n }\n };\n\n return Ascii85Stream;\n}();\n\nexports.Ascii85Stream = Ascii85Stream;\n\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n function AsciiHexStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.firstDigit = -1;\n\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n\n var maxDecodeLength = bytes.length + 1 >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i],\n digit;\n\n if (ch >= 0x30 && ch <= 0x39) {\n digit = ch & 0x0F;\n } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n digit = (ch & 0x0F) + 9;\n } else if (ch === 0x3E) {\n this.eof = true;\n break;\n } else {\n continue;\n }\n\n if (firstDigit < 0) {\n firstDigit = digit;\n } else {\n buffer[bufferLength++] = firstDigit << 4 | digit;\n firstDigit = -1;\n }\n }\n\n if (firstDigit >= 0 && this.eof) {\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n\n return AsciiHexStream;\n}();\n\nexports.AsciiHexStream = AsciiHexStream;\n\nvar RunLengthStream = function RunLengthStreamClosure() {\n function RunLengthStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n DecodeStream.call(this, maybeLength);\n }\n\n RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n var repeatHeader = this.str.getBytes(2);\n\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n\n if (n < 128) {\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n\n if (n > 0) {\n var source = this.str.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n } else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n\n this.bufferLength = bufferLength;\n };\n\n return RunLengthStream;\n}();\n\nexports.RunLengthStream = RunLengthStream;\n\nvar LZWStream = function LZWStreamClosure() {\n function LZWStream(str, maybeLength, earlyChange) {\n this.str = str;\n this.dict = str.dict;\n this.cachedData = 0;\n this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange: earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0\n };\n\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n\n this.lzwState = lzwState;\n DecodeStream.call(this, maybeLength);\n }\n\n LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n\n while (bitsCached < n) {\n var c = this.str.getByte();\n\n if (c === -1) {\n this.eof = true;\n return null;\n }\n\n cachedData = cachedData << 8 | c;\n bitsCached += 8;\n }\n\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n this.lastCode = null;\n return cachedData >>> bitsCached & (1 << n) - 1;\n };\n\n LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2,\n decodedSizeDelta = blockSize;\n var i, j, q;\n var lzwState = this.lzwState;\n\n if (!lzwState) {\n return;\n }\n\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n\n if (code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n } else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n } else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n } else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n } else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n\n prevCode = code;\n decodedLength += currentSequenceLength;\n\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n\n return LZWStream;\n}();\n\nexports.LZWStream = LZWStream;\n\nvar NullStream = function NullStreamClosure() {\n function NullStream() {\n Stream.call(this, new Uint8Array(0));\n }\n\n NullStream.prototype = Stream.prototype;\n return NullStream;\n}();\n\nexports.NullStream = NullStream;\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.CCITTFaxStream = void 0;\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _ccitt = __w_pdfjs_require__(192);\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n function CCITTFaxStream(str, maybeLength, params) {\n this.str = str;\n this.dict = str.dict;\n\n if (!(0, _primitives.isDict)(params)) {\n params = _primitives.Dict.empty;\n }\n\n var source = {\n next: function next() {\n return str.getByte();\n }\n };\n this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n K: params.get('K'),\n EndOfLine: params.get('EndOfLine'),\n EncodedByteAlign: params.get('EncodedByteAlign'),\n Columns: params.get('Columns'),\n Rows: params.get('Rows'),\n EndOfBlock: params.get('EndOfBlock'),\n BlackIs1: params.get('BlackIs1')\n });\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n CCITTFaxStream.prototype.readBlock = function () {\n while (!this.eof) {\n var c = this.ccittFaxDecoder.readNextChar();\n\n if (c === -1) {\n this.eof = true;\n return;\n }\n\n this.ensureBuffer(this.bufferLength + 1);\n this.buffer[this.bufferLength++] = c;\n }\n };\n\n return CCITTFaxStream;\n}();\n\nexports.CCITTFaxStream = CCITTFaxStream;\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.CCITTFaxDecoder = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar CCITTFaxDecoder = function CCITTFaxDecoder() {\n var ccittEOL = -2;\n var ccittEOF = -1;\n var twoDimPass = 0;\n var twoDimHoriz = 1;\n var twoDimVert0 = 2;\n var twoDimVertR1 = 3;\n var twoDimVertL1 = 4;\n var twoDimVertR2 = 5;\n var twoDimVertL2 = 6;\n var twoDimVertR3 = 7;\n var twoDimVertL3 = 8;\n var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n\n function CCITTFaxDecoder(source) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!source || typeof source.next !== 'function') {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n\n this.source = source;\n this.eof = false;\n this.encoding = options['K'] || 0;\n this.eoline = options['EndOfLine'] || false;\n this.byteAlign = options['EncodedByteAlign'] || false;\n this.columns = options['Columns'] || 1728;\n this.rows = options['Rows'] || 0;\n var eoblock = options['EndOfBlock'];\n\n if (eoblock === null || eoblock === undefined) {\n eoblock = true;\n }\n\n this.eoblock = eoblock;\n this.black = options['BlackIs1'] || false;\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n var code1;\n\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n }\n\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n\n CCITTFaxDecoder.prototype = {\n readNextChar: function readNextChar() {\n if (this.eof) {\n return -1;\n }\n\n var refLine = this.refLine;\n var codingLine = this.codingLine;\n var columns = this.columns;\n var refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n\n if (this.eof) {\n return -1;\n }\n\n this.err = false;\n var code1, code2, code3;\n\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimHoriz:\n code1 = code2 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case ccittEOF:\n this._addPixels(columns, 0);\n\n this.eof = true;\n break;\n\n default:\n (0, _util.info)('bad 2d code');\n\n this._addPixels(columns, 0);\n\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n blackPixels ^= 1;\n }\n }\n\n var gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n\n if (code1 === 1) {\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n\n if (code1 !== 1) {\n (0, _util.info)('bad rtc code: ' + code1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n }\n\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n\n if (code1 >> 1 === 1) {\n break;\n }\n\n this._eatBits(1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._eatBits(1);\n\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n if (codingLine[0] > 0) {\n this.outputBits = codingLine[this.codingPos = 0];\n } else {\n this.outputBits = codingLine[this.codingPos = 1];\n }\n\n this.row++;\n }\n\n var c;\n\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xFF;\n this.outputBits -= 8;\n\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n\n do {\n if (this.outputBits > bits) {\n c <<= bits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xFF >> 8 - bits;\n }\n\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xFF >> 8 - this.outputBits;\n }\n\n bits -= this.outputBits;\n this.outputBits = 0;\n\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n\n if (this.black) {\n c ^= 0xFF;\n }\n\n return c;\n },\n _addPixels: function _addPixels(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)('row is wrong length');\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)('row is wrong length');\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n (0, _util.info)('invalid code');\n this.err = true;\n a1 = 0;\n }\n\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _findTableCode: function _findTableCode(start, end, table, limit) {\n var limitValue = limit || 0;\n\n for (var i = start; i <= end; ++i) {\n var code = this._lookBits(i);\n\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n\n if (i < end) {\n code <<= end - i;\n }\n\n if (!limitValue || code >= limitValue) {\n var p = table[code - limitValue];\n\n if (p[0] === i) {\n this._eatBits(i);\n\n return [true, p[1], true];\n }\n }\n }\n\n return [false, 0, false];\n },\n _getTwoDimCode: function _getTwoDimCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n\n if (p && p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 7, twoDimTable);\n\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n\n (0, _util.info)('Bad two dim code');\n return ccittEOF;\n },\n _getWhiteCode: function _getWhiteCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(12);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 5 === 0) {\n p = whiteTable1[code];\n } else {\n p = whiteTable2[code >> 3];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 9, whiteTable2);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)('bad white code');\n\n this._eatBits(1);\n\n return 1;\n },\n _getBlackCode: function _getBlackCode() {\n var code, p;\n\n if (this.eoblock) {\n code = this._lookBits(13);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(2, 6, blackTable3);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)('bad black code');\n\n this._eatBits(1);\n\n return 1;\n },\n _lookBits: function _lookBits(n) {\n var c;\n\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n\n return this.inputBuf << n - this.inputBits & 0xFFFF >> 16 - n;\n }\n\n this.inputBuf = this.inputBuf << 8 | c;\n this.inputBits += 8;\n }\n\n return this.inputBuf >> this.inputBits - n & 0xFFFF >> 16 - n;\n },\n _eatBits: function _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n };\n return CCITTFaxDecoder;\n}();\n\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\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.Jbig2Stream = void 0;\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar _jbig = __w_pdfjs_require__(194);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar Jbig2Stream = function Jbig2StreamClosure() {\n function Jbig2Stream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(Jbig2Stream.prototype, 'bytes', {\n get: function get() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n Jbig2Stream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jbig2Image = new _jbig.Jbig2Image();\n var chunks = [];\n\n if ((0, _primitives.isDict)(this.params)) {\n var globalsStream = this.params.get('JBIG2Globals');\n\n if ((0, _primitives.isStream)(globalsStream)) {\n var globals = globalsStream.getBytes();\n chunks.push({\n data: globals,\n start: 0,\n end: globals.length\n });\n }\n }\n\n chunks.push({\n data: this.bytes,\n start: 0,\n end: this.bytes.length\n });\n var data = jbig2Image.parseChunks(chunks);\n var dataLength = data.length;\n\n for (var i = 0; i < dataLength; i++) {\n data[i] ^= 0xFF;\n }\n\n this.buffer = data;\n this.bufferLength = dataLength;\n this.eof = true;\n };\n\n return Jbig2Stream;\n}();\n\nexports.Jbig2Stream = Jbig2Stream;\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.Jbig2Image = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(195);\n\nvar _ccitt = __w_pdfjs_require__(192);\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 Jbig2Error =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(Jbig2Error, _BaseException);\n\n function Jbig2Error(msg) {\n _classCallCheck(this, Jbig2Error);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Jbig2Error).call(this, \"JBIG2 error: \".concat(msg)));\n }\n\n return Jbig2Error;\n}(_util.BaseException);\n\nvar Jbig2Image = function Jbig2ImageClosure() {\n function ContextCache() {}\n\n ContextCache.prototype = {\n getContexts: function getContexts(id) {\n if (id in this) {\n return this[id];\n }\n\n return this[id] = new Int8Array(1 << 16);\n }\n };\n\n function DecodingContext(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n DecodingContext.prototype = {\n get decoder() {\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n return (0, _util.shadow)(this, 'decoder', decoder);\n },\n\n get contextCache() {\n var cache = new ContextCache();\n return (0, _util.shadow)(this, 'contextCache', cache);\n }\n\n };\n\n function decodeInteger(contextCache, procedure, decoder) {\n var contexts = contextCache.getContexts(procedure);\n var prev = 1;\n\n function readBits(length) {\n var v = 0;\n\n for (var i = 0; i < length; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n v = v << 1 | bit;\n }\n\n return v >>> 0;\n }\n\n var sign = readBits(1);\n var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n return sign === 0 ? value : value > 0 ? -value : null;\n }\n\n function decodeIAID(contextCache, decoder, codeLength) {\n var contexts = contextCache.getContexts('IAID');\n var prev = 1;\n\n for (var i = 0; i < codeLength; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev << 1 | bit;\n }\n\n if (codeLength < 31) {\n return prev & (1 << codeLength) - 1;\n }\n\n return prev & 0x7FFFFFFF;\n }\n\n var SegmentTypes = ['SymbolDictionary', null, null, null, 'IntermediateTextRegion', null, 'ImmediateTextRegion', 'ImmediateLosslessTextRegion', null, null, null, null, null, null, null, null, 'PatternDictionary', null, null, null, 'IntermediateHalftoneRegion', null, 'ImmediateHalftoneRegion', 'ImmediateLosslessHalftoneRegion', null, null, null, null, null, null, null, null, null, null, null, null, 'IntermediateGenericRegion', null, 'ImmediateGenericRegion', 'ImmediateLosslessGenericRegion', 'IntermediateGenericRefinementRegion', null, 'ImmediateGenericRefinementRegion', 'ImmediateLosslessGenericRefinementRegion', null, null, null, null, 'PageInformation', 'EndOfPage', 'EndOfStripe', 'EndOfFile', 'Profiles', 'Tables', null, null, null, null, null, null, null, null, 'Extension'];\n var CodingTemplates = [[{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: 2,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -3,\n y: -1\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }]];\n var RefinementTemplates = [{\n coding: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: -1,\n y: 1\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }, {\n coding: [{\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }];\n var ReusedContexts = [0x9B25, 0x0795, 0x00E5, 0x0195];\n var RefinementReusedContexts = [0x0020, 0x0008];\n\n function decodeBitmapTemplate0(width, height, decodingContext) {\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GB');\n var contextLabel,\n i,\n j,\n pixel,\n row,\n row1,\n row2,\n bitmap = [];\n var OLD_PIXEL_MASK = 0x7BF7;\n\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n if (mmr) {\n var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n return decodeMMRBitmap(input, width, height, false);\n }\n\n if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n\n var useskip = !!skip;\n var template = CodingTemplates[templateIndex].concat(at);\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n var templateLength = template.length;\n var templateX = new Int8Array(templateLength);\n var templateY = new Int8Array(templateLength);\n var changingTemplateEntries = [];\n var reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n var c, k;\n\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n\n if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n reuseMask |= 1 << templateLength - 1 - k;\n } else {\n changingTemplateEntries.push(k);\n }\n }\n\n var changingEntriesLength = changingTemplateEntries.length;\n var changingTemplateX = new Int8Array(changingEntriesLength);\n var changingTemplateY = new Int8Array(changingEntriesLength);\n var changingTemplateBit = new Uint16Array(changingEntriesLength);\n\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << templateLength - 1 - k;\n }\n\n var sbb_left = -minX;\n var sbb_top = -minY;\n var sbb_right = width - maxX;\n var pseudoPixelContext = ReusedContexts[templateIndex];\n var row = new Uint8Array(width);\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GB');\n var ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n bitmap.push(row);\n continue;\n }\n }\n\n row = new Uint8Array(row);\n bitmap.push(row);\n\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n contextLabel = contextLabel << 1 & reuseMask;\n\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n contextLabel = 0;\n shift = templateLength - 1;\n\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n var codingTemplate = RefinementTemplates[templateIndex].coding;\n\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n\n var codingTemplateLength = codingTemplate.length;\n var codingTemplateX = new Int32Array(codingTemplateLength);\n var codingTemplateY = new Int32Array(codingTemplateLength);\n var k;\n\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n\n var referenceTemplate = RefinementTemplates[templateIndex].reference;\n\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n\n var referenceTemplateLength = referenceTemplate.length;\n var referenceTemplateX = new Int32Array(referenceTemplateLength);\n var referenceTemplateY = new Int32Array(referenceTemplateLength);\n\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n\n var referenceWidth = referenceBitmap[0].length;\n var referenceHeight = referenceBitmap.length;\n var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GR');\n var ltp = 0;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n throw new Jbig2Error('prediction is not supported');\n }\n }\n\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var j = 0; j < width; j++) {\n var i0, j0;\n var contextLabel = 0;\n\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | bitmap[i0][j0];\n }\n }\n\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n\n if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error('symbol refinement with Huffman is not supported');\n }\n\n var newSymbols = [];\n var currentHeight = 0;\n var symbolCodeLength = (0, _util.log2)(symbols.length + numberOfNewSymbols);\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var tableB1, symbolWidths;\n\n if (huffman) {\n tableB1 = getStandardTable(1);\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1);\n }\n\n while (newSymbols.length < numberOfNewSymbols) {\n var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, 'IADH', decoder);\n currentHeight += deltaHeight;\n var currentWidth = 0,\n totalWidth = 0;\n var firstSymbol = huffman ? symbolWidths.length : 0;\n\n while (true) {\n var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, 'IADW', decoder);\n\n if (deltaWidth === null) {\n break;\n }\n\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n var bitmap;\n\n if (refinement) {\n var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);\n\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n } else {\n var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n var rdx = decodeInteger(contextCache, 'IARDX', decoder);\n var rdy = decodeInteger(contextCache, 'IARDY', decoder);\n var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n }\n\n newSymbols.push(bitmap);\n } else if (huffman) {\n symbolWidths.push(currentWidth);\n } else {\n bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n newSymbols.push(bitmap);\n }\n }\n\n if (huffman && !refinement) {\n var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n var collectiveBitmap = void 0;\n\n if (bitmapSize === 0) {\n collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n } else {\n var originalEnd = huffmanInput.end;\n var bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n\n var numberOfSymbolsDecoded = symbolWidths.length;\n\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n newSymbols.push(collectiveBitmap);\n } else {\n var _i = void 0,\n y = void 0,\n xMin = 0,\n xMax = void 0,\n bitmapWidth = void 0,\n symbolBitmap = void 0;\n\n for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {\n bitmapWidth = symbolWidths[_i];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n\n var exportedSymbols = [];\n var flags = [],\n currentFlag = false;\n var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n\n while (flags.length < totalSymbolsLength) {\n var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, 'IAEX', decoder);\n\n while (runLength--) {\n flags.push(currentFlag);\n }\n\n currentFlag = !currentFlag;\n }\n\n for (var i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n\n for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n\n return exportedSymbols;\n }\n\n function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error('refinement with Huffman is not supported');\n }\n\n var bitmap = [];\n var i, row;\n\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n\n if (defaultPixelValue) {\n for (var j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n bitmap.push(row);\n }\n\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, 'IADT', decoder);\n var firstS = 0;\n i = 0;\n\n while (i < numberOfSymbolInstances) {\n var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, 'IADT', decoder);\n stripT += deltaT;\n var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, 'IAFS', decoder);\n firstS += deltaFirstS;\n var currentS = firstS;\n\n do {\n var currentT = 0;\n\n if (stripSize > 1) {\n currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, 'IAIT', decoder);\n }\n\n var t = stripSize * stripT + currentT;\n var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, 'IARI', decoder));\n var symbolBitmap = inputSymbols[symbolId];\n var symbolWidth = symbolBitmap[0].length;\n var symbolHeight = symbolBitmap.length;\n\n if (applyRefinement) {\n var rdw = decodeInteger(contextCache, 'IARDW', decoder);\n var rdh = decodeInteger(contextCache, 'IARDH', decoder);\n var rdx = decodeInteger(contextCache, 'IARDX', decoder);\n var rdy = decodeInteger(contextCache, 'IARDY', decoder);\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n }\n\n var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n var s2, t2, symbolRow;\n\n if (transposed) {\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[s2];\n var maxWidth = Math.min(width - offsetT, symbolWidth);\n\n switch (combinationOperator) {\n case 0:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n\n break;\n\n case 2:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[t2];\n\n switch (combinationOperator) {\n case 0:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n\n break;\n\n case 2:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolWidth - 1;\n }\n\n i++;\n var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, 'IADS', decoder);\n\n if (deltaS === null) {\n break;\n }\n\n currentS += deltaS + dsOffset;\n } while (true);\n }\n\n return bitmap;\n }\n\n function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n var at = [];\n\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n var patterns = [],\n i = 0,\n patternBitmap,\n xMin,\n xMax,\n y;\n\n while (i <= maxPatternIndex) {\n patternBitmap = [];\n xMin = patternWidth * i;\n xMax = xMin + patternWidth;\n\n for (y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n patterns.push(patternBitmap);\n i++;\n }\n\n return patterns;\n }\n\n function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n var skip = null;\n\n if (enableSkip) {\n throw new Jbig2Error('skip is not supported');\n }\n\n if (combinationOperator !== 0) {\n throw new Jbig2Error('operator ' + combinationOperator + ' is not supported in halftone region');\n }\n\n var regionBitmap = [];\n var i, j, row;\n\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n regionBitmap.push(row);\n }\n\n var numberOfPatterns = patterns.length;\n var pattern0 = patterns[0];\n var patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n var bitsPerValue = (0, _util.log2)(numberOfPatterns);\n var at = [];\n\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var grayScaleBitPlanes = [],\n mmrInput,\n bitmap;\n\n if (mmr) {\n mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n }\n\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n }\n\n grayScaleBitPlanes[i] = bitmap;\n }\n\n var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n patternIndex |= bit << j;\n }\n\n patternBitmap = patterns[patternIndex];\n x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n\n if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n var regionX = void 0,\n regionY = void 0;\n\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n\n return regionBitmap;\n }\n\n function readSegmentHeader(data, start) {\n var segmentHeader = {};\n segmentHeader.number = (0, _util.readUint32)(data, start);\n var flags = data[start + 4];\n var segmentType = flags & 0x3F;\n\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error('invalid segment type: ' + segmentType);\n }\n\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n var pageAssociationFieldSize = !!(flags & 0x40);\n var referredFlags = data[start + 5];\n var referredToCount = referredFlags >> 5 & 7;\n var retainBits = [referredFlags & 31];\n var position = start + 6;\n\n if (referredFlags === 7) {\n referredToCount = (0, _util.readUint32)(data, position - 1) & 0x1FFFFFFF;\n position += 3;\n var bytes = referredToCount + 7 >> 3;\n retainBits[0] = data[position++];\n\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error('invalid referred-to flags');\n }\n\n segmentHeader.retainBits = retainBits;\n var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 4;\n var referredTo = [];\n var i, ii;\n\n for (i = 0; i < referredToCount; i++) {\n var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? (0, _util.readUint16)(data, position) : (0, _util.readUint32)(data, position);\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n\n segmentHeader.referredTo = referredTo;\n\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = (0, _util.readUint32)(data, position);\n position += 4;\n }\n\n segmentHeader.length = (0, _util.readUint32)(data, position);\n position += 4;\n\n if (segmentHeader.length === 0xFFFFFFFF) {\n if (segmentType === 38) {\n var genericRegionInfo = readRegionSegmentInformation(data, position);\n var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n var searchPatternLength = 6;\n var searchPattern = new Uint8Array(searchPatternLength);\n\n if (!genericRegionMmr) {\n searchPattern[0] = 0xFF;\n searchPattern[1] = 0xAC;\n }\n\n searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF;\n searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF;\n searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF;\n searchPattern[5] = genericRegionInfo.height & 0xFF;\n\n for (i = position, ii = data.length; i < ii; i++) {\n var j = 0;\n\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n\n if (segmentHeader.length === 0xFFFFFFFF) {\n throw new Jbig2Error('segment end was not found');\n }\n } else {\n throw new Jbig2Error('invalid unknown segment length');\n }\n }\n\n segmentHeader.headerEnd = position;\n return segmentHeader;\n }\n\n function readSegments(header, data, start, end) {\n var segments = [];\n var position = start;\n\n while (position < end) {\n var segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n var segment = {\n header: segmentHeader,\n data: data\n };\n\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n\n segments.push(segment);\n\n if (segmentHeader.type === 51) {\n break;\n }\n }\n\n if (header.randomAccess) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n\n return segments;\n }\n\n function readRegionSegmentInformation(data, start) {\n return {\n width: (0, _util.readUint32)(data, start),\n height: (0, _util.readUint32)(data, start + 4),\n x: (0, _util.readUint32)(data, start + 8),\n y: (0, _util.readUint32)(data, start + 12),\n combinationOperator: data[start + 16] & 7\n };\n }\n\n var RegionSegmentInformationFieldLength = 17;\n\n function processSegment(segment, visitor) {\n var header = segment.header;\n var data = segment.data,\n position = segment.start,\n end = segment.end;\n var args, at, i, atLength;\n\n switch (header.type) {\n case 0:\n var dictionary = {};\n var dictionaryFlags = (0, _util.readUint16)(data, position);\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = dictionaryFlags >> 10 & 3;\n dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n position += 2;\n\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.at = at;\n }\n\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.refinementAt = at;\n }\n\n dictionary.numberOfExportedSymbols = (0, _util.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _util.readUint32)(data, position);\n position += 4;\n args = [dictionary, header.number, header.referredTo, data, position, end];\n break;\n\n case 6:\n case 7:\n var textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var textRegionSegmentFlags = (0, _util.readUint16)(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n\n if (textRegion.huffman) {\n var textRegionHuffmanFlags = (0, _util.readUint16)(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n }\n\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n textRegion.refinementAt = at;\n }\n\n textRegion.numberOfSymbolInstances = (0, _util.readUint32)(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n\n case 16:\n var patternDictionary = {};\n var patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = (0, _util.readUint32)(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n\n case 22:\n case 23:\n var halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n halftoneRegion.gridWidth = (0, _util.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _util.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;\n position += 4;\n halftoneRegion.gridVectorX = (0, _util.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _util.readUint16)(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n\n case 38:\n case 39:\n var genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n genericRegion.at = at;\n }\n\n args = [genericRegion, data, position, end];\n break;\n\n case 48:\n var pageInfo = {\n width: (0, _util.readUint32)(data, position),\n height: (0, _util.readUint32)(data, position + 4),\n resolutionX: (0, _util.readUint32)(data, position + 8),\n resolutionY: (0, _util.readUint32)(data, position + 12)\n };\n\n if (pageInfo.height === 0xFFFFFFFF) {\n delete pageInfo.height;\n }\n\n var pageSegmentFlags = data[position + 16];\n (0, _util.readUint16)(data, position + 17);\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n\n case 49:\n break;\n\n case 50:\n break;\n\n case 51:\n break;\n\n case 53:\n args = [header.number, data, position, end];\n break;\n\n case 62:\n break;\n\n default:\n throw new Jbig2Error(\"segment type \".concat(header.typeName, \"(\").concat(header.type, \")\") + ' is not implemented');\n }\n\n var callbackName = 'on' + header.typeName;\n\n if (callbackName in visitor) {\n visitor[callbackName].apply(visitor, args);\n }\n }\n\n function processSegments(segments, visitor) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n }\n\n function parseJbig2Chunks(chunks) {\n var visitor = new SimpleSegmentVisitor();\n\n for (var i = 0, ii = chunks.length; i < ii; i++) {\n var chunk = chunks[i];\n var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n\n return visitor.buffer;\n }\n\n function parseJbig2(data) {\n var position = 0,\n end = data.length;\n\n if (data[position] !== 0x97 || data[position + 1] !== 0x4A || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0D || data[position + 5] !== 0x0A || data[position + 6] !== 0x1A || data[position + 7] !== 0x0A) {\n throw new Jbig2Error('parseJbig2 - invalid header.');\n }\n\n var header = Object.create(null);\n position += 8;\n var flags = data[position++];\n header.randomAccess = !(flags & 1);\n\n if (!(flags & 2)) {\n header.numberOfPages = (0, _util.readUint32)(data, position);\n position += 4;\n }\n\n var segments = readSegments(header, data, position, end);\n var visitor = new SimpleSegmentVisitor();\n processSegments(segments, visitor);\n var _visitor$currentPageI = visitor.currentPageInfo,\n width = _visitor$currentPageI.width,\n height = _visitor$currentPageI.height;\n var bitPacked = visitor.buffer;\n var imgData = new Uint8ClampedArray(width * height);\n var q = 0,\n k = 0;\n\n for (var i = 0; i < height; i++) {\n var mask = 0,\n buffer = void 0;\n\n for (var j = 0; j < width; j++) {\n if (!mask) {\n mask = 128;\n buffer = bitPacked[k++];\n }\n\n imgData[q++] = buffer & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n return {\n imgData: imgData,\n width: width,\n height: height\n };\n }\n\n function SimpleSegmentVisitor() {}\n\n SimpleSegmentVisitor.prototype = {\n onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n this.currentPageInfo = info;\n var rowSize = info.width + 7 >> 3;\n var buffer = new Uint8ClampedArray(rowSize * info.height);\n\n if (info.defaultPixelValue) {\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = 0xFF;\n }\n }\n\n this.buffer = buffer;\n },\n drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n var pageInfo = this.currentPageInfo;\n var width = regionInfo.width,\n height = regionInfo.height;\n var rowSize = pageInfo.width + 7 >> 3;\n var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n var buffer = this.buffer;\n var mask0 = 128 >> (regionInfo.x & 7);\n var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n var i, j, mask, offset;\n\n switch (combinationOperator) {\n case 0:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n case 2:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n },\n onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion.apply(this, arguments);\n },\n onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n var huffmanTables, huffmanInput;\n\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n huffmanInput = new Reader(data, start, end);\n }\n\n var symbols = this.symbols;\n\n if (!symbols) {\n this.symbols = symbols = {};\n }\n\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n },\n onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n var regionInfo = region.info;\n var huffmanTables, huffmanInput;\n var symbols = this.symbols;\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var symbolCodeLength = (0, _util.log2)(inputSymbols.length);\n\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion.apply(this, arguments);\n },\n onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {\n var patterns = this.patterns;\n\n if (!patterns) {\n this.patterns = patterns = {};\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n },\n onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n var patterns = this.patterns[referredSegments[0]];\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion.apply(this, arguments);\n },\n onTables: function onTables(currentSegment, data, start, end) {\n var customTables = this.customTables;\n\n if (!customTables) {\n this.customTables = customTables = {};\n }\n\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n }\n };\n\n function HuffmanLine(lineData) {\n if (lineData.length === 2) {\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === 'lower';\n }\n }\n\n function HuffmanTreeNode(line) {\n this.children = [];\n\n if (line) {\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n this.isLeaf = false;\n }\n }\n\n HuffmanTreeNode.prototype = {\n buildTree: function buildTree(line, shift) {\n var bit = line.prefixCode >> shift & 1;\n\n if (shift <= 0) {\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n var node = this.children[bit];\n\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n\n node.buildTree(line, shift - 1);\n }\n },\n decodeNode: function decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n\n var htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n\n var node = this.children[reader.readBit()];\n\n if (!node) {\n throw new Jbig2Error('invalid Huffman data');\n }\n\n return node.decodeNode(reader);\n }\n };\n\n function HuffmanTable(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n\n this.rootNode = new HuffmanTreeNode(null);\n var i,\n ii = lines.length,\n line;\n\n for (i = 0; i < ii; i++) {\n line = lines[i];\n\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n\n HuffmanTable.prototype = {\n decode: function decode(reader) {\n return this.rootNode.decodeNode(reader);\n },\n assignPrefixCodes: function assignPrefixCodes(lines) {\n var linesLength = lines.length,\n prefixLengthMax = 0,\n i;\n\n for (i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n\n var histogram = new Uint32Array(prefixLengthMax + 1);\n\n for (i = 0; i < linesLength; i++) {\n histogram[lines[i].prefixLength]++;\n }\n\n var currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n\n while (currentLength <= prefixLengthMax) {\n firstCode = firstCode + histogram[currentLength - 1] << 1;\n currentCode = firstCode;\n currentTemp = 0;\n\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n\n currentTemp++;\n }\n\n currentLength++;\n }\n }\n };\n\n function decodeTablesSegment(data, start, end) {\n var flags = data[start];\n var lowestValue = (0, _util.readUint32)(data, start + 1) & 0xFFFFFFFF;\n var highestValue = (0, _util.readUint32)(data, start + 5) & 0xFFFFFFFF;\n var reader = new Reader(data, start + 9, end);\n var prefixSizeBits = (flags >> 1 & 7) + 1;\n var rangeSizeBits = (flags >> 4 & 7) + 1;\n var lines = [];\n var prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, 'lower']));\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n if (flags & 1) {\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n\n return new HuffmanTable(lines, false);\n }\n\n var standardTablesCache = {};\n\n function getStandardTable(number) {\n var table = standardTablesCache[number];\n\n if (table) {\n return table;\n }\n\n var lines;\n\n switch (number) {\n case 1:\n lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n break;\n\n case 2:\n lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [75, 6, 32, 0x3E], [6, 0x3F]];\n break;\n\n case 3:\n lines = [[-256, 8, 8, 0xFE], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [-257, 8, 32, 0xFF, 'lower'], [75, 7, 32, 0x7E], [6, 0x3E]];\n break;\n\n case 4:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [76, 5, 32, 0x1F]];\n break;\n\n case 5:\n lines = [[-255, 7, 8, 0x7E], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [-256, 7, 32, 0x7F, 'lower'], [76, 6, 32, 0x3E]];\n break;\n\n case 6:\n lines = [[-2048, 5, 10, 0x1C], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xA], [-128, 5, 6, 0x1D], [-64, 5, 5, 0x1E], [-32, 4, 5, 0xB], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xC], [1024, 4, 10, 0xD], [-2049, 6, 32, 0x3E, 'lower'], [2048, 6, 32, 0x3F]];\n break;\n\n case 7:\n lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1A], [-64, 5, 5, 0x1B], [-32, 4, 5, 0xA], [0, 4, 5, 0xB], [32, 5, 5, 0x1C], [64, 5, 6, 0x1D], [128, 4, 7, 0xC], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1E, 'lower'], [2048, 5, 32, 0x1F]];\n break;\n\n case 8:\n lines = [[-15, 8, 3, 0xFC], [-7, 9, 1, 0x1FC], [-5, 8, 1, 0xFD], [-3, 9, 0, 0x1FD], [-2, 7, 0, 0x7C], [-1, 4, 0, 0xA], [0, 2, 1, 0x0], [2, 5, 0, 0x1A], [3, 6, 0, 0x3A], [4, 3, 4, 0x4], [20, 6, 1, 0x3B], [22, 4, 4, 0xB], [38, 4, 5, 0xC], [70, 5, 6, 0x1B], [134, 5, 7, 0x1C], [262, 6, 7, 0x3C], [390, 7, 8, 0x7D], [646, 6, 10, 0x3D], [-16, 9, 32, 0x1FE, 'lower'], [1670, 9, 32, 0x1FF], [2, 0x1]];\n break;\n\n case 9:\n lines = [[-31, 8, 4, 0xFC], [-15, 9, 2, 0x1FC], [-11, 8, 2, 0xFD], [-7, 9, 1, 0x1FD], [-5, 7, 1, 0x7C], [-3, 4, 1, 0xA], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1A], [5, 6, 1, 0x3A], [7, 3, 5, 0x4], [39, 6, 2, 0x3B], [43, 4, 5, 0xB], [75, 4, 6, 0xC], [139, 5, 7, 0x1B], [267, 5, 8, 0x1C], [523, 6, 8, 0x3C], [779, 7, 9, 0x7D], [1291, 6, 11, 0x3D], [-32, 9, 32, 0x1FE, 'lower'], [3339, 9, 32, 0x1FF], [2, 0x0]];\n break;\n\n case 10:\n lines = [[-21, 7, 4, 0x7A], [-5, 8, 0, 0xFC], [-4, 7, 0, 0x7B], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7C], [5, 8, 0, 0xFD], [6, 2, 6, 0x1], [70, 5, 5, 0x1A], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3A], [582, 6, 9, 0x3B], [1094, 6, 10, 0x3C], [2118, 7, 11, 0x7D], [-22, 8, 32, 0xFE, 'lower'], [4166, 8, 32, 0xFF], [2, 0x2]];\n break;\n\n case 11:\n lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xC], [5, 4, 1, 0xD], [7, 5, 1, 0x1C], [9, 5, 2, 0x1D], [13, 6, 2, 0x3C], [17, 7, 2, 0x7A], [21, 7, 3, 0x7B], [29, 7, 4, 0x7C], [45, 7, 5, 0x7D], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];\n break;\n\n case 12:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1C], [6, 5, 1, 0x1D], [8, 6, 1, 0x3C], [10, 7, 0, 0x7A], [11, 7, 1, 0x7B], [13, 7, 2, 0x7C], [17, 7, 3, 0x7D], [25, 7, 4, 0x7E], [41, 8, 5, 0xFE], [73, 8, 32, 0xFF]];\n break;\n\n case 13:\n lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xC], [4, 5, 0, 0x1C], [5, 4, 1, 0xD], [7, 3, 3, 0x5], [15, 6, 1, 0x3A], [17, 6, 2, 0x3B], [21, 6, 3, 0x3C], [29, 6, 4, 0x3D], [45, 6, 5, 0x3E], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];\n break;\n\n case 14:\n lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n break;\n\n case 15:\n lines = [[-24, 7, 4, 0x7C], [-8, 6, 2, 0x3C], [-4, 5, 1, 0x1C], [-2, 4, 0, 0xC], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xD], [3, 5, 1, 0x1D], [5, 6, 2, 0x3D], [9, 7, 4, 0x7D], [-25, 7, 32, 0x7E, 'lower'], [25, 7, 32, 0x7F]];\n break;\n\n default:\n throw new Jbig2Error(\"standard table B.\".concat(number, \" does not exist\"));\n }\n\n var length = lines.length,\n i;\n\n for (i = 0; i < length; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n }\n\n function Reader(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n\n Reader.prototype = {\n readBit: function readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error('end of data while reading bit');\n }\n\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n\n var bit = this.currentByte >> this.shift & 1;\n this.shift--;\n return bit;\n },\n readBits: function readBits(numBits) {\n var result = 0,\n i;\n\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n\n return result;\n },\n byteAlign: function byteAlign() {\n this.shift = -1;\n },\n next: function next() {\n if (this.position >= this.end) {\n return -1;\n }\n\n return this.data[this.position++];\n }\n };\n\n function getCustomHuffmanTable(index, referredTo, customTables) {\n var currentIndex = 0,\n i,\n ii = referredTo.length,\n table;\n\n for (i = 0; i < ii; i++) {\n table = customTables[referredTo[i]];\n\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n\n currentIndex++;\n }\n }\n\n throw new Jbig2Error('can\\'t find custom Huffman table');\n }\n\n function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n var codes = [],\n i,\n codeLength;\n\n for (i = 0; i <= 34; i++) {\n codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n\n var runCodesTable = new HuffmanTable(codes, false);\n codes.length = 0;\n\n for (i = 0; i < numberOfSymbols;) {\n codeLength = runCodesTable.decode(reader);\n\n if (codeLength >= 32) {\n var repeatedLength = void 0,\n numberOfRepeats = void 0,\n j = void 0;\n\n switch (codeLength) {\n case 32:\n if (i === 0) {\n throw new Jbig2Error('no previous value in symbol ID table');\n }\n\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[i - 1].prefixLength;\n break;\n\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n\n default:\n throw new Jbig2Error('invalid code length in symbol ID table');\n }\n\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));\n i++;\n }\n } else {\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n i++;\n }\n }\n\n reader.byteAlign();\n var symbolIDTable = new HuffmanTable(codes, false);\n var customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n\n case 3:\n tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman FS selector');\n }\n\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n\n case 3:\n tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DS selector');\n }\n\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n\n case 3:\n tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DT selector');\n }\n\n if (textRegion.refinement) {\n throw new Jbig2Error('refinement with Huffman is not supported');\n }\n\n return {\n symbolIDTable: symbolIDTable,\n tableFirstS: tableFirstS,\n tableDeltaS: tableDeltaS,\n tableDeltaT: tableDeltaT\n };\n }\n\n function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n var customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DH selector');\n }\n\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DW selector');\n }\n\n var tableBitmapSize, tableAggregateInstances;\n\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n\n return {\n tableDeltaHeight: tableDeltaHeight,\n tableDeltaWidth: tableDeltaWidth,\n tableBitmapSize: tableBitmapSize,\n tableAggregateInstances: tableAggregateInstances\n };\n }\n\n function readUncompressedBitmap(reader, width, height) {\n var bitmap = [],\n x,\n y,\n row;\n\n for (y = 0; y < height; y++) {\n row = new Uint8Array(width);\n bitmap.push(row);\n\n for (x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n\n reader.byteAlign();\n }\n\n return bitmap;\n }\n\n function decodeMMRBitmap(input, width, height, endOfBlock) {\n var params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock\n };\n var decoder = new _ccitt.CCITTFaxDecoder(input, params);\n var bitmap = [],\n x,\n y,\n row,\n currentByte,\n shift,\n eof = false;\n\n for (y = 0; y < height; y++) {\n row = new Uint8Array(width);\n bitmap.push(row);\n shift = -1;\n\n for (x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n\n if (currentByte === -1) {\n currentByte = 0;\n eof = true;\n }\n\n shift = 7;\n }\n\n row[x] = currentByte >> shift & 1;\n shift--;\n }\n }\n\n if (endOfBlock && !eof) {\n var lookForEOFLimit = 5;\n\n for (var i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n\n return bitmap;\n }\n\n function Jbig2Image() {}\n\n Jbig2Image.prototype = {\n parseChunks: function parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n },\n parse: function parse(data) {\n var _parseJbig = parseJbig2(data),\n imgData = _parseJbig.imgData,\n width = _parseJbig.width,\n height = _parseJbig.height;\n\n this.width = width;\n this.height = height;\n return imgData;\n }\n };\n return Jbig2Image;\n}();\n\nexports.Jbig2Image = Jbig2Image;\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.ArithmeticDecoder = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar QeTable = [{\n qe: 0x5601,\n nmps: 1,\n nlps: 1,\n switchFlag: 1\n}, {\n qe: 0x3401,\n nmps: 2,\n nlps: 6,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 3,\n nlps: 9,\n switchFlag: 0\n}, {\n qe: 0x0AC1,\n nmps: 4,\n nlps: 12,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 5,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 38,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 7,\n nlps: 6,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 8,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 9,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 10,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 11,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 12,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x1C01,\n nmps: 13,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 29,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 15,\n nlps: 14,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 16,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x5101,\n nmps: 17,\n nlps: 15,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 18,\n nlps: 16,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 19,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x3401,\n nmps: 20,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 21,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2801,\n nmps: 22,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 23,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x2201,\n nmps: 24,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x1C01,\n nmps: 25,\n nlps: 22,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 26,\n nlps: 23,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 27,\n nlps: 24,\n switchFlag: 0\n}, {\n qe: 0x1401,\n nmps: 28,\n nlps: 25,\n switchFlag: 0\n}, {\n qe: 0x1201,\n nmps: 29,\n nlps: 26,\n switchFlag: 0\n}, {\n qe: 0x1101,\n nmps: 30,\n nlps: 27,\n switchFlag: 0\n}, {\n qe: 0x0AC1,\n nmps: 31,\n nlps: 28,\n switchFlag: 0\n}, {\n qe: 0x09C1,\n nmps: 32,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x08A1,\n nmps: 33,\n nlps: 30,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 34,\n nlps: 31,\n switchFlag: 0\n}, {\n qe: 0x0441,\n nmps: 35,\n nlps: 32,\n switchFlag: 0\n}, {\n qe: 0x02A1,\n nmps: 36,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 37,\n nlps: 34,\n switchFlag: 0\n}, {\n qe: 0x0141,\n nmps: 38,\n nlps: 35,\n switchFlag: 0\n}, {\n qe: 0x0111,\n nmps: 39,\n nlps: 36,\n switchFlag: 0\n}, {\n qe: 0x0085,\n nmps: 40,\n nlps: 37,\n switchFlag: 0\n}, {\n qe: 0x0049,\n nmps: 41,\n nlps: 38,\n switchFlag: 0\n}, {\n qe: 0x0025,\n nmps: 42,\n nlps: 39,\n switchFlag: 0\n}, {\n qe: 0x0015,\n nmps: 43,\n nlps: 40,\n switchFlag: 0\n}, {\n qe: 0x0009,\n nmps: 44,\n nlps: 41,\n switchFlag: 0\n}, {\n qe: 0x0005,\n nmps: 45,\n nlps: 42,\n switchFlag: 0\n}, {\n qe: 0x0001,\n nmps: 45,\n nlps: 43,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 46,\n nlps: 46,\n switchFlag: 0\n}];\n\nvar ArithmeticDecoder =\n/*#__PURE__*/\nfunction () {\n function ArithmeticDecoder(data, start, end) {\n _classCallCheck(this, ArithmeticDecoder);\n\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n this.chigh = data[start];\n this.clow = 0;\n this.byteIn();\n this.chigh = this.chigh << 7 & 0xFFFF | this.clow >> 9 & 0x7F;\n this.clow = this.clow << 7 & 0xFFFF;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n _createClass(ArithmeticDecoder, [{\n key: \"byteIn\",\n value: function byteIn() {\n var data = this.data;\n var bp = this.bp;\n\n if (data[bp] === 0xFF) {\n if (data[bp + 1] > 0x8F) {\n this.clow += 0xFF00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xFF00;\n this.ct = 8;\n this.bp = bp;\n }\n\n if (this.clow > 0xFFFF) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xFFFF;\n }\n }\n }, {\n key: \"readBit\",\n value: function readBit(contexts, pos) {\n var cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n var qeTableIcx = QeTable[cx_index];\n var qeIcx = qeTableIcx.qe;\n var d;\n var a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = this.chigh << 1 & 0xFFFF | this.clow >> 15 & 1;\n this.clow = this.clow << 1 & 0xFFFF;\n this.ct--;\n } while ((a & 0x8000) === 0);\n\n this.a = a;\n contexts[pos] = cx_index << 1 | cx_mps;\n return d;\n }\n }]);\n\n return ArithmeticDecoder;\n}();\n\nexports.ArithmeticDecoder = ArithmeticDecoder;\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.JpegStream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _jpg = __w_pdfjs_require__(197);\n\nvar JpegStream = function JpegStreamClosure() {\n function JpegStream(stream, maybeLength, dict, params) {\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === 0xFF) {\n stream.skip(-1);\n break;\n }\n }\n\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpegStream.prototype, 'bytes', {\n get: function JpegStream_bytes() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpegStream.prototype.ensureBuffer = function (requested) {};\n\n JpegStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpegOptions = {\n decodeTransform: undefined,\n colorTransform: undefined\n };\n var decodeArr = this.dict.getArray('Decode', 'D');\n\n if (this.forceRGB && Array.isArray(decodeArr)) {\n var bitsPerComponent = this.dict.get('BitsPerComponent') || 8;\n var decodeArrLength = decodeArr.length;\n var transform = new Int32Array(decodeArrLength);\n var transformNeeded = false;\n var maxValue = (1 << bitsPerComponent) - 1;\n\n for (var i = 0; i < decodeArrLength; i += 2) {\n transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n if (transform[i] !== 256 || transform[i + 1] !== 0) {\n transformNeeded = true;\n }\n }\n\n if (transformNeeded) {\n jpegOptions.decodeTransform = transform;\n }\n }\n\n if ((0, _primitives.isDict)(this.params)) {\n var colorTransform = this.params.get('ColorTransform');\n\n if (Number.isInteger(colorTransform)) {\n jpegOptions.colorTransform = colorTransform;\n }\n }\n\n var jpegImage = new _jpg.JpegImage(jpegOptions);\n jpegImage.parse(this.bytes);\n var data = jpegImage.getData({\n width: this.drawWidth,\n height: this.drawHeight,\n forceRGB: this.forceRGB,\n isSourcePDF: true\n });\n this.buffer = data;\n this.bufferLength = data.length;\n this.eof = true;\n };\n\n JpegStream.prototype.getIR = function () {\n var forceDataSchema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (0, _util.createObjectURL)(this.bytes, 'image/jpeg', forceDataSchema);\n };\n\n return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\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.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\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 JpegError =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(JpegError, _BaseException);\n\n function JpegError(msg) {\n _classCallCheck(this, JpegError);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(JpegError).call(this, \"JPEG error: \".concat(msg)));\n }\n\n return JpegError;\n}(_util.BaseException);\n\nvar DNLMarkerError =\n/*#__PURE__*/\nfunction (_BaseException2) {\n _inherits(DNLMarkerError, _BaseException2);\n\n function DNLMarkerError(message, scanLines) {\n var _this;\n\n _classCallCheck(this, DNLMarkerError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DNLMarkerError).call(this, message));\n _this.scanLines = scanLines;\n return _this;\n }\n\n return DNLMarkerError;\n}(_util.BaseException);\n\nvar EOIMarkerError =\n/*#__PURE__*/\nfunction (_BaseException3) {\n _inherits(EOIMarkerError, _BaseException3);\n\n function EOIMarkerError() {\n _classCallCheck(this, EOIMarkerError);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(EOIMarkerError).apply(this, arguments));\n }\n\n return EOIMarkerError;\n}(_util.BaseException);\n\nvar JpegImage = function JpegImageClosure() {\n var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n\n function JpegImage() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$decodeTransform = _ref.decodeTransform,\n decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,\n _ref$colorTransform = _ref.colorTransform,\n colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;\n\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0,\n code = [],\n i,\n j,\n length = 16;\n\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n\n code.push({\n children: [],\n index: 0\n });\n var p = code[0],\n q;\n\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n\n while (p.index > 0) {\n p = code.pop();\n }\n\n p.index++;\n code.push(p);\n\n while (code.length <= i) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n\n k++;\n }\n\n if (i + 1 < length) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var startOffset = offset,\n bitsData = 0,\n bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n\n bitsData = data[offset++];\n\n if (bitsData === 0xFF) {\n var nextByte = data[offset++];\n\n if (nextByte) {\n if (nextByte === 0xDC && parseDNLMarker) {\n offset += 2;\n var scanLines = data[offset++] << 8 | data[offset++];\n\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError('Found DNL marker (0xFFDC) while parsing scan data', scanLines);\n }\n } else if (nextByte === 0xD9) {\n throw new EOIMarkerError('Found EOI marker (0xFFD9) while parsing scan data');\n }\n\n throw new JpegError(\"unexpected marker \".concat((bitsData << 8 | nextByte).toString(16)));\n }\n }\n\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n\n while (true) {\n node = node[readBit()];\n\n if (typeof node === 'number') {\n return node;\n }\n\n if (_typeof(node) !== 'object') {\n throw new JpegError('invalid huffman sequence');\n }\n }\n }\n\n function receive(length) {\n var n = 0;\n\n while (length > 0) {\n n = n << 1 | readBit();\n length--;\n }\n\n return n;\n }\n\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n\n var n = receive(length);\n\n if (n >= 1 << length - 1) {\n return n;\n }\n\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[offset] = component.pred += diff;\n var k = 1;\n\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[offset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, offset) {\n component.blockData[offset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n\n function decodeACFirst(component, offset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n\n var k = spectralStart,\n e = spectralEnd;\n\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n\n function decodeACSuccessive(component, offset) {\n var k = spectralStart;\n var e = spectralEnd;\n var r = 0;\n var s;\n var rs;\n\n while (k <= e) {\n var offsetZ = offset + dctZigZag[k];\n var sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n\n switch (successiveACState) {\n case 0:\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError('invalid ACn encoding');\n }\n\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n\n continue;\n\n case 1:\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n\n break;\n\n case 3:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n\n break;\n\n case 4:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n\n break;\n }\n\n k++;\n }\n\n if (successiveACState === 4) {\n eobrun--;\n\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = mcu / mcusPerLine | 0;\n var mcuCol = mcu % mcusPerLine;\n var blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n function decodeBlock(component, decode, mcu) {\n var blockRow = mcu / component.blocksPerLine | 0;\n var blockCol = mcu % component.blocksPerLine;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0,\n fileMarker;\n var mcuExpected;\n\n if (componentsLength === 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n\n var h, v;\n\n while (mcu < mcuExpected) {\n var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n\n mcu++;\n }\n }\n\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n\n if (!fileMarker) {\n break;\n } else if (fileMarker.invalid) {\n (0, _util.warn)('decodeScan - unexpected MCU data, current marker is: ' + fileMarker.invalid);\n offset = fileMarker.offset;\n }\n\n var marker = fileMarker && fileMarker.marker;\n\n if (!marker || marker <= 0xFF00) {\n throw new JpegError('decodeScan - a valid marker was not found.');\n }\n\n if (marker >= 0xFFD0 && marker <= 0xFFD7) {\n offset += 2;\n } else {\n break;\n }\n }\n\n fileMarker = findNextFileMarker(data, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)('decodeScan - unexpected Scan data, current marker is: ' + fileMarker.invalid);\n offset = fileMarker.offset;\n }\n\n return offset - startOffset;\n }\n\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable,\n blockData = component.blockData;\n var v0, v1, v2, v3, v4, v5, v6, v7;\n var p0, p1, p2, p3, p4, p5, p6, p7;\n var t;\n\n if (!qt) {\n throw new JpegError('missing required Quantization Table.');\n }\n\n for (var row = 0; row < 64; row += 8) {\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n p0 *= qt[row];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 512 >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n v0 = dctSqrt2 * p0 + 128 >> 8;\n v1 = dctSqrt2 * p4 + 128 >> 8;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n v0 = v0 + v1 + 1 >> 1;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n\n for (var col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 8192 >> 14;\n t = t < -2040 ? 0 : t >= 2024 ? 255 : t + 2056 >> 4;\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n\n v0 = dctSqrt2 * p0 + 2048 >> 12;\n v1 = dctSqrt2 * p4 + 2048 >> 12;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n v5 = p3;\n v6 = p5;\n v0 = (v0 + v1 + 1 >> 1) + 4112;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n p0 = p0 < 16 ? 0 : p0 >= 4080 ? 255 : p0 >> 4;\n p1 = p1 < 16 ? 0 : p1 >= 4080 ? 255 : p1 >> 4;\n p2 = p2 < 16 ? 0 : p2 >= 4080 ? 255 : p2 >> 4;\n p3 = p3 < 16 ? 0 : p3 >= 4080 ? 255 : p3 >> 4;\n p4 = p4 < 16 ? 0 : p4 >= 4080 ? 255 : p4 >> 4;\n p5 = p5 < 16 ? 0 : p5 >= 4080 ? 255 : p5 >> 4;\n p6 = p6 < 16 ? 0 : p6 >= 4080 ? 255 : p6 >> 4;\n p7 = p7 < 16 ? 0 : p7 >= 4080 ? 255 : p7 >> 4;\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n }\n\n function buildComponentData(frame, component) {\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var computationBuffer = new Int16Array(64);\n\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n\n return component.blockData;\n }\n\n function findNextFileMarker(data, currentPos) {\n var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;\n\n function peekUint16(pos) {\n return data[pos] << 8 | data[pos + 1];\n }\n\n var maxPos = data.length - 1;\n var newPos = startPos < currentPos ? startPos : currentPos;\n\n if (currentPos >= maxPos) {\n return null;\n }\n\n var currentMarker = peekUint16(currentPos);\n\n if (currentMarker >= 0xFFC0 && currentMarker <= 0xFFFE) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos\n };\n }\n\n var newMarker = peekUint16(newPos);\n\n while (!(newMarker >= 0xFFC0 && newMarker <= 0xFFFE)) {\n if (++newPos >= maxPos) {\n return null;\n }\n\n newMarker = peekUint16(newPos);\n }\n\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos\n };\n }\n\n JpegImage.prototype = {\n parse: function parse(data) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$dnlScanLines = _ref2.dnlScanLines,\n dnlScanLines = _ref2$dnlScanLines === void 0 ? null : _ref2$dnlScanLines;\n\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n\n function readDataBlock() {\n var length = readUint16();\n var endOffset = offset + length - 2;\n var fileMarker = findNextFileMarker(data, endOffset, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)('readDataBlock - incorrect length, current marker is: ' + fileMarker.invalid);\n endOffset = fileMarker.offset;\n }\n\n var array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0;\n var jfif = null;\n var adobe = null;\n var frame, resetInterval;\n var numSOSMarkers = 0;\n var quantizationTables = [];\n var huffmanTablesAC = [],\n huffmanTablesDC = [];\n var fileMarker = readUint16();\n\n if (fileMarker !== 0xFFD8) {\n throw new JpegError('SOI not found');\n }\n\n fileMarker = readUint16();\n\n markerLoop: while (fileMarker !== 0xFFD9) {\n var i, j, l;\n\n switch (fileMarker) {\n case 0xFFE0:\n case 0xFFE1:\n case 0xFFE2:\n case 0xFFE3:\n case 0xFFE4:\n case 0xFFE5:\n case 0xFFE6:\n case 0xFFE7:\n case 0xFFE8:\n case 0xFFE9:\n case 0xFFEA:\n case 0xFFEB:\n case 0xFFEC:\n case 0xFFED:\n case 0xFFEE:\n case 0xFFEF:\n case 0xFFFE:\n var appData = readDataBlock();\n\n if (fileMarker === 0xFFE0) {\n if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n jfif = {\n version: {\n major: appData[5],\n minor: appData[6]\n },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n\n if (fileMarker === 0xFFEE) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F && appData[3] === 0x62 && appData[4] === 0x65) {\n adobe = {\n version: appData[5] << 8 | appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n\n break;\n\n case 0xFFDB:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n var z;\n\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Uint16Array(64);\n\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else {\n throw new JpegError('DQT - invalid table spec');\n }\n\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n\n break;\n\n case 0xFFC0:\n case 0xFFC1:\n case 0xFFC2:\n if (frame) {\n throw new JpegError('Only single frame JPEGs supported');\n }\n\n readUint16();\n frame = {};\n frame.extended = fileMarker === 0xFFC1;\n frame.progressive = fileMarker === 0xFFC2;\n frame.precision = data[offset++];\n var sofScanLines = readUint16();\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = readUint16();\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++],\n componentId;\n var maxH = 0,\n maxV = 0;\n\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n\n if (maxH < h) {\n maxH = h;\n }\n\n if (maxV < v) {\n maxV = v;\n }\n\n var qId = data[offset + 2];\n l = frame.components.push({\n h: h,\n v: v,\n quantizationId: qId,\n quantizationTable: null\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xFFC4:\n var huffmanLength = readUint16();\n\n for (i = 2; i < huffmanLength;) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n\n var huffmanValues = new Uint8Array(codeLengthSum);\n\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n\n break;\n\n case 0xFFDD:\n readUint16();\n resetInterval = readUint16();\n break;\n\n case 0xFFDA:\n var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n readUint16();\n var selectorsCount = data[offset++];\n var components = [],\n component;\n\n for (i = 0; i < selectorsCount; i++) {\n var componentIndex = frame.componentIds[data[offset++]];\n component = frame.components[componentIndex];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n\n try {\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- attempting to re-parse the JPEG image.\"));\n return this.parse(data, {\n dnlScanLines: ex.scanLines\n });\n } else if (ex instanceof EOIMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- ignoring the rest of the image data.\"));\n break markerLoop;\n }\n\n throw ex;\n }\n\n break;\n\n case 0xFFDC:\n offset += 4;\n break;\n\n case 0xFFFF:\n if (data[offset] !== 0xFF) {\n offset--;\n }\n\n break;\n\n default:\n if (data[offset - 3] === 0xFF && data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) {\n offset -= 3;\n break;\n }\n\n var nextFileMarker = findNextFileMarker(data, offset - 2);\n\n if (nextFileMarker && nextFileMarker.invalid) {\n (0, _util.warn)('JpegImage.parse - unexpected data, current marker is: ' + nextFileMarker.invalid);\n offset = nextFileMarker.offset;\n break;\n }\n\n if (offset > data.length - 2) {\n (0, _util.warn)('JpegImage.parse - reached the end of the image data ' + 'without finding an EOI marker (0xFFD9).');\n break markerLoop;\n }\n\n throw new JpegError('JpegImage.parse - unknown marker: ' + fileMarker.toString(16));\n }\n\n fileMarker = readUint16();\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n\n for (i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var quantizationTable = quantizationTables[component.quantizationId];\n\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n\n this.components.push({\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn\n });\n }\n\n this.numComponents = this.components.length;\n return undefined;\n },\n _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {\n var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var scaleX = this.width / width,\n scaleY = this.height / height;\n var component, componentScaleX, componentScaleY, blocksPerScanline;\n var x, y, i, j, k;\n var index;\n var offset = 0;\n var output;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8ClampedArray(dataLength);\n var xScaleBlockOffset = new Uint32Array(width);\n var mask3LSB = 0xfffffff8;\n\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = component.blocksPerLine + 1 << 3;\n\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n\n for (y = 0; y < height; y++) {\n j = 0 | y * componentScaleY;\n index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n\n var transform = this._decodeTransform;\n\n if (!isSourcePDF && numComponents === 4 && !transform) {\n transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n }\n\n if (transform) {\n for (i = 0; i < dataLength;) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n }\n }\n }\n\n return data;\n },\n\n get _isColorConversionNeeded() {\n if (this.adobe) {\n return !!this.adobe.transformCode;\n }\n\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n return false;\n }\n\n return true;\n }\n\n if (this._colorTransform === 1) {\n return true;\n }\n\n return false;\n },\n\n _convertYccToRgb: function convertYccToRgb(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n\n return data;\n },\n _convertYcckToRgb: function convertYcckToRgb(data) {\n var Y, Cb, Cr, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n\n return data.subarray(0, offset);\n },\n _convertYcckToCmyk: function convertYcckToCmyk(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n }\n\n return data;\n },\n _convertCmykToRgb: function convertCmykToRgb(data) {\n var c, m, y, k;\n var offset = 0;\n var scale = 1 / 255;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i] * scale;\n m = data[i + 1] * scale;\n y = data[i + 2] * scale;\n k = data[i + 3] * scale;\n data[offset++] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k - 285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y - 17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) - k * (21.86122147463605 * k + 189.48180835922747);\n data[offset++] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k - 79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) - k * (20.737325471181034 * k + 187.80453709719578);\n data[offset++] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k - 14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k - 193.58209356861505) - k * (22.33816807309886 * k + 180.12613974708367);\n }\n\n return data.subarray(0, offset);\n },\n getData: function getData(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n _ref3$forceRGB = _ref3.forceRGB,\n forceRGB = _ref3$forceRGB === void 0 ? false : _ref3$forceRGB,\n _ref3$isSourcePDF = _ref3.isSourcePDF,\n isSourcePDF = _ref3$isSourcePDF === void 0 ? false : _ref3$isSourcePDF;\n\n if (this.numComponents > 4) {\n throw new JpegError('Unsupported color mode');\n }\n\n var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n if (this.numComponents === 1 && forceRGB) {\n var dataLength = data.length;\n var rgbData = new Uint8ClampedArray(dataLength * 3);\n var offset = 0;\n\n for (var i = 0; i < dataLength; i++) {\n var grayColor = data[i];\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n }\n\n return rgbData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n\n return this._convertYcckToCmyk(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n\n return data;\n }\n };\n return JpegImage;\n}();\n\nexports.JpegImage = JpegImage;\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.JpxStream = void 0;\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar _jpx = __w_pdfjs_require__(199);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar JpxStream = function JpxStreamClosure() {\n function JpxStream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpxStream.prototype, 'bytes', {\n get: function JpxStream_bytes() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpxStream.prototype.ensureBuffer = function (requested) {};\n\n JpxStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parse(this.bytes);\n var width = jpxImage.width;\n var height = jpxImage.height;\n var componentsCount = jpxImage.componentsCount;\n var tileCount = jpxImage.tiles.length;\n\n if (tileCount === 1) {\n this.buffer = jpxImage.tiles[0].items;\n } else {\n var data = new Uint8ClampedArray(width * height * componentsCount);\n\n for (var k = 0; k < tileCount; k++) {\n var tileComponents = jpxImage.tiles[k];\n var tileWidth = tileComponents.width;\n var tileHeight = tileComponents.height;\n var tileLeft = tileComponents.left;\n var tileTop = tileComponents.top;\n var src = tileComponents.items;\n var srcPosition = 0;\n var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n var imgRowSize = width * componentsCount;\n var tileRowSize = tileWidth * componentsCount;\n\n for (var j = 0; j < tileHeight; j++) {\n var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n data.set(rowBytes, dataPosition);\n srcPosition += tileRowSize;\n dataPosition += imgRowSize;\n }\n }\n\n this.buffer = data;\n }\n\n this.bufferLength = this.buffer.length;\n this.eof = true;\n };\n\n return JpxStream;\n}();\n\nexports.JpxStream = JpxStream;\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.JpxImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(195);\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 JpxError =\n/*#__PURE__*/\nfunction (_BaseException) {\n _inherits(JpxError, _BaseException);\n\n function JpxError(msg) {\n _classCallCheck(this, JpxError);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(JpxError).call(this, \"JPX error: \".concat(msg)));\n }\n\n return JpxError;\n}(_util.BaseException);\n\nvar JpxImage = function JpxImageClosure() {\n var SubbandsGainLog2 = {\n 'LL': 0,\n 'LH': 1,\n 'HL': 1,\n 'HH': 2\n };\n\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n var head = (0, _util.readUint16)(data, 0);\n\n if (head === 0xFF4F) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n var position = 0,\n length = data.length;\n\n while (position < length) {\n var headerSize = 8;\n var lbox = (0, _util.readUint32)(data, position);\n var tbox = (0, _util.readUint32)(data, position + 4);\n position += headerSize;\n\n if (lbox === 1) {\n lbox = (0, _util.readUint32)(data, position) * 4294967296 + (0, _util.readUint32)(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n\n if (lbox < headerSize) {\n throw new JpxError('Invalid box field size');\n }\n\n var dataLength = lbox - headerSize;\n var jumpDataLength = true;\n\n switch (tbox) {\n case 0x6A703268:\n jumpDataLength = false;\n break;\n\n case 0x636F6C72:\n var method = data[position];\n\n if (method === 1) {\n var colorspace = (0, _util.readUint32)(data, position + 3);\n\n switch (colorspace) {\n case 16:\n case 17:\n case 18:\n break;\n\n default:\n (0, _util.warn)('Unknown colorspace ' + colorspace);\n break;\n }\n } else if (method === 2) {\n (0, _util.info)('ICC profile not supported');\n }\n\n break;\n\n case 0x6A703263:\n this.parseCodestream(data, position, position + dataLength);\n break;\n\n case 0x6A502020:\n if ((0, _util.readUint32)(data, position) !== 0x0d0a870a) {\n (0, _util.warn)('Invalid JP2 signature');\n }\n\n break;\n\n case 0x6A501A1A:\n case 0x66747970:\n case 0x72726571:\n case 0x72657320:\n case 0x69686472:\n break;\n\n default:\n var headerType = String.fromCharCode(tbox >> 24 & 0xFF, tbox >> 16 & 0xFF, tbox >> 8 & 0xFF, tbox & 0xFF);\n (0, _util.warn)('Unsupported header type ' + tbox + ' (' + headerType + ')');\n break;\n }\n\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n },\n parseImageProperties: function JpxImage_parseImageProperties(stream) {\n var newByte = stream.getByte();\n\n while (newByte >= 0) {\n var oldByte = newByte;\n newByte = stream.getByte();\n var code = oldByte << 8 | newByte;\n\n if (code === 0xFF51) {\n stream.skip(4);\n var Xsiz = stream.getInt32() >>> 0;\n var Ysiz = stream.getInt32() >>> 0;\n var XOsiz = stream.getInt32() >>> 0;\n var YOsiz = stream.getInt32() >>> 0;\n stream.skip(16);\n var Csiz = stream.getUint16();\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n this.bitsPerComponent = 8;\n return;\n }\n }\n\n throw new JpxError('No size marker found in JPX stream');\n },\n parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n var context = {};\n var doNotRecover = false;\n\n try {\n var position = start;\n\n while (position + 1 < end) {\n var code = (0, _util.readUint16)(data, position);\n position += 2;\n var length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n\n switch (code) {\n case 0xFF4F:\n context.mainHeader = true;\n break;\n\n case 0xFFD9:\n break;\n\n case 0xFF51:\n length = (0, _util.readUint16)(data, position);\n var siz = {};\n siz.Xsiz = (0, _util.readUint32)(data, position + 4);\n siz.Ysiz = (0, _util.readUint32)(data, position + 8);\n siz.XOsiz = (0, _util.readUint32)(data, position + 12);\n siz.YOsiz = (0, _util.readUint32)(data, position + 16);\n siz.XTsiz = (0, _util.readUint32)(data, position + 20);\n siz.YTsiz = (0, _util.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _util.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _util.readUint32)(data, position + 32);\n var componentsCount = (0, _util.readUint16)(data, position + 36);\n siz.Csiz = componentsCount;\n var components = [];\n j = position + 38;\n\n for (var i = 0; i < componentsCount; i++) {\n var component = {\n precision: (data[j] & 0x7F) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2]\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n\n case 0xFF5C:\n length = (0, _util.readUint16)(data, position);\n var qcd = {};\n j = position + 2;\n sqcd = data[j++];\n\n switch (sqcd & 0x1F) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error('Invalid SQcd value ' + sqcd);\n }\n\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n var spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcd.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n\n break;\n\n case 0xFF5D:\n length = (0, _util.readUint16)(data, position);\n var qcc = {};\n j = position + 2;\n var cqcc;\n\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = (0, _util.readUint16)(data, j);\n j += 2;\n }\n\n sqcd = data[j++];\n\n switch (sqcd & 0x1F) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error('Invalid SQcd value ' + sqcd);\n }\n\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcc.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n\n break;\n\n case 0xFF52:\n length = (0, _util.readUint16)(data, position);\n var cod = {};\n j = position + 2;\n var scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = (0, _util.readUint16)(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xF) + 2;\n cod.ycb = (data[j++] & 0xF) + 2;\n var blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n\n if (cod.entropyCoderWithCustomPrecincts) {\n var precinctsSizes = [];\n\n while (j < length + position) {\n var precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xF,\n PPy: precinctsSize >> 4\n });\n }\n\n cod.precinctsSizes = precinctsSizes;\n }\n\n var unsupported = [];\n\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push('selectiveArithmeticCodingBypass');\n }\n\n if (cod.resetContextProbabilities) {\n unsupported.push('resetContextProbabilities');\n }\n\n if (cod.terminationOnEachCodingPass) {\n unsupported.push('terminationOnEachCodingPass');\n }\n\n if (cod.verticallyStripe) {\n unsupported.push('verticallyStripe');\n }\n\n if (cod.predictableTermination) {\n unsupported.push('predictableTermination');\n }\n\n if (unsupported.length > 0) {\n doNotRecover = true;\n throw new Error('Unsupported COD options (' + unsupported.join(', ') + ')');\n }\n\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n\n break;\n\n case 0xFF90:\n length = (0, _util.readUint16)(data, position);\n tile = {};\n tile.index = (0, _util.readUint16)(data, position + 2);\n tile.length = (0, _util.readUint32)(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n context.mainHeader = false;\n\n if (tile.partIndex === 0) {\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0);\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0);\n }\n\n context.currentTile = tile;\n break;\n\n case 0xFF93:\n tile = context.currentTile;\n\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n\n case 0xFF55:\n case 0xFF57:\n case 0xFF58:\n case 0xFF64:\n length = (0, _util.readUint16)(data, position);\n break;\n\n case 0xFF53:\n throw new Error('Codestream code 0xFF53 (COC) is ' + 'not implemented');\n\n default:\n throw new Error('Unknown codestream code: ' + code.toString(16));\n }\n\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n (0, _util.warn)('JPX: Trying to recover from: ' + e.message);\n }\n }\n\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n };\n\n function calculateComponentDimensions(component, siz) {\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n }\n\n function calculateTileGrids(context, components) {\n var siz = context.SIZ;\n var tile,\n tiles = [];\n var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n\n for (var q = 0; q < numYtiles; q++) {\n for (var p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n\n context.tiles = tiles;\n var componentsCount = siz.Csiz;\n\n for (var i = 0, ii = componentsCount; i < ii; i++) {\n var component = components[i];\n\n for (var j = 0, jj = tiles.length; j < jj; j++) {\n var tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n }\n\n function getBlocksDimensions(context, component, r) {\n var codOrCoc = component.codingStyleParameters;\n var result = {};\n\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n\n result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n }\n\n function buildPrecincts(context, resolution, dimensions) {\n var precinctWidth = 1 << dimensions.PPx;\n var precinctHeight = 1 << dimensions.PPy;\n var isZeroRes = resolution.resLevel === 0;\n var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n var numprecincts = numprecinctswide * numprecinctshigh;\n resolution.precinctParameters = {\n precinctWidth: precinctWidth,\n precinctHeight: precinctHeight,\n numprecinctswide: numprecinctswide,\n numprecinctshigh: numprecinctshigh,\n numprecincts: numprecincts,\n precinctWidthInSubband: precinctWidthInSubband,\n precinctHeightInSubband: precinctHeightInSubband\n };\n }\n\n function buildCodeblocks(context, subband, dimensions) {\n var xcb_ = dimensions.xcb_;\n var ycb_ = dimensions.ycb_;\n var codeblockWidth = 1 << xcb_;\n var codeblockHeight = 1 << ycb_;\n var cbx0 = subband.tbx0 >> xcb_;\n var cby0 = subband.tby0 >> ycb_;\n var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n var precinctParameters = subband.resolution.precinctParameters;\n var codeblocks = [];\n var precincts = [];\n var i, j, codeblock, precinctNumber;\n\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1)\n };\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n continue;\n }\n\n codeblocks.push(codeblock);\n var precinct = precincts[precinctNumber];\n\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j\n };\n }\n\n codeblock.precinct = precinct;\n }\n }\n\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n }\n\n function createPacket(resolution, precinctNumber, layerNumber) {\n var precinctCodeblocks = [];\n var subbands = resolution.subbands;\n\n for (var i = 0, ii = subbands.length; i < ii; i++) {\n var subband = subbands[i];\n var codeblocks = subband.codeblocks;\n\n for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n var codeblock = codeblocks[j];\n\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n\n precinctCodeblocks.push(codeblock);\n }\n }\n\n return {\n layerNumber: layerNumber,\n codeblocks: precinctCodeblocks\n };\n }\n\n function LayerResolutionComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var l = 0,\n r = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n r = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ResolutionLayerComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var r = 0,\n l = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n l = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ResolutionPositionComponentLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var l, r, c, p;\n var maxDecompositionLevelsCount = 0;\n\n for (c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n }\n\n var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n var maxNumPrecincts = 0;\n\n for (c = 0; c < componentsCount; ++c) {\n var resolutions = tile.components[c].resolutions;\n\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n }\n }\n\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n if (p >= numprecincts) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n c = 0;\n }\n\n p = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function PositionComponentResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var precinctsIterationSizes = precinctsSizes;\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n c = 0;\n }\n\n px = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ComponentPositionResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; c < componentsCount; ++c) {\n var component = tile.components[c];\n var precinctsIterationSizes = precinctsSizes.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n px = 0;\n }\n\n py = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n var posX = pxIndex * precinctIterationSizes.minWidth;\n var posY = pyIndex * precinctIterationSizes.minHeight;\n\n if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n return null;\n }\n\n var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n }\n\n function getPrecinctSizesInImageScale(tile) {\n var componentsCount = tile.components.length;\n var minWidth = Number.MAX_VALUE;\n var minHeight = Number.MAX_VALUE;\n var maxNumWide = 0;\n var maxNumHigh = 0;\n var sizePerComponent = new Array(componentsCount);\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var sizePerResolution = new Array(decompositionLevelsCount + 1);\n var minWidthCurrentComponent = Number.MAX_VALUE;\n var minHeightCurrentComponent = Number.MAX_VALUE;\n var maxNumWideCurrentComponent = 0;\n var maxNumHighCurrentComponent = 0;\n var scale = 1;\n\n for (var r = decompositionLevelsCount; r >= 0; --r) {\n var resolution = component.resolutions[r];\n var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution\n };\n scale <<= 1;\n }\n\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent\n };\n }\n\n return {\n components: sizePerComponent,\n minWidth: minWidth,\n minHeight: minHeight,\n maxNumWide: maxNumWide,\n maxNumHigh: maxNumHigh\n };\n }\n\n function buildPackets(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var componentsCount = siz.Csiz;\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var resolutions = [];\n var subbands = [];\n\n for (var r = 0; r <= decompositionLevelsCount; r++) {\n var blocksDimensions = getBlocksDimensions(context, component, r);\n var resolution = {};\n var scale = 1 << decompositionLevelsCount - r;\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n var subband;\n\n if (r === 0) {\n subband = {};\n subband.type = 'LL';\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n var bscale = 1 << decompositionLevelsCount - r + 1;\n var resolutionSubbands = [];\n subband = {};\n subband.type = 'HL';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = 'LH';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = 'HH';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n resolution.subbands = resolutionSubbands;\n }\n }\n\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n\n var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n break;\n\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n break;\n\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n break;\n\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n break;\n\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n break;\n\n default:\n throw new JpxError(\"Unsupported progression order \".concat(progressionOrder));\n }\n }\n\n function parseTilePackets(context, data, offset, dataLength) {\n var position = 0;\n var buffer,\n bufferSize = 0,\n skipNextBit = false;\n\n function readBits(count) {\n while (bufferSize < count) {\n var b = data[offset + position];\n position++;\n\n if (skipNextBit) {\n buffer = buffer << 7 | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = buffer << 8 | b;\n bufferSize += 8;\n }\n\n if (b === 0xFF) {\n skipNextBit = true;\n }\n }\n\n bufferSize -= count;\n return buffer >>> bufferSize & (1 << count) - 1;\n }\n\n function skipMarkerIfEqual(value) {\n if (data[offset + position - 1] === 0xFF && data[offset + position] === value) {\n skipBytes(1);\n return true;\n } else if (data[offset + position] === 0xFF && data[offset + position + 1] === value) {\n skipBytes(2);\n return true;\n }\n\n return false;\n }\n\n function skipBytes(count) {\n position += count;\n }\n\n function alignToByte() {\n bufferSize = 0;\n\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n\n if (readBits(1) === 0) {\n return 2;\n }\n\n var value = readBits(2);\n\n if (value < 3) {\n return value + 3;\n }\n\n value = readBits(5);\n\n if (value < 31) {\n return value + 6;\n }\n\n value = readBits(7);\n return value + 37;\n }\n\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var sopMarkerUsed = context.COD.sopMarkerUsed;\n var ephMarkerUsed = context.COD.ephMarkerUsed;\n var packetsIterator = tile.packetsIterator;\n\n while (position < dataLength) {\n alignToByte();\n\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n skipBytes(4);\n }\n\n var packet = packetsIterator.nextPacket();\n\n if (!readBits(1)) {\n continue;\n }\n\n var layerNumber = packet.layerNumber;\n var queue = [],\n codeblock;\n\n for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n var precinct = codeblock.precinct;\n var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n var codeblockRow = codeblock.cby - precinct.cbyMin;\n var codeblockIncluded = false;\n var firstTimeInclusion = false;\n var valueReady;\n\n if (codeblock['included'] !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n precinct = codeblock.precinct;\n var inclusionTree, zeroBitPlanesTree;\n\n if (precinct['inclusionTree'] !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n var width = precinct.cbxMax - precinct.cbxMin + 1;\n var height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n }\n\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n\n if (!codeblockIncluded) {\n continue;\n }\n\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n\n var codingpasses = readCodingpasses();\n\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n\n var codingpassesLog2 = (0, _util.log2)(codingpasses);\n var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n var codedDataLength = readBits(bits);\n queue.push({\n codeblock: codeblock,\n codingpasses: codingpasses,\n dataLength: codedDataLength\n });\n }\n\n alignToByte();\n\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n\n while (queue.length > 0) {\n var packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n\n if (codeblock['data'] === undefined) {\n codeblock.data = [];\n }\n\n codeblock.data.push({\n data: data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses\n });\n position += packetItem.dataLength;\n }\n }\n\n return position;\n }\n\n function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n var x0 = subband.tbx0;\n var y0 = subband.tby0;\n var width = subband.tbx1 - subband.tbx0;\n var codeblocks = subband.codeblocks;\n var right = subband.type.charAt(0) === 'H' ? 1 : 0;\n var bottom = subband.type.charAt(1) === 'H' ? levelWidth : 0;\n\n for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n var codeblock = codeblocks[i];\n var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n\n if (codeblock['data'] === undefined) {\n continue;\n }\n\n var bitModel, currentCodingpassType;\n bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n currentCodingpassType = 2;\n var data = codeblock.data,\n totalLength = 0,\n codingpasses = 0;\n var j, jj, dataItem;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n\n var encodedData = new Uint8Array(totalLength);\n var position = 0;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n\n case 2:\n bitModel.runCleanupPass();\n\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n\n break;\n }\n\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n var sign = bitModel.coefficentsSign;\n var magnitude = bitModel.coefficentsMagnitude;\n var bitsDecoded = bitModel.bitsDecoded;\n var magnitudeCorrection = reversible ? 0 : 0.5;\n var k, n, nb;\n position = 0;\n var interleave = subband.type !== 'LL';\n\n for (j = 0; j < blockHeight; j++) {\n var row = offset / width | 0;\n var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n\n if (sign[position] !== 0) {\n n = -n;\n }\n\n nb = bitsDecoded[position];\n var pos = interleave ? levelOffset + (offset << 1) : offset;\n\n if (reversible && nb >= mb) {\n coefficients[pos] = n;\n } else {\n coefficients[pos] = n * (1 << mb - nb);\n }\n }\n\n offset++;\n position++;\n }\n\n offset += width - blockWidth;\n }\n }\n }\n\n function transformTile(context, tile, c) {\n var component = tile.components[c];\n var codingStyleParameters = component.codingStyleParameters;\n var quantizationParameters = component.quantizationParameters;\n var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n var spqcds = quantizationParameters.SPqcds;\n var scalarExpounded = quantizationParameters.scalarExpounded;\n var guardBits = quantizationParameters.guardBits;\n var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n var precision = context.components[c].precision;\n var reversible = codingStyleParameters.reversibleTransformation;\n var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n var subbandCoefficients = [];\n var b = 0;\n\n for (var i = 0; i <= decompositionLevelsCount; i++) {\n var resolution = component.resolutions[i];\n var width = resolution.trx1 - resolution.trx0;\n var height = resolution.try1 - resolution.try0;\n var coefficients = new Float32Array(width * height);\n\n for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n var mu, epsilon;\n\n if (!scalarExpounded) {\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n var subband = resolution.subbands[j];\n var gainLog2 = SubbandsGainLog2[subband.type];\n var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);\n var mb = guardBits + epsilon - 1;\n copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n }\n\n subbandCoefficients.push({\n width: width,\n height: height,\n items: coefficients\n });\n }\n\n var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items\n };\n }\n\n function transformComponents(context) {\n var siz = context.SIZ;\n var components = context.components;\n var componentsCount = siz.Csiz;\n var resultImages = [];\n\n for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n var tile = context.tiles[i];\n var transformedTiles = [];\n var c;\n\n for (c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n\n var tile0 = transformedTiles[0];\n var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n var result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out\n };\n var shift, offset;\n var pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n var fourComponents = componentsCount === 4;\n var y0items = transformedTiles[0].items;\n var y1items = transformedTiles[1].items;\n var y2items = transformedTiles[2].items;\n var y3items = fourComponents ? transformedTiles[3].items : null;\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n var component0 = tile.components[0];\n var alpha01 = componentsCount - 3;\n jj = y0items.length;\n\n if (!component0.codingStyleParameters.reversibleTransformation) {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = y0 + 1.402 * y2 >> shift;\n out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n out[pos++] = y0 + 1.772 * y1 >> shift;\n }\n } else {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n var g = y0 - (y2 + y1 >> 2);\n out[pos++] = g + y2 >> shift;\n out[pos++] = g >> shift;\n out[pos++] = g + y1 >> shift;\n }\n }\n\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = y3items[j] + offset >> shift;\n }\n }\n } else {\n for (c = 0; c < componentsCount; c++) {\n var items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = items[j] + offset >> shift;\n pos += componentsCount;\n }\n }\n }\n\n resultImages.push(result);\n }\n\n return resultImages;\n }\n\n function initializeTile(context, tileIndex) {\n var siz = context.SIZ;\n var componentsCount = siz.Csiz;\n var tile = context.tiles[tileIndex];\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n }\n\n var TagTree = function TagTreeClosure() {\n function TagTree(width, height) {\n var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var level = {\n width: width,\n height: height,\n items: []\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n TagTree.prototype = {\n reset: function TagTree_reset(i, j) {\n var currentLevel = 0,\n value = 0,\n level;\n\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n var index = i + j * level.width;\n\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n },\n incrementValue: function TagTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index]++;\n },\n nextLevel: function TagTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n currentLevel--;\n\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return TagTree;\n }();\n\n var InclusionTree = function InclusionTreeClosure() {\n function InclusionTree(width, height, defaultValue) {\n var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var items = new Uint8Array(width * height);\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n\n var level = {\n width: width,\n height: height,\n items: items\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n InclusionTree.prototype = {\n reset: function InclusionTree_reset(i, j, stopValue) {\n var currentLevel = 0;\n\n while (currentLevel < this.levels.length) {\n var level = this.levels[currentLevel];\n var index = i + j * level.width;\n level.index = index;\n var value = level.items[index];\n\n if (value === 0xFF) {\n break;\n }\n\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n this.propagateValues();\n return false;\n }\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n this.currentLevel = currentLevel - 1;\n return true;\n },\n incrementValue: function InclusionTree_incrementValue(stopValue) {\n var level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n },\n propagateValues: function InclusionTree_propagateValues() {\n var levelIndex = this.currentLevel;\n var level = this.levels[levelIndex];\n var currentValue = level.items[level.index];\n\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n },\n nextLevel: function InclusionTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n level.items[level.index] = 0xFF;\n currentLevel--;\n\n if (currentLevel < 0) {\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return InclusionTree;\n }();\n\n var BitModel = function BitModelClosure() {\n var UNIFORM_CONTEXT = 17;\n var RUNLENGTH_CONTEXT = 18;\n var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n\n function BitModel(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n this.contextLabelTable = subband === 'HH' ? HHContextLabel : subband === 'HL' ? HLContextLabel : LLAndLHContextsLabel;\n var coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n this.coefficentsMagnitude = mb > 14 ? new Uint32Array(coefficientCount) : mb > 6 ? new Uint16Array(coefficientCount) : new Uint8Array(coefficientCount);\n this.processingFlags = new Uint8Array(coefficientCount);\n var bitsDecoded = new Uint8Array(coefficientCount);\n\n if (zeroBitPlanes !== 0) {\n for (var i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n\n this.bitsDecoded = bitsDecoded;\n this.reset();\n }\n\n BitModel.prototype = {\n setDecoder: function BitModel_setDecoder(decoder) {\n this.decoder = decoder;\n },\n reset: function BitModel_reset() {\n this.contexts = new Int8Array(19);\n this.contexts[0] = 4 << 1 | 0;\n this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n },\n setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n var neighborsSignificance = this.neighborsSignificance;\n var width = this.width,\n height = this.height;\n var left = column > 0;\n var right = column + 1 < width;\n var i;\n\n if (row > 0) {\n i = index - width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n\n neighborsSignificance[index] |= 0x80;\n },\n runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var neighborsSignificance = this.neighborsSignificance;\n var processingFlags = this.processingFlags;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processedInverseMask = ~1;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n\n for (var i0 = 0; i0 < height; i0 += 4) {\n for (var j = 0; j < width; j++) {\n var index = i0 * width + j;\n\n for (var i1 = 0; i1 < 4; i1++, index += width) {\n var i = i0 + i1;\n\n if (i >= height) {\n break;\n }\n\n processingFlags[index] &= processedInverseMask;\n\n if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision) {\n var sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contribution, sign0, sign1, significance1;\n var contextLabel, decoded;\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n\n var horizontalContribution = 3 * contribution;\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n\n return decoded;\n },\n runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var neighborsSignificance = this.neighborsSignificance;\n var contexts = this.contexts;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var length = width * height;\n var width4 = width * 4;\n\n for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n\n for (var j = 0; j < width; j++) {\n for (var index = index0 + j; index < indexNext; index += width) {\n if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = 16;\n\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n var significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n var bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n runCleanupPass: function BitModel_runCleanupPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var neighborsSignificance = this.neighborsSignificance;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var oneRowDown = width;\n var twoRowsDown = width * 2;\n var threeRowsDown = width * 3;\n var iNext;\n\n for (var i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n var indexBase = i0 * width;\n var checkAllEmpty = i0 + 3 < height;\n\n for (var j = 0; j < width; j++) {\n var index0 = indexBase + j;\n var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n var i1 = 0,\n index = index0;\n var i = i0,\n sign;\n\n if (allEmpty) {\n var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue;\n }\n\n i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n index = index0;\n\n for (var i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n }\n }\n }\n },\n checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n var decoder = this.decoder;\n var contexts = this.contexts;\n var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (symbol !== 0xA) {\n throw new JpxError('Invalid segmentation symbol');\n }\n }\n };\n return BitModel;\n }();\n\n var Transform = function TransformClosure() {\n function Transform() {}\n\n Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n var ll = subbands[0];\n\n for (var i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n\n return ll;\n };\n\n Transform.prototype.extend = function extend(buffer, offset, size) {\n var i1 = offset - 1,\n j1 = offset + 1;\n var i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n };\n\n Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n var llWidth = ll.width,\n llHeight = ll.height,\n llItems = ll.items;\n var width = hl_lh_hh.width;\n var height = hl_lh_hh.height;\n var items = hl_lh_hh.items;\n var i, j, k, l, u, v;\n\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n\n llItems = ll.items = null;\n var bufferPadding = 4;\n var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n if (width === 1) {\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n }\n }\n\n var numBuffers = 16;\n var colBuffers = [];\n\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n\n var b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n\n if (height === 1) {\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n var buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return {\n width: width,\n height: height,\n items: items\n };\n };\n\n return Transform;\n }();\n\n var IrreversibleTransform = function IrreversibleTransformClosure() {\n function IrreversibleTransform() {\n Transform.call(this);\n }\n\n IrreversibleTransform.prototype = Object.create(Transform.prototype);\n\n IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n, current, next;\n var alpha = -1.586134342059924;\n var beta = -0.052980118572961;\n var gamma = 0.882911075530934;\n var delta = 0.443506852043971;\n var K = 1.230174104914001;\n var K_ = 1 / K;\n j = offset - 3;\n\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n j = offset - 2;\n current = delta * x[j - 1];\n\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n j = offset - 1;\n current = gamma * x[j - 1];\n\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n j = offset;\n current = beta * x[j - 1];\n\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n };\n\n return IrreversibleTransform;\n }();\n\n var ReversibleTransform = function ReversibleTransformClosure() {\n function ReversibleTransform() {\n Transform.call(this);\n }\n\n ReversibleTransform.prototype = Object.create(Transform.prototype);\n\n ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += x[j - 1] + x[j + 1] >> 1;\n }\n };\n\n return ReversibleTransform;\n }();\n\n return JpxImage;\n}();\n\nexports.JpxImage = JpxImage;\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.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _stream = __w_pdfjs_require__(190);\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 ARCFourCipher = function ARCFourCipherClosure() {\n function ARCFourCipher(key) {\n this.a = 0;\n this.b = 0;\n var s = new Uint8Array(256);\n var i,\n j = 0,\n tmp,\n keyLength = key.length;\n\n for (i = 0; i < 256; ++i) {\n s[i] = i;\n }\n\n for (i = 0; i < 256; ++i) {\n tmp = s[i];\n j = j + tmp + key[i % keyLength] & 0xFF;\n s[i] = s[j];\n s[j] = tmp;\n }\n\n this.s = s;\n }\n\n ARCFourCipher.prototype = {\n encryptBlock: function ARCFourCipher_encryptBlock(data) {\n var i,\n n = data.length,\n tmp,\n tmp2;\n var a = this.a,\n b = this.b,\n s = this.s;\n var output = new Uint8Array(n);\n\n for (i = 0; i < n; ++i) {\n a = a + 1 & 0xFF;\n tmp = s[a];\n b = b + tmp & 0xFF;\n tmp2 = s[b];\n s[a] = tmp2;\n s[b] = tmp;\n output[i] = data[i] ^ s[tmp + tmp2 & 0xFF];\n }\n\n this.a = a;\n this.b = b;\n return output;\n }\n };\n ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n return ARCFourCipher;\n}();\n\nexports.ARCFourCipher = ARCFourCipher;\n\nvar calculateMD5 = function calculateMD5Closure() {\n var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n function hash(data, offset, length) {\n var h0 = 1732584193,\n h1 = -271733879,\n h2 = -1732584194,\n h3 = 271733878;\n var paddedLength = length + 72 & ~63;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = length << 3 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n var w = new Int32Array(16);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j, i += 4) {\n w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n f,\n g;\n\n for (j = 0; j < 64; ++j) {\n if (j < 16) {\n f = b & c | ~b & d;\n g = j;\n } else if (j < 32) {\n f = d & b | ~d & c;\n g = 5 * j + 1 & 15;\n } else if (j < 48) {\n f = b ^ c ^ d;\n g = 3 * j + 5 & 15;\n } else {\n f = c ^ (b | ~d);\n g = 7 * j & 15;\n }\n\n var tmp = d,\n rotateArg = a + f + k[j] + w[g] | 0,\n rotate = r[j];\n d = c;\n c = b;\n b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n a = tmp;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n }\n\n return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateMD5 = calculateMD5;\n\nvar Word64 = function Word64Closure() {\n function Word64(highInteger, lowInteger) {\n this.high = highInteger | 0;\n this.low = lowInteger | 0;\n }\n\n Word64.prototype = {\n and: function Word64_and(word) {\n this.high &= word.high;\n this.low &= word.low;\n },\n xor: function Word64_xor(word) {\n this.high ^= word.high;\n this.low ^= word.low;\n },\n or: function Word64_or(word) {\n this.high |= word.high;\n this.low |= word.low;\n },\n shiftRight: function Word64_shiftRight(places) {\n if (places >= 32) {\n this.low = this.high >>> places - 32 | 0;\n this.high = 0;\n } else {\n this.low = this.low >>> places | this.high << 32 - places;\n this.high = this.high >>> places | 0;\n }\n },\n shiftLeft: function Word64_shiftLeft(places) {\n if (places >= 32) {\n this.high = this.low << places - 32;\n this.low = 0;\n } else {\n this.high = this.high << places | this.low >>> 32 - places;\n this.low = this.low << places;\n }\n },\n rotateRight: function Word64_rotateRight(places) {\n var low, high;\n\n if (places & 32) {\n high = this.low;\n low = this.high;\n } else {\n low = this.low;\n high = this.high;\n }\n\n places &= 31;\n this.low = low >>> places | high << 32 - places;\n this.high = high >>> places | low << 32 - places;\n },\n not: function Word64_not() {\n this.high = ~this.high;\n this.low = ~this.low;\n },\n add: function Word64_add(word) {\n var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n if (lowAdd > 0xFFFFFFFF) {\n highAdd += 1;\n }\n\n this.low = lowAdd | 0;\n this.high = highAdd | 0;\n },\n copyTo: function Word64_copyTo(bytes, offset) {\n bytes[offset] = this.high >>> 24 & 0xFF;\n bytes[offset + 1] = this.high >> 16 & 0xFF;\n bytes[offset + 2] = this.high >> 8 & 0xFF;\n bytes[offset + 3] = this.high & 0xFF;\n bytes[offset + 4] = this.low >>> 24 & 0xFF;\n bytes[offset + 5] = this.low >> 16 & 0xFF;\n bytes[offset + 6] = this.low >> 8 & 0xFF;\n bytes[offset + 7] = this.low & 0xFF;\n },\n assign: function Word64_assign(word) {\n this.high = word.high;\n this.low = word.low;\n }\n };\n return Word64;\n}();\n\nvar calculateSHA256 = function calculateSHA256Closure() {\n function rotr(x, n) {\n return x >>> n | x << 32 - n;\n }\n\n function ch(x, y, z) {\n return x & y ^ ~x & z;\n }\n\n function maj(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n\n function sigma(x) {\n return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n }\n\n function sigmaPrime(x) {\n return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n }\n\n function littleSigma(x) {\n return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n }\n\n function littleSigmaPrime(x) {\n return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n }\n\n var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n function hash(data, offset, length) {\n var h0 = 0x6a09e667,\n h1 = 0xbb67ae85,\n h2 = 0x3c6ef372,\n h3 = 0xa54ff53a,\n h4 = 0x510e527f,\n h5 = 0x9b05688c,\n h6 = 0x1f83d9ab,\n h7 = 0x5be0cd19;\n var paddedLength = Math.ceil((length + 9) / 64) * 64;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length << 3 & 0xFF;\n var w = new Uint32Array(64);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n i += 4;\n }\n\n for (j = 16; j < 64; ++j) {\n w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n e = h4,\n f = h5,\n g = h6,\n h = h7,\n t1,\n t2;\n\n for (j = 0; j < 64; ++j) {\n t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n t2 = sigma(a) + maj(a, b, c);\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n }\n\n return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateSHA256 = calculateSHA256;\n\nvar calculateSHA512 = function calculateSHA512Closure() {\n function ch(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.not();\n tmp.and(z);\n result.xor(tmp);\n }\n\n function maj(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.and(z);\n result.xor(tmp);\n tmp.assign(y);\n tmp.and(z);\n result.xor(tmp);\n }\n\n function sigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(28);\n tmp.assign(x);\n tmp.rotateRight(34);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(39);\n result.xor(tmp);\n }\n\n function sigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(14);\n tmp.assign(x);\n tmp.rotateRight(18);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(41);\n result.xor(tmp);\n }\n\n function littleSigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(1);\n tmp.assign(x);\n tmp.rotateRight(8);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(7);\n result.xor(tmp);\n }\n\n function littleSigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(19);\n tmp.assign(x);\n tmp.rotateRight(61);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(6);\n result.xor(tmp);\n }\n\n var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n function hash(data, offset, length, mode384) {\n mode384 = !!mode384;\n var h0, h1, h2, h3, h4, h5, h6, h7;\n\n if (!mode384) {\n h0 = new Word64(0x6a09e667, 0xf3bcc908);\n h1 = new Word64(0xbb67ae85, 0x84caa73b);\n h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n h4 = new Word64(0x510e527f, 0xade682d1);\n h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n h7 = new Word64(0x5be0cd19, 0x137e2179);\n } else {\n h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n h1 = new Word64(0x629a292a, 0x367cd507);\n h2 = new Word64(0x9159015a, 0x3070dd17);\n h3 = new Word64(0x152fecd8, 0xf70e5939);\n h4 = new Word64(0x67332667, 0xffc00b31);\n h5 = new Word64(0x8eb44a87, 0x68581511);\n h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n }\n\n var paddedLength = Math.ceil((length + 17) / 128) * 128;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 16;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length << 3 & 0xFF;\n var w = new Array(80);\n\n for (i = 0; i < 80; i++) {\n w[i] = new Word64(0, 0);\n }\n\n var a = new Word64(0, 0),\n b = new Word64(0, 0),\n c = new Word64(0, 0);\n var d = new Word64(0, 0),\n e = new Word64(0, 0),\n f = new Word64(0, 0);\n var g = new Word64(0, 0),\n h = new Word64(0, 0);\n var t1 = new Word64(0, 0),\n t2 = new Word64(0, 0);\n var tmp1 = new Word64(0, 0),\n tmp2 = new Word64(0, 0),\n tmp3;\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n i += 8;\n }\n\n for (j = 16; j < 80; ++j) {\n tmp3 = w[j];\n littleSigmaPrime(tmp3, w[j - 2], tmp2);\n tmp3.add(w[j - 7]);\n littleSigma(tmp1, w[j - 15], tmp2);\n tmp3.add(tmp1);\n tmp3.add(w[j - 16]);\n }\n\n a.assign(h0);\n b.assign(h1);\n c.assign(h2);\n d.assign(h3);\n e.assign(h4);\n f.assign(h5);\n g.assign(h6);\n h.assign(h7);\n\n for (j = 0; j < 80; ++j) {\n t1.assign(h);\n sigmaPrime(tmp1, e, tmp2);\n t1.add(tmp1);\n ch(tmp1, e, f, g, tmp2);\n t1.add(tmp1);\n t1.add(k[j]);\n t1.add(w[j]);\n sigma(t2, a, tmp2);\n maj(tmp1, a, b, c, tmp2);\n t2.add(tmp1);\n tmp3 = h;\n h = g;\n g = f;\n f = e;\n d.add(t1);\n e = d;\n d = c;\n c = b;\n b = a;\n tmp3.assign(t1);\n tmp3.add(t2);\n a = tmp3;\n }\n\n h0.add(a);\n h1.add(b);\n h2.add(c);\n h3.add(d);\n h4.add(e);\n h5.add(f);\n h6.add(g);\n h7.add(h);\n }\n\n var result;\n\n if (!mode384) {\n result = new Uint8Array(64);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n h6.copyTo(result, 48);\n h7.copyTo(result, 56);\n } else {\n result = new Uint8Array(48);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n }\n\n return result;\n }\n\n return hash;\n}();\n\nexports.calculateSHA512 = calculateSHA512;\n\nvar calculateSHA384 = function calculateSHA384Closure() {\n function hash(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n }\n\n return hash;\n}();\n\nexports.calculateSHA384 = calculateSHA384;\n\nvar NullCipher = function NullCipherClosure() {\n function NullCipher() {}\n\n NullCipher.prototype = {\n decryptBlock: function NullCipher_decryptBlock(data) {\n return data;\n }\n };\n return NullCipher;\n}();\n\nvar AESBaseCipher =\n/*#__PURE__*/\nfunction () {\n function AESBaseCipher() {\n _classCallCheck(this, AESBaseCipher);\n\n if (this.constructor === AESBaseCipher) {\n (0, _util.unreachable)('Cannot initialize AESBaseCipher.');\n }\n\n this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n this._mixCol = new Uint8Array(256);\n\n for (var i = 0; i < 256; i++) {\n if (i < 128) {\n this._mixCol[i] = i << 1;\n } else {\n this._mixCol[i] = i << 1 ^ 0x1b;\n }\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferPosition = 0;\n }\n\n _createClass(AESBaseCipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n (0, _util.unreachable)('Cannot call `_expandKey` on the base class');\n }\n }, {\n key: \"_decrypt\",\n value: function _decrypt(input, key) {\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n\n for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j = 0; _j < 16; ++_j) {\n state[_j] = this._inv_s[state[_j]];\n }\n\n for (var _j2 = 0, _k = i * 16; _j2 < 16; ++_j2, ++_k) {\n state[_j2] ^= key[_k];\n }\n\n for (var _j3 = 0; _j3 < 16; _j3 += 4) {\n var s0 = this._mix[state[_j3]];\n var s1 = this._mix[state[_j3 + 1]];\n var s2 = this._mix[state[_j3 + 2]];\n var s3 = this._mix[state[_j3 + 3]];\n t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n state[_j3] = t >>> 24 & 0xFF;\n state[_j3 + 1] = t >> 16 & 0xFF;\n state[_j3 + 2] = t >> 8 & 0xFF;\n state[_j3 + 3] = t & 0xFF;\n }\n }\n\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j4 = 0; _j4 < 16; ++_j4) {\n state[_j4] = this._inv_s[state[_j4]];\n state[_j4] ^= key[_j4];\n }\n\n return state;\n }\n }, {\n key: \"_encrypt\",\n value: function _encrypt(input, key) {\n var s = this._s;\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0; j < 16; ++j) {\n state[j] ^= key[j];\n }\n\n for (var i = 1; i < this._cyclesOfRepetition; i++) {\n for (var _j5 = 0; _j5 < 16; ++_j5) {\n state[_j5] = s[state[_j5]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j6 = 0; _j6 < 16; _j6 += 4) {\n var s0 = state[_j6 + 0];\n var s1 = state[_j6 + 1];\n var s2 = state[_j6 + 2];\n var s3 = state[_j6 + 3];\n t = s0 ^ s1 ^ s2 ^ s3;\n state[_j6 + 0] ^= t ^ this._mixCol[s0 ^ s1];\n state[_j6 + 1] ^= t ^ this._mixCol[s1 ^ s2];\n state[_j6 + 2] ^= t ^ this._mixCol[s2 ^ s3];\n state[_j6 + 3] ^= t ^ this._mixCol[s3 ^ s0];\n }\n\n for (var _j7 = 0, k = i * 16; _j7 < 16; ++_j7, ++k) {\n state[_j7] ^= key[k];\n }\n }\n\n for (var _j8 = 0; _j8 < 16; ++_j8) {\n state[_j8] = s[state[_j8]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j9 = 0, _k2 = this._keySize; _j9 < 16; ++_j9, ++_k2) {\n state[_j9] ^= key[_k2];\n }\n\n return state;\n }\n }, {\n key: \"_decryptBlock2\",\n value: function _decryptBlock2(data, finalize) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [],\n iv = this.iv;\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n var plain = this._decrypt(buffer, this._key);\n\n for (var j = 0; j < 16; ++j) {\n plain[j] ^= iv[j];\n }\n\n iv = buffer;\n result.push(plain);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n\n if (finalize) {\n var lastBlock = result[result.length - 1];\n var psLen = lastBlock[15];\n\n if (psLen <= 16) {\n for (var _i = 15, ii = 16 - psLen; _i >= ii; --_i) {\n if (lastBlock[_i] !== psLen) {\n psLen = 0;\n break;\n }\n }\n\n outputLength -= psLen;\n result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n }\n }\n\n var output = new Uint8Array(outputLength);\n\n for (var _i2 = 0, _j10 = 0, _ii = result.length; _i2 < _ii; ++_i2, _j10 += 16) {\n output.set(result[_i2], _j10);\n }\n\n return output;\n }\n }, {\n key: \"decryptBlock\",\n value: function decryptBlock(data, finalize) {\n var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n\n if (iv) {\n this.iv = iv;\n } else {\n for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n buffer[bufferLength] = data[i];\n }\n\n if (bufferLength < 16) {\n this.bufferLength = bufferLength;\n return new Uint8Array(0);\n }\n\n this.iv = buffer;\n data = data.subarray(16);\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferLength = 0;\n this.decryptBlock = this._decryptBlock2;\n return this.decryptBlock(data, finalize);\n }\n }, {\n key: \"encrypt\",\n value: function encrypt(data, iv) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [];\n\n if (!iv) {\n iv = new Uint8Array(16);\n }\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n for (var j = 0; j < 16; ++j) {\n buffer[j] ^= iv[j];\n }\n\n var cipher = this._encrypt(buffer, this._key);\n\n iv = cipher;\n result.push(cipher);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n var output = new Uint8Array(outputLength);\n\n for (var _i3 = 0, _j11 = 0, ii = result.length; _i3 < ii; ++_i3, _j11 += 16) {\n output.set(result[_i3], _j11);\n }\n\n return output;\n }\n }]);\n\n return AESBaseCipher;\n}();\n\nvar AES128Cipher =\n/*#__PURE__*/\nfunction (_AESBaseCipher) {\n _inherits(AES128Cipher, _AESBaseCipher);\n\n function AES128Cipher(key) {\n var _this;\n\n _classCallCheck(this, AES128Cipher);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AES128Cipher).call(this));\n _this._cyclesOfRepetition = 10;\n _this._keySize = 160;\n _this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n _this._key = _this._expandKey(key);\n return _this;\n }\n\n _createClass(AES128Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 176;\n var s = this._s;\n var rcon = this._rcon;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n\n for (var j = 16, i = 1; j < b; ++i) {\n var t1 = result[j - 3];\n var t2 = result[j - 2];\n var t3 = result[j - 1];\n var t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ rcon[i];\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 16];\n j++;\n result[j] = t2 ^= result[j - 16];\n j++;\n result[j] = t3 ^= result[j - 16];\n j++;\n result[j] = t4 ^= result[j - 16];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES128Cipher;\n}(AESBaseCipher);\n\nexports.AES128Cipher = AES128Cipher;\n\nvar AES256Cipher =\n/*#__PURE__*/\nfunction (_AESBaseCipher2) {\n _inherits(AES256Cipher, _AESBaseCipher2);\n\n function AES256Cipher(key) {\n var _this2;\n\n _classCallCheck(this, AES256Cipher);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AES256Cipher).call(this));\n _this2._cyclesOfRepetition = 14;\n _this2._keySize = 224;\n _this2._key = _this2._expandKey(key);\n return _this2;\n }\n\n _createClass(AES256Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 240;\n var s = this._s;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n var r = 1;\n var t1, t2, t3, t4;\n\n for (var j = 32, i = 1; j < b; ++i) {\n if (j % 32 === 16) {\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n } else if (j % 32 === 0) {\n t1 = result[j - 3];\n t2 = result[j - 2];\n t3 = result[j - 1];\n t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ r;\n\n if ((r <<= 1) >= 256) {\n r = (r ^ 0x1b) & 0xFF;\n }\n }\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 32];\n j++;\n result[j] = t2 ^= result[j - 32];\n j++;\n result[j] = t3 ^= result[j - 32];\n j++;\n result[j] = t4 ^= result[j - 32];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES256Cipher;\n}(AESBaseCipher);\n\nexports.AES256Cipher = AES256Cipher;\n\nvar PDF17 = function PDF17Closure() {\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function PDF17() {}\n\n PDF17.prototype = {\n checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF17;\n}();\n\nexports.PDF17 = PDF17;\n\nvar PDF20 = function PDF20Closure() {\n function concatArrays(array1, array2) {\n var t = new Uint8Array(array1.length + array2.length);\n t.set(array1, 0);\n t.set(array2, array1.length);\n return t;\n }\n\n function calculatePDF20Hash(password, input, userBytes) {\n var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n var e = [0];\n var i = 0;\n\n while (i < 64 || e[e.length - 1] > i - 32) {\n var arrayLength = password.length + k.length + userBytes.length;\n var k1 = new Uint8Array(arrayLength * 64);\n var array = concatArrays(password, k);\n array = concatArrays(array, userBytes);\n\n for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n k1.set(array, pos);\n }\n\n var cipher = new AES128Cipher(k.subarray(0, 16));\n e = cipher.encrypt(k1, k.subarray(16, 32));\n var remainder = 0;\n\n for (var z = 0; z < 16; z++) {\n remainder *= 256 % 3;\n remainder %= 3;\n remainder += (e[z] >>> 0) % 3;\n remainder %= 3;\n }\n\n if (remainder === 0) {\n k = calculateSHA256(e, 0, e.length);\n } else if (remainder === 1) {\n k = calculateSHA384(e, 0, e.length);\n } else if (remainder === 2) {\n k = calculateSHA512(e, 0, e.length);\n }\n\n i++;\n }\n\n return k.subarray(0, 32);\n }\n\n function PDF20() {}\n\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n PDF20.prototype = {\n hash: function PDF20_hash(password, concatBytes, userBytes) {\n return calculatePDF20Hash(password, concatBytes, userBytes);\n },\n checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculatePDF20Hash(password, hashData, userBytes);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculatePDF20Hash(password, hashData, []);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculatePDF20Hash(password, hashData, userBytes);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculatePDF20Hash(password, hashData, []);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF20;\n}();\n\nexports.PDF20 = PDF20;\n\nvar CipherTransform = function CipherTransformClosure() {\n function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n this.StringCipherConstructor = stringCipherConstructor;\n this.StreamCipherConstructor = streamCipherConstructor;\n }\n\n CipherTransform.prototype = {\n createStream: function CipherTransform_createStream(stream, length) {\n var cipher = new this.StreamCipherConstructor();\n return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n return cipher.decryptBlock(data, finalize);\n });\n },\n decryptString: function CipherTransform_decryptString(s) {\n var cipher = new this.StringCipherConstructor();\n var data = (0, _util.stringToBytes)(s);\n data = cipher.decryptBlock(data, true);\n return (0, _util.bytesToString)(data);\n }\n };\n return CipherTransform;\n}();\n\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n if (password) {\n var passwordLength = Math.min(127, password.length);\n password = password.subarray(0, passwordLength);\n } else {\n password = [];\n }\n\n var pdfAlgorithm;\n\n if (revision === 6) {\n pdfAlgorithm = new PDF20();\n } else {\n pdfAlgorithm = new PDF17();\n }\n\n if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n }\n\n return null;\n }\n\n function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n var hashDataSize = 40 + ownerPassword.length + fileId.length;\n var hashData = new Uint8Array(hashDataSize),\n i = 0,\n j,\n n;\n\n if (password) {\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n for (j = 0, n = ownerPassword.length; j < n; ++j) {\n hashData[i++] = ownerPassword[j];\n }\n\n hashData[i++] = flags & 0xFF;\n hashData[i++] = flags >> 8 & 0xFF;\n hashData[i++] = flags >> 16 & 0xFF;\n hashData[i++] = flags >>> 24 & 0xFF;\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n if (revision >= 4 && !encryptMetadata) {\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, keyLengthInBytes);\n }\n }\n\n var encryptionKey = hash.subarray(0, keyLengthInBytes);\n var cipher, checkData;\n\n if (revision >= 3) {\n for (i = 0; i < 32; ++i) {\n hashData[i] = defaultPasswordBytes[i];\n }\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n n = encryptionKey.length;\n var derivedKey = new Uint8Array(n),\n k;\n\n for (j = 1; j <= 19; ++j) {\n for (k = 0; k < n; ++k) {\n derivedKey[k] = encryptionKey[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n checkData = cipher.encryptBlock(checkData);\n }\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n } else {\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n }\n\n return encryptionKey;\n }\n\n function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n var hashData = new Uint8Array(32),\n i = 0,\n j,\n n;\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, hash.length);\n }\n }\n\n var cipher, userPassword;\n\n if (revision >= 3) {\n userPassword = ownerPassword;\n var derivedKey = new Uint8Array(keyLengthInBytes),\n k;\n\n for (j = 19; j >= 0; j--) {\n for (k = 0; k < keyLengthInBytes; ++k) {\n derivedKey[k] = hash[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n userPassword = cipher.encryptBlock(userPassword);\n }\n } else {\n cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n userPassword = cipher.encryptBlock(ownerPassword);\n }\n\n return userPassword;\n }\n\n var identityName = _primitives.Name.get('Identity');\n\n function CipherTransformFactory(dict, fileId, password) {\n var filter = dict.get('Filter');\n\n if (!(0, _primitives.isName)(filter, 'Standard')) {\n throw new _util.FormatError('unknown encryption method');\n }\n\n this.dict = dict;\n var algorithm = dict.get('V');\n\n if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n throw new _util.FormatError('unsupported encryption algorithm');\n }\n\n this.algorithm = algorithm;\n var keyLength = dict.get('Length');\n\n if (!keyLength) {\n if (algorithm <= 3) {\n keyLength = 40;\n } else {\n var cfDict = dict.get('CF');\n var streamCryptoName = dict.get('StmF');\n\n if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n cfDict.suppressEncryption = true;\n var handlerDict = cfDict.get(streamCryptoName.name);\n keyLength = handlerDict && handlerDict.get('Length') || 128;\n\n if (keyLength < 40) {\n keyLength <<= 3;\n }\n }\n }\n }\n\n if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n throw new _util.FormatError('invalid key length');\n }\n\n var ownerPassword = (0, _util.stringToBytes)(dict.get('O')).subarray(0, 32);\n var userPassword = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 32);\n var flags = dict.get('P');\n var revision = dict.get('R');\n var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get('EncryptMetadata') !== false;\n this.encryptMetadata = encryptMetadata;\n var fileIdBytes = (0, _util.stringToBytes)(fileId);\n var passwordBytes;\n\n if (password) {\n if (revision === 6) {\n try {\n password = (0, _util.utf8StringToString)(password);\n } catch (ex) {\n (0, _util.warn)('CipherTransformFactory: ' + 'Unable to convert UTF8 encoded password.');\n }\n }\n\n passwordBytes = (0, _util.stringToBytes)(password);\n }\n\n var encryptionKey;\n\n if (algorithm !== 5) {\n encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n } else {\n var ownerValidationSalt = (0, _util.stringToBytes)(dict.get('O')).subarray(32, 40);\n var ownerKeySalt = (0, _util.stringToBytes)(dict.get('O')).subarray(40, 48);\n var uBytes = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 48);\n var userValidationSalt = (0, _util.stringToBytes)(dict.get('U')).subarray(32, 40);\n var userKeySalt = (0, _util.stringToBytes)(dict.get('U')).subarray(40, 48);\n var ownerEncryption = (0, _util.stringToBytes)(dict.get('OE'));\n var userEncryption = (0, _util.stringToBytes)(dict.get('UE'));\n var perms = (0, _util.stringToBytes)(dict.get('Perms'));\n encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n }\n\n if (!encryptionKey && !password) {\n throw new _util.PasswordException('No password given', _util.PasswordResponses.NEED_PASSWORD);\n } else if (!encryptionKey && password) {\n var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n }\n\n if (!encryptionKey) {\n throw new _util.PasswordException('Incorrect Password', _util.PasswordResponses.INCORRECT_PASSWORD);\n }\n\n this.encryptionKey = encryptionKey;\n\n if (algorithm >= 4) {\n var cf = dict.get('CF');\n\n if ((0, _primitives.isDict)(cf)) {\n cf.suppressEncryption = true;\n }\n\n this.cf = cf;\n this.stmf = dict.get('StmF') || identityName;\n this.strf = dict.get('StrF') || identityName;\n this.eff = dict.get('EFF') || this.stmf;\n }\n }\n\n function buildObjectKey(num, gen, encryptionKey, isAes) {\n var key = new Uint8Array(encryptionKey.length + 9),\n i,\n n;\n\n for (i = 0, n = encryptionKey.length; i < n; ++i) {\n key[i] = encryptionKey[i];\n }\n\n key[i++] = num & 0xFF;\n key[i++] = num >> 8 & 0xFF;\n key[i++] = num >> 16 & 0xFF;\n key[i++] = gen & 0xFF;\n key[i++] = gen >> 8 & 0xFF;\n\n if (isAes) {\n key[i++] = 0x73;\n key[i++] = 0x41;\n key[i++] = 0x6C;\n key[i++] = 0x54;\n }\n\n var hash = calculateMD5(key, 0, i);\n return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n }\n\n function buildCipherConstructor(cf, name, num, gen, key) {\n if (!(0, _primitives.isName)(name)) {\n throw new _util.FormatError('Invalid crypt filter name.');\n }\n\n var cryptFilter = cf.get(name.name);\n var cfm;\n\n if (cryptFilter !== null && cryptFilter !== undefined) {\n cfm = cryptFilter.get('CFM');\n }\n\n if (!cfm || cfm.name === 'None') {\n return function cipherTransformFactoryBuildCipherConstructorNone() {\n return new NullCipher();\n };\n }\n\n if (cfm.name === 'V2') {\n return function cipherTransformFactoryBuildCipherConstructorV2() {\n return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n };\n }\n\n if (cfm.name === 'AESV2') {\n return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n return new AES128Cipher(buildObjectKey(num, gen, key, true));\n };\n }\n\n if (cfm.name === 'AESV3') {\n return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n return new AES256Cipher(key);\n };\n }\n\n throw new _util.FormatError('Unknown crypto method');\n }\n\n CipherTransformFactory.prototype = {\n createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n if (this.algorithm === 4 || this.algorithm === 5) {\n return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n }\n\n var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n var cipherConstructor = function buildCipherCipherConstructor() {\n return new ARCFourCipher(key);\n };\n\n return new CipherTransform(cipherConstructor, cipherConstructor);\n }\n };\n return CipherTransformFactory;\n}();\n\nexports.CipherTransformFactory = CipherTransformFactory;\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.ColorSpace = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\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\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n var COMPONENTS = 3;\n alpha01 = alpha01 !== 1 ? 0 : alpha01;\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1 * COMPONENTS;\n\n for (var i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n }\n\n for (var _i = 0; _i < h2; _i++) {\n var py = Math.floor(_i * yRatio) * w1Scanline;\n\n for (var j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n newIndex += alpha01;\n }\n }\n}\n\nvar ColorSpace =\n/*#__PURE__*/\nfunction () {\n function ColorSpace(name, numComps) {\n _classCallCheck(this, ColorSpace);\n\n if (this.constructor === ColorSpace) {\n (0, _util.unreachable)('Cannot initialize ColorSpace.');\n }\n\n this.name = name;\n this.numComps = numComps;\n }\n\n _createClass(ColorSpace, [{\n key: \"getRgb\",\n value: function getRgb(src, srcOffset) {\n var rgb = new Uint8ClampedArray(3);\n this.getRgbItem(src, srcOffset, rgb, 0);\n return rgb;\n }\n }, {\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n (0, _util.unreachable)('Should not call ColorSpace.getRgbItem');\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n (0, _util.unreachable)('Should not call ColorSpace.getRgbBuffer');\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n (0, _util.unreachable)('Should not call ColorSpace.getOutputLength');\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return false;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n }\n }, {\n key: \"fillRgb\",\n value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n var count = originalWidth * originalHeight;\n var rgbBuf = null;\n var numComponentColors = 1 << bpc;\n var needsResizing = originalHeight !== height || originalWidth !== width;\n\n if (this.isPassthrough(bpc)) {\n rgbBuf = comps;\n } else if (this.numComps === 1 && count > numComponentColors && this.name !== 'DeviceGray' && this.name !== 'DeviceRGB') {\n var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n\n for (var i = 0; i < numComponentColors; i++) {\n allColors[i] = i;\n }\n\n var colorMap = new Uint8ClampedArray(numComponentColors * 3);\n this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n\n if (!needsResizing) {\n var destPos = 0;\n\n for (var _i2 = 0; _i2 < count; ++_i2) {\n var key = comps[_i2] * 3;\n dest[destPos++] = colorMap[key];\n dest[destPos++] = colorMap[key + 1];\n dest[destPos++] = colorMap[key + 2];\n destPos += alpha01;\n }\n } else {\n rgbBuf = new Uint8Array(count * 3);\n var rgbPos = 0;\n\n for (var _i3 = 0; _i3 < count; ++_i3) {\n var _key = comps[_i3] * 3;\n\n rgbBuf[rgbPos++] = colorMap[_key];\n rgbBuf[rgbPos++] = colorMap[_key + 1];\n rgbBuf[rgbPos++] = colorMap[_key + 2];\n }\n }\n } else {\n if (!needsResizing) {\n this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n } else {\n rgbBuf = new Uint8ClampedArray(count * 3);\n this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n }\n }\n\n if (rgbBuf) {\n if (needsResizing) {\n resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n } else {\n var _destPos = 0,\n _rgbPos = 0;\n\n for (var _i4 = 0, ii = width * actualHeight; _i4 < ii; _i4++) {\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n _destPos += alpha01;\n }\n }\n }\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, 'usesZeroToOneRange', true);\n }\n }], [{\n key: \"parse\",\n value: function parse(cs, xref, res, pdfFunctionFactory) {\n var IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);\n return this.fromIR(IR);\n }\n }, {\n key: \"fromIR\",\n value: function fromIR(IR) {\n var name = Array.isArray(IR) ? IR[0] : IR;\n var whitePoint, blackPoint, gamma;\n\n switch (name) {\n case 'DeviceGrayCS':\n return this.singletons.gray;\n\n case 'DeviceRgbCS':\n return this.singletons.rgb;\n\n case 'DeviceCmykCS':\n return this.singletons.cmyk;\n\n case 'CalGrayCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n return new CalGrayCS(whitePoint, blackPoint, gamma);\n\n case 'CalRGBCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n var matrix = IR[4];\n return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n\n case 'PatternCS':\n var basePatternCS = IR[1];\n\n if (basePatternCS) {\n basePatternCS = this.fromIR(basePatternCS);\n }\n\n return new PatternCS(basePatternCS);\n\n case 'IndexedCS':\n var baseIndexedCS = IR[1];\n var hiVal = IR[2];\n var lookup = IR[3];\n return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);\n\n case 'AlternateCS':\n var numComps = IR[1];\n var alt = IR[2];\n var tintFn = IR[3];\n return new AlternateCS(numComps, this.fromIR(alt), tintFn);\n\n case 'LabCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n var range = IR[3];\n return new LabCS(whitePoint, blackPoint, range);\n\n default:\n throw new _util.FormatError(\"Unknown colorspace name: \".concat(name));\n }\n }\n }, {\n key: \"parseToIR\",\n value: function parseToIR(cs, xref) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;\n cs = xref.fetchIfRef(cs);\n\n if ((0, _primitives.isName)(cs)) {\n switch (cs.name) {\n case 'DeviceGray':\n case 'G':\n return 'DeviceGrayCS';\n\n case 'DeviceRGB':\n case 'RGB':\n return 'DeviceRgbCS';\n\n case 'DeviceCMYK':\n case 'CMYK':\n return 'DeviceCmykCS';\n\n case 'Pattern':\n return ['PatternCS', null];\n\n default:\n if ((0, _primitives.isDict)(res)) {\n var colorSpaces = res.get('ColorSpace');\n\n if ((0, _primitives.isDict)(colorSpaces)) {\n var resCS = colorSpaces.get(cs.name);\n\n if (resCS) {\n if ((0, _primitives.isName)(resCS)) {\n return this.parseToIR(resCS, xref, res, pdfFunctionFactory);\n }\n\n cs = resCS;\n break;\n }\n }\n }\n\n throw new _util.FormatError(\"unrecognized colorspace \".concat(cs.name));\n }\n }\n\n if (Array.isArray(cs)) {\n var mode = xref.fetchIfRef(cs[0]).name;\n var numComps, params, alt, whitePoint, blackPoint, gamma;\n\n switch (mode) {\n case 'DeviceGray':\n case 'G':\n return 'DeviceGrayCS';\n\n case 'DeviceRGB':\n case 'RGB':\n return 'DeviceRgbCS';\n\n case 'DeviceCMYK':\n case 'CMYK':\n return 'DeviceCmykCS';\n\n case 'CalGray':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n gamma = params.get('Gamma');\n return ['CalGrayCS', whitePoint, blackPoint, gamma];\n\n case 'CalRGB':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n gamma = params.getArray('Gamma');\n var matrix = params.getArray('Matrix');\n return ['CalRGBCS', whitePoint, blackPoint, gamma, matrix];\n\n case 'ICCBased':\n var stream = xref.fetchIfRef(cs[1]);\n var dict = stream.dict;\n numComps = dict.get('N');\n alt = dict.get('Alternate');\n\n if (alt) {\n var altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);\n var altCS = this.fromIR(altIR, pdfFunctionFactory);\n\n if (altCS.numComps === numComps) {\n return altIR;\n }\n\n (0, _util.warn)('ICCBased color space: Ignoring incorrect /Alternate entry.');\n }\n\n if (numComps === 1) {\n return 'DeviceGrayCS';\n } else if (numComps === 3) {\n return 'DeviceRgbCS';\n } else if (numComps === 4) {\n return 'DeviceCmykCS';\n }\n\n break;\n\n case 'Pattern':\n var basePatternCS = cs[1] || null;\n\n if (basePatternCS) {\n basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);\n }\n\n return ['PatternCS', basePatternCS];\n\n case 'Indexed':\n case 'I':\n var baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);\n var hiVal = xref.fetchIfRef(cs[2]) + 1;\n var lookup = xref.fetchIfRef(cs[3]);\n\n if ((0, _primitives.isStream)(lookup)) {\n lookup = lookup.getBytes();\n }\n\n return ['IndexedCS', baseIndexedCS, hiVal, lookup];\n\n case 'Separation':\n case 'DeviceN':\n var name = xref.fetchIfRef(cs[1]);\n numComps = Array.isArray(name) ? name.length : 1;\n alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);\n var tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));\n return ['AlternateCS', numComps, alt, tintFn];\n\n case 'Lab':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n var range = params.getArray('Range');\n return ['LabCS', whitePoint, blackPoint, range];\n\n default:\n throw new _util.FormatError(\"unimplemented color space object \\\"\".concat(mode, \"\\\"\"));\n }\n }\n\n throw new _util.FormatError(\"unrecognized color space object: \\\"\".concat(cs, \"\\\"\"));\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decode, numComps) {\n if (!Array.isArray(decode)) {\n return true;\n }\n\n if (numComps * 2 !== decode.length) {\n (0, _util.warn)('The decode map is not the correct length');\n return true;\n }\n\n for (var i = 0, ii = decode.length; i < ii; i += 2) {\n if (decode[i] !== 0 || decode[i + 1] !== 1) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"singletons\",\n get: function get() {\n return (0, _util.shadow)(this, 'singletons', {\n get gray() {\n return (0, _util.shadow)(this, 'gray', new DeviceGrayCS());\n },\n\n get rgb() {\n return (0, _util.shadow)(this, 'rgb', new DeviceRgbCS());\n },\n\n get cmyk() {\n return (0, _util.shadow)(this, 'cmyk', new DeviceCmykCS());\n }\n\n });\n }\n }]);\n\n return ColorSpace;\n}();\n\nexports.ColorSpace = ColorSpace;\n\nvar AlternateCS =\n/*#__PURE__*/\nfunction (_ColorSpace) {\n _inherits(AlternateCS, _ColorSpace);\n\n function AlternateCS(numComps, base, tintFn) {\n var _this;\n\n _classCallCheck(this, AlternateCS);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AlternateCS).call(this, 'Alternate', numComps));\n _this.base = base;\n _this.tintFn = tintFn;\n _this.tmpBuf = new Float32Array(base.numComps);\n return _this;\n }\n\n _createClass(AlternateCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var tmpBuf = this.tmpBuf;\n this.tintFn(src, srcOffset, tmpBuf, 0);\n this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var tintFn = this.tintFn;\n var base = this.base;\n var scale = 1 / ((1 << bits) - 1);\n var baseNumComps = base.numComps;\n var usesZeroToOneRange = base.usesZeroToOneRange;\n var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n var pos = isPassthrough ? destOffset : 0;\n var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n var numComps = this.numComps;\n var scaled = new Float32Array(numComps);\n var tinted = new Float32Array(baseNumComps);\n var i, j;\n\n for (i = 0; i < count; i++) {\n for (j = 0; j < numComps; j++) {\n scaled[j] = src[srcOffset++] * scale;\n }\n\n tintFn(scaled, 0, tinted, 0);\n\n if (usesZeroToOneRange) {\n for (j = 0; j < baseNumComps; j++) {\n baseBuf[pos++] = tinted[j] * 255;\n }\n } else {\n base.getRgbItem(tinted, 0, baseBuf, pos);\n pos += baseNumComps;\n }\n }\n\n if (!isPassthrough) {\n base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n }\n }]);\n\n return AlternateCS;\n}(ColorSpace);\n\nvar PatternCS =\n/*#__PURE__*/\nfunction (_ColorSpace2) {\n _inherits(PatternCS, _ColorSpace2);\n\n function PatternCS(baseCS) {\n var _this2;\n\n _classCallCheck(this, PatternCS);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(PatternCS).call(this, 'Pattern', null));\n _this2.base = baseCS;\n return _this2;\n }\n\n _createClass(PatternCS, [{\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n (0, _util.unreachable)('Should not call PatternCS.isDefaultDecode');\n }\n }]);\n\n return PatternCS;\n}(ColorSpace);\n\nvar IndexedCS =\n/*#__PURE__*/\nfunction (_ColorSpace3) {\n _inherits(IndexedCS, _ColorSpace3);\n\n function IndexedCS(base, highVal, lookup) {\n var _this3;\n\n _classCallCheck(this, IndexedCS);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(IndexedCS).call(this, 'Indexed', 1));\n _this3.base = base;\n _this3.highVal = highVal;\n var baseNumComps = base.numComps;\n var length = baseNumComps * highVal;\n\n if ((0, _primitives.isStream)(lookup)) {\n _this3.lookup = new Uint8Array(length);\n var bytes = lookup.getBytes(length);\n\n _this3.lookup.set(bytes);\n } else if ((0, _util.isString)(lookup)) {\n _this3.lookup = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n _this3.lookup[i] = lookup.charCodeAt(i);\n }\n } else if (lookup instanceof Uint8Array) {\n _this3.lookup = lookup;\n } else {\n throw new _util.FormatError(\"Unrecognized lookup table: \".concat(lookup));\n }\n\n return _this3;\n }\n\n _createClass(IndexedCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var numComps = this.base.numComps;\n var start = src[srcOffset] * numComps;\n this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var base = this.base;\n var numComps = base.numComps;\n var outputDelta = base.getOutputLength(numComps, alpha01);\n var lookup = this.lookup;\n\n for (var i = 0; i < count; ++i) {\n var lookupPos = src[srcOffset++] * numComps;\n base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n destOffset += outputDelta;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n if (!Array.isArray(decodeMap)) {\n return true;\n }\n\n if (decodeMap.length !== 2) {\n (0, _util.warn)('Decode map length is not correct');\n return true;\n }\n\n if (!Number.isInteger(bpc) || bpc < 1) {\n (0, _util.warn)('Bits per component is not correct');\n return true;\n }\n\n return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n }\n }]);\n\n return IndexedCS;\n}(ColorSpace);\n\nvar DeviceGrayCS =\n/*#__PURE__*/\nfunction (_ColorSpace4) {\n _inherits(DeviceGrayCS, _ColorSpace4);\n\n function DeviceGrayCS() {\n _classCallCheck(this, DeviceGrayCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceGrayCS).call(this, 'DeviceGray', 1));\n }\n\n _createClass(DeviceGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var c = src[srcOffset] * 255;\n dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n var c = scale * src[j++];\n dest[q++] = c;\n dest[q++] = c;\n dest[q++] = c;\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return DeviceGrayCS;\n}(ColorSpace);\n\nvar DeviceRgbCS =\n/*#__PURE__*/\nfunction (_ColorSpace5) {\n _inherits(DeviceRgbCS, _ColorSpace5);\n\n function DeviceRgbCS() {\n _classCallCheck(this, DeviceRgbCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceRgbCS).call(this, 'DeviceRGB', 3));\n }\n\n _createClass(DeviceRgbCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n dest[destOffset] = src[srcOffset] * 255;\n dest[destOffset + 1] = src[srcOffset + 1] * 255;\n dest[destOffset + 2] = src[srcOffset + 2] * 255;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n if (bits === 8 && alpha01 === 0) {\n dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n return;\n }\n\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return bits === 8;\n }\n }]);\n\n return DeviceRgbCS;\n}(ColorSpace);\n\nvar DeviceCmykCS = function DeviceCmykCSClosure() {\n function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n var c = src[srcOffset] * srcScale;\n var m = src[srcOffset + 1] * srcScale;\n var y = src[srcOffset + 2] * srcScale;\n var k = src[srcOffset + 3] * srcScale;\n dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n }\n\n var DeviceCmykCS =\n /*#__PURE__*/\n function (_ColorSpace6) {\n _inherits(DeviceCmykCS, _ColorSpace6);\n\n function DeviceCmykCS() {\n _classCallCheck(this, DeviceCmykCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceCmykCS).call(this, 'DeviceCMYK', 4));\n }\n\n _createClass(DeviceCmykCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(src, srcOffset, 1, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; i++) {\n convertToRgb(src, srcOffset, scale, dest, destOffset);\n srcOffset += 4;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength / 4 * (3 + alpha01) | 0;\n }\n }]);\n\n return DeviceCmykCS;\n }(ColorSpace);\n\n return DeviceCmykCS;\n}();\n\nvar CalGrayCS = function CalGrayCSClosure() {\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = src[srcOffset] * scale;\n var AG = Math.pow(A, cs.G);\n var L = cs.YW * AG;\n var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);\n dest[destOffset] = val;\n dest[destOffset + 1] = val;\n dest[destOffset + 2] = val;\n }\n\n var CalGrayCS =\n /*#__PURE__*/\n function (_ColorSpace7) {\n _inherits(CalGrayCS, _ColorSpace7);\n\n function CalGrayCS(whitePoint, blackPoint, gamma) {\n var _this4;\n\n _classCallCheck(this, CalGrayCS);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(CalGrayCS).call(this, 'CalGray', 1));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space CalGray');\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n gamma = gamma || 1;\n _this4.XW = whitePoint[0];\n _this4.YW = whitePoint[1];\n _this4.ZW = whitePoint[2];\n _this4.XB = blackPoint[0];\n _this4.YB = blackPoint[1];\n _this4.ZB = blackPoint[2];\n _this4.G = gamma;\n\n if (_this4.XW < 0 || _this4.ZW < 0 || _this4.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this4.name) + ', no fallback available');\n }\n\n if (_this4.XB < 0 || _this4.YB < 0 || _this4.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this4.name, \", falling back to default.\"));\n _this4.XB = _this4.YB = _this4.ZB = 0;\n }\n\n if (_this4.XB !== 0 || _this4.YB !== 0 || _this4.ZB !== 0) {\n (0, _util.warn)(\"\".concat(_this4.name, \", BlackPoint: XB: \").concat(_this4.XB, \", YB: \").concat(_this4.YB, \", \") + \"ZB: \".concat(_this4.ZB, \", only default values are supported.\"));\n }\n\n if (_this4.G < 1) {\n (0, _util.info)(\"Invalid Gamma: \".concat(_this4.G, \" for \").concat(_this4.name, \", \") + 'falling back to default.');\n _this4.G = 1;\n }\n\n return _this4;\n }\n\n _createClass(CalGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 1;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return CalGrayCS;\n }(ColorSpace);\n\n return CalGrayCS;\n}();\n\nvar CalRGBCS = function CalRGBCSClosure() {\n var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n var tempNormalizeMatrix = new Float32Array(3);\n var tempConvertMatrix1 = new Float32Array(3);\n var tempConvertMatrix2 = new Float32Array(3);\n var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n\n function matrixProduct(a, b, result) {\n result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n }\n\n function convertToFlat(sourceWhitePoint, LMS, result) {\n result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n }\n\n function convertToD65(sourceWhitePoint, LMS, result) {\n var D65X = 0.95047;\n var D65Y = 1;\n var D65Z = 1.08883;\n result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n }\n\n function sRGBTransferFunction(color) {\n if (color <= 0.0031308) {\n return adjustToRange(0, 1, 12.92 * color);\n }\n\n return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);\n }\n\n function adjustToRange(min, max, value) {\n return Math.max(min, Math.min(max, value));\n }\n\n function decodeL(L) {\n if (L < 0) {\n return -decodeL(-L);\n }\n\n if (L > 8.0) {\n return Math.pow((L + 16) / 116, 3);\n }\n\n return L * DECODE_L_CONSTANT;\n }\n\n function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n result[0] = XYZ_Flat[0];\n result[1] = XYZ_Flat[1];\n result[2] = XYZ_Flat[2];\n return;\n }\n\n var zeroDecodeL = decodeL(0);\n var X_DST = zeroDecodeL;\n var X_SRC = decodeL(sourceBlackPoint[0]);\n var Y_DST = zeroDecodeL;\n var Y_SRC = decodeL(sourceBlackPoint[1]);\n var Z_DST = zeroDecodeL;\n var Z_SRC = decodeL(sourceBlackPoint[2]);\n var X_Scale = (1 - X_DST) / (1 - X_SRC);\n var X_Offset = 1 - X_Scale;\n var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n var Y_Offset = 1 - Y_Scale;\n var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n var Z_Offset = 1 - Z_Scale;\n result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n }\n\n function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n result[0] = XYZ_In[0];\n result[1] = XYZ_In[1];\n result[2] = XYZ_In[2];\n return;\n }\n\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_Flat = tempNormalizeMatrix;\n convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n }\n\n function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_D65 = tempNormalizeMatrix;\n convertToD65(sourceWhitePoint, LMS, LMS_D65);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n }\n\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = adjustToRange(0, 1, src[srcOffset] * scale);\n var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n var AGR = Math.pow(A, cs.GR);\n var BGG = Math.pow(B, cs.GG);\n var CGB = Math.pow(C, cs.GB);\n var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n var XYZ = tempConvertMatrix1;\n XYZ[0] = X;\n XYZ[1] = Y;\n XYZ[2] = Z;\n var XYZ_Flat = tempConvertMatrix2;\n normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n var XYZ_Black = tempConvertMatrix1;\n compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n var XYZ_D65 = tempConvertMatrix2;\n normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n var SRGB = tempConvertMatrix1;\n matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n }\n\n var CalRGBCS =\n /*#__PURE__*/\n function (_ColorSpace8) {\n _inherits(CalRGBCS, _ColorSpace8);\n\n function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n var _this5;\n\n _classCallCheck(this, CalRGBCS);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(CalRGBCS).call(this, 'CalRGB', 3));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space CalRGB');\n }\n\n blackPoint = blackPoint || new Float32Array(3);\n gamma = gamma || new Float32Array([1, 1, 1]);\n matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n var XW = whitePoint[0];\n var YW = whitePoint[1];\n var ZW = whitePoint[2];\n _this5.whitePoint = whitePoint;\n var XB = blackPoint[0];\n var YB = blackPoint[1];\n var ZB = blackPoint[2];\n _this5.blackPoint = blackPoint;\n _this5.GR = gamma[0];\n _this5.GG = gamma[1];\n _this5.GB = gamma[2];\n _this5.MXA = matrix[0];\n _this5.MYA = matrix[1];\n _this5.MZA = matrix[2];\n _this5.MXB = matrix[3];\n _this5.MYB = matrix[4];\n _this5.MZB = matrix[5];\n _this5.MXC = matrix[6];\n _this5.MYC = matrix[7];\n _this5.MZC = matrix[8];\n\n if (XW < 0 || ZW < 0 || YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this5.name) + ', no fallback available');\n }\n\n if (XB < 0 || YB < 0 || ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this5.name, \" [\").concat(XB, \", \").concat(YB, \", \").concat(ZB, \"], \") + 'falling back to default.');\n _this5.blackPoint = new Float32Array(3);\n }\n\n if (_this5.GR < 0 || _this5.GG < 0 || _this5.GB < 0) {\n (0, _util.info)(\"Invalid Gamma [\".concat(_this5.GR, \", \").concat(_this5.GG, \", \").concat(_this5.GB, \"] for \") + \"\".concat(_this5.name, \", falling back to default.\"));\n _this5.GR = _this5.GG = _this5.GB = 1;\n }\n\n return _this5;\n }\n\n _createClass(CalRGBCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }]);\n\n return CalRGBCS;\n }(ColorSpace);\n\n return CalRGBCS;\n}();\n\nvar LabCS = function LabCSClosure() {\n function fn_g(x) {\n var result;\n\n if (x >= 6 / 29) {\n result = x * x * x;\n } else {\n result = 108 / 841 * (x - 4 / 29);\n }\n\n return result;\n }\n\n function decode(value, high1, low2, high2) {\n return low2 + value * (high2 - low2) / high1;\n }\n\n function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n var Ls = src[srcOffset];\n var as = src[srcOffset + 1];\n var bs = src[srcOffset + 2];\n\n if (maxVal !== false) {\n Ls = decode(Ls, maxVal, 0, 100);\n as = decode(as, maxVal, cs.amin, cs.amax);\n bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n }\n\n as = as > cs.amax ? cs.amax : as < cs.amin ? cs.amin : as;\n bs = bs > cs.bmax ? cs.bmax : bs < cs.bmin ? cs.bmin : bs;\n var M = (Ls + 16) / 116;\n var L = M + as / 500;\n var N = M - bs / 200;\n var X = cs.XW * fn_g(L);\n var Y = cs.YW * fn_g(M);\n var Z = cs.ZW * fn_g(N);\n var r, g, b;\n\n if (cs.ZW < 1) {\n r = X * 3.1339 + Y * -1.6170 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.9160 + Z * 0.0333;\n b = X * 0.0720 + Y * -0.2290 + Z * 1.4057;\n } else {\n r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n b = X * 0.0557 + Y * -0.2040 + Z * 1.0570;\n }\n\n dest[destOffset] = Math.sqrt(r) * 255;\n dest[destOffset + 1] = Math.sqrt(g) * 255;\n dest[destOffset + 2] = Math.sqrt(b) * 255;\n }\n\n var LabCS =\n /*#__PURE__*/\n function (_ColorSpace9) {\n _inherits(LabCS, _ColorSpace9);\n\n function LabCS(whitePoint, blackPoint, range) {\n var _this6;\n\n _classCallCheck(this, LabCS);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(LabCS).call(this, 'Lab', 3));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space Lab');\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n range = range || [-100, 100, -100, 100];\n _this6.XW = whitePoint[0];\n _this6.YW = whitePoint[1];\n _this6.ZW = whitePoint[2];\n _this6.amin = range[0];\n _this6.amax = range[1];\n _this6.bmin = range[2];\n _this6.bmax = range[3];\n _this6.XB = blackPoint[0];\n _this6.YB = blackPoint[1];\n _this6.ZB = blackPoint[2];\n\n if (_this6.XW < 0 || _this6.ZW < 0 || _this6.YW !== 1) {\n throw new _util.FormatError('Invalid WhitePoint components, no fallback available');\n }\n\n if (_this6.XB < 0 || _this6.YB < 0 || _this6.ZB < 0) {\n (0, _util.info)('Invalid BlackPoint, falling back to default');\n _this6.XB = _this6.YB = _this6.ZB = 0;\n }\n\n if (_this6.amin > _this6.amax || _this6.bmin > _this6.bmax) {\n (0, _util.info)('Invalid Range, falling back to defaults');\n _this6.amin = -100;\n _this6.amax = 100;\n _this6.bmin = -100;\n _this6.bmax = 100;\n }\n\n return _this6;\n }\n\n _createClass(LabCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, false, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var maxVal = (1 << bits) - 1;\n\n for (var i = 0; i < count; i++) {\n convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return true;\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, 'usesZeroToOneRange', false);\n }\n }]);\n\n return LabCS;\n }(ColorSpace);\n\n return LabCS;\n}();\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getQuadPoints = getQuadPoints;\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(188);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _colorspace = __w_pdfjs_require__(201);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar _operator_list = __w_pdfjs_require__(203);\n\nvar _stream = __w_pdfjs_require__(190);\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 _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 AnnotationFactory =\n/*#__PURE__*/\nfunction () {\n function AnnotationFactory() {\n _classCallCheck(this, AnnotationFactory);\n }\n\n _createClass(AnnotationFactory, null, [{\n key: \"create\",\n value: function create(xref, ref, pdfManager, idFactory) {\n return pdfManager.ensure(this, '_create', [xref, ref, pdfManager, idFactory]);\n }\n }, {\n key: \"_create\",\n value: function _create(xref, ref, pdfManager, idFactory) {\n var dict = xref.fetchIfRef(ref);\n\n if (!(0, _primitives.isDict)(dict)) {\n return undefined;\n }\n\n var id = (0, _primitives.isRef)(ref) ? ref.toString() : \"annot_\".concat(idFactory.createObjId());\n var subtype = dict.get('Subtype');\n subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n var parameters = {\n xref: xref,\n dict: dict,\n subtype: subtype,\n id: id,\n pdfManager: pdfManager\n };\n\n switch (subtype) {\n case 'Link':\n return new LinkAnnotation(parameters);\n\n case 'Text':\n return new TextAnnotation(parameters);\n\n case 'Widget':\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'FT'\n });\n fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotation(parameters);\n\n case 'Btn':\n return new ButtonWidgetAnnotation(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotation(parameters);\n }\n\n (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + 'falling back to base field type.');\n return new WidgetAnnotation(parameters);\n\n case 'Popup':\n return new PopupAnnotation(parameters);\n\n case 'FreeText':\n return new FreeTextAnnotation(parameters);\n\n case 'Line':\n return new LineAnnotation(parameters);\n\n case 'Square':\n return new SquareAnnotation(parameters);\n\n case 'Circle':\n return new CircleAnnotation(parameters);\n\n case 'PolyLine':\n return new PolylineAnnotation(parameters);\n\n case 'Polygon':\n return new PolygonAnnotation(parameters);\n\n case 'Caret':\n return new CaretAnnotation(parameters);\n\n case 'Ink':\n return new InkAnnotation(parameters);\n\n case 'Highlight':\n return new HighlightAnnotation(parameters);\n\n case 'Underline':\n return new UnderlineAnnotation(parameters);\n\n case 'Squiggly':\n return new SquigglyAnnotation(parameters);\n\n case 'StrikeOut':\n return new StrikeOutAnnotation(parameters);\n\n case 'Stamp':\n return new StampAnnotation(parameters);\n\n case 'FileAttachment':\n return new FileAttachmentAnnotation(parameters);\n\n default:\n if (!subtype) {\n (0, _util.warn)('Annotation is missing the required /Subtype.');\n } else {\n (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + 'falling back to base annotation.');\n }\n\n return new Annotation(parameters);\n }\n }\n }]);\n\n return AnnotationFactory;\n}();\n\nexports.AnnotationFactory = AnnotationFactory;\n\nfunction getQuadPoints(dict, rect) {\n if (!dict.has('QuadPoints')) {\n return null;\n }\n\n var quadPoints = dict.getArray('QuadPoints');\n\n if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {\n return null;\n }\n\n var quadPointsLists = [];\n\n for (var i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n quadPointsLists.push([]);\n\n for (var j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n var x = quadPoints[j];\n var y = quadPoints[j + 1];\n\n if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {\n return null;\n }\n\n quadPointsLists[i].push({\n x: x,\n y: y\n });\n }\n }\n\n return quadPointsLists;\n}\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n var _Util$getAxialAligned = _util.Util.getAxialAlignedBoundingBox(bbox, matrix),\n _Util$getAxialAligned2 = _slicedToArray(_Util$getAxialAligned, 4),\n minX = _Util$getAxialAligned2[0],\n minY = _Util$getAxialAligned2[1],\n maxX = _Util$getAxialAligned2[2],\n maxY = _Util$getAxialAligned2[3];\n\n if (minX === maxX || minY === maxY) {\n return [1, 0, 0, 1, rect[0], rect[1]];\n }\n\n var xRatio = (rect[2] - rect[0]) / (maxX - minX);\n var yRatio = (rect[3] - rect[1]) / (maxY - minY);\n return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\n\nvar Annotation =\n/*#__PURE__*/\nfunction () {\n function Annotation(params) {\n _classCallCheck(this, Annotation);\n\n var dict = params.dict;\n this.setContents(dict.get('Contents'));\n this.setModificationDate(dict.get('M'));\n this.setFlags(dict.get('F'));\n this.setRectangle(dict.getArray('Rect'));\n this.setColor(dict.getArray('C'));\n this.setBorderStyle(dict);\n this.setAppearance(dict);\n this.data = {\n annotationFlags: this.flags,\n borderStyle: this.borderStyle,\n color: this.color,\n contents: this.contents,\n hasAppearance: !!this.appearance,\n id: params.id,\n modificationDate: this.modificationDate,\n rect: this.rectangle,\n subtype: params.subtype\n };\n }\n\n _createClass(Annotation, [{\n key: \"_hasFlag\",\n value: function _hasFlag(flags, flag) {\n return !!(flags & flag);\n }\n }, {\n key: \"_isViewable\",\n value: function _isViewable(flags) {\n return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n }\n }, {\n key: \"_isPrintable\",\n value: function _isPrintable(flags) {\n return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);\n }\n }, {\n key: \"setContents\",\n value: function setContents(contents) {\n this.contents = (0, _util.stringToPDFString)(contents || '');\n }\n }, {\n key: \"setModificationDate\",\n value: function setModificationDate(modificationDate) {\n this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;\n }\n }, {\n key: \"setFlags\",\n value: function setFlags(flags) {\n this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n }\n }, {\n key: \"hasFlag\",\n value: function hasFlag(flag) {\n return this._hasFlag(this.flags, flag);\n }\n }, {\n key: \"setRectangle\",\n value: function setRectangle(rectangle) {\n if (Array.isArray(rectangle) && rectangle.length === 4) {\n this.rectangle = _util.Util.normalizeRect(rectangle);\n } else {\n this.rectangle = [0, 0, 0, 0];\n }\n }\n }, {\n key: \"setColor\",\n value: function setColor(color) {\n var rgbColor = new Uint8ClampedArray(3);\n\n if (!Array.isArray(color)) {\n this.color = rgbColor;\n return;\n }\n\n switch (color.length) {\n case 0:\n this.color = null;\n break;\n\n case 1:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 3:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 4:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n default:\n this.color = rgbColor;\n break;\n }\n }\n }, {\n key: \"setBorderStyle\",\n value: function setBorderStyle(borderStyle) {\n this.borderStyle = new AnnotationBorderStyle();\n\n if (!(0, _primitives.isDict)(borderStyle)) {\n return;\n }\n\n if (borderStyle.has('BS')) {\n var dict = borderStyle.get('BS');\n var dictType = dict.get('Type');\n\n if (!dictType || (0, _primitives.isName)(dictType, 'Border')) {\n this.borderStyle.setWidth(dict.get('W'), this.rectangle);\n this.borderStyle.setStyle(dict.get('S'));\n this.borderStyle.setDashArray(dict.getArray('D'));\n }\n } else if (borderStyle.has('Border')) {\n var array = borderStyle.getArray('Border');\n\n if (Array.isArray(array) && array.length >= 3) {\n this.borderStyle.setHorizontalCornerRadius(array[0]);\n this.borderStyle.setVerticalCornerRadius(array[1]);\n this.borderStyle.setWidth(array[2], this.rectangle);\n\n if (array.length === 4) {\n this.borderStyle.setDashArray(array[3]);\n }\n }\n } else {\n this.borderStyle.setWidth(0);\n }\n }\n }, {\n key: \"setAppearance\",\n value: function setAppearance(dict) {\n this.appearance = null;\n var appearanceStates = dict.get('AP');\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get('N');\n\n if ((0, _primitives.isStream)(normalAppearanceState)) {\n this.appearance = normalAppearanceState;\n return;\n }\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var as = dict.get('AS');\n\n if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n return;\n }\n\n this.appearance = normalAppearanceState.get(as.name);\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n return this.appearance.dict.getAsync('Resources').then(function (resources) {\n if (!resources) {\n return undefined;\n }\n\n var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n return objectLoader.load().then(function () {\n return resources;\n });\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n var _this = this;\n\n if (!this.appearance) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n var data = this.data;\n var appearanceDict = this.appearance.dict;\n var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font']);\n var bbox = appearanceDict.getArray('BBox') || [0, 0, 1, 1];\n var matrix = appearanceDict.getArray('Matrix') || [1, 0, 0, 1, 0, 0];\n var transform = getTransformMatrix(data.rect, bbox, matrix);\n return resourcesPromise.then(function (resources) {\n var opList = new _operator_list.OperatorList();\n opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n return evaluator.getOperatorList({\n stream: _this.appearance,\n task: task,\n resources: resources,\n operatorList: opList\n }).then(function () {\n opList.addOp(_util.OPS.endAnnotation, []);\n\n _this.appearance.reset();\n\n return opList;\n });\n });\n }\n }, {\n key: \"viewable\",\n get: function get() {\n if (this.flags === 0) {\n return true;\n }\n\n return this._isViewable(this.flags);\n }\n }, {\n key: \"printable\",\n get: function get() {\n if (this.flags === 0) {\n return false;\n }\n\n return this._isPrintable(this.flags);\n }\n }]);\n\n return Annotation;\n}();\n\nexports.Annotation = Annotation;\n\nvar AnnotationBorderStyle =\n/*#__PURE__*/\nfunction () {\n function AnnotationBorderStyle() {\n _classCallCheck(this, AnnotationBorderStyle);\n\n this.width = 1;\n this.style = _util.AnnotationBorderStyleType.SOLID;\n this.dashArray = [3];\n this.horizontalCornerRadius = 0;\n this.verticalCornerRadius = 0;\n }\n\n _createClass(AnnotationBorderStyle, [{\n key: \"setWidth\",\n value: function setWidth(width) {\n var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];\n\n if ((0, _primitives.isName)(width)) {\n this.width = 0;\n return;\n }\n\n if (Number.isInteger(width)) {\n if (width > 0) {\n var maxWidth = (rect[2] - rect[0]) / 2;\n var maxHeight = (rect[3] - rect[1]) / 2;\n\n if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n (0, _util.warn)(\"AnnotationBorderStyle.setWidth - ignoring width: \".concat(width));\n width = 1;\n }\n }\n\n this.width = width;\n }\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n if (!(0, _primitives.isName)(style)) {\n return;\n }\n\n switch (style.name) {\n case 'S':\n this.style = _util.AnnotationBorderStyleType.SOLID;\n break;\n\n case 'D':\n this.style = _util.AnnotationBorderStyleType.DASHED;\n break;\n\n case 'B':\n this.style = _util.AnnotationBorderStyleType.BEVELED;\n break;\n\n case 'I':\n this.style = _util.AnnotationBorderStyleType.INSET;\n break;\n\n case 'U':\n this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n break;\n\n default:\n break;\n }\n }\n }, {\n key: \"setDashArray\",\n value: function setDashArray(dashArray) {\n if (Array.isArray(dashArray) && dashArray.length > 0) {\n var isValid = true;\n var allZeros = true;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = dashArray[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var element = _step.value;\n var validNumber = +element >= 0;\n\n if (!validNumber) {\n isValid = false;\n break;\n } else if (element > 0) {\n allZeros = false;\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 if (isValid && !allZeros) {\n this.dashArray = dashArray;\n } else {\n this.width = 0;\n }\n } else if (dashArray) {\n this.width = 0;\n }\n }\n }, {\n key: \"setHorizontalCornerRadius\",\n value: function setHorizontalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.horizontalCornerRadius = radius;\n }\n }\n }, {\n key: \"setVerticalCornerRadius\",\n value: function setVerticalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.verticalCornerRadius = radius;\n }\n }\n }]);\n\n return AnnotationBorderStyle;\n}();\n\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\n\nvar MarkupAnnotation =\n/*#__PURE__*/\nfunction (_Annotation) {\n _inherits(MarkupAnnotation, _Annotation);\n\n function MarkupAnnotation(parameters) {\n var _this2;\n\n _classCallCheck(this, MarkupAnnotation);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(MarkupAnnotation).call(this, parameters));\n var dict = parameters.dict;\n\n if (dict.has('IRT')) {\n var rawIRT = dict.getRaw('IRT');\n _this2.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;\n var rt = dict.get('RT');\n _this2.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;\n }\n\n if (_this2.data.replyType === _util.AnnotationReplyType.GROUP) {\n var parent = dict.get('IRT');\n _this2.data.title = (0, _util.stringToPDFString)(parent.get('T') || '');\n\n _this2.setContents(parent.get('Contents'));\n\n _this2.data.contents = _this2.contents;\n\n if (!parent.has('CreationDate')) {\n _this2.data.creationDate = null;\n } else {\n _this2.setCreationDate(parent.get('CreationDate'));\n\n _this2.data.creationDate = _this2.creationDate;\n }\n\n if (!parent.has('M')) {\n _this2.data.modificationDate = null;\n } else {\n _this2.setModificationDate(parent.get('M'));\n\n _this2.data.modificationDate = _this2.modificationDate;\n }\n\n _this2.data.hasPopup = parent.has('Popup');\n\n if (!parent.has('C')) {\n _this2.data.color = null;\n } else {\n _this2.setColor(parent.getArray('C'));\n\n _this2.data.color = _this2.color;\n }\n } else {\n _this2.data.title = (0, _util.stringToPDFString)(dict.get('T') || '');\n\n _this2.setCreationDate(dict.get('CreationDate'));\n\n _this2.data.creationDate = _this2.creationDate;\n _this2.data.hasPopup = dict.has('Popup');\n\n if (!dict.has('C')) {\n _this2.data.color = null;\n }\n }\n\n return _this2;\n }\n\n _createClass(MarkupAnnotation, [{\n key: \"setCreationDate\",\n value: function setCreationDate(creationDate) {\n this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;\n }\n }]);\n\n return MarkupAnnotation;\n}(Annotation);\n\nexports.MarkupAnnotation = MarkupAnnotation;\n\nvar WidgetAnnotation =\n/*#__PURE__*/\nfunction (_Annotation2) {\n _inherits(WidgetAnnotation, _Annotation2);\n\n function WidgetAnnotation(params) {\n var _this3;\n\n _classCallCheck(this, WidgetAnnotation);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotation).call(this, params));\n var dict = params.dict;\n var data = _this3.data;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = _this3._constructFieldName(dict);\n data.fieldValue = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'V',\n getArray: true\n });\n data.alternativeText = (0, _util.stringToPDFString)(dict.get('TU') || '');\n data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'DA'\n }) || '';\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'FT'\n });\n data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n _this3.fieldResources = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'DR'\n }) || _primitives.Dict.empty;\n data.fieldFlags = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'Ff'\n });\n\n if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n data.fieldFlags = 0;\n }\n\n data.readOnly = _this3.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n\n if (data.fieldType === 'Sig') {\n data.fieldValue = null;\n\n _this3.setFlags(_util.AnnotationFlag.HIDDEN);\n }\n\n return _this3;\n }\n\n _createClass(WidgetAnnotation, [{\n key: \"_constructFieldName\",\n value: function _constructFieldName(dict) {\n if (!dict.has('T') && !dict.has('Parent')) {\n (0, _util.warn)('Unknown field name, falling back to empty field name.');\n return '';\n }\n\n if (!dict.has('Parent')) {\n return (0, _util.stringToPDFString)(dict.get('T'));\n }\n\n var fieldName = [];\n\n if (dict.has('T')) {\n fieldName.unshift((0, _util.stringToPDFString)(dict.get('T')));\n }\n\n var loopDict = dict;\n\n while (loopDict.has('Parent')) {\n loopDict = loopDict.get('Parent');\n\n if (!(0, _primitives.isDict)(loopDict)) {\n break;\n }\n\n if (loopDict.has('T')) {\n fieldName.unshift((0, _util.stringToPDFString)(loopDict.get('T')));\n }\n }\n\n return fieldName.join('.');\n }\n }, {\n key: \"hasFieldFlag\",\n value: function hasFieldFlag(flag) {\n return !!(this.data.fieldFlags & flag);\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n if (renderForms) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n }\n }]);\n\n return WidgetAnnotation;\n}(Annotation);\n\nvar TextWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation) {\n _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n function TextWidgetAnnotation(params) {\n var _this4;\n\n _classCallCheck(this, TextWidgetAnnotation);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotation).call(this, params));\n var dict = params.dict;\n _this4.data.fieldValue = (0, _util.stringToPDFString)(_this4.data.fieldValue || '');\n var alignment = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'Q'\n });\n\n if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n alignment = null;\n }\n\n _this4.data.textAlignment = alignment;\n var maximumLength = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'MaxLen'\n });\n\n if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n maximumLength = null;\n }\n\n _this4.data.maxLen = maximumLength;\n _this4.data.multiLine = _this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n _this4.data.comb = _this4.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this4.data.maxLen !== null;\n return _this4;\n }\n\n _createClass(TextWidgetAnnotation, [{\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n if (renderForms || this.appearance) {\n return _get(_getPrototypeOf(TextWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n }\n\n var operatorList = new _operator_list.OperatorList();\n\n if (!this.data.defaultAppearance) {\n return Promise.resolve(operatorList);\n }\n\n var stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));\n return evaluator.getOperatorList({\n stream: stream,\n task: task,\n resources: this.fieldResources,\n operatorList: operatorList\n }).then(function () {\n return operatorList;\n });\n }\n }]);\n\n return TextWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ButtonWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation2) {\n _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n function ButtonWidgetAnnotation(params) {\n var _this5;\n\n _classCallCheck(this, ButtonWidgetAnnotation);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(ButtonWidgetAnnotation).call(this, params));\n _this5.data.checkBox = !_this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this5.data.radioButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this5.data.pushButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (_this5.data.checkBox) {\n _this5._processCheckBox(params);\n } else if (_this5.data.radioButton) {\n _this5._processRadioButton(params);\n } else if (_this5.data.pushButton) {\n _this5._processPushButton(params);\n } else {\n (0, _util.warn)('Invalid field flags for button widget annotation');\n }\n\n return _this5;\n }\n\n _createClass(ButtonWidgetAnnotation, [{\n key: \"_processCheckBox\",\n value: function _processCheckBox(params) {\n if ((0, _primitives.isName)(this.data.fieldValue)) {\n this.data.fieldValue = this.data.fieldValue.name;\n }\n\n var customAppearance = params.dict.get('AP');\n\n if (!(0, _primitives.isDict)(customAppearance)) {\n return;\n }\n\n var exportValueOptionsDict = customAppearance.get('D');\n\n if (!(0, _primitives.isDict)(exportValueOptionsDict)) {\n return;\n }\n\n var exportValues = exportValueOptionsDict.getKeys();\n var hasCorrectOptionCount = exportValues.length === 2;\n\n if (!hasCorrectOptionCount) {\n return;\n }\n\n this.data.exportValue = exportValues[0] === 'Off' ? exportValues[1] : exportValues[0];\n }\n }, {\n key: \"_processRadioButton\",\n value: function _processRadioButton(params) {\n this.data.fieldValue = this.data.buttonValue = null;\n var fieldParent = params.dict.get('Parent');\n\n if ((0, _primitives.isDict)(fieldParent) && fieldParent.has('V')) {\n var fieldParentValue = fieldParent.get('V');\n\n if ((0, _primitives.isName)(fieldParentValue)) {\n this.data.fieldValue = fieldParentValue.name;\n }\n }\n\n var appearanceStates = params.dict.get('AP');\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get('N');\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = normalAppearanceState.getKeys()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n\n if (key !== 'Off') {\n this.data.buttonValue = key;\n break;\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 }, {\n key: \"_processPushButton\",\n value: function _processPushButton(params) {\n if (!params.dict.has('A')) {\n (0, _util.warn)('Push buttons without action dictionaries are not supported');\n return;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: this.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n }\n }]);\n\n return ButtonWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ChoiceWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation3) {\n _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n function ChoiceWidgetAnnotation(params) {\n var _this6;\n\n _classCallCheck(this, ChoiceWidgetAnnotation);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotation).call(this, params));\n _this6.data.options = [];\n var options = (0, _core_utils.getInheritableProperty)({\n dict: params.dict,\n key: 'Opt'\n });\n\n if (Array.isArray(options)) {\n var xref = params.xref;\n\n for (var i = 0, ii = options.length; i < ii; i++) {\n var option = xref.fetchIfRef(options[i]);\n var isOptionArray = Array.isArray(option);\n _this6.data.options[i] = {\n exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,\n displayValue: (0, _util.stringToPDFString)(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n\n if (!Array.isArray(_this6.data.fieldValue)) {\n _this6.data.fieldValue = [_this6.data.fieldValue];\n }\n\n _this6.data.combo = _this6.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n _this6.data.multiSelect = _this6.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n return _this6;\n }\n\n return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation) {\n _inherits(TextAnnotation, _MarkupAnnotation);\n\n function TextAnnotation(parameters) {\n var _this7;\n\n _classCallCheck(this, TextAnnotation);\n\n var DEFAULT_ICON_SIZE = 22;\n _this7 = _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotation).call(this, parameters));\n var dict = parameters.dict;\n _this7.data.annotationType = _util.AnnotationType.TEXT;\n\n if (_this7.data.hasAppearance) {\n _this7.data.name = 'NoIcon';\n } else {\n _this7.data.rect[1] = _this7.data.rect[3] - DEFAULT_ICON_SIZE;\n _this7.data.rect[2] = _this7.data.rect[0] + DEFAULT_ICON_SIZE;\n _this7.data.name = dict.has('Name') ? dict.get('Name').name : 'Note';\n }\n\n if (dict.has('State')) {\n _this7.data.state = dict.get('State') || null;\n _this7.data.stateModel = dict.get('StateModel') || null;\n } else {\n _this7.data.state = null;\n _this7.data.stateModel = null;\n }\n\n return _this7;\n }\n\n return TextAnnotation;\n}(MarkupAnnotation);\n\nvar LinkAnnotation =\n/*#__PURE__*/\nfunction (_Annotation3) {\n _inherits(LinkAnnotation, _Annotation3);\n\n function LinkAnnotation(params) {\n var _this8;\n\n _classCallCheck(this, LinkAnnotation);\n\n _this8 = _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotation).call(this, params));\n _this8.data.annotationType = _util.AnnotationType.LINK;\n var quadPoints = getQuadPoints(params.dict, _this8.rectangle);\n\n if (quadPoints) {\n _this8.data.quadPoints = quadPoints;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: _this8.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n\n return _this8;\n }\n\n return LinkAnnotation;\n}(Annotation);\n\nvar PopupAnnotation =\n/*#__PURE__*/\nfunction (_Annotation4) {\n _inherits(PopupAnnotation, _Annotation4);\n\n function PopupAnnotation(parameters) {\n var _this9;\n\n _classCallCheck(this, PopupAnnotation);\n\n _this9 = _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotation).call(this, parameters));\n _this9.data.annotationType = _util.AnnotationType.POPUP;\n var parentItem = parameters.dict.get('Parent');\n\n if (!parentItem) {\n (0, _util.warn)('Popup annotation has a missing or invalid parent annotation.');\n return _possibleConstructorReturn(_this9);\n }\n\n var parentSubtype = parentItem.get('Subtype');\n _this9.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n var rawParent = parameters.dict.getRaw('Parent');\n _this9.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;\n var rt = parentItem.get('RT');\n\n if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {\n parentItem = parentItem.get('IRT');\n }\n\n if (!parentItem.has('M')) {\n _this9.data.modificationDate = null;\n } else {\n _this9.setModificationDate(parentItem.get('M'));\n\n _this9.data.modificationDate = _this9.modificationDate;\n }\n\n if (!parentItem.has('C')) {\n _this9.data.color = null;\n } else {\n _this9.setColor(parentItem.getArray('C'));\n\n _this9.data.color = _this9.color;\n }\n\n if (!_this9.viewable) {\n var parentFlags = parentItem.get('F');\n\n if (_this9._isViewable(parentFlags)) {\n _this9.setFlags(parentFlags);\n }\n }\n\n _this9.data.title = (0, _util.stringToPDFString)(parentItem.get('T') || '');\n _this9.data.contents = (0, _util.stringToPDFString)(parentItem.get('Contents') || '');\n return _this9;\n }\n\n return PopupAnnotation;\n}(Annotation);\n\nvar FreeTextAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation2) {\n _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n function FreeTextAnnotation(parameters) {\n var _this10;\n\n _classCallCheck(this, FreeTextAnnotation);\n\n _this10 = _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotation).call(this, parameters));\n _this10.data.annotationType = _util.AnnotationType.FREETEXT;\n return _this10;\n }\n\n return FreeTextAnnotation;\n}(MarkupAnnotation);\n\nvar LineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation3) {\n _inherits(LineAnnotation, _MarkupAnnotation3);\n\n function LineAnnotation(parameters) {\n var _this11;\n\n _classCallCheck(this, LineAnnotation);\n\n _this11 = _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotation).call(this, parameters));\n _this11.data.annotationType = _util.AnnotationType.LINE;\n _this11.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray('L'));\n return _this11;\n }\n\n return LineAnnotation;\n}(MarkupAnnotation);\n\nvar SquareAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation4) {\n _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n function SquareAnnotation(parameters) {\n var _this12;\n\n _classCallCheck(this, SquareAnnotation);\n\n _this12 = _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotation).call(this, parameters));\n _this12.data.annotationType = _util.AnnotationType.SQUARE;\n return _this12;\n }\n\n return SquareAnnotation;\n}(MarkupAnnotation);\n\nvar CircleAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation5) {\n _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n function CircleAnnotation(parameters) {\n var _this13;\n\n _classCallCheck(this, CircleAnnotation);\n\n _this13 = _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotation).call(this, parameters));\n _this13.data.annotationType = _util.AnnotationType.CIRCLE;\n return _this13;\n }\n\n return CircleAnnotation;\n}(MarkupAnnotation);\n\nvar PolylineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation6) {\n _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n function PolylineAnnotation(parameters) {\n var _this14;\n\n _classCallCheck(this, PolylineAnnotation);\n\n _this14 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotation).call(this, parameters));\n _this14.data.annotationType = _util.AnnotationType.POLYLINE;\n var rawVertices = parameters.dict.getArray('Vertices');\n _this14.data.vertices = [];\n\n for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n _this14.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n\n return _this14;\n }\n\n return PolylineAnnotation;\n}(MarkupAnnotation);\n\nvar PolygonAnnotation =\n/*#__PURE__*/\nfunction (_PolylineAnnotation) {\n _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n function PolygonAnnotation(parameters) {\n var _this15;\n\n _classCallCheck(this, PolygonAnnotation);\n\n _this15 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotation).call(this, parameters));\n _this15.data.annotationType = _util.AnnotationType.POLYGON;\n return _this15;\n }\n\n return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar CaretAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation7) {\n _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n function CaretAnnotation(parameters) {\n var _this16;\n\n _classCallCheck(this, CaretAnnotation);\n\n _this16 = _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotation).call(this, parameters));\n _this16.data.annotationType = _util.AnnotationType.CARET;\n return _this16;\n }\n\n return CaretAnnotation;\n}(MarkupAnnotation);\n\nvar InkAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation8) {\n _inherits(InkAnnotation, _MarkupAnnotation8);\n\n function InkAnnotation(parameters) {\n var _this17;\n\n _classCallCheck(this, InkAnnotation);\n\n _this17 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotation).call(this, parameters));\n _this17.data.annotationType = _util.AnnotationType.INK;\n var xref = parameters.xref;\n var originalInkLists = parameters.dict.getArray('InkList');\n _this17.data.inkLists = [];\n\n for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n _this17.data.inkLists.push([]);\n\n for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n _this17.data.inkLists[i].push({\n x: xref.fetchIfRef(originalInkLists[i][j]),\n y: xref.fetchIfRef(originalInkLists[i][j + 1])\n });\n }\n }\n\n return _this17;\n }\n\n return InkAnnotation;\n}(MarkupAnnotation);\n\nvar HighlightAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation9) {\n _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n function HighlightAnnotation(parameters) {\n var _this18;\n\n _classCallCheck(this, HighlightAnnotation);\n\n _this18 = _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotation).call(this, parameters));\n _this18.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n var quadPoints = getQuadPoints(parameters.dict, _this18.rectangle);\n\n if (quadPoints) {\n _this18.data.quadPoints = quadPoints;\n }\n\n return _this18;\n }\n\n return HighlightAnnotation;\n}(MarkupAnnotation);\n\nvar UnderlineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation10) {\n _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n function UnderlineAnnotation(parameters) {\n var _this19;\n\n _classCallCheck(this, UnderlineAnnotation);\n\n _this19 = _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotation).call(this, parameters));\n _this19.data.annotationType = _util.AnnotationType.UNDERLINE;\n var quadPoints = getQuadPoints(parameters.dict, _this19.rectangle);\n\n if (quadPoints) {\n _this19.data.quadPoints = quadPoints;\n }\n\n return _this19;\n }\n\n return UnderlineAnnotation;\n}(MarkupAnnotation);\n\nvar SquigglyAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation11) {\n _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n function SquigglyAnnotation(parameters) {\n var _this20;\n\n _classCallCheck(this, SquigglyAnnotation);\n\n _this20 = _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotation).call(this, parameters));\n _this20.data.annotationType = _util.AnnotationType.SQUIGGLY;\n var quadPoints = getQuadPoints(parameters.dict, _this20.rectangle);\n\n if (quadPoints) {\n _this20.data.quadPoints = quadPoints;\n }\n\n return _this20;\n }\n\n return SquigglyAnnotation;\n}(MarkupAnnotation);\n\nvar StrikeOutAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation12) {\n _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n function StrikeOutAnnotation(parameters) {\n var _this21;\n\n _classCallCheck(this, StrikeOutAnnotation);\n\n _this21 = _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotation).call(this, parameters));\n _this21.data.annotationType = _util.AnnotationType.STRIKEOUT;\n var quadPoints = getQuadPoints(parameters.dict, _this21.rectangle);\n\n if (quadPoints) {\n _this21.data.quadPoints = quadPoints;\n }\n\n return _this21;\n }\n\n return StrikeOutAnnotation;\n}(MarkupAnnotation);\n\nvar StampAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation13) {\n _inherits(StampAnnotation, _MarkupAnnotation13);\n\n function StampAnnotation(parameters) {\n var _this22;\n\n _classCallCheck(this, StampAnnotation);\n\n _this22 = _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotation).call(this, parameters));\n _this22.data.annotationType = _util.AnnotationType.STAMP;\n return _this22;\n }\n\n return StampAnnotation;\n}(MarkupAnnotation);\n\nvar FileAttachmentAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation14) {\n _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n function FileAttachmentAnnotation(parameters) {\n var _this23;\n\n _classCallCheck(this, FileAttachmentAnnotation);\n\n _this23 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotation).call(this, parameters));\n var file = new _obj.FileSpec(parameters.dict.get('FS'), parameters.xref);\n _this23.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n _this23.data.file = file.serializable;\n return _this23;\n }\n\n return FileAttachmentAnnotation;\n}(MarkupAnnotation);\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar QueueOptimizer = function QueueOptimizerClosure() {\n function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n var state = parentState;\n\n for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n var item = pattern[i];\n state = state[item] || (state[item] = []);\n }\n\n state[pattern[pattern.length - 1]] = {\n checkFn: checkFn,\n iterateFn: iterateFn,\n processFn: processFn\n };\n }\n\n function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n var iFirstPIMXO = iFirstSave + 2;\n\n for (var i = 0; i < count; i++) {\n var arg = argsArray[iFirstPIMXO + 4 * i];\n var imageMask = arg.length === 1 && arg[0];\n\n if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n continue;\n }\n\n break;\n }\n\n return count - i;\n }\n\n var InitialState = [];\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));\n }, function foundInlineImageGroup(context, i) {\n var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n var MAX_WIDTH = 1000;\n var IMAGE_PADDING = 1;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIIXO = curr - 1;\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var maxX = 0;\n var map = [],\n maxLineHeight = 0;\n var currentX = IMAGE_PADDING,\n currentY = IMAGE_PADDING;\n var q;\n\n for (q = 0; q < count; q++) {\n var transform = argsArray[iFirstTransform + (q << 2)];\n var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n if (currentX + img.width > MAX_WIDTH) {\n maxX = Math.max(maxX, currentX);\n currentY += maxLineHeight + 2 * IMAGE_PADDING;\n currentX = 0;\n maxLineHeight = 0;\n }\n\n map.push({\n transform: transform,\n x: currentX,\n y: currentY,\n w: img.width,\n h: img.height\n });\n currentX += img.width + 2 * IMAGE_PADDING;\n maxLineHeight = Math.max(maxLineHeight, img.height);\n }\n\n var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n var imgRowSize = imgWidth << 2;\n\n for (q = 0; q < count; q++) {\n var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n var rowSize = map[q].w << 2;\n var dataOffset = 0;\n var offset = map[q].x + map[q].y * imgWidth << 2;\n imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n for (var k = 0, kk = map[q].h; k < kk; k++) {\n imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n dataOffset += rowSize;\n offset += imgRowSize;\n }\n\n imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n while (offset >= 0) {\n data[offset - 4] = data[offset];\n data[offset - 3] = data[offset + 1];\n data[offset - 2] = data[offset + 2];\n data[offset - 1] = data[offset + 3];\n data[offset + rowSize] = data[offset + rowSize - 4];\n data[offset + rowSize + 1] = data[offset + rowSize - 3];\n data[offset + rowSize + 2] = data[offset + rowSize - 2];\n data[offset + rowSize + 3] = data[offset + rowSize - 1];\n offset -= imgRowSize;\n }\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [{\n width: imgWidth,\n height: imgHeight,\n kind: _util.ImageKind.RGBA_32BPP,\n data: imgData\n }, map]);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));\n }, function foundImageMaskGroup(context, i) {\n var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIMXO = curr - 1;\n var count = Math.floor((i - iFirstSave) / 4);\n count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var q;\n var isSameImage = false;\n var iTransform, transformArgs;\n var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n\n if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) {\n isSameImage = true;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n iTransform = iFirstTransform + 4;\n var iPIMXO = iFirstPIMXO + 4;\n\n for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n transformArgs = argsArray[iTransform];\n\n if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) {\n if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n isSameImage = false;\n } else {\n count = q;\n }\n\n break;\n }\n }\n }\n\n if (isSameImage) {\n count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n var positions = new Float32Array(count * 2);\n iTransform = iFirstTransform;\n\n for (q = 0; q < count; q++, iTransform += 4) {\n transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);\n } else {\n count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n var images = [];\n\n for (q = 0; q < count; q++) {\n transformArgs = argsArray[iFirstTransform + (q << 2)];\n var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n images.push({\n data: maskParams.data,\n width: maskParams.width,\n height: maskParams.height,\n transform: transformArgs\n });\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [images]);\n }\n\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n var argsArray = context.argsArray;\n var iFirstTransform = context.iCurr - 2;\n return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n }, function iterateImageGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n if (fnArray[i] !== _util.OPS.transform) {\n return false;\n }\n\n var iFirstTransform = context.iCurr - 2;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n return false;\n }\n\n return true;\n\n case 2:\n if (fnArray[i] !== _util.OPS.paintImageXObject) {\n return false;\n }\n\n var iFirstPIXO = context.iCurr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n\n if (argsArray[i][0] !== firstPIXOArg0) {\n return false;\n }\n\n return true;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageGroup - invalid pos: \".concat(pos));\n }, function (context, i) {\n var MIN_IMAGES_IN_BLOCK = 3;\n var MAX_IMAGES_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIXO = curr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n\n if (count < MIN_IMAGES_IN_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var positions = new Float32Array(count * 2);\n var iTransform = iFirstTransform;\n\n for (var q = 0; q < count; q++, iTransform += 4) {\n var transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, args);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 4;\n var pos = (i - iFirstSave) % 5;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.beginText;\n\n case 1:\n return fnArray[i] === _util.OPS.setFont;\n\n case 2:\n return fnArray[i] === _util.OPS.setTextMatrix;\n\n case 3:\n if (fnArray[i] !== _util.OPS.showText) {\n return false;\n }\n\n var iFirstSetFont = context.iCurr - 3;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n return false;\n }\n\n return true;\n\n case 4:\n return fnArray[i] === _util.OPS.endText;\n }\n\n throw new Error(\"iterateShowTextGroup - invalid pos: \".concat(pos));\n }, function (context, i) {\n var MIN_CHARS_IN_BLOCK = 3;\n var MAX_CHARS_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstBeginText = curr - 4;\n var iFirstSetFont = curr - 3;\n var iFirstSetTextMatrix = curr - 2;\n var iFirstShowText = curr - 1;\n var iFirstEndText = curr;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n\n if (count < MIN_CHARS_IN_BLOCK) {\n return i - (i - iFirstBeginText) % 5;\n }\n\n var iFirst = iFirstBeginText;\n\n if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n count++;\n iFirst -= 5;\n }\n\n var iEndText = iFirst + 4;\n\n for (var q = 1; q < count; q++) {\n fnArray.splice(iEndText, 3);\n argsArray.splice(iEndText, 3);\n iEndText += 2;\n }\n\n return iEndText + 1;\n });\n\n function QueueOptimizer(queue) {\n this.queue = queue;\n this.state = null;\n this.context = {\n iCurr: 0,\n fnArray: queue.fnArray,\n argsArray: queue.argsArray\n };\n this.match = null;\n this.lastProcessed = 0;\n }\n\n QueueOptimizer.prototype = {\n _optimize: function _optimize() {\n var fnArray = this.queue.fnArray;\n var i = this.lastProcessed,\n ii = fnArray.length;\n var state = this.state;\n var match = this.match;\n\n if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n this.lastProcessed = ii;\n return;\n }\n\n var context = this.context;\n\n while (i < ii) {\n if (match) {\n var iterate = (0, match.iterateFn)(context, i);\n\n if (iterate) {\n i++;\n continue;\n }\n\n i = (0, match.processFn)(context, i + 1);\n ii = fnArray.length;\n match = null;\n state = null;\n\n if (i >= ii) {\n break;\n }\n }\n\n state = (state || InitialState)[fnArray[i]];\n\n if (!state || Array.isArray(state)) {\n i++;\n continue;\n }\n\n context.iCurr = i;\n i++;\n\n if (state.checkFn && !(0, state.checkFn)(context)) {\n state = null;\n continue;\n }\n\n match = state;\n state = null;\n }\n\n this.state = state;\n this.match = match;\n this.lastProcessed = i;\n },\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n\n this._optimize();\n },\n flush: function flush() {\n while (this.match) {\n var length = this.queue.fnArray.length;\n this.lastProcessed = (0, this.match.processFn)(this.context, length);\n this.match = null;\n this.state = null;\n\n this._optimize();\n }\n },\n reset: function reset() {\n this.state = null;\n this.match = null;\n this.lastProcessed = 0;\n }\n };\n return QueueOptimizer;\n}();\n\nvar NullOptimizer = function NullOptimizerClosure() {\n function NullOptimizer(queue) {\n this.queue = queue;\n }\n\n NullOptimizer.prototype = {\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n },\n flush: function flush() {},\n reset: function reset() {}\n };\n return NullOptimizer;\n}();\n\nvar OperatorList = function OperatorListClosure() {\n var CHUNK_SIZE = 1000;\n var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n function OperatorList(intent, streamSink, pageIndex) {\n this._streamSink = streamSink;\n this.fnArray = [];\n this.argsArray = [];\n\n if (streamSink && intent !== 'oplist') {\n this.optimizer = new QueueOptimizer(this);\n } else {\n this.optimizer = new NullOptimizer(this);\n }\n\n this.dependencies = Object.create(null);\n this._totalLength = 0;\n this.pageIndex = pageIndex;\n this.intent = intent;\n this.weight = 0;\n this._resolved = streamSink ? null : Promise.resolve();\n }\n\n OperatorList.prototype = {\n get length() {\n return this.argsArray.length;\n },\n\n get ready() {\n return this._resolved || this._streamSink.ready;\n },\n\n get totalLength() {\n return this._totalLength + this.length;\n },\n\n addOp: function addOp(fn, args) {\n this.optimizer.push(fn, args);\n this.weight++;\n\n if (this._streamSink) {\n if (this.weight >= CHUNK_SIZE) {\n this.flush();\n } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n this.flush();\n }\n }\n },\n addDependency: function addDependency(dependency) {\n if (dependency in this.dependencies) {\n return;\n }\n\n this.dependencies[dependency] = true;\n this.addOp(_util.OPS.dependency, [dependency]);\n },\n addDependencies: function addDependencies(dependencies) {\n for (var key in dependencies) {\n this.addDependency(key);\n }\n },\n addOpList: function addOpList(opList) {\n Object.assign(this.dependencies, opList.dependencies);\n\n for (var i = 0, ii = opList.length; i < ii; i++) {\n this.addOp(opList.fnArray[i], opList.argsArray[i]);\n }\n },\n getIR: function getIR() {\n return {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n length: this.length\n };\n },\n\n get _transfers() {\n var transfers = [];\n var fnArray = this.fnArray,\n argsArray = this.argsArray,\n length = this.length;\n\n for (var i = 0; i < length; i++) {\n switch (fnArray[i]) {\n case _util.OPS.paintInlineImageXObject:\n case _util.OPS.paintInlineImageXObjectGroup:\n case _util.OPS.paintImageMaskXObject:\n var arg = argsArray[i][0];\n ;\n\n if (!arg.cached) {\n transfers.push(arg.data.buffer);\n }\n\n break;\n }\n }\n\n return transfers;\n },\n\n flush: function flush() {\n var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.optimizer.flush();\n var length = this.length;\n this._totalLength += length;\n\n this._streamSink.enqueue({\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n lastChunk: lastChunk,\n length: length\n }, 1, this._transfers);\n\n this.dependencies = Object.create(null);\n this.fnArray.length = 0;\n this.argsArray.length = 0;\n this.weight = 0;\n this.optimizer.reset();\n }\n };\n return OperatorList;\n}();\n\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PartialEvaluator = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cmap = __w_pdfjs_require__(205);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _fonts = __w_pdfjs_require__(206);\n\nvar _encodings = __w_pdfjs_require__(209);\n\nvar _unicode = __w_pdfjs_require__(212);\n\nvar _standard_fonts = __w_pdfjs_require__(211);\n\nvar _pattern = __w_pdfjs_require__(215);\n\nvar _parser = __w_pdfjs_require__(189);\n\nvar _bidi = __w_pdfjs_require__(216);\n\nvar _colorspace = __w_pdfjs_require__(201);\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar _glyphlist = __w_pdfjs_require__(210);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar _metrics = __w_pdfjs_require__(217);\n\nvar _function = __w_pdfjs_require__(218);\n\nvar _jpeg_stream = __w_pdfjs_require__(196);\n\nvar _murmurhash = __w_pdfjs_require__(220);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nvar _operator_list = __w_pdfjs_require__(203);\n\nvar _image = __w_pdfjs_require__(222);\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\nvar PartialEvaluator = function PartialEvaluatorClosure() {\n var DefaultPartialEvaluatorOptions = {\n forceDataSchema: false,\n maxImageSize: -1,\n disableFontFace: false,\n nativeImageDecoderSupport: _util.NativeImageDecoding.DECODE,\n ignoreErrors: false,\n isEvalSupported: true\n };\n\n function PartialEvaluator(_ref) {\n var _this = this;\n\n var xref = _ref.xref,\n handler = _ref.handler,\n pageIndex = _ref.pageIndex,\n idFactory = _ref.idFactory,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? null : _ref$options,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n this.xref = xref;\n this.handler = handler;\n this.pageIndex = pageIndex;\n this.idFactory = idFactory;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.parsingType3Font = false;\n\n this.fetchBuiltInCMap =\n /*#__PURE__*/\n function () {\n var _ref2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(name) {\n var readableStream, reader, data;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!_this.builtInCMapCache.has(name)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", _this.builtInCMapCache.get(name));\n\n case 2:\n readableStream = _this.handler.sendWithStream('FetchBuiltInCMap', {\n name: name\n });\n reader = readableStream.getReader();\n _context.next = 6;\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref3) {\n var value = _ref3.value,\n done = _ref3.done;\n\n if (done) {\n return;\n }\n\n resolve(value);\n pump();\n }, reject);\n }\n\n pump();\n });\n\n case 6:\n data = _context.sent;\n\n if (data.compressionType !== _util.CMapCompressionType.NONE) {\n _this.builtInCMapCache.set(name, data);\n }\n\n return _context.abrupt(\"return\", data);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n }\n\n var TIME_SLOT_DURATION_MS = 20;\n var CHECK_TIME_EVERY = 100;\n\n function TimeSlotManager() {\n this.reset();\n }\n\n TimeSlotManager.prototype = {\n check: function TimeSlotManager_check() {\n if (++this.checked < CHECK_TIME_EVERY) {\n return false;\n }\n\n this.checked = 0;\n return this.endTime <= Date.now();\n },\n reset: function TimeSlotManager_reset() {\n this.endTime = Date.now() + TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n };\n\n function normalizeBlendMode(value) {\n if (!(0, _primitives.isName)(value)) {\n return 'source-over';\n }\n\n switch (value.name) {\n case 'Normal':\n case 'Compatible':\n return 'source-over';\n\n case 'Multiply':\n return 'multiply';\n\n case 'Screen':\n return 'screen';\n\n case 'Overlay':\n return 'overlay';\n\n case 'Darken':\n return 'darken';\n\n case 'Lighten':\n return 'lighten';\n\n case 'ColorDodge':\n return 'color-dodge';\n\n case 'ColorBurn':\n return 'color-burn';\n\n case 'HardLight':\n return 'hard-light';\n\n case 'SoftLight':\n return 'soft-light';\n\n case 'Difference':\n return 'difference';\n\n case 'Exclusion':\n return 'exclusion';\n\n case 'Hue':\n return 'hue';\n\n case 'Saturation':\n return 'saturation';\n\n case 'Color':\n return 'color';\n\n case 'Luminosity':\n return 'luminosity';\n }\n\n (0, _util.warn)('Unsupported blend mode: ' + value.name);\n return 'source-over';\n }\n\n var deferred = Promise.resolve();\n var TILING_PATTERN = 1,\n SHADING_PATTERN = 2;\n PartialEvaluator.prototype = {\n clone: function clone() {\n var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;\n var newEvaluator = Object.create(this);\n newEvaluator.options = newOptions;\n return newEvaluator;\n },\n hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {\n if (!(0, _primitives.isDict)(resources)) {\n return false;\n }\n\n var processed = Object.create(null);\n\n if (resources.objId) {\n processed[resources.objId] = true;\n }\n\n var nodes = [resources],\n xref = this.xref;\n\n while (nodes.length) {\n var key, i, ii;\n var node = nodes.shift();\n var graphicStates = node.get('ExtGState');\n\n if ((0, _primitives.isDict)(graphicStates)) {\n var graphicStatesKeys = graphicStates.getKeys();\n\n for (i = 0, ii = graphicStatesKeys.length; i < ii; i++) {\n key = graphicStatesKeys[i];\n var graphicState = graphicStates.get(key);\n var bm = graphicState.get('BM');\n\n if ((0, _primitives.isName)(bm) && bm.name !== 'Normal') {\n return true;\n }\n }\n }\n\n var xObjects = node.get('XObject');\n\n if (!(0, _primitives.isDict)(xObjects)) {\n continue;\n }\n\n var xObjectsKeys = xObjects.getKeys();\n\n for (i = 0, ii = xObjectsKeys.length; i < ii; i++) {\n key = xObjectsKeys[i];\n var xObject = xObjects.getRaw(key);\n\n if ((0, _primitives.isRef)(xObject)) {\n if (processed[xObject.toString()]) {\n continue;\n }\n\n xObject = xref.fetch(xObject);\n }\n\n if (!(0, _primitives.isStream)(xObject)) {\n continue;\n }\n\n if (xObject.dict.objId) {\n if (processed[xObject.dict.objId]) {\n continue;\n }\n\n processed[xObject.dict.objId] = true;\n }\n\n var xResources = xObject.dict.get('Resources');\n\n if ((0, _primitives.isDict)(xResources) && (!xResources.objId || !processed[xResources.objId])) {\n nodes.push(xResources);\n\n if (xResources.objId) {\n processed[xResources.objId] = true;\n }\n }\n }\n }\n\n return false;\n },\n buildFormXObject: function PartialEvaluator_buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {\n var dict = xobj.dict;\n var matrix = dict.getArray('Matrix');\n var bbox = dict.getArray('BBox');\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n bbox = _util.Util.normalizeRect(bbox);\n } else {\n bbox = null;\n }\n\n var group = dict.get('Group');\n\n if (group) {\n var groupOptions = {\n matrix: matrix,\n bbox: bbox,\n smask: smask,\n isolated: false,\n knockout: false\n };\n var groupSubtype = group.get('S');\n var colorSpace = null;\n\n if ((0, _primitives.isName)(groupSubtype, 'Transparency')) {\n groupOptions.isolated = group.get('I') || false;\n groupOptions.knockout = group.get('K') || false;\n\n if (group.has('CS')) {\n colorSpace = group.get('CS');\n\n if (colorSpace) {\n colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, resources, this.pdfFunctionFactory);\n } else {\n (0, _util.warn)('buildFormXObject - invalid/non-existent Group /CS entry: ' + group.getRaw('CS'));\n }\n }\n }\n\n if (smask && smask.backdrop) {\n colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n }\n\n operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n }\n\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n return this.getOperatorList({\n stream: xobj,\n task: task,\n resources: dict.get('Resources') || resources,\n operatorList: operatorList,\n initialState: initialState\n }).then(function () {\n operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n\n if (group) {\n operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n }\n });\n },\n buildPaintImageXObject: function () {\n var _buildPaintImageXObject = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(_ref4) {\n var _this2 = this;\n\n var resources, image, _ref4$isInline, isInline, operatorList, cacheKey, imageCache, _ref4$forceDisableNat, forceDisableNativeImageDecoder, dict, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, nativeImageDecoderSupport, objId, nativeImageDecoder, imgPromise;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n resources = _ref4.resources, image = _ref4.image, _ref4$isInline = _ref4.isInline, isInline = _ref4$isInline === void 0 ? false : _ref4$isInline, operatorList = _ref4.operatorList, cacheKey = _ref4.cacheKey, imageCache = _ref4.imageCache, _ref4$forceDisableNat = _ref4.forceDisableNativeImageDecoder, forceDisableNativeImageDecoder = _ref4$forceDisableNat === void 0 ? false : _ref4$forceDisableNat;\n dict = image.dict;\n w = dict.get('Width', 'W');\n h = dict.get('Height', 'H');\n\n if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {\n _context2.next = 7;\n break;\n }\n\n (0, _util.warn)('Image dimensions are missing, or not numbers.');\n return _context2.abrupt(\"return\", undefined);\n\n case 7:\n maxImageSize = this.options.maxImageSize;\n\n if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n _context2.next = 11;\n break;\n }\n\n (0, _util.warn)('Image exceeded maximum allowed size and was removed.');\n return _context2.abrupt(\"return\", undefined);\n\n case 11:\n imageMask = dict.get('ImageMask', 'IM') || false;\n\n if (!imageMask) {\n _context2.next = 24;\n break;\n }\n\n width = dict.get('Width', 'W');\n height = dict.get('Height', 'H');\n bitStrideLength = width + 7 >> 3;\n imgArray = image.getBytes(bitStrideLength * height, true);\n decode = dict.getArray('Decode', 'D');\n imgData = _image.PDFImage.createMask({\n imgArray: imgArray,\n width: width,\n height: height,\n imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n inverseDecode: !!decode && decode[0] > 0\n });\n imgData.cached = !!cacheKey;\n args = [imgData];\n operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintImageMaskXObject,\n args: args\n };\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 24:\n softMask = dict.get('SMask', 'SM') || false;\n mask = dict.get('Mask') || false;\n SMALL_IMAGE_DIMENSIONS = 200;\n\n if (!(isInline && !softMask && !mask && !(image instanceof _jpeg_stream.JpegStream) && w + h < SMALL_IMAGE_DIMENSIONS)) {\n _context2.next = 32;\n break;\n }\n\n imageObj = new _image.PDFImage({\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n imgData = imageObj.createImageData(true);\n operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n return _context2.abrupt(\"return\", undefined);\n\n case 32:\n nativeImageDecoderSupport = forceDisableNativeImageDecoder ? _util.NativeImageDecoding.NONE : this.options.nativeImageDecoderSupport;\n objId = \"img_\".concat(this.idFactory.createObjId());\n\n if (this.parsingType3Font) {\n (0, _util.assert)(nativeImageDecoderSupport === _util.NativeImageDecoding.NONE, 'Type3 image resources should be completely decoded in the worker.');\n objId = \"\".concat(this.idFactory.getDocId(), \"_type3res_\").concat(objId);\n }\n\n if (!(nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && image instanceof _jpeg_stream.JpegStream && _image_utils.NativeImageDecoder.isSupported(image, this.xref, resources, this.pdfFunctionFactory))) {\n _context2.next = 37;\n break;\n }\n\n return _context2.abrupt(\"return\", this.handler.sendWithPromise('obj', [objId, this.pageIndex, 'JpegStream', image.getIR(this.options.forceDataSchema)]).then(function () {\n operatorList.addDependency(objId);\n args = [objId, w, h];\n operatorList.addOp(_util.OPS.paintJpegXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintJpegXObject,\n args: args\n };\n }\n }, function (reason) {\n (0, _util.warn)('Native JPEG decoding failed -- trying to recover: ' + (reason && reason.message));\n return _this2.buildPaintImageXObject({\n resources: resources,\n image: image,\n isInline: isInline,\n operatorList: operatorList,\n cacheKey: cacheKey,\n imageCache: imageCache,\n forceDisableNativeImageDecoder: true\n });\n }));\n\n case 37:\n nativeImageDecoder = null;\n\n if (nativeImageDecoderSupport === _util.NativeImageDecoding.DECODE && (image instanceof _jpeg_stream.JpegStream || mask instanceof _jpeg_stream.JpegStream || softMask instanceof _jpeg_stream.JpegStream)) {\n nativeImageDecoder = new _image_utils.NativeImageDecoder({\n xref: this.xref,\n resources: resources,\n handler: this.handler,\n forceDataSchema: this.options.forceDataSchema,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n }\n\n operatorList.addDependency(objId);\n args = [objId, w, h];\n imgPromise = _image.PDFImage.buildImage({\n handler: this.handler,\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n nativeDecoder: nativeImageDecoder,\n pdfFunctionFactory: this.pdfFunctionFactory\n }).then(function (imageObj) {\n var imgData = imageObj.createImageData(false);\n\n if (_this2.parsingType3Font) {\n return _this2.handler.sendWithPromise('commonobj', [objId, 'FontType3Res', imgData], [imgData.data.buffer]);\n }\n\n _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', imgData], [imgData.data.buffer]);\n\n return undefined;\n })[\"catch\"](function (reason) {\n (0, _util.warn)('Unable to decode image: ' + reason);\n\n if (_this2.parsingType3Font) {\n return _this2.handler.sendWithPromise('commonobj', [objId, 'FontType3Res', null]);\n }\n\n _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', null]);\n\n return undefined;\n });\n\n if (!this.parsingType3Font) {\n _context2.next = 45;\n break;\n }\n\n _context2.next = 45;\n return imgPromise;\n\n case 45:\n operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintImageXObject,\n args: args\n };\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 48:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function buildPaintImageXObject(_x2) {\n return _buildPaintImageXObject.apply(this, arguments);\n }\n\n return buildPaintImageXObject;\n }(),\n handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {\n var smaskContent = smask.get('G');\n var smaskOptions = {\n subtype: smask.get('S').name,\n backdrop: smask.get('BC')\n };\n var transferObj = smask.get('TR');\n\n if ((0, _function.isPDFFunction)(transferObj)) {\n var transferFn = this.pdfFunctionFactory.create(transferObj);\n var transferMap = new Uint8Array(256);\n var tmp = new Float32Array(1);\n\n for (var i = 0; i < 256; i++) {\n tmp[0] = i / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[i] = tmp[0] * 255 | 0;\n }\n\n smaskOptions.transferMap = transferMap;\n }\n\n return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone());\n },\n handleTilingType: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n var _this3 = this;\n\n var tilingOpList = new _operator_list.OperatorList();\n var resourcesArray = [patternDict.get('Resources'), resources];\n\n var patternResources = _primitives.Dict.merge(this.xref, resourcesArray);\n\n return this.getOperatorList({\n stream: pattern,\n task: task,\n resources: patternResources,\n operatorList: tilingOpList\n }).then(function () {\n return (0, _pattern.getTilingPatternIR)({\n fnArray: tilingOpList.fnArray,\n argsArray: tilingOpList.argsArray\n }, patternDict, args);\n }).then(function (tilingPatternIR) {\n operatorList.addDependencies(tilingOpList.dependencies);\n operatorList.addOp(fn, tilingPatternIR);\n }, function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this3.options.ignoreErrors) {\n _this3.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n });\n },\n handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n var _this4 = this;\n\n var fontName;\n\n if (fontArgs) {\n fontArgs = fontArgs.slice();\n fontName = fontArgs[0].name;\n }\n\n return this.loadFont(fontName, fontRef, resources).then(function (translated) {\n if (!translated.font.isType3Font) {\n return translated;\n }\n\n return translated.loadType3Data(_this4, resources, operatorList, task).then(function () {\n return translated;\n })[\"catch\"](function (reason) {\n _this4.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n return new TranslatedFont('g_font_error', new _fonts.ErrorFont('Type3 font load error: ' + reason), translated.font);\n });\n }).then(function (translated) {\n state.font = translated.font;\n translated.send(_this4.handler);\n return translated.loadedName;\n });\n },\n handleText: function handleText(chars, state) {\n var font = state.font;\n var glyphs = font.charsToGlyphs(chars);\n\n if (font.data) {\n var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n\n if (isAddToPathSet || state.fillColorSpace.name === 'Pattern' || font.disableFontFace || this.options.disableFontFace) {\n PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n }\n }\n\n return glyphs;\n },\n setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {\n var _this5 = this;\n\n var gStateObj = [];\n var gStateKeys = gState.getKeys();\n var promise = Promise.resolve();\n\n var _loop = function _loop() {\n var key = gStateKeys[i];\n var value = gState.get(key);\n\n switch (key) {\n case 'Type':\n break;\n\n case 'LW':\n case 'LC':\n case 'LJ':\n case 'ML':\n case 'D':\n case 'RI':\n case 'FL':\n case 'CA':\n case 'ca':\n gStateObj.push([key, value]);\n break;\n\n case 'Font':\n promise = promise.then(function () {\n return _this5.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n gStateObj.push([key, [loadedName, value[1]]]);\n });\n });\n break;\n\n case 'BM':\n gStateObj.push([key, normalizeBlendMode(value)]);\n break;\n\n case 'SMask':\n if ((0, _primitives.isName)(value, 'None')) {\n gStateObj.push([key, false]);\n break;\n }\n\n if ((0, _primitives.isDict)(value)) {\n promise = promise.then(function () {\n return _this5.handleSMask(value, resources, operatorList, task, stateManager);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)('Unsupported SMask type');\n }\n\n break;\n\n case 'OP':\n case 'op':\n case 'OPM':\n case 'BG':\n case 'BG2':\n case 'UCR':\n case 'UCR2':\n case 'TR':\n case 'TR2':\n case 'HT':\n case 'SM':\n case 'SA':\n case 'AIS':\n case 'TK':\n (0, _util.info)('graphic state operator ' + key);\n break;\n\n default:\n (0, _util.info)('Unknown graphic state operator ' + key);\n break;\n }\n };\n\n for (var i = 0, ii = gStateKeys.length; i < ii; i++) {\n _loop();\n }\n\n return promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n });\n },\n loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {\n var _this6 = this;\n\n function errorFont() {\n return Promise.resolve(new TranslatedFont('g_font_error', new _fonts.ErrorFont('Font ' + fontName + ' is not available'), font));\n }\n\n var fontRef,\n xref = this.xref;\n\n if (font) {\n if (!(0, _primitives.isRef)(font)) {\n throw new Error('The \"font\" object should be a reference.');\n }\n\n fontRef = font;\n } else {\n var fontRes = resources.get('Font');\n\n if (fontRes) {\n fontRef = fontRes.getRaw(fontName);\n } else {\n (0, _util.warn)('fontRes not available');\n return errorFont();\n }\n }\n\n if (!fontRef) {\n (0, _util.warn)('fontRef not available');\n return errorFont();\n }\n\n if (this.fontCache.has(fontRef)) {\n return this.fontCache.get(fontRef);\n }\n\n font = xref.fetchIfRef(fontRef);\n\n if (!(0, _primitives.isDict)(font)) {\n return errorFont();\n }\n\n if (font.translated) {\n return font.translated;\n }\n\n var fontCapability = (0, _util.createPromiseCapability)();\n var preEvaluatedFont = this.preEvaluateFont(font);\n var descriptor = preEvaluatedFont.descriptor,\n hash = preEvaluatedFont.hash;\n var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n fontID;\n\n if (fontRefIsRef) {\n fontID = fontRef.toString();\n }\n\n if (hash && (0, _primitives.isDict)(descriptor)) {\n if (!descriptor.fontAliases) {\n descriptor.fontAliases = Object.create(null);\n }\n\n var fontAliases = descriptor.fontAliases;\n\n if (fontAliases[hash]) {\n var aliasFontRef = fontAliases[hash].aliasRef;\n\n if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n this.fontCache.putAlias(fontRef, aliasFontRef);\n return this.fontCache.get(fontRef);\n }\n } else {\n fontAliases[hash] = {\n fontID: _fonts.Font.getFontID()\n };\n }\n\n if (fontRefIsRef) {\n fontAliases[hash].aliasRef = fontRef;\n }\n\n fontID = fontAliases[hash].fontID;\n }\n\n if (fontRefIsRef) {\n this.fontCache.put(fontRef, fontCapability.promise);\n } else {\n if (!fontID) {\n fontID = this.idFactory.createObjId();\n }\n\n this.fontCache.put(\"id_\".concat(fontID), fontCapability.promise);\n }\n\n (0, _util.assert)(fontID, 'The \"fontID\" must be defined.');\n font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_f\").concat(fontID);\n font.translated = fontCapability.promise;\n var translatedPromise;\n\n try {\n translatedPromise = this.translateFont(preEvaluatedFont);\n } catch (e) {\n translatedPromise = Promise.reject(e);\n }\n\n translatedPromise.then(function (translatedFont) {\n if (translatedFont.fontType !== undefined) {\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[translatedFont.fontType] = true;\n }\n\n fontCapability.resolve(new TranslatedFont(font.loadedName, translatedFont, font));\n })[\"catch\"](function (reason) {\n _this6.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n try {\n var fontFile3 = descriptor && descriptor.get('FontFile3');\n var subtype = fontFile3 && fontFile3.get('Subtype');\n var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[fontType] = true;\n } catch (ex) {}\n\n fontCapability.resolve(new TranslatedFont(font.loadedName, new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason), font));\n });\n return fontCapability.promise;\n },\n buildPath: function buildPath(operatorList, fn, args) {\n var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var lastIndex = operatorList.length - 1;\n\n if (!args) {\n args = [];\n }\n\n if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n if (parsingText) {\n (0, _util.warn)(\"Encountered path operator \\\"\".concat(fn, \"\\\" inside of a text object.\"));\n operatorList.addOp(_util.OPS.save, null);\n }\n\n operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n\n if (parsingText) {\n operatorList.addOp(_util.OPS.restore, null);\n }\n } else {\n var opArgs = operatorList.argsArray[lastIndex];\n opArgs[0].push(fn);\n Array.prototype.push.apply(opArgs[1], args);\n }\n },\n handleColorN: function () {\n var _handleColorN = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3(operatorList, fn, args, cs, patterns, resources, task) {\n var patternName, pattern, dict, typeNum, color, shading, matrix;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n patternName = args[args.length - 1];\n\n if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {\n _context3.next = 16;\n break;\n }\n\n dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n typeNum = dict.get('PatternType');\n\n if (!(typeNum === TILING_PATTERN)) {\n _context3.next = 9;\n break;\n }\n\n color = cs.base ? cs.base.getRgb(args, 0) : null;\n return _context3.abrupt(\"return\", this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));\n\n case 9:\n if (!(typeNum === SHADING_PATTERN)) {\n _context3.next = 15;\n break;\n }\n\n shading = dict.get('Shading');\n matrix = dict.getArray('Matrix');\n pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, this.pdfFunctionFactory);\n operatorList.addOp(fn, pattern.getIR());\n return _context3.abrupt(\"return\", undefined);\n\n case 15:\n throw new _util.FormatError(\"Unknown PatternType: \".concat(typeNum));\n\n case 16:\n throw new _util.FormatError(\"Unknown PatternName: \".concat(patternName));\n\n case 17:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function handleColorN(_x3, _x4, _x5, _x6, _x7, _x8, _x9) {\n return _handleColorN.apply(this, arguments);\n }\n\n return handleColorN;\n }(),\n getOperatorList: function getOperatorList(_ref5) {\n var _this7 = this;\n\n var stream = _ref5.stream,\n task = _ref5.task,\n resources = _ref5.resources,\n operatorList = _ref5.operatorList,\n _ref5$initialState = _ref5.initialState,\n initialState = _ref5$initialState === void 0 ? null : _ref5$initialState;\n resources = resources || _primitives.Dict.empty;\n initialState = initialState || new EvalState();\n\n if (!operatorList) {\n throw new Error('getOperatorList: missing \"operatorList\" parameter');\n }\n\n var self = this;\n var xref = this.xref;\n var parsingText = false;\n var imageCache = Object.create(null);\n\n var xobjs = resources.get('XObject') || _primitives.Dict.empty;\n\n var patterns = resources.get('Pattern') || _primitives.Dict.empty;\n\n var stateManager = new StateManager(initialState);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var timeSlotManager = new TimeSlotManager();\n\n function closePendingRestoreOPS(argument) {\n for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n operatorList.addOp(_util.OPS.restore, []);\n }\n }\n\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n Promise.all([promise, operatorList.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n i,\n ii,\n cs;\n\n while (!(stop = timeSlotManager.check())) {\n operation.args = null;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n var args = operation.args;\n var fn = operation.fn;\n\n switch (fn | 0) {\n case _util.OPS.paintXObject:\n var name = args[0].name;\n\n if (name && imageCache[name] !== undefined) {\n operatorList.addOp(imageCache[name].fn, imageCache[name].args);\n args = null;\n continue;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError('XObject must be referred to by name.');\n }\n\n var xobj = xobjs.get(name);\n\n if (!xobj) {\n operatorList.addOp(fn, args);\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError('XObject should be a stream');\n }\n\n var type = xobj.dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('XObject should have a Name subtype');\n }\n\n if (type.name === 'Form') {\n stateManager.save();\n self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {\n stateManager.restore();\n resolveXObject();\n }, rejectXObject);\n return;\n } else if (type.name === 'Image') {\n self.buildPaintImageXObject({\n resources: resources,\n image: xobj,\n operatorList: operatorList,\n cacheKey: name,\n imageCache: imageCache\n }).then(resolveXObject, rejectXObject);\n return;\n } else if (type.name === 'PS') {\n (0, _util.info)('Ignored XObject subtype PS');\n } else {\n throw new _util.FormatError(\"Unhandled XObject subtype \".concat(type.name));\n }\n\n resolveXObject();\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n (0, _util.warn)(\"getOperatorList - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setFont:\n var fontSize = args[1];\n next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n }));\n return;\n\n case _util.OPS.beginText:\n parsingText = true;\n break;\n\n case _util.OPS.endText:\n parsingText = false;\n break;\n\n case _util.OPS.endInlineImage:\n var cacheKey = args[0].cacheKey;\n\n if (cacheKey) {\n var cacheEntry = imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n operatorList.addOp(cacheEntry.fn, cacheEntry.args);\n args = null;\n continue;\n }\n }\n\n next(self.buildPaintImageXObject({\n resources: resources,\n image: args[0],\n isInline: true,\n operatorList: operatorList,\n cacheKey: cacheKey,\n imageCache: imageCache\n }));\n return;\n\n case _util.OPS.showText:\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n\n case _util.OPS.showSpacedText:\n var arr = args[0];\n var combinedGlyphs = [];\n var arrLength = arr.length;\n var state = stateManager.state;\n\n for (i = 0; i < arrLength; ++i) {\n var arrItem = arr[i];\n\n if ((0, _util.isString)(arrItem)) {\n Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n } else if ((0, _util.isNum)(arrItem)) {\n combinedGlyphs.push(arrItem);\n }\n }\n\n args[0] = combinedGlyphs;\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineShowText:\n operatorList.addOp(_util.OPS.nextLine);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n operatorList.addOp(_util.OPS.nextLine);\n operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.setTextRenderingMode:\n stateManager.state.textRenderingMode = args[0];\n break;\n\n case _util.OPS.setFillColorSpace:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, self.pdfFunctionFactory);\n continue;\n\n case _util.OPS.setStrokeColorSpace:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, self.pdfFunctionFactory);\n continue;\n\n case _util.OPS.setFillColor:\n cs = stateManager.state.fillColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColor:\n cs = stateManager.state.strokeColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillGray:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeGray:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillCMYKColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeCMYKColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillRGBColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setFillColorN:\n cs = stateManager.state.fillColorSpace;\n\n if (cs.name === 'Pattern') {\n next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColorN:\n cs = stateManager.state.strokeColorSpace;\n\n if (cs.name === 'Pattern') {\n next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.shadingFill:\n var shadingRes = resources.get('Shading');\n\n if (!shadingRes) {\n throw new _util.FormatError('No shading resource found');\n }\n\n var shading = shadingRes.get(args[0].name);\n\n if (!shading) {\n throw new _util.FormatError('No shading object found');\n }\n\n var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self.pdfFunctionFactory);\n\n var patternIR = shadingFill.getIR();\n args = [patternIR];\n fn = _util.OPS.shadingFill;\n break;\n\n case _util.OPS.setGState:\n var dictName = args[0];\n var extGState = resources.get('ExtGState');\n\n if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n next(self.setGState(resources, gState, operatorList, task, stateManager));\n return;\n\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n case _util.OPS.curveTo:\n case _util.OPS.curveTo2:\n case _util.OPS.curveTo3:\n case _util.OPS.closePath:\n case _util.OPS.rectangle:\n self.buildPath(operatorList, fn, args, parsingText);\n continue;\n\n case _util.OPS.markPoint:\n case _util.OPS.markPointProps:\n case _util.OPS.beginMarkedContent:\n case _util.OPS.beginMarkedContentProps:\n case _util.OPS.endMarkedContent:\n case _util.OPS.beginCompat:\n case _util.OPS.endCompat:\n continue;\n\n default:\n if (args !== null) {\n for (i = 0, ii = args.length; i < ii; i++) {\n if (args[i] instanceof _primitives.Dict) {\n break;\n }\n }\n\n if (i < ii) {\n (0, _util.warn)('getOperatorList - ignoring operator: ' + fn);\n continue;\n }\n }\n\n }\n\n operatorList.addOp(fn, args);\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n closePendingRestoreOPS();\n resolve();\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this7.options.ignoreErrors) {\n _this7.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"getOperatorList - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n closePendingRestoreOPS();\n return;\n }\n\n throw reason;\n });\n },\n getTextContent: function getTextContent(_ref6) {\n var _this8 = this;\n\n var stream = _ref6.stream,\n task = _ref6.task,\n resources = _ref6.resources,\n _ref6$stateManager = _ref6.stateManager,\n stateManager = _ref6$stateManager === void 0 ? null : _ref6$stateManager,\n _ref6$normalizeWhites = _ref6.normalizeWhitespace,\n normalizeWhitespace = _ref6$normalizeWhites === void 0 ? false : _ref6$normalizeWhites,\n _ref6$combineTextItem = _ref6.combineTextItems,\n combineTextItems = _ref6$combineTextItem === void 0 ? false : _ref6$combineTextItem,\n sink = _ref6.sink,\n _ref6$seenStyles = _ref6.seenStyles,\n seenStyles = _ref6$seenStyles === void 0 ? Object.create(null) : _ref6$seenStyles;\n resources = resources || _primitives.Dict.empty;\n stateManager = stateManager || new StateManager(new TextState());\n var WhitespaceRegexp = /\\s/g;\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n var textContentItem = {\n initialized: false,\n str: [],\n width: 0,\n height: 0,\n vertical: false,\n lastAdvanceWidth: 0,\n lastAdvanceHeight: 0,\n textAdvanceScale: 0,\n spaceWidth: 0,\n fakeSpaceMin: Infinity,\n fakeMultiSpaceMin: Infinity,\n fakeMultiSpaceMax: -0,\n textRunBreakAllowed: false,\n transform: null,\n fontName: null\n };\n var SPACE_FACTOR = 0.3;\n var MULTI_SPACE_FACTOR = 1.5;\n var MULTI_SPACE_FACTOR_MAX = 4;\n var self = this;\n var xref = this.xref;\n var xobjs = null;\n var skipEmptyXObjs = Object.create(null);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var textState;\n\n function ensureTextContentItem() {\n if (textContentItem.initialized) {\n return textContentItem;\n }\n\n var font = textState.font;\n\n if (!(font.loadedName in seenStyles)) {\n seenStyles[font.loadedName] = true;\n textContent.styles[font.loadedName] = {\n fontFamily: font.fallbackName,\n ascent: font.ascent,\n descent: font.descent,\n vertical: !!font.vertical\n };\n }\n\n textContentItem.fontName = font.loadedName;\n var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n\n if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n var glyphHeight = font.bbox[3] - font.bbox[1];\n\n if (glyphHeight > 0) {\n tsm[3] *= glyphHeight * textState.fontMatrix[3];\n }\n }\n\n var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n\n textContentItem.transform = trm;\n\n if (!font.vertical) {\n textContentItem.width = 0;\n textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n textContentItem.vertical = false;\n } else {\n textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n textContentItem.height = 0;\n textContentItem.vertical = true;\n }\n\n var a = textState.textLineMatrix[0];\n var b = textState.textLineMatrix[1];\n var scaleLineX = Math.sqrt(a * a + b * b);\n a = textState.ctm[0];\n b = textState.ctm[1];\n var scaleCtmX = Math.sqrt(a * a + b * b);\n textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n textContentItem.lastAdvanceWidth = 0;\n textContentItem.lastAdvanceHeight = 0;\n var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n\n if (spaceWidth) {\n textContentItem.spaceWidth = spaceWidth;\n textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n textContentItem.textRunBreakAllowed = !font.isMonospace;\n } else {\n textContentItem.spaceWidth = 0;\n textContentItem.fakeSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMax = 0;\n textContentItem.textRunBreakAllowed = false;\n }\n\n textContentItem.initialized = true;\n return textContentItem;\n }\n\n function replaceWhitespace(str) {\n var i = 0,\n ii = str.length,\n code;\n\n while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7F) {\n i++;\n }\n\n return i < ii ? str.replace(WhitespaceRegexp, ' ') : str;\n }\n\n function runBidiTransform(textChunk) {\n var str = textChunk.str.join('');\n var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n return {\n str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n dir: bidiResult.dir,\n width: textChunk.width,\n height: textChunk.height,\n transform: textChunk.transform,\n fontName: textChunk.fontName\n };\n }\n\n function handleSetFont(fontName, fontRef) {\n return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n textState.font = translated.font;\n textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n });\n }\n\n function buildTextContentItem(chars) {\n var font = textState.font;\n var textChunk = ensureTextContentItem();\n var width = 0;\n var height = 0;\n var glyphs = font.charsToGlyphs(chars);\n\n for (var i = 0; i < glyphs.length; i++) {\n var glyph = glyphs[i];\n var glyphWidth = null;\n\n if (font.vertical && glyph.vmetric) {\n glyphWidth = glyph.vmetric[0];\n } else {\n glyphWidth = glyph.width;\n }\n\n var glyphUnicode = glyph.unicode;\n var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n\n if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n glyphUnicode = NormalizedUnicodes[glyphUnicode];\n }\n\n glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n var charSpacing = textState.charSpacing;\n\n if (glyph.isSpace) {\n var wordSpacing = textState.wordSpacing;\n charSpacing += wordSpacing;\n\n if (wordSpacing > 0) {\n addFakeSpaces(wordSpacing, textChunk.str);\n }\n }\n\n var tx = 0;\n var ty = 0;\n\n if (!font.vertical) {\n var w0 = glyphWidth * textState.fontMatrix[0];\n tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n width += tx;\n } else {\n var w1 = glyphWidth * textState.fontMatrix[0];\n ty = w1 * textState.fontSize + charSpacing;\n height += ty;\n }\n\n textState.translateTextMatrix(tx, ty);\n textChunk.str.push(glyphUnicode);\n }\n\n if (!font.vertical) {\n textChunk.lastAdvanceWidth = width;\n textChunk.width += width;\n } else {\n textChunk.lastAdvanceHeight = height;\n textChunk.height += Math.abs(height);\n }\n\n return textChunk;\n }\n\n function addFakeSpaces(width, strBuf) {\n if (width < textContentItem.fakeSpaceMin) {\n return;\n }\n\n if (width < textContentItem.fakeMultiSpaceMin) {\n strBuf.push(' ');\n return;\n }\n\n var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n\n while (fakeSpaces-- > 0) {\n strBuf.push(' ');\n }\n }\n\n function flushTextContentItem() {\n if (!textContentItem.initialized) {\n return;\n }\n\n if (!textContentItem.vertical) {\n textContentItem.width *= textContentItem.textAdvanceScale;\n } else {\n textContentItem.height *= textContentItem.textAdvanceScale;\n }\n\n textContent.items.push(runBidiTransform(textContentItem));\n textContentItem.initialized = false;\n textContentItem.str.length = 0;\n }\n\n function enqueueChunk() {\n var length = textContent.items.length;\n\n if (length > 0) {\n sink.enqueue(textContent, length);\n textContent.items = [];\n textContent.styles = Object.create(null);\n }\n }\n\n var timeSlotManager = new TimeSlotManager();\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n enqueueChunk();\n Promise.all([promise, sink.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n args = [];\n\n while (!(stop = timeSlotManager.check())) {\n args.length = 0;\n operation.args = args;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n textState = stateManager.state;\n var fn = operation.fn;\n args = operation.args;\n var advance, diff;\n\n switch (fn | 0) {\n case _util.OPS.setFont:\n var fontNameArg = args[0].name,\n fontSizeArg = args[1];\n\n if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n break;\n }\n\n flushTextContentItem();\n textState.fontName = fontNameArg;\n textState.fontSize = fontSizeArg;\n next(handleSetFont(fontNameArg, null));\n return;\n\n case _util.OPS.setTextRise:\n flushTextContentItem();\n textState.textRise = args[0];\n break;\n\n case _util.OPS.setHScale:\n flushTextContentItem();\n textState.textHScale = args[0] / 100;\n break;\n\n case _util.OPS.setLeading:\n flushTextContentItem();\n textState.leading = args[0];\n break;\n\n case _util.OPS.moveText:\n var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n advance = args[0] - args[1];\n\n if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(args[0], args[1]);\n textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.setLeadingMoveText:\n flushTextContentItem();\n textState.leading = -args[1];\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.nextLine:\n flushTextContentItem();\n textState.carriageReturn();\n break;\n\n case _util.OPS.setTextMatrix:\n advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n\n if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(advance.width, advance.height);\n textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setCharSpacing:\n textState.charSpacing = args[0];\n break;\n\n case _util.OPS.setWordSpacing:\n textState.wordSpacing = args[0];\n break;\n\n case _util.OPS.beginText:\n flushTextContentItem();\n textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n break;\n\n case _util.OPS.showSpacedText:\n var items = args[0];\n var offset;\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n if (typeof items[j] === 'string') {\n buildTextContentItem(items[j]);\n } else if ((0, _util.isNum)(items[j])) {\n ensureTextContentItem();\n advance = items[j] * textState.fontSize / 1000;\n var breakTextRun = false;\n\n if (textState.font.vertical) {\n offset = advance;\n textState.translateTextMatrix(0, offset);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.height += offset;\n }\n } else {\n advance = -advance;\n offset = advance * textState.textHScale;\n textState.translateTextMatrix(offset, 0);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.width += offset;\n }\n }\n\n if (breakTextRun) {\n flushTextContentItem();\n } else if (advance > 0) {\n addFakeSpaces(advance, textContentItem.str);\n }\n }\n }\n\n break;\n\n case _util.OPS.showText:\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineShowText:\n flushTextContentItem();\n textState.carriageReturn();\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n flushTextContentItem();\n textState.wordSpacing = args[0];\n textState.charSpacing = args[1];\n textState.carriageReturn();\n buildTextContentItem(args[2]);\n break;\n\n case _util.OPS.paintXObject:\n flushTextContentItem();\n\n if (!xobjs) {\n xobjs = resources.get('XObject') || _primitives.Dict.empty;\n }\n\n var name = args[0].name;\n\n if (name && skipEmptyXObjs[name] !== undefined) {\n break;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError('XObject must be referred to by name.');\n }\n\n var xobj = xobjs.get(name);\n\n if (!xobj) {\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError('XObject should be a stream');\n }\n\n var type = xobj.dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('XObject should have a Name subtype');\n }\n\n if (type.name !== 'Form') {\n skipEmptyXObjs[name] = true;\n resolveXObject();\n return;\n }\n\n var currentState = stateManager.state.clone();\n var xObjStateManager = new StateManager(currentState);\n var matrix = xobj.dict.getArray('Matrix');\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n xObjStateManager.transform(matrix);\n }\n\n enqueueChunk();\n var sinkWrapper = {\n enqueueInvoked: false,\n enqueue: function enqueue(chunk, size) {\n this.enqueueInvoked = true;\n sink.enqueue(chunk, size);\n },\n\n get desiredSize() {\n return sink.desiredSize;\n },\n\n get ready() {\n return sink.ready;\n }\n\n };\n self.getTextContent({\n stream: xobj,\n task: task,\n resources: xobj.dict.get('Resources') || resources,\n stateManager: xObjStateManager,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sinkWrapper,\n seenStyles: seenStyles\n }).then(function () {\n if (!sinkWrapper.enqueueInvoked) {\n skipEmptyXObjs[name] = true;\n }\n\n resolveXObject();\n }, rejectXObject);\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setGState:\n flushTextContentItem();\n var dictName = args[0];\n var extGState = resources.get('ExtGState');\n\n if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n\n if (!(0, _primitives.isDict)(gState)) {\n break;\n }\n\n var gStateFont = gState.get('Font');\n\n if (gStateFont) {\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n next(handleSetFont(null, gStateFont[0]));\n return;\n }\n\n break;\n }\n\n if (textContent.items.length >= sink.desiredSize) {\n stop = true;\n break;\n }\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n flushTextContentItem();\n enqueueChunk();\n resolve();\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this8.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n flushTextContentItem();\n enqueueChunk();\n return;\n }\n\n throw reason;\n });\n },\n extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {\n var _this9 = this;\n\n var xref = this.xref,\n cidToGidBytes;\n var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');\n var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n\n if (properties.composite) {\n var cidSystemInfo = dict.get('CIDSystemInfo');\n\n if ((0, _primitives.isDict)(cidSystemInfo)) {\n properties.cidSystemInfo = {\n registry: (0, _util.stringToPDFString)(cidSystemInfo.get('Registry')),\n ordering: (0, _util.stringToPDFString)(cidSystemInfo.get('Ordering')),\n supplement: cidSystemInfo.get('Supplement')\n };\n }\n\n var cidToGidMap = dict.get('CIDToGIDMap');\n\n if ((0, _primitives.isStream)(cidToGidMap)) {\n cidToGidBytes = cidToGidMap.getBytes();\n }\n }\n\n var differences = [];\n var baseEncodingName = null;\n var encoding;\n\n if (dict.has('Encoding')) {\n encoding = dict.get('Encoding');\n\n if ((0, _primitives.isDict)(encoding)) {\n baseEncodingName = encoding.get('BaseEncoding');\n baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n\n if (encoding.has('Differences')) {\n var diffEncoding = encoding.get('Differences');\n var index = 0;\n\n for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n var data = xref.fetchIfRef(diffEncoding[j]);\n\n if ((0, _util.isNum)(data)) {\n index = data;\n } else if ((0, _primitives.isName)(data)) {\n differences[index++] = data.name;\n } else {\n throw new _util.FormatError(\"Invalid entry in 'Differences' array: \".concat(data));\n }\n }\n }\n } else if ((0, _primitives.isName)(encoding)) {\n baseEncodingName = encoding.name;\n } else {\n throw new _util.FormatError('Encoding is not a Name nor a Dict');\n }\n\n if (baseEncodingName !== 'MacRomanEncoding' && baseEncodingName !== 'MacExpertEncoding' && baseEncodingName !== 'WinAnsiEncoding') {\n baseEncodingName = null;\n }\n }\n\n if (baseEncodingName) {\n properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n } else {\n var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n encoding = _encodings.StandardEncoding;\n\n if (properties.type === 'TrueType' && !isNonsymbolicFont) {\n encoding = _encodings.WinAnsiEncoding;\n }\n\n if (isSymbolicFont) {\n encoding = _encodings.MacRomanEncoding;\n\n if (!properties.file) {\n if (/Symbol/i.test(properties.name)) {\n encoding = _encodings.SymbolSetEncoding;\n } else if (/Dingbats/i.test(properties.name)) {\n encoding = _encodings.ZapfDingbatsEncoding;\n }\n }\n }\n\n properties.defaultEncoding = encoding;\n }\n\n properties.differences = differences;\n properties.baseEncodingName = baseEncodingName;\n properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n properties.dict = dict;\n return toUnicodePromise.then(function (toUnicode) {\n properties.toUnicode = toUnicode;\n return _this9.buildToUnicode(properties);\n }).then(function (toUnicode) {\n properties.toUnicode = toUnicode;\n\n if (cidToGidBytes) {\n properties.cidToGidMap = _this9.readCidToGidMap(cidToGidBytes, toUnicode);\n }\n\n return properties;\n });\n },\n _buildSimpleFontToUnicode: function _buildSimpleFontToUnicode(properties) {\n (0, _util.assert)(!properties.composite, 'Must be a simple font.');\n var toUnicode = [],\n charcode,\n glyphName;\n var encoding = properties.defaultEncoding.slice();\n var baseEncodingName = properties.baseEncodingName;\n var differences = properties.differences;\n\n for (charcode in differences) {\n glyphName = differences[charcode];\n\n if (glyphName === '.notdef') {\n continue;\n }\n\n encoding[charcode] = glyphName;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (charcode in encoding) {\n glyphName = encoding[charcode];\n\n if (glyphName === '') {\n continue;\n } else if (glyphsUnicodeMap[glyphName] === undefined) {\n var code = 0;\n\n switch (glyphName[0]) {\n case 'G':\n if (glyphName.length === 3) {\n code = parseInt(glyphName.substring(1), 16);\n }\n\n break;\n\n case 'g':\n if (glyphName.length === 5) {\n code = parseInt(glyphName.substring(1), 16);\n }\n\n break;\n\n case 'C':\n case 'c':\n if (glyphName.length >= 3) {\n code = +glyphName.substring(1);\n }\n\n break;\n\n default:\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n code = unicode;\n }\n\n }\n\n if (code) {\n if (baseEncodingName && code === +charcode) {\n var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n\n if (baseEncoding && (glyphName = baseEncoding[charcode])) {\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n continue;\n }\n }\n\n toUnicode[charcode] = String.fromCodePoint(code);\n }\n\n continue;\n }\n\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n }\n\n return new _fonts.ToUnicodeMap(toUnicode);\n },\n buildToUnicode: function buildToUnicode(properties) {\n properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n\n if (properties.hasIncludedToUnicodeMap) {\n if (!properties.composite && properties.hasEncoding) {\n properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);\n }\n\n return Promise.resolve(properties.toUnicode);\n }\n\n if (!properties.composite) {\n return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n }\n\n if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === 'Adobe' && (properties.cidSystemInfo.ordering === 'GB1' || properties.cidSystemInfo.ordering === 'CNS1' || properties.cidSystemInfo.ordering === 'Japan1' || properties.cidSystemInfo.ordering === 'Korea1'))) {\n var registry = properties.cidSystemInfo.registry;\n var ordering = properties.cidSystemInfo.ordering;\n\n var ucs2CMapName = _primitives.Name.get(registry + '-' + ordering + '-UCS2');\n\n return _cmap.CMapFactory.create({\n encoding: ucs2CMapName,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (ucs2CMap) {\n var cMap = properties.cMap;\n var toUnicode = [];\n cMap.forEach(function (charcode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError('Max size of CID is 65,535');\n }\n\n var ucs2 = ucs2CMap.lookup(cid);\n\n if (ucs2) {\n toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n }\n });\n return new _fonts.ToUnicodeMap(toUnicode);\n });\n }\n\n return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n },\n readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {\n var cmapObj = toUnicode;\n\n if ((0, _primitives.isName)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);\n }\n\n return new _fonts.ToUnicodeMap(cmap.getMap());\n });\n } else if ((0, _primitives.isStream)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);\n }\n\n var map = new Array(cmap.length);\n cmap.forEach(function (charCode, token) {\n var str = [];\n\n for (var k = 0; k < token.length; k += 2) {\n var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n\n if ((w1 & 0xF800) !== 0xD800) {\n str.push(w1);\n continue;\n }\n\n k += 2;\n var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n }\n\n map[charCode] = String.fromCodePoint.apply(String, str);\n });\n return new _fonts.ToUnicodeMap(map);\n });\n }\n\n return Promise.resolve(null);\n },\n readCidToGidMap: function readCidToGidMap(glyphsData, toUnicode) {\n var result = [];\n\n for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n var code = j >> 1;\n\n if (glyphID === 0 && !toUnicode.has(code)) {\n continue;\n }\n\n result[code] = glyphID;\n }\n\n return result;\n },\n extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {\n var xref = this.xref;\n var glyphsWidths = [];\n var defaultWidth = 0;\n var glyphsVMetrics = [];\n var defaultVMetrics;\n var i, ii, j, jj, start, code, widths;\n\n if (properties.composite) {\n defaultWidth = dict.has('DW') ? dict.get('DW') : 1000;\n widths = dict.get('W');\n\n if (widths) {\n for (i = 0, ii = widths.length; i < ii; i++) {\n start = xref.fetchIfRef(widths[i++]);\n code = xref.fetchIfRef(widths[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n }\n } else {\n var width = xref.fetchIfRef(widths[++i]);\n\n for (j = start; j <= code; j++) {\n glyphsWidths[j] = width;\n }\n }\n }\n }\n\n if (properties.vertical) {\n var vmetrics = dict.getArray('DW2') || [880, -1000];\n defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n vmetrics = dict.get('W2');\n\n if (vmetrics) {\n for (i = 0, ii = vmetrics.length; i < ii; i++) {\n start = xref.fetchIfRef(vmetrics[i++]);\n code = xref.fetchIfRef(vmetrics[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n }\n } else {\n var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n\n for (j = start; j <= code; j++) {\n glyphsVMetrics[j] = vmetric;\n }\n }\n }\n }\n }\n } else {\n var firstChar = properties.firstChar;\n widths = dict.get('Widths');\n\n if (widths) {\n j = firstChar;\n\n for (i = 0, ii = widths.length; i < ii; i++) {\n glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n }\n\n defaultWidth = parseFloat(descriptor.get('MissingWidth')) || 0;\n } else {\n var baseFontName = dict.get('BaseFont');\n\n if ((0, _primitives.isName)(baseFontName)) {\n var metrics = this.getBaseFontMetrics(baseFontName.name);\n glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n defaultWidth = metrics.defaultWidth;\n }\n }\n }\n\n var isMonospace = true;\n var firstWidth = defaultWidth;\n\n for (var glyph in glyphsWidths) {\n var glyphWidth = glyphsWidths[glyph];\n\n if (!glyphWidth) {\n continue;\n }\n\n if (!firstWidth) {\n firstWidth = glyphWidth;\n continue;\n }\n\n if (firstWidth !== glyphWidth) {\n isMonospace = false;\n break;\n }\n }\n\n if (isMonospace) {\n properties.flags |= _fonts.FontFlags.FixedPitch;\n }\n\n properties.defaultWidth = defaultWidth;\n properties.widths = glyphsWidths;\n properties.defaultVMetrics = defaultVMetrics;\n properties.vmetrics = glyphsVMetrics;\n },\n isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {\n var fontNameWoStyle = baseFontName.split('-')[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n },\n getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {\n var defaultWidth = 0;\n var widths = [];\n var monospace = false;\n var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n var lookupName = stdFontMap[name] || name;\n var Metrics = (0, _metrics.getMetrics)();\n\n if (!(lookupName in Metrics)) {\n if (this.isSerifFont(name)) {\n lookupName = 'Times-Roman';\n } else {\n lookupName = 'Helvetica';\n }\n }\n\n var glyphWidths = Metrics[lookupName];\n\n if ((0, _util.isNum)(glyphWidths)) {\n defaultWidth = glyphWidths;\n monospace = true;\n } else {\n widths = glyphWidths();\n }\n\n return {\n defaultWidth: defaultWidth,\n monospace: monospace,\n widths: widths\n };\n },\n buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {\n var widths = Object.create(null);\n var differences = properties.differences;\n var encoding = properties.defaultEncoding;\n\n for (var charCode = 0; charCode < 256; charCode++) {\n if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n widths[charCode] = widthsByGlyphName[differences[charCode]];\n continue;\n }\n\n if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n widths[charCode] = widthsByGlyphName[encoding[charCode]];\n continue;\n }\n }\n\n return widths;\n },\n preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {\n var baseDict = dict;\n var type = dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('invalid font Subtype');\n }\n\n var composite = false;\n var uint8array;\n\n if (type.name === 'Type0') {\n var df = dict.get('DescendantFonts');\n\n if (!df) {\n throw new _util.FormatError('Descendant fonts are not specified');\n }\n\n dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n type = dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('invalid font Subtype');\n }\n\n composite = true;\n }\n\n var descriptor = dict.get('FontDescriptor');\n\n if (descriptor) {\n var hash = new _murmurhash.MurmurHash3_64();\n var encoding = baseDict.getRaw('Encoding');\n\n if ((0, _primitives.isName)(encoding)) {\n hash.update(encoding.name);\n } else if ((0, _primitives.isRef)(encoding)) {\n hash.update(encoding.toString());\n } else if ((0, _primitives.isDict)(encoding)) {\n var keys = encoding.getKeys();\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n var entry = encoding.getRaw(keys[i]);\n\n if ((0, _primitives.isName)(entry)) {\n hash.update(entry.name);\n } else if ((0, _primitives.isRef)(entry)) {\n hash.update(entry.toString());\n } else if (Array.isArray(entry)) {\n var diffLength = entry.length,\n diffBuf = new Array(diffLength);\n\n for (var j = 0; j < diffLength; j++) {\n var diffEntry = entry[j];\n\n if ((0, _primitives.isName)(diffEntry)) {\n diffBuf[j] = diffEntry.name;\n } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n diffBuf[j] = diffEntry.toString();\n }\n }\n\n hash.update(diffBuf.join());\n }\n }\n }\n\n var firstChar = dict.get('FirstChar') || 0;\n var lastChar = dict.get('LastChar') || (composite ? 0xFFFF : 0xFF);\n hash.update(\"\".concat(firstChar, \"-\").concat(lastChar));\n var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');\n\n if ((0, _primitives.isStream)(toUnicode)) {\n var stream = toUnicode.str || toUnicode;\n uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n hash.update(uint8array);\n } else if ((0, _primitives.isName)(toUnicode)) {\n hash.update(toUnicode.name);\n }\n\n var widths = dict.get('Widths') || baseDict.get('Widths');\n\n if (widths) {\n uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n hash.update(uint8array);\n }\n }\n\n return {\n descriptor: descriptor,\n dict: dict,\n baseDict: baseDict,\n composite: composite,\n type: type.name,\n hash: hash ? hash.hexdigest() : ''\n };\n },\n translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {\n var _this10 = this;\n\n var baseDict = preEvaluatedFont.baseDict;\n var dict = preEvaluatedFont.dict;\n var composite = preEvaluatedFont.composite;\n var descriptor = preEvaluatedFont.descriptor;\n var type = preEvaluatedFont.type;\n var maxCharIndex = composite ? 0xFFFF : 0xFF;\n var properties;\n\n if (!descriptor) {\n if (type === 'Type3') {\n descriptor = new _primitives.Dict(null);\n descriptor.set('FontName', _primitives.Name.get(type));\n descriptor.set('FontBBox', dict.getArray('FontBBox'));\n } else {\n var baseFontName = dict.get('BaseFont');\n\n if (!(0, _primitives.isName)(baseFontName)) {\n throw new _util.FormatError('Base font is not specified');\n }\n\n baseFontName = baseFontName.name.replace(/[,_]/g, '-');\n var metrics = this.getBaseFontMetrics(baseFontName);\n var fontNameWoStyle = baseFontName.split('-')[0];\n var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n properties = {\n type: type,\n name: baseFontName,\n widths: metrics.widths,\n defaultWidth: metrics.defaultWidth,\n flags: flags,\n firstChar: 0,\n lastChar: maxCharIndex\n };\n return this.extractDataStructures(dict, dict, properties).then(function (properties) {\n properties.widths = _this10.buildCharCodeToWidth(metrics.widths, properties);\n return new _fonts.Font(baseFontName, null, properties);\n });\n }\n }\n\n var firstChar = dict.get('FirstChar') || 0;\n var lastChar = dict.get('LastChar') || maxCharIndex;\n var fontName = descriptor.get('FontName');\n var baseFont = dict.get('BaseFont');\n\n if ((0, _util.isString)(fontName)) {\n fontName = _primitives.Name.get(fontName);\n }\n\n if ((0, _util.isString)(baseFont)) {\n baseFont = _primitives.Name.get(baseFont);\n }\n\n if (type !== 'Type3') {\n var fontNameStr = fontName && fontName.name;\n var baseFontStr = baseFont && baseFont.name;\n\n if (fontNameStr !== baseFontStr) {\n (0, _util.info)(\"The FontDescriptor's FontName is \\\"\".concat(fontNameStr, \"\\\" but \") + \"should be the same as the Font's BaseFont \\\"\".concat(baseFontStr, \"\\\".\"));\n\n if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {\n fontName = baseFont;\n }\n }\n }\n\n fontName = fontName || baseFont;\n\n if (!(0, _primitives.isName)(fontName)) {\n throw new _util.FormatError('invalid font name');\n }\n\n var fontFile = descriptor.get('FontFile', 'FontFile2', 'FontFile3');\n\n if (fontFile) {\n if (fontFile.dict) {\n var subtype = fontFile.dict.get('Subtype');\n\n if (subtype) {\n subtype = subtype.name;\n }\n\n var length1 = fontFile.dict.get('Length1');\n var length2 = fontFile.dict.get('Length2');\n var length3 = fontFile.dict.get('Length3');\n }\n }\n\n properties = {\n type: type,\n name: fontName.name,\n subtype: subtype,\n file: fontFile,\n length1: length1,\n length2: length2,\n length3: length3,\n loadedName: baseDict.loadedName,\n composite: composite,\n wideChars: composite,\n fixedPitch: false,\n fontMatrix: dict.getArray('FontMatrix') || _util.FONT_IDENTITY_MATRIX,\n firstChar: firstChar || 0,\n lastChar: lastChar || maxCharIndex,\n bbox: descriptor.getArray('FontBBox'),\n ascent: descriptor.get('Ascent'),\n descent: descriptor.get('Descent'),\n xHeight: descriptor.get('XHeight'),\n capHeight: descriptor.get('CapHeight'),\n flags: descriptor.get('Flags'),\n italicAngle: descriptor.get('ItalicAngle'),\n isType3Font: false\n };\n var cMapPromise;\n\n if (composite) {\n var cidEncoding = baseDict.get('Encoding');\n\n if ((0, _primitives.isName)(cidEncoding)) {\n properties.cidEncoding = cidEncoding.name;\n }\n\n cMapPromise = _cmap.CMapFactory.create({\n encoding: cidEncoding,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cMap) {\n properties.cMap = cMap;\n properties.vertical = properties.cMap.vertical;\n });\n } else {\n cMapPromise = Promise.resolve(undefined);\n }\n\n return cMapPromise.then(function () {\n return _this10.extractDataStructures(dict, baseDict, properties);\n }).then(function (properties) {\n _this10.extractWidths(dict, descriptor, properties);\n\n if (type === 'Type3') {\n properties.isType3Font = true;\n }\n\n return new _fonts.Font(fontName.name, fontFile, properties);\n });\n }\n };\n\n PartialEvaluator.buildFontPaths = function (font, glyphs, handler) {\n function buildPath(fontChar) {\n if (font.renderer.hasBuiltPath(fontChar)) {\n return;\n }\n\n handler.send('commonobj', [\"\".concat(font.loadedName, \"_path_\").concat(fontChar), 'FontPath', font.renderer.getPathJs(fontChar)]);\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = glyphs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var glyph = _step.value;\n buildPath(glyph.fontChar);\n var accent = glyph.accent;\n\n if (accent && accent.fontChar) {\n buildPath(accent.fontChar);\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 return PartialEvaluator;\n}();\n\nexports.PartialEvaluator = PartialEvaluator;\n\nvar TranslatedFont = function TranslatedFontClosure() {\n function TranslatedFont(loadedName, font, dict) {\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this.type3Loaded = null;\n this.sent = false;\n }\n\n TranslatedFont.prototype = {\n send: function send(handler) {\n if (this.sent) {\n return;\n }\n\n this.sent = true;\n handler.send('commonobj', [this.loadedName, 'Font', this.font.exportData()]);\n },\n fallback: function fallback(handler) {\n if (!this.font.data) {\n return;\n }\n\n this.font.disableFontFace = true;\n var glyphs = this.font.glyphCacheValues;\n PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n },\n loadType3Data: function loadType3Data(evaluator, resources, parentOperatorList, task) {\n if (!this.font.isType3Font) {\n throw new Error('Must be a Type3 font.');\n }\n\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n\n var type3Options = Object.create(evaluator.options);\n type3Options.ignoreErrors = false;\n type3Options.nativeImageDecoderSupport = _util.NativeImageDecoding.NONE;\n var type3Evaluator = evaluator.clone(type3Options);\n type3Evaluator.parsingType3Font = true;\n var translatedFont = this.font;\n var loadCharProcsPromise = Promise.resolve();\n var charProcs = this.dict.get('CharProcs');\n var fontResources = this.dict.get('Resources') || resources;\n var charProcKeys = charProcs.getKeys();\n var charProcOperatorList = Object.create(null);\n\n var _loop2 = function _loop2() {\n var key = charProcKeys[i];\n loadCharProcsPromise = loadCharProcsPromise.then(function () {\n var glyphStream = charProcs.get(key);\n var operatorList = new _operator_list.OperatorList();\n return type3Evaluator.getOperatorList({\n stream: glyphStream,\n task: task,\n resources: fontResources,\n operatorList: operatorList\n }).then(function () {\n charProcOperatorList[key] = operatorList.getIR();\n parentOperatorList.addDependencies(operatorList.dependencies);\n })[\"catch\"](function (reason) {\n (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n var operatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = operatorList.getIR();\n });\n });\n };\n\n for (var i = 0, n = charProcKeys.length; i < n; ++i) {\n _loop2();\n }\n\n this.type3Loaded = loadCharProcsPromise.then(function () {\n translatedFont.charProcOperatorList = charProcOperatorList;\n });\n return this.type3Loaded;\n }\n };\n return TranslatedFont;\n}();\n\nvar StateManager = function StateManagerClosure() {\n function StateManager(initialState) {\n this.state = initialState;\n this.stateStack = [];\n }\n\n StateManager.prototype = {\n save: function save() {\n var old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n },\n restore: function restore() {\n var prev = this.stateStack.pop();\n\n if (prev) {\n this.state = prev;\n }\n },\n transform: function transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n };\n return StateManager;\n}();\n\nvar TextState = function TextStateClosure() {\n function TextState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.fontName = null;\n this.fontSize = 0;\n this.font = null;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.textMatrix = _util.IDENTITY_MATRIX.slice();\n this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.leading = 0;\n this.textHScale = 1;\n this.textRise = 0;\n }\n\n TextState.prototype = {\n setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textLineMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n translateTextMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textLineMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n var font = this.font;\n\n if (!font) {\n return null;\n }\n\n var m = this.textLineMatrix;\n\n if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n return null;\n }\n\n var txDiff = e - m[4],\n tyDiff = f - m[5];\n\n if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n return null;\n }\n\n var tx,\n ty,\n denominator = a * d - b * c;\n\n if (font.vertical) {\n tx = -tyDiff * c / denominator;\n ty = tyDiff * a / denominator;\n } else {\n tx = txDiff * d / denominator;\n ty = -txDiff * b / denominator;\n }\n\n return {\n width: tx,\n height: ty,\n value: font.vertical ? ty : tx\n };\n },\n calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {\n var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n },\n carriageReturn: function TextState_carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n },\n clone: function TextState_clone() {\n var clone = Object.create(this);\n clone.textMatrix = this.textMatrix.slice();\n clone.textLineMatrix = this.textLineMatrix.slice();\n clone.fontMatrix = this.fontMatrix.slice();\n return clone;\n }\n };\n return TextState;\n}();\n\nvar EvalState = function EvalStateClosure() {\n function EvalState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.font = null;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n }\n\n EvalState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n }\n };\n return EvalState;\n}();\n\nvar EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {\n var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['w'] = {\n id: _util.OPS.setLineWidth,\n numArgs: 1,\n variableArgs: false\n };\n t['J'] = {\n id: _util.OPS.setLineCap,\n numArgs: 1,\n variableArgs: false\n };\n t['j'] = {\n id: _util.OPS.setLineJoin,\n numArgs: 1,\n variableArgs: false\n };\n t['M'] = {\n id: _util.OPS.setMiterLimit,\n numArgs: 1,\n variableArgs: false\n };\n t['d'] = {\n id: _util.OPS.setDash,\n numArgs: 2,\n variableArgs: false\n };\n t['ri'] = {\n id: _util.OPS.setRenderingIntent,\n numArgs: 1,\n variableArgs: false\n };\n t['i'] = {\n id: _util.OPS.setFlatness,\n numArgs: 1,\n variableArgs: false\n };\n t['gs'] = {\n id: _util.OPS.setGState,\n numArgs: 1,\n variableArgs: false\n };\n t['q'] = {\n id: _util.OPS.save,\n numArgs: 0,\n variableArgs: false\n };\n t['Q'] = {\n id: _util.OPS.restore,\n numArgs: 0,\n variableArgs: false\n };\n t['cm'] = {\n id: _util.OPS.transform,\n numArgs: 6,\n variableArgs: false\n };\n t['m'] = {\n id: _util.OPS.moveTo,\n numArgs: 2,\n variableArgs: false\n };\n t['l'] = {\n id: _util.OPS.lineTo,\n numArgs: 2,\n variableArgs: false\n };\n t['c'] = {\n id: _util.OPS.curveTo,\n numArgs: 6,\n variableArgs: false\n };\n t['v'] = {\n id: _util.OPS.curveTo2,\n numArgs: 4,\n variableArgs: false\n };\n t['y'] = {\n id: _util.OPS.curveTo3,\n numArgs: 4,\n variableArgs: false\n };\n t['h'] = {\n id: _util.OPS.closePath,\n numArgs: 0,\n variableArgs: false\n };\n t['re'] = {\n id: _util.OPS.rectangle,\n numArgs: 4,\n variableArgs: false\n };\n t['S'] = {\n id: _util.OPS.stroke,\n numArgs: 0,\n variableArgs: false\n };\n t['s'] = {\n id: _util.OPS.closeStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['f'] = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t['F'] = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t['f*'] = {\n id: _util.OPS.eoFill,\n numArgs: 0,\n variableArgs: false\n };\n t['B'] = {\n id: _util.OPS.fillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['B*'] = {\n id: _util.OPS.eoFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['b'] = {\n id: _util.OPS.closeFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['b*'] = {\n id: _util.OPS.closeEOFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['n'] = {\n id: _util.OPS.endPath,\n numArgs: 0,\n variableArgs: false\n };\n t['W'] = {\n id: _util.OPS.clip,\n numArgs: 0,\n variableArgs: false\n };\n t['W*'] = {\n id: _util.OPS.eoClip,\n numArgs: 0,\n variableArgs: false\n };\n t['BT'] = {\n id: _util.OPS.beginText,\n numArgs: 0,\n variableArgs: false\n };\n t['ET'] = {\n id: _util.OPS.endText,\n numArgs: 0,\n variableArgs: false\n };\n t['Tc'] = {\n id: _util.OPS.setCharSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t['Tw'] = {\n id: _util.OPS.setWordSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t['Tz'] = {\n id: _util.OPS.setHScale,\n numArgs: 1,\n variableArgs: false\n };\n t['TL'] = {\n id: _util.OPS.setLeading,\n numArgs: 1,\n variableArgs: false\n };\n t['Tf'] = {\n id: _util.OPS.setFont,\n numArgs: 2,\n variableArgs: false\n };\n t['Tr'] = {\n id: _util.OPS.setTextRenderingMode,\n numArgs: 1,\n variableArgs: false\n };\n t['Ts'] = {\n id: _util.OPS.setTextRise,\n numArgs: 1,\n variableArgs: false\n };\n t['Td'] = {\n id: _util.OPS.moveText,\n numArgs: 2,\n variableArgs: false\n };\n t['TD'] = {\n id: _util.OPS.setLeadingMoveText,\n numArgs: 2,\n variableArgs: false\n };\n t['Tm'] = {\n id: _util.OPS.setTextMatrix,\n numArgs: 6,\n variableArgs: false\n };\n t['T*'] = {\n id: _util.OPS.nextLine,\n numArgs: 0,\n variableArgs: false\n };\n t['Tj'] = {\n id: _util.OPS.showText,\n numArgs: 1,\n variableArgs: false\n };\n t['TJ'] = {\n id: _util.OPS.showSpacedText,\n numArgs: 1,\n variableArgs: false\n };\n t['\\''] = {\n id: _util.OPS.nextLineShowText,\n numArgs: 1,\n variableArgs: false\n };\n t['\"'] = {\n id: _util.OPS.nextLineSetSpacingShowText,\n numArgs: 3,\n variableArgs: false\n };\n t['d0'] = {\n id: _util.OPS.setCharWidth,\n numArgs: 2,\n variableArgs: false\n };\n t['d1'] = {\n id: _util.OPS.setCharWidthAndBounds,\n numArgs: 6,\n variableArgs: false\n };\n t['CS'] = {\n id: _util.OPS.setStrokeColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t['cs'] = {\n id: _util.OPS.setFillColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t['SC'] = {\n id: _util.OPS.setStrokeColor,\n numArgs: 4,\n variableArgs: true\n };\n t['SCN'] = {\n id: _util.OPS.setStrokeColorN,\n numArgs: 33,\n variableArgs: true\n };\n t['sc'] = {\n id: _util.OPS.setFillColor,\n numArgs: 4,\n variableArgs: true\n };\n t['scn'] = {\n id: _util.OPS.setFillColorN,\n numArgs: 33,\n variableArgs: true\n };\n t['G'] = {\n id: _util.OPS.setStrokeGray,\n numArgs: 1,\n variableArgs: false\n };\n t['g'] = {\n id: _util.OPS.setFillGray,\n numArgs: 1,\n variableArgs: false\n };\n t['RG'] = {\n id: _util.OPS.setStrokeRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t['rg'] = {\n id: _util.OPS.setFillRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t['K'] = {\n id: _util.OPS.setStrokeCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t['k'] = {\n id: _util.OPS.setFillCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t['sh'] = {\n id: _util.OPS.shadingFill,\n numArgs: 1,\n variableArgs: false\n };\n t['BI'] = {\n id: _util.OPS.beginInlineImage,\n numArgs: 0,\n variableArgs: false\n };\n t['ID'] = {\n id: _util.OPS.beginImageData,\n numArgs: 0,\n variableArgs: false\n };\n t['EI'] = {\n id: _util.OPS.endInlineImage,\n numArgs: 1,\n variableArgs: false\n };\n t['Do'] = {\n id: _util.OPS.paintXObject,\n numArgs: 1,\n variableArgs: false\n };\n t['MP'] = {\n id: _util.OPS.markPoint,\n numArgs: 1,\n variableArgs: false\n };\n t['DP'] = {\n id: _util.OPS.markPointProps,\n numArgs: 2,\n variableArgs: false\n };\n t['BMC'] = {\n id: _util.OPS.beginMarkedContent,\n numArgs: 1,\n variableArgs: false\n };\n t['BDC'] = {\n id: _util.OPS.beginMarkedContentProps,\n numArgs: 2,\n variableArgs: false\n };\n t['EMC'] = {\n id: _util.OPS.endMarkedContent,\n numArgs: 0,\n variableArgs: false\n };\n t['BX'] = {\n id: _util.OPS.beginCompat,\n numArgs: 0,\n variableArgs: false\n };\n t['EX'] = {\n id: _util.OPS.endCompat,\n numArgs: 0,\n variableArgs: false\n };\n t['BM'] = null;\n t['BD'] = null;\n t['true'] = null;\n t['fa'] = null;\n t['fal'] = null;\n t['fals'] = null;\n t['false'] = null;\n t['nu'] = null;\n t['nul'] = null;\n t['null'] = null;\n });\n var MAX_INVALID_PATH_OPS = 20;\n\n function EvaluatorPreprocessor(stream, xref, stateManager) {\n this.opMap = getOPMap();\n this.parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream, this.opMap),\n xref: xref\n });\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._numInvalidPathOPS = 0;\n }\n\n EvaluatorPreprocessor.prototype = {\n get savedStatesDepth() {\n return this.stateManager.stateStack.length;\n },\n\n read: function EvaluatorPreprocessor_read(operation) {\n var args = operation.args;\n\n while (true) {\n var obj = this.parser.getObj();\n\n if (obj instanceof _primitives.Cmd) {\n var cmd = obj.cmd;\n var opSpec = this.opMap[cmd];\n\n if (!opSpec) {\n (0, _util.warn)(\"Unknown command \\\"\".concat(cmd, \"\\\".\"));\n continue;\n }\n\n var fn = opSpec.id;\n var numArgs = opSpec.numArgs;\n var argsLength = args !== null ? args.length : 0;\n\n if (!opSpec.variableArgs) {\n if (argsLength !== numArgs) {\n var nonProcessedArgs = this.nonProcessedArgs;\n\n while (argsLength > numArgs) {\n nonProcessedArgs.push(args.shift());\n argsLength--;\n }\n\n while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n if (args === null) {\n args = [];\n }\n\n args.unshift(nonProcessedArgs.pop());\n argsLength++;\n }\n }\n\n if (argsLength < numArgs) {\n var partialMsg = \"command \".concat(cmd, \": expected \").concat(numArgs, \" args, \") + \"but received \".concat(argsLength, \" args.\");\n\n if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > MAX_INVALID_PATH_OPS) {\n throw new _util.FormatError(\"Invalid \".concat(partialMsg));\n }\n\n (0, _util.warn)(\"Skipping \".concat(partialMsg));\n\n if (args !== null) {\n args.length = 0;\n }\n\n continue;\n }\n } else if (argsLength > numArgs) {\n (0, _util.info)(\"Command \".concat(cmd, \": expected [0, \").concat(numArgs, \"] args, \") + \"but received \".concat(argsLength, \" args.\"));\n }\n\n this.preprocessCommand(fn, args);\n operation.fn = fn;\n operation.args = args;\n return true;\n }\n\n if (obj === _primitives.EOF) {\n return false;\n }\n\n if (obj !== null) {\n if (args === null) {\n args = [];\n }\n\n args.push(obj);\n\n if (args.length > 33) {\n throw new _util.FormatError('Too many arguments');\n }\n }\n }\n },\n preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) {\n switch (fn | 0) {\n case _util.OPS.save:\n this.stateManager.save();\n break;\n\n case _util.OPS.restore:\n this.stateManager.restore();\n break;\n\n case _util.OPS.transform:\n this.stateManager.transform(args);\n break;\n }\n }\n };\n return EvaluatorPreprocessor;\n}();\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _parser = __w_pdfjs_require__(189);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar _stream = __w_pdfjs_require__(190);\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 BUILT_IN_CMAPS = ['Adobe-GB1-UCS2', 'Adobe-CNS1-UCS2', 'Adobe-Japan1-UCS2', 'Adobe-Korea1-UCS2', '78-EUC-H', '78-EUC-V', '78-H', '78-RKSJ-H', '78-RKSJ-V', '78-V', '78ms-RKSJ-H', '78ms-RKSJ-V', '83pv-RKSJ-H', '90ms-RKSJ-H', '90ms-RKSJ-V', '90msp-RKSJ-H', '90msp-RKSJ-V', '90pv-RKSJ-H', '90pv-RKSJ-V', 'Add-H', 'Add-RKSJ-H', 'Add-RKSJ-V', 'Add-V', 'Adobe-CNS1-0', 'Adobe-CNS1-1', 'Adobe-CNS1-2', 'Adobe-CNS1-3', 'Adobe-CNS1-4', 'Adobe-CNS1-5', 'Adobe-CNS1-6', 'Adobe-GB1-0', 'Adobe-GB1-1', 'Adobe-GB1-2', 'Adobe-GB1-3', 'Adobe-GB1-4', 'Adobe-GB1-5', 'Adobe-Japan1-0', 'Adobe-Japan1-1', 'Adobe-Japan1-2', 'Adobe-Japan1-3', 'Adobe-Japan1-4', 'Adobe-Japan1-5', 'Adobe-Japan1-6', 'Adobe-Korea1-0', 'Adobe-Korea1-1', 'Adobe-Korea1-2', 'B5-H', 'B5-V', 'B5pc-H', 'B5pc-V', 'CNS-EUC-H', 'CNS-EUC-V', 'CNS1-H', 'CNS1-V', 'CNS2-H', 'CNS2-V', 'ETHK-B5-H', 'ETHK-B5-V', 'ETen-B5-H', 'ETen-B5-V', 'ETenms-B5-H', 'ETenms-B5-V', 'EUC-H', 'EUC-V', 'Ext-H', 'Ext-RKSJ-H', 'Ext-RKSJ-V', 'Ext-V', 'GB-EUC-H', 'GB-EUC-V', 'GB-H', 'GB-V', 'GBK-EUC-H', 'GBK-EUC-V', 'GBK2K-H', 'GBK2K-V', 'GBKp-EUC-H', 'GBKp-EUC-V', 'GBT-EUC-H', 'GBT-EUC-V', 'GBT-H', 'GBT-V', 'GBTpc-EUC-H', 'GBTpc-EUC-V', 'GBpc-EUC-H', 'GBpc-EUC-V', 'H', 'HKdla-B5-H', 'HKdla-B5-V', 'HKdlb-B5-H', 'HKdlb-B5-V', 'HKgccs-B5-H', 'HKgccs-B5-V', 'HKm314-B5-H', 'HKm314-B5-V', 'HKm471-B5-H', 'HKm471-B5-V', 'HKscs-B5-H', 'HKscs-B5-V', 'Hankaku', 'Hiragana', 'KSC-EUC-H', 'KSC-EUC-V', 'KSC-H', 'KSC-Johab-H', 'KSC-Johab-V', 'KSC-V', 'KSCms-UHC-H', 'KSCms-UHC-HW-H', 'KSCms-UHC-HW-V', 'KSCms-UHC-V', 'KSCpc-EUC-H', 'KSCpc-EUC-V', 'Katakana', 'NWP-H', 'NWP-V', 'RKSJ-H', 'RKSJ-V', 'Roman', 'UniCNS-UCS2-H', 'UniCNS-UCS2-V', 'UniCNS-UTF16-H', 'UniCNS-UTF16-V', 'UniCNS-UTF32-H', 'UniCNS-UTF32-V', 'UniCNS-UTF8-H', 'UniCNS-UTF8-V', 'UniGB-UCS2-H', 'UniGB-UCS2-V', 'UniGB-UTF16-H', 'UniGB-UTF16-V', 'UniGB-UTF32-H', 'UniGB-UTF32-V', 'UniGB-UTF8-H', 'UniGB-UTF8-V', 'UniJIS-UCS2-H', 'UniJIS-UCS2-HW-H', 'UniJIS-UCS2-HW-V', 'UniJIS-UCS2-V', 'UniJIS-UTF16-H', 'UniJIS-UTF16-V', 'UniJIS-UTF32-H', 'UniJIS-UTF32-V', 'UniJIS-UTF8-H', 'UniJIS-UTF8-V', 'UniJIS2004-UTF16-H', 'UniJIS2004-UTF16-V', 'UniJIS2004-UTF32-H', 'UniJIS2004-UTF32-V', 'UniJIS2004-UTF8-H', 'UniJIS2004-UTF8-V', 'UniJISPro-UCS2-HW-V', 'UniJISPro-UCS2-V', 'UniJISPro-UTF8-V', 'UniJISX0213-UTF32-H', 'UniJISX0213-UTF32-V', 'UniJISX02132004-UTF32-H', 'UniJISX02132004-UTF32-V', 'UniKS-UCS2-H', 'UniKS-UCS2-V', 'UniKS-UTF16-H', 'UniKS-UTF16-V', 'UniKS-UTF32-H', 'UniKS-UTF32-V', 'UniKS-UTF8-H', 'UniKS-UTF8-V', 'V', 'WP-Symbol'];\n\nvar CMap =\n/*#__PURE__*/\nfunction () {\n function CMap() {\n var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _classCallCheck(this, CMap);\n\n this.codespaceRanges = [[], [], [], []];\n this.numCodespaceRanges = 0;\n this._map = [];\n this.name = '';\n this.vertical = false;\n this.useCMap = null;\n this.builtInCMap = builtInCMap;\n }\n\n _createClass(CMap, [{\n key: \"addCodespaceRange\",\n value: function addCodespaceRange(n, low, high) {\n this.codespaceRanges[n - 1].push(low, high);\n this.numCodespaceRanges++;\n }\n }, {\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n var lastByte = dstLow.length - 1;\n\n while (low <= high) {\n this._map[low++] = dstLow;\n dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n }\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n var i = 0,\n ii = array.length;\n\n while (low <= high && i < ii) {\n this._map[low] = array[i++];\n ++low;\n }\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n this._map[src] = dst;\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return this._map[code];\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return this._map[code] !== undefined;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var map = this._map;\n var length = map.length;\n\n if (length <= 0x10000) {\n for (var i = 0; i < length; i++) {\n if (map[i] !== undefined) {\n callback(i, map[i]);\n }\n }\n } else {\n for (var _i in map) {\n callback(_i, map[_i]);\n }\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n return this._map;\n }\n }, {\n key: \"readCharCode\",\n value: function readCharCode(str, offset, out) {\n var c = 0;\n var codespaceRanges = this.codespaceRanges;\n\n for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {\n c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n var codespaceRange = codespaceRanges[n];\n\n for (var k = 0, kk = codespaceRange.length; k < kk;) {\n var low = codespaceRange[k++];\n var high = codespaceRange[k++];\n\n if (c >= low && c <= high) {\n out.charcode = c;\n out.length = n + 1;\n return;\n }\n }\n }\n\n out.charcode = 0;\n out.length = 1;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._map.length;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n if (!(this.name === 'Identity-H' || this.name === 'Identity-V')) {\n return false;\n }\n\n if (this._map.length !== 0x10000) {\n return false;\n }\n\n for (var i = 0; i < 0x10000; i++) {\n if (this._map[i] !== i) {\n return false;\n }\n }\n\n return true;\n }\n }]);\n\n return CMap;\n}();\n\nexports.CMap = CMap;\n\nvar IdentityCMap =\n/*#__PURE__*/\nfunction (_CMap) {\n _inherits(IdentityCMap, _CMap);\n\n function IdentityCMap(vertical, n) {\n var _this;\n\n _classCallCheck(this, IdentityCMap);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(IdentityCMap).call(this));\n _this.vertical = vertical;\n\n _this.addCodespaceRange(n, 0, 0xffff);\n\n return _this;\n }\n\n _createClass(IdentityCMap, [{\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n (0, _util.unreachable)('should not call mapCidRange');\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n (0, _util.unreachable)('should not call mapBfRange');\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n (0, _util.unreachable)('should not call mapBfRangeToArray');\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n (0, _util.unreachable)('should not call mapCidOne');\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return Number.isInteger(code) && code <= 0xffff;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n for (var i = 0; i <= 0xffff; i++) {\n callback(i, i);\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n return Number.isInteger(value) && value <= 0xffff ? value : -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n var map = new Array(0x10000);\n\n for (var i = 0; i <= 0xffff; i++) {\n map[i] = i;\n }\n\n return map;\n }\n }, {\n key: \"length\",\n get: function get() {\n return 0x10000;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n (0, _util.unreachable)('should not access .isIdentityCMap');\n }\n }]);\n\n return IdentityCMap;\n}(CMap);\n\nexports.IdentityCMap = IdentityCMap;\n\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n function hexToInt(a, size) {\n var n = 0;\n\n for (var i = 0; i <= size; i++) {\n n = n << 8 | a[i];\n }\n\n return n >>> 0;\n }\n\n function hexToStr(a, size) {\n if (size === 1) {\n return String.fromCharCode(a[0], a[1]);\n }\n\n if (size === 3) {\n return String.fromCharCode(a[0], a[1], a[2], a[3]);\n }\n\n return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n }\n\n function addHex(a, b, size) {\n var c = 0;\n\n for (var i = size; i >= 0; i--) {\n c += a[i] + b[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n function incHex(a, size) {\n var c = 1;\n\n for (var i = size; i >= 0 && c > 0; i--) {\n c += a[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n var MAX_NUM_SIZE = 16;\n var MAX_ENCODED_NUM_SIZE = 19;\n\n function BinaryCMapStream(data) {\n this.buffer = data;\n this.pos = 0;\n this.end = data.length;\n this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n }\n\n BinaryCMapStream.prototype = {\n readByte: function readByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.buffer[this.pos++];\n },\n readNumber: function readNumber() {\n var n = 0;\n var last;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError('unexpected EOF in bcmap');\n }\n\n last = !(b & 0x80);\n n = n << 7 | b & 0x7F;\n } while (!last);\n\n return n;\n },\n readSigned: function readSigned() {\n var n = this.readNumber();\n return n & 1 ? ~(n >>> 1) : n >>> 1;\n },\n readHex: function readHex(num, size) {\n num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n this.pos += size + 1;\n },\n readHexNumber: function readHexNumber(num, size) {\n var last;\n var stack = this.tmpBuf,\n sp = 0;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError('unexpected EOF in bcmap');\n }\n\n last = !(b & 0x80);\n stack[sp++] = b & 0x7F;\n } while (!last);\n\n var i = size,\n buffer = 0,\n bufferSize = 0;\n\n while (i >= 0) {\n while (bufferSize < 8 && stack.length > 0) {\n buffer = stack[--sp] << bufferSize | buffer;\n bufferSize += 7;\n }\n\n num[i] = buffer & 255;\n i--;\n buffer >>= 8;\n bufferSize -= 8;\n }\n },\n readHexSigned: function readHexSigned(num, size) {\n this.readHexNumber(num, size);\n var sign = num[size] & 1 ? 255 : 0;\n var c = 0;\n\n for (var i = 0; i <= size; i++) {\n c = (c & 1) << 8 | num[i];\n num[i] = c >> 1 ^ sign;\n }\n },\n readString: function readString() {\n var len = this.readNumber();\n var s = '';\n\n for (var i = 0; i < len; i++) {\n s += String.fromCharCode(this.readNumber());\n }\n\n return s;\n }\n };\n\n function processBinaryCMap(data, cMap, extend) {\n return new Promise(function (resolve, reject) {\n var stream = new BinaryCMapStream(data);\n var header = stream.readByte();\n cMap.vertical = !!(header & 1);\n var useCMap = null;\n var start = new Uint8Array(MAX_NUM_SIZE);\n var end = new Uint8Array(MAX_NUM_SIZE);\n\n var _char = new Uint8Array(MAX_NUM_SIZE);\n\n var charCode = new Uint8Array(MAX_NUM_SIZE);\n var tmp = new Uint8Array(MAX_NUM_SIZE);\n var code;\n var b;\n\n while ((b = stream.readByte()) >= 0) {\n var type = b >> 5;\n\n if (type === 7) {\n switch (b & 0x1F) {\n case 0:\n stream.readString();\n break;\n\n case 1:\n useCMap = stream.readString();\n break;\n }\n\n continue;\n }\n\n var sequence = !!(b & 0x10);\n var dataSize = b & 15;\n\n if (dataSize + 1 > MAX_NUM_SIZE) {\n throw new Error('processBinaryCMap: Invalid dataSize.');\n }\n\n var ucs2DataSize = 1;\n var subitemsCount = stream.readNumber();\n var i;\n\n switch (type) {\n case 0:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n }\n\n break;\n\n case 1:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n }\n\n break;\n\n case 2:\n stream.readHex(_char, dataSize);\n code = stream.readNumber();\n cMap.mapOne(hexToInt(_char, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(_char, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, dataSize);\n addHex(_char, tmp, dataSize);\n }\n\n code = stream.readSigned() + (code + 1);\n cMap.mapOne(hexToInt(_char, dataSize), code);\n }\n\n break;\n\n case 3:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n }\n\n break;\n\n case 4:\n stream.readHex(_char, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(_char, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, ucs2DataSize);\n addHex(_char, tmp, ucs2DataSize);\n }\n\n incHex(charCode, dataSize);\n stream.readHexSigned(tmp, dataSize);\n addHex(charCode, tmp, dataSize);\n cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n case 5:\n stream.readHex(start, ucs2DataSize);\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, ucs2DataSize);\n addHex(start, end, ucs2DataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n default:\n reject(new Error('processBinaryCMap: Unknown type: ' + type));\n return;\n }\n }\n\n if (useCMap) {\n resolve(extend(useCMap));\n return;\n }\n\n resolve(cMap);\n });\n }\n\n function BinaryCMapReader() {}\n\n BinaryCMapReader.prototype = {\n process: processBinaryCMap\n };\n return BinaryCMapReader;\n}();\n\nvar CMapFactory = function CMapFactoryClosure() {\n function strToInt(str) {\n var a = 0;\n\n for (var i = 0; i < str.length; i++) {\n a = a << 8 | str.charCodeAt(i);\n }\n\n return a >>> 0;\n }\n\n function expectString(obj) {\n if (!(0, _util.isString)(obj)) {\n throw new _util.FormatError('Malformed CMap: expected string.');\n }\n }\n\n function expectInt(obj) {\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError('Malformed CMap: expected int.');\n }\n }\n\n function parseBfChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endbfchar')) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseBfRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endbfrange')) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n\n if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n cMap.mapBfRange(low, high, dstLow);\n } else if ((0, _primitives.isCmd)(obj, '[')) {\n obj = lexer.getObj();\n var array = [];\n\n while (!(0, _primitives.isCmd)(obj, ']') && !(0, _primitives.isEOF)(obj)) {\n array.push(obj);\n obj = lexer.getObj();\n }\n\n cMap.mapBfRangeToArray(low, high, array);\n } else {\n break;\n }\n }\n\n throw new _util.FormatError('Invalid bf range.');\n }\n\n function parseCidChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcidchar')) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseCidRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcidrange')) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dstLow = obj;\n cMap.mapCidRange(low, high, dstLow);\n }\n }\n\n function parseCodespaceRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcodespacerange')) {\n return;\n }\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var low = strToInt(obj);\n obj = lexer.getObj();\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var high = strToInt(obj);\n cMap.addCodespaceRange(obj.length, low, high);\n }\n\n throw new _util.FormatError('Invalid codespace range.');\n }\n\n function parseWMode(cMap, lexer) {\n var obj = lexer.getObj();\n\n if (Number.isInteger(obj)) {\n cMap.vertical = !!obj;\n }\n }\n\n function parseCMapName(cMap, lexer) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n cMap.name = obj.name;\n }\n }\n\n function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n var previous;\n var embeddedUseCMap;\n\n objLoop: while (true) {\n try {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n } else if ((0, _primitives.isName)(obj)) {\n if (obj.name === 'WMode') {\n parseWMode(cMap, lexer);\n } else if (obj.name === 'CMapName') {\n parseCMapName(cMap, lexer);\n }\n\n previous = obj;\n } else if ((0, _primitives.isCmd)(obj)) {\n switch (obj.cmd) {\n case 'endcmap':\n break objLoop;\n\n case 'usecmap':\n if ((0, _primitives.isName)(previous)) {\n embeddedUseCMap = previous.name;\n }\n\n break;\n\n case 'begincodespacerange':\n parseCodespaceRange(cMap, lexer);\n break;\n\n case 'beginbfchar':\n parseBfChar(cMap, lexer);\n break;\n\n case 'begincidchar':\n parseCidChar(cMap, lexer);\n break;\n\n case 'beginbfrange':\n parseBfRange(cMap, lexer);\n break;\n\n case 'begincidrange':\n parseCidRange(cMap, lexer);\n break;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Invalid cMap data: ' + ex);\n continue;\n }\n }\n\n if (!useCMap && embeddedUseCMap) {\n useCMap = embeddedUseCMap;\n }\n\n if (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n }\n\n return Promise.resolve(cMap);\n }\n\n function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n cMap.useCMap = newCMap;\n\n if (cMap.numCodespaceRanges === 0) {\n var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n for (var i = 0; i < useCodespaceRanges.length; i++) {\n cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n }\n\n cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n }\n\n cMap.useCMap.forEach(function (key, value) {\n if (!cMap.contains(key)) {\n cMap.mapOne(key, cMap.useCMap.lookup(key));\n }\n });\n return cMap;\n });\n }\n\n function createBuiltInCMap(name, fetchBuiltInCMap) {\n if (name === 'Identity-H') {\n return Promise.resolve(new IdentityCMap(false, 2));\n } else if (name === 'Identity-V') {\n return Promise.resolve(new IdentityCMap(true, 2));\n }\n\n if (!BUILT_IN_CMAPS.includes(name)) {\n return Promise.reject(new Error('Unknown CMap name: ' + name));\n }\n\n if (!fetchBuiltInCMap) {\n return Promise.reject(new Error('Built-in CMap parameters are not provided.'));\n }\n\n return fetchBuiltInCMap(name).then(function (data) {\n var cMapData = data.cMapData,\n compressionType = data.compressionType;\n var cMap = new CMap(true);\n\n if (compressionType === _util.CMapCompressionType.BINARY) {\n return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n });\n }\n\n if (compressionType === _util.CMapCompressionType.NONE) {\n var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n }\n\n return Promise.reject(new Error('TODO: Only BINARY/NONE CMap compression is currently supported.'));\n });\n }\n\n return {\n create: function create(params) {\n var encoding = params.encoding;\n var fetchBuiltInCMap = params.fetchBuiltInCMap;\n var useCMap = params.useCMap;\n\n if ((0, _primitives.isName)(encoding)) {\n return createBuiltInCMap(encoding.name, fetchBuiltInCMap);\n } else if ((0, _primitives.isStream)(encoding)) {\n var cMap = new CMap();\n var lexer = new _parser.Lexer(encoding);\n return parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n if (parsedCMap.isIdentityCMap) {\n return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n }\n\n return parsedCMap;\n });\n }\n\n return Promise.reject(new Error('Encoding required.'));\n }\n };\n}();\n\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFontType = getFontType;\nexports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(207);\n\nvar _glyphlist = __w_pdfjs_require__(210);\n\nvar _encodings = __w_pdfjs_require__(209);\n\nvar _standard_fonts = __w_pdfjs_require__(211);\n\nvar _unicode = __w_pdfjs_require__(212);\n\nvar _font_renderer = __w_pdfjs_require__(213);\n\nvar _cmap = __w_pdfjs_require__(205);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar _type1_parser = __w_pdfjs_require__(214);\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\nvar PRIVATE_USE_AREAS = [[0xE000, 0xF8FF], [0x100000, 0x10FFFD]];\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nvar FontFlags = {\n FixedPitch: 1,\n Serif: 2,\n Symbolic: 4,\n Script: 8,\n Nonsymbolic: 32,\n Italic: 64,\n AllCap: 65536,\n SmallCap: 131072,\n ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nvar MacStandardGlyphOrdering = ['.notdef', '.null', 'nonmarkingreturn', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', 'ellipsis', 'nonbreakingspace', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'Lslash', 'lslash', 'Scaron', 'scaron', 'Zcaron', 'zcaron', 'brokenbar', 'Eth', 'eth', 'Yacute', 'yacute', 'Thorn', 'thorn', 'minus', 'multiply', 'onesuperior', 'twosuperior', 'threesuperior', 'onehalf', 'onequarter', 'threequarters', 'franc', 'Gbreve', 'gbreve', 'Idotaccent', 'Scedilla', 'scedilla', 'Cacute', 'cacute', 'Ccaron', 'ccaron', 'dcroat'];\n\nfunction adjustWidths(properties) {\n if (!properties.fontMatrix) {\n return;\n }\n\n if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n return;\n }\n\n var scale = 0.001 / properties.fontMatrix[0];\n var glyphsWidths = properties.widths;\n\n for (var glyph in glyphsWidths) {\n glyphsWidths[glyph] *= scale;\n }\n\n properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n\n if (properties.hasEncoding) {\n return;\n }\n\n if (builtInEncoding === properties.defaultEncoding) {\n return;\n }\n\n if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n return;\n }\n\n var toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var charCode in builtInEncoding) {\n var glyphName = builtInEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n }\n\n properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n switch (type) {\n case 'Type1':\n return subtype === 'Type1C' ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n case 'CIDFontType0':\n return subtype === 'CIDFontType0C' ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n case 'OpenType':\n return _util.FontType.OPENTYPE;\n\n case 'TrueType':\n return _util.FontType.TRUETYPE;\n\n case 'CIDFontType2':\n return _util.FontType.CIDFONTTYPE2;\n\n case 'MMType1':\n return _util.FontType.MMTYPE1;\n\n case 'Type0':\n return _util.FontType.TYPE0;\n\n default:\n return _util.FontType.UNKNOWN;\n }\n}\n\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n if (glyphsUnicodeMap[name] !== undefined) {\n return name;\n }\n\n var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n for (var key in glyphsUnicodeMap) {\n if (glyphsUnicodeMap[key] === unicode) {\n return key;\n }\n }\n }\n\n (0, _util.info)('Unable to recover a standard glyph name for: ' + name);\n return name;\n}\n\nvar Glyph = function GlyphClosure() {\n function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n this.fontChar = fontChar;\n this.unicode = unicode;\n this.accent = accent;\n this.width = width;\n this.vmetric = vmetric;\n this.operatorListId = operatorListId;\n this.isSpace = isSpace;\n this.isInFont = isInFont;\n }\n\n Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n };\n\n return Glyph;\n}();\n\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n function ToUnicodeMap() {\n var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._map = cmap;\n }\n\n ToUnicodeMap.prototype = {\n get length() {\n return this._map.length;\n },\n\n forEach: function forEach(callback) {\n for (var charCode in this._map) {\n callback(charCode, this._map[charCode].charCodeAt(0));\n }\n },\n has: function has(i) {\n return this._map[i] !== undefined;\n },\n get: function get(i) {\n return this._map[i];\n },\n charCodeOf: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n },\n amend: function amend(map) {\n for (var charCode in map) {\n this._map[charCode] = map[charCode];\n }\n }\n };\n return ToUnicodeMap;\n}();\n\nexports.ToUnicodeMap = ToUnicodeMap;\n\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n function IdentityToUnicodeMap(firstChar, lastChar) {\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n }\n\n IdentityToUnicodeMap.prototype = {\n get length() {\n return this.lastChar + 1 - this.firstChar;\n },\n\n forEach: function forEach(callback) {\n for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n callback(i, i);\n }\n },\n has: function has(i) {\n return this.firstChar <= i && i <= this.lastChar;\n },\n get: function get(i) {\n if (this.firstChar <= i && i <= this.lastChar) {\n return String.fromCharCode(i);\n }\n\n return undefined;\n },\n charCodeOf: function charCodeOf(v) {\n return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n },\n amend: function amend(map) {\n (0, _util.unreachable)('Should not call amend()');\n }\n };\n return IdentityToUnicodeMap;\n}();\n\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n function writeInt16(dest, offset, num) {\n dest[offset] = num >> 8 & 0xFF;\n dest[offset + 1] = num & 0xFF;\n }\n\n function writeInt32(dest, offset, num) {\n dest[offset] = num >> 24 & 0xFF;\n dest[offset + 1] = num >> 16 & 0xFF;\n dest[offset + 2] = num >> 8 & 0xFF;\n dest[offset + 3] = num & 0xFF;\n }\n\n function writeData(dest, offset, data) {\n var i, ii;\n\n if (data instanceof Uint8Array) {\n dest.set(data, offset);\n } else if (typeof data === 'string') {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data.charCodeAt(i) & 0xFF;\n }\n } else {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data[i] & 0xFF;\n }\n }\n }\n\n function OpenTypeFileBuilder(sfnt) {\n this.sfnt = sfnt;\n this.tables = Object.create(null);\n }\n\n OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n var maxPower2 = 1,\n log2 = 0;\n\n while ((maxPower2 ^ entriesCount) > maxPower2) {\n maxPower2 <<= 1;\n log2++;\n }\n\n var searchRange = maxPower2 * entrySize;\n return {\n range: searchRange,\n entry: log2,\n rangeShift: entrySize * entriesCount - searchRange\n };\n };\n\n var OTF_HEADER_SIZE = 12;\n var OTF_TABLE_ENTRY_SIZE = 16;\n OpenTypeFileBuilder.prototype = {\n toArray: function OpenTypeFileBuilder_toArray() {\n var sfnt = this.sfnt;\n var tables = this.tables;\n var tablesNames = Object.keys(tables);\n tablesNames.sort();\n var numTables = tablesNames.length;\n var i, j, jj, table, tableName;\n var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n var tableOffsets = [offset];\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n var paddedLength = (table.length + 3 & ~3) >>> 0;\n offset += paddedLength;\n tableOffsets.push(offset);\n }\n\n var file = new Uint8Array(offset);\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n writeData(file, tableOffsets[i], table);\n }\n\n if (sfnt === 'true') {\n sfnt = (0, _util.string32)(0x00010000);\n }\n\n file[0] = sfnt.charCodeAt(0) & 0xFF;\n file[1] = sfnt.charCodeAt(1) & 0xFF;\n file[2] = sfnt.charCodeAt(2) & 0xFF;\n file[3] = sfnt.charCodeAt(3) & 0xFF;\n writeInt16(file, 4, numTables);\n var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n writeInt16(file, 6, searchParams.range);\n writeInt16(file, 8, searchParams.entry);\n writeInt16(file, 10, searchParams.rangeShift);\n offset = OTF_HEADER_SIZE;\n\n for (i = 0; i < numTables; i++) {\n tableName = tablesNames[i];\n file[offset] = tableName.charCodeAt(0) & 0xFF;\n file[offset + 1] = tableName.charCodeAt(1) & 0xFF;\n file[offset + 2] = tableName.charCodeAt(2) & 0xFF;\n file[offset + 3] = tableName.charCodeAt(3) & 0xFF;\n var checksum = 0;\n\n for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n var quad = (0, _util.readUint32)(file, j);\n checksum = checksum + quad >>> 0;\n }\n\n writeInt32(file, offset + 4, checksum);\n writeInt32(file, offset + 8, tableOffsets[i]);\n writeInt32(file, offset + 12, tables[tableName].length);\n offset += OTF_TABLE_ENTRY_SIZE;\n }\n\n return file;\n },\n addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n if (tag in this.tables) {\n throw new Error('Table ' + tag + ' already exists');\n }\n\n this.tables[tag] = data;\n }\n };\n return OpenTypeFileBuilder;\n}();\n\nvar Font = function FontClosure() {\n function Font(name, file, properties) {\n var charCode;\n this.name = name;\n this.loadedName = properties.loadedName;\n this.isType3Font = properties.isType3Font;\n this.sizes = [];\n this.missingFile = false;\n this.glyphCache = Object.create(null);\n this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n var type = properties.type;\n var subtype = properties.subtype;\n this.type = type;\n this.subtype = subtype;\n this.fallbackName = this.isMonospace ? 'monospace' : this.isSerifFont ? 'serif' : 'sans-serif';\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\n this.wideChars = properties.wideChars;\n this.cMap = properties.cMap;\n this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n this.fontMatrix = properties.fontMatrix;\n this.bbox = properties.bbox;\n this.defaultEncoding = properties.defaultEncoding;\n this.toUnicode = properties.toUnicode;\n this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n this.toFontChar = [];\n\n if (properties.type === 'Type3') {\n for (charCode = 0; charCode < 256; charCode++) {\n this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n }\n\n this.fontType = _util.FontType.TYPE3;\n return;\n }\n\n this.cidEncoding = properties.cidEncoding;\n this.vertical = properties.vertical;\n\n if (this.vertical) {\n this.vmetrics = properties.vmetrics;\n this.defaultVMetrics = properties.defaultVMetrics;\n }\n\n if (!file || file.isEmpty) {\n if (file) {\n (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + ')');\n }\n\n this.fallbackToSystemFont();\n return;\n }\n\n var _getFontFileType = getFontFileType(file, properties);\n\n var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);\n\n type = _getFontFileType2[0];\n subtype = _getFontFileType2[1];\n\n if (type !== this.type || subtype !== this.subtype) {\n (0, _util.info)('Inconsistent font file Type/SubType, expected: ' + \"\".concat(this.type, \"/\").concat(this.subtype, \" but found: \").concat(type, \"/\").concat(subtype, \".\"));\n }\n\n try {\n var data;\n\n switch (type) {\n case 'MMType1':\n (0, _util.info)('MMType1 font (' + name + '), falling back to Type1.');\n\n case 'Type1':\n case 'CIDFontType0':\n this.mimetype = 'font/opentype';\n var cff = subtype === 'Type1C' || subtype === 'CIDFontType0C' ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n adjustWidths(properties);\n data = this.convert(name, cff, properties);\n break;\n\n case 'OpenType':\n case 'TrueType':\n case 'CIDFontType2':\n this.mimetype = 'font/opentype';\n data = this.checkAndRepair(name, file, properties);\n\n if (this.isOpenType) {\n adjustWidths(properties);\n type = 'OpenType';\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Font \".concat(type, \" is not supported\"));\n }\n } catch (e) {\n (0, _util.warn)(e);\n this.fallbackToSystemFont();\n return;\n }\n\n this.data = data;\n this.fontType = getFontType(type, subtype);\n this.fontMatrix = properties.fontMatrix;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.toUnicode = properties.toUnicode;\n this.encoding = properties.baseEncoding;\n this.seacMap = properties.seacMap;\n }\n\n Font.getFontID = function () {\n var ID = 1;\n return function Font_getFontID() {\n return String(ID++);\n };\n }();\n\n function int16(b0, b1) {\n return (b0 << 8) + b1;\n }\n\n function writeSignedInt16(bytes, index, value) {\n bytes[index + 1] = value;\n bytes[index] = value >>> 8;\n }\n\n function signedInt16(b0, b1) {\n var value = (b0 << 8) + b1;\n return value & 1 << 15 ? value - 0x10000 : value;\n }\n\n function int32(b0, b1, b2, b3) {\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n\n function string16(value) {\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function safeString16(value) {\n value = value > 0x7FFF ? 0x7FFF : value < -0x8000 ? -0x8000 : value;\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function isTrueTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === 'true';\n }\n\n function isTrueTypeCollectionFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === 'ttcf';\n }\n\n function isOpenTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === 'OTTO';\n }\n\n function isType1File(file) {\n var header = file.peekBytes(2);\n\n if (header[0] === 0x25 && header[1] === 0x21) {\n return true;\n }\n\n if (header[0] === 0x80 && header[1] === 0x01) {\n return true;\n }\n\n return false;\n }\n\n function isCFFFile(file) {\n var header = file.peekBytes(4);\n\n if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n return true;\n }\n\n return false;\n }\n\n function getFontFileType(file, _ref) {\n var type = _ref.type,\n subtype = _ref.subtype,\n composite = _ref.composite;\n var fileType, fileSubtype;\n\n if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n if (composite) {\n fileType = 'CIDFontType2';\n } else {\n fileType = 'TrueType';\n }\n } else if (isOpenTypeFile(file)) {\n if (composite) {\n fileType = 'CIDFontType2';\n } else {\n fileType = 'OpenType';\n }\n } else if (isType1File(file)) {\n if (composite) {\n fileType = 'CIDFontType0';\n } else {\n fileType = type === 'MMType1' ? 'MMType1' : 'Type1';\n }\n } else if (isCFFFile(file)) {\n if (composite) {\n fileType = 'CIDFontType0';\n fileSubtype = 'CIDFontType0C';\n } else {\n fileType = type === 'MMType1' ? 'MMType1' : 'Type1';\n fileSubtype = 'Type1C';\n }\n } else {\n (0, _util.warn)('getFontFileType: Unable to detect correct font file Type/Subtype.');\n fileType = type;\n fileSubtype = subtype;\n }\n\n return [fileType, fileSubtype];\n }\n\n function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n var toFontChar = [],\n unicode;\n\n for (var i = 0, ii = encoding.length; i < ii; i++) {\n unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[i] = unicode;\n }\n }\n\n for (var charCode in differences) {\n unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[+charCode] = unicode;\n }\n }\n\n return toFontChar;\n }\n\n function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n var newMap = Object.create(null);\n var toFontChar = [];\n var privateUseAreaIndex = 0;\n var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n\n for (var originalCharCode in charCodeToGlyphId) {\n originalCharCode |= 0;\n var glyphId = charCodeToGlyphId[originalCharCode];\n\n if (!hasGlyph(glyphId)) {\n continue;\n }\n\n if (nextAvailableFontCharCode > privateUseOffetEnd) {\n privateUseAreaIndex++;\n\n if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n (0, _util.warn)('Ran out of space in font private use area.');\n break;\n }\n\n nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n }\n\n var fontCharCode = nextAvailableFontCharCode++;\n\n if (glyphId === 0) {\n glyphId = newGlyphZeroId;\n }\n\n newMap[fontCharCode] = glyphId;\n toFontChar[originalCharCode] = fontCharCode;\n }\n\n return {\n toFontChar: toFontChar,\n charCodeToGlyphId: newMap,\n nextAvailableFontCharCode: nextAvailableFontCharCode\n };\n }\n\n function getRanges(glyphs, numGlyphs) {\n var codes = [];\n\n for (var charCode in glyphs) {\n if (glyphs[charCode] >= numGlyphs) {\n continue;\n }\n\n codes.push({\n fontCharCode: charCode | 0,\n glyphId: glyphs[charCode]\n });\n }\n\n if (codes.length === 0) {\n codes.push({\n fontCharCode: 0,\n glyphId: 0\n });\n }\n\n codes.sort(function fontGetRangesSort(a, b) {\n return a.fontCharCode - b.fontCharCode;\n });\n var ranges = [];\n var length = codes.length;\n\n for (var n = 0; n < length;) {\n var start = codes[n].fontCharCode;\n var codeIndices = [codes[n].glyphId];\n ++n;\n var end = start;\n\n while (n < length && end + 1 === codes[n].fontCharCode) {\n codeIndices.push(codes[n].glyphId);\n ++end;\n ++n;\n\n if (end === 0xFFFF) {\n break;\n }\n }\n\n ranges.push([start, end, codeIndices]);\n }\n\n return ranges;\n }\n\n function createCmapTable(glyphs, numGlyphs) {\n var ranges = getRanges(glyphs, numGlyphs);\n var numTables = ranges[ranges.length - 1][1] > 0xFFFF ? 2 : 1;\n var cmap = '\\x00\\x00' + string16(numTables) + '\\x00\\x03' + '\\x00\\x01' + (0, _util.string32)(4 + numTables * 8);\n var i, ii, j, jj;\n\n for (i = ranges.length - 1; i >= 0; --i) {\n if (ranges[i][0] <= 0xFFFF) {\n break;\n }\n }\n\n var bmpLength = i + 1;\n\n if (ranges[i][0] < 0xFFFF && ranges[i][1] === 0xFFFF) {\n ranges[i][1] = 0xFFFE;\n }\n\n var trailingRangesCount = ranges[i][1] < 0xFFFF ? 1 : 0;\n var segCount = bmpLength + trailingRangesCount;\n var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n var startCount = '';\n var endCount = '';\n var idDeltas = '';\n var idRangeOffsets = '';\n var glyphsIds = '';\n var bias = 0;\n var range, start, end, codes;\n\n for (i = 0, ii = bmpLength; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n end = range[1];\n startCount += string16(start);\n endCount += string16(end);\n codes = range[2];\n var contiguous = true;\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n contiguous = false;\n break;\n }\n }\n\n if (!contiguous) {\n var offset = (segCount - i) * 2 + bias * 2;\n bias += end - start + 1;\n idDeltas += string16(0);\n idRangeOffsets += string16(offset);\n\n for (j = 0, jj = codes.length; j < jj; ++j) {\n glyphsIds += string16(codes[j]);\n }\n } else {\n var startCode = codes[0];\n idDeltas += string16(startCode - start & 0xFFFF);\n idRangeOffsets += string16(0);\n }\n }\n\n if (trailingRangesCount > 0) {\n endCount += '\\xFF\\xFF';\n startCount += '\\xFF\\xFF';\n idDeltas += '\\x00\\x01';\n idRangeOffsets += '\\x00\\x00';\n }\n\n var format314 = '\\x00\\x00' + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + '\\x00\\x00' + startCount + idDeltas + idRangeOffsets + glyphsIds;\n var format31012 = '';\n var header31012 = '';\n\n if (numTables > 1) {\n cmap += '\\x00\\x03' + '\\x00\\x0A' + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n format31012 = '';\n\n for (i = 0, ii = ranges.length; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n codes = range[2];\n var code = codes[0];\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n end = range[0] + j - 1;\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n start = end + 1;\n code = codes[j];\n }\n }\n\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n }\n\n header31012 = '\\x00\\x0C' + '\\x00\\x00' + (0, _util.string32)(format31012.length + 16) + '\\x00\\x00\\x00\\x00' + (0, _util.string32)(format31012.length / 12);\n }\n\n return cmap + '\\x00\\x04' + string16(format314.length + 4) + format314 + header31012 + format31012;\n }\n\n function validateOS2Table(os2) {\n var stream = new _stream.Stream(os2.data);\n var version = stream.getUint16();\n stream.getBytes(60);\n var selection = stream.getUint16();\n\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n\n var firstChar = stream.getUint16();\n var lastChar = stream.getUint16();\n\n if (firstChar > lastChar) {\n return false;\n }\n\n stream.getBytes(6);\n var usWinAscent = stream.getUint16();\n\n if (usWinAscent === 0) {\n return false;\n }\n\n os2.data[8] = os2.data[9] = 0;\n return true;\n }\n\n function createOS2Table(properties, charstrings, override) {\n override = override || {\n unitsPerEm: 0,\n yMax: 0,\n yMin: 0,\n ascent: 0,\n descent: 0\n };\n var ulUnicodeRange1 = 0;\n var ulUnicodeRange2 = 0;\n var ulUnicodeRange3 = 0;\n var ulUnicodeRange4 = 0;\n var firstCharIndex = null;\n var lastCharIndex = 0;\n\n if (charstrings) {\n for (var code in charstrings) {\n code |= 0;\n\n if (firstCharIndex > code || !firstCharIndex) {\n firstCharIndex = code;\n }\n\n if (lastCharIndex < code) {\n lastCharIndex = code;\n }\n\n var position = (0, _unicode.getUnicodeRangeFor)(code);\n\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new _util.FormatError('Unicode ranges Bits > 123 are reserved for internal usage');\n }\n }\n\n if (lastCharIndex > 0xFFFF) {\n lastCharIndex = 0xFFFF;\n }\n } else {\n firstCharIndex = 0;\n lastCharIndex = 255;\n }\n\n var bbox = properties.bbox || [0, 0, 0, 0];\n var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n\n if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n typoDescent = -typoDescent;\n }\n\n var winAscent = override.yMax || typoAscent;\n var winDescent = -override.yMin || -typoDescent;\n return '\\x00\\x03' + '\\x02\\x24' + '\\x01\\xF4' + '\\x00\\x05' + '\\x00\\x00' + '\\x02\\x8A' + '\\x02\\xBB' + '\\x00\\x00' + '\\x00\\x8C' + '\\x02\\x8A' + '\\x02\\xBB' + '\\x00\\x00' + '\\x01\\xDF' + '\\x00\\x31' + '\\x01\\x02' + '\\x00\\x00' + '\\x00\\x00\\x06' + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + '\\x00\\x00\\x00\\x00\\x00\\x00' + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + '\\x2A\\x32\\x31\\x2A' + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + '\\x00\\x64' + string16(winAscent) + string16(winDescent) + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + '\\x00\\x03';\n }\n\n function createPostTable(properties) {\n var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));\n return '\\x00\\x03\\x00\\x00' + (0, _util.string32)(angle) + '\\x00\\x00' + '\\x00\\x00' + (0, _util.string32)(properties.fixedPitch) + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00';\n }\n\n function createNameTable(name, proto) {\n if (!proto) {\n proto = [[], []];\n }\n\n var strings = [proto[0][0] || 'Original licence', proto[0][1] || name, proto[0][2] || 'Unknown', proto[0][3] || 'uniqueID', proto[0][4] || name, proto[0][5] || 'Version 0.11', proto[0][6] || '', proto[0][7] || 'Unknown', proto[0][8] || 'Unknown', proto[0][9] || 'Unknown'];\n var stringsUnicode = [];\n var i, ii, j, jj, str;\n\n for (i = 0, ii = strings.length; i < ii; i++) {\n str = proto[1][i] || strings[i];\n var strBufUnicode = [];\n\n for (j = 0, jj = str.length; j < jj; j++) {\n strBufUnicode.push(string16(str.charCodeAt(j)));\n }\n\n stringsUnicode.push(strBufUnicode.join(''));\n }\n\n var names = [strings, stringsUnicode];\n var platforms = ['\\x00\\x01', '\\x00\\x03'];\n var encodings = ['\\x00\\x00', '\\x00\\x01'];\n var languages = ['\\x00\\x00', '\\x04\\x09'];\n var namesRecordCount = strings.length * platforms.length;\n var nameTable = '\\x00\\x00' + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n var strOffset = 0;\n\n for (i = 0, ii = platforms.length; i < ii; i++) {\n var strs = names[i];\n\n for (j = 0, jj = strs.length; j < jj; j++) {\n str = strs[j];\n var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n nameTable += nameRecord;\n strOffset += str.length;\n }\n }\n\n nameTable += strings.join('') + stringsUnicode.join('');\n return nameTable;\n }\n\n Font.prototype = {\n name: null,\n font: null,\n mimetype: null,\n encoding: null,\n disableFontFace: false,\n\n get renderer() {\n var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n\n return (0, _util.shadow)(this, 'renderer', renderer);\n },\n\n exportData: function Font_exportData() {\n var data = {};\n\n for (var i in this) {\n if (this.hasOwnProperty(i)) {\n data[i] = this[i];\n }\n }\n\n return data;\n },\n fallbackToSystemFont: function Font_fallbackToSystemFont() {\n var _this = this;\n\n this.missingFile = true;\n var charCode, unicode;\n var name = this.name;\n var type = this.type;\n var subtype = this.subtype;\n var fontName = name.replace(/[,_]/g, '-');\n var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n this.bold = fontName.search(/bold/gi) !== -1;\n this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n this.black = name.search(/Black/g) !== -1;\n this.remeasure = Object.keys(this.widths).length > 0;\n\n if (isStandardFont && type === 'CIDFontType2' && this.cidEncoding.startsWith('Identity-')) {\n var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n var map = [];\n\n for (charCode in GlyphMapForStandardFonts) {\n map[+charCode] = GlyphMapForStandardFonts[charCode];\n }\n\n if (/Arial-?Black/i.test(name)) {\n var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n\n for (charCode in SupplementalGlyphMapForArialBlack) {\n map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];\n }\n } else if (/Calibri/i.test(name)) {\n var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();\n\n for (charCode in SupplementalGlyphMapForCalibri) {\n map[+charCode] = SupplementalGlyphMapForCalibri[charCode];\n }\n }\n\n var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n\n if (!isIdentityUnicode) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n map[+charCode] = unicodeCharCode;\n });\n }\n\n this.toFontChar = map;\n this.toUnicode = new ToUnicodeMap(map);\n } else if (/Symbol/i.test(fontName)) {\n this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else if (/Dingbats/i.test(fontName)) {\n if (/Wingdings/i.test(name)) {\n (0, _util.warn)('Non-embedded Wingdings font, falling back to ZapfDingbats.');\n }\n\n this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n } else if (isStandardFont) {\n this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else {\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n if (!_this.composite) {\n var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n\n _this.toFontChar[charCode] = unicodeCharCode;\n });\n }\n\n this.loadedName = fontName.split('-')[0];\n this.fontType = getFontType(type, subtype);\n },\n checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n var VALID_TABLES = ['OS/2', 'cmap', 'head', 'hhea', 'hmtx', 'maxp', 'name', 'post', 'loca', 'glyf', 'fpgm', 'prep', 'cvt ', 'CFF '];\n\n function readTables(file, numTables) {\n var tables = Object.create(null);\n tables['OS/2'] = null;\n tables['cmap'] = null;\n tables['head'] = null;\n tables['hhea'] = null;\n tables['hmtx'] = null;\n tables['maxp'] = null;\n tables['name'] = null;\n tables['post'] = null;\n\n for (var i = 0; i < numTables; i++) {\n var table = readTableEntry(font);\n\n if (!VALID_TABLES.includes(table.tag)) {\n continue;\n }\n\n if (table.length === 0) {\n continue;\n }\n\n tables[table.tag] = table;\n }\n\n return tables;\n }\n\n function readTableEntry(file) {\n var tag = (0, _util.bytesToString)(file.getBytes(4));\n var checksum = file.getInt32() >>> 0;\n var offset = file.getInt32() >>> 0;\n var length = file.getInt32() >>> 0;\n var previousPosition = file.pos;\n file.pos = file.start ? file.start : 0;\n file.skip(offset);\n var data = file.getBytes(length);\n file.pos = previousPosition;\n\n if (tag === 'head') {\n data[8] = data[9] = data[10] = data[11] = 0;\n data[17] |= 0x20;\n }\n\n return {\n tag: tag,\n checksum: checksum,\n length: length,\n offset: offset,\n data: data\n };\n }\n\n function readOpenTypeHeader(ttf) {\n return {\n version: (0, _util.bytesToString)(ttf.getBytes(4)),\n numTables: ttf.getUint16(),\n searchRange: ttf.getUint16(),\n entrySelector: ttf.getUint16(),\n rangeShift: ttf.getUint16()\n };\n }\n\n function readTrueTypeCollectionHeader(ttc) {\n var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));\n (0, _util.assert)(ttcTag === 'ttcf', 'Must be a TrueType Collection font.');\n var majorVersion = ttc.getUint16();\n var minorVersion = ttc.getUint16();\n var numFonts = ttc.getInt32() >>> 0;\n var offsetTable = [];\n\n for (var i = 0; i < numFonts; i++) {\n offsetTable.push(ttc.getInt32() >>> 0);\n }\n\n var header = {\n ttcTag: ttcTag,\n majorVersion: majorVersion,\n minorVersion: minorVersion,\n numFonts: numFonts,\n offsetTable: offsetTable\n };\n\n switch (majorVersion) {\n case 1:\n return header;\n\n case 2:\n header.dsigTag = ttc.getInt32() >>> 0;\n header.dsigLength = ttc.getInt32() >>> 0;\n header.dsigOffset = ttc.getInt32() >>> 0;\n return header;\n }\n\n throw new _util.FormatError(\"Invalid TrueType Collection majorVersion: \".concat(majorVersion, \".\"));\n }\n\n function readTrueTypeCollectionData(ttc, fontName) {\n var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),\n numFonts = _readTrueTypeCollecti.numFonts,\n offsetTable = _readTrueTypeCollecti.offsetTable;\n\n for (var i = 0; i < numFonts; i++) {\n ttc.pos = (ttc.start || 0) + offsetTable[i];\n var potentialHeader = readOpenTypeHeader(ttc);\n var potentialTables = readTables(ttc, potentialHeader.numTables);\n\n if (!potentialTables['name']) {\n throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n }\n\n var nameTable = readNameTable(potentialTables['name']);\n\n for (var j = 0, jj = nameTable.length; j < jj; j++) {\n for (var k = 0, kk = nameTable[j].length; k < kk; k++) {\n var nameEntry = nameTable[j][k];\n\n if (nameEntry && nameEntry.replace(/\\s/g, '') === fontName) {\n return {\n header: potentialHeader,\n tables: potentialTables\n };\n }\n }\n }\n }\n\n throw new _util.FormatError(\"TrueType Collection does not contain \\\"\".concat(fontName, \"\\\" font.\"));\n }\n\n function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) {\n if (!cmap) {\n (0, _util.warn)('No cmap table available.');\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var segment;\n var start = (font.start ? font.start : 0) + cmap.offset;\n font.pos = start;\n font.getUint16();\n var numTables = font.getUint16();\n var potentialTable;\n var canBreak = false;\n\n for (var i = 0; i < numTables; i++) {\n var platformId = font.getUint16();\n var encodingId = font.getUint16();\n var offset = font.getInt32() >>> 0;\n var useTable = false;\n\n if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n continue;\n }\n\n if (platformId === 0 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 1 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n useTable = true;\n\n if (!isSymbolicFont) {\n canBreak = true;\n }\n } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n useTable = true;\n canBreak = true;\n }\n\n if (useTable) {\n potentialTable = {\n platformId: platformId,\n encodingId: encodingId,\n offset: offset\n };\n }\n\n if (canBreak) {\n break;\n }\n }\n\n if (potentialTable) {\n font.pos = start + potentialTable.offset;\n }\n\n if (!potentialTable || font.peekByte() === -1) {\n (0, _util.warn)('Could not find a preferred cmap table.');\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var format = font.getUint16();\n font.getUint16();\n font.getUint16();\n var hasShortCmap = false;\n var mappings = [];\n var j, glyphId;\n\n if (format === 0) {\n for (j = 0; j < 256; j++) {\n var index = font.getByte();\n\n if (!index) {\n continue;\n }\n\n mappings.push({\n charCode: j,\n glyphId: index\n });\n }\n\n hasShortCmap = true;\n } else if (format === 4) {\n var segCount = font.getUint16() >> 1;\n font.getBytes(6);\n var segIndex,\n segments = [];\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: font.getUint16()\n });\n }\n\n font.getUint16();\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = font.getUint16();\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = font.getUint16();\n }\n\n var offsetsCount = 0;\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n var rangeOffset = font.getUint16();\n\n if (!rangeOffset) {\n segment.offsetIndex = -1;\n continue;\n }\n\n var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n segment.offsetIndex = offsetIndex;\n offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n }\n\n var offsets = [];\n\n for (j = 0; j < offsetsCount; j++) {\n offsets.push(font.getUint16());\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n start = segment.start;\n var end = segment.end;\n var delta = segment.delta;\n offsetIndex = segment.offsetIndex;\n\n for (j = start; j <= end; j++) {\n if (j === 0xFFFF) {\n continue;\n }\n\n glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n glyphId = glyphId + delta & 0xFFFF;\n mappings.push({\n charCode: j,\n glyphId: glyphId\n });\n }\n }\n } else if (format === 6) {\n var firstCode = font.getUint16();\n var entryCount = font.getUint16();\n\n for (j = 0; j < entryCount; j++) {\n glyphId = font.getUint16();\n var charCode = firstCode + j;\n mappings.push({\n charCode: charCode,\n glyphId: glyphId\n });\n }\n } else {\n (0, _util.warn)('cmap table has unsupported format: ' + format);\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n mappings.sort(function (a, b) {\n return a.charCode - b.charCode;\n });\n\n for (i = 1; i < mappings.length; i++) {\n if (mappings[i - 1].charCode === mappings[i].charCode) {\n mappings.splice(i, 1);\n i--;\n }\n }\n\n return {\n platformId: potentialTable.platformId,\n encodingId: potentialTable.encodingId,\n mappings: mappings,\n hasShortCmap: hasShortCmap\n };\n }\n\n function sanitizeMetrics(font, header, metrics, numGlyphs, dupFirstEntry) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n\n return;\n }\n\n font.pos = (font.start ? font.start : 0) + header.offset;\n font.pos += 4;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 8;\n font.pos += 2;\n var numOfMetrics = font.getUint16();\n\n if (numOfMetrics > numGlyphs) {\n (0, _util.info)('The numOfMetrics (' + numOfMetrics + ') should not be ' + 'greater than the numGlyphs (' + numGlyphs + ')');\n numOfMetrics = numGlyphs;\n header.data[34] = (numOfMetrics & 0xff00) >> 8;\n header.data[35] = numOfMetrics & 0x00ff;\n }\n\n var numOfSidebearings = numGlyphs - numOfMetrics;\n var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n\n if (numMissing > 0) {\n var entries = new Uint8Array(metrics.length + numMissing * 2);\n entries.set(metrics.data);\n\n if (dupFirstEntry) {\n entries[metrics.length] = metrics.data[2];\n entries[metrics.length + 1] = metrics.data[3];\n }\n\n metrics.data = entries;\n }\n }\n\n function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n var glyphProfile = {\n length: 0,\n sizeOfInstructions: 0\n };\n\n if (sourceEnd - sourceStart <= 12) {\n return glyphProfile;\n }\n\n var glyf = source.subarray(sourceStart, sourceEnd);\n var contoursCount = signedInt16(glyf[0], glyf[1]);\n\n if (contoursCount < 0) {\n contoursCount = -1;\n writeSignedInt16(glyf, 0, contoursCount);\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n var i,\n j = 10,\n flagsCount = 0;\n\n for (i = 0; i < contoursCount; i++) {\n var endPoint = glyf[j] << 8 | glyf[j + 1];\n flagsCount = endPoint + 1;\n j += 2;\n }\n\n var instructionsStart = j;\n var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n glyphProfile.sizeOfInstructions = instructionsLength;\n j += 2 + instructionsLength;\n var instructionsEnd = j;\n var coordinatesLength = 0;\n\n for (i = 0; i < flagsCount; i++) {\n var flag = glyf[j++];\n\n if (flag & 0xC0) {\n glyf[j - 1] = flag & 0x3F;\n }\n\n var xyLength = (flag & 2 ? 1 : flag & 16 ? 0 : 2) + (flag & 4 ? 1 : flag & 32 ? 0 : 2);\n coordinatesLength += xyLength;\n\n if (flag & 8) {\n var repeat = glyf[j++];\n i += repeat;\n coordinatesLength += repeat * xyLength;\n }\n }\n\n if (coordinatesLength === 0) {\n return glyphProfile;\n }\n\n var glyphDataLength = j + coordinatesLength;\n\n if (glyphDataLength > glyf.length) {\n return glyphProfile;\n }\n\n if (!hintsValid && instructionsLength > 0) {\n dest.set(glyf.subarray(0, instructionsStart), destStart);\n dest.set([0, 0], destStart + instructionsStart);\n dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n glyphDataLength -= instructionsLength;\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n }\n\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n dest.set(glyf.subarray(0, glyphDataLength), destStart);\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n function sanitizeHead(head, numGlyphs, locaLength) {\n var data = head.data;\n var version = int32(data[0], data[1], data[2], data[3]);\n\n if (version >> 16 !== 1) {\n (0, _util.info)('Attempting to fix invalid version in head table: ' + version);\n data[0] = 0;\n data[1] = 1;\n data[2] = 0;\n data[3] = 0;\n }\n\n var indexToLocFormat = int16(data[50], data[51]);\n\n if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n (0, _util.info)('Attempting to fix invalid indexToLocFormat in head table: ' + indexToLocFormat);\n var numGlyphsPlusOne = numGlyphs + 1;\n\n if (locaLength === numGlyphsPlusOne << 1) {\n data[50] = 0;\n data[51] = 0;\n } else if (locaLength === numGlyphsPlusOne << 2) {\n data[50] = 0;\n data[51] = 1;\n } else {\n throw new _util.FormatError('Could not fix indexToLocFormat: ' + indexToLocFormat);\n }\n }\n }\n\n function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n var itemSize, itemDecode, itemEncode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n\n itemEncode = function fontItemEncodeLong(data, offset, value) {\n data[offset] = value >>> 24 & 0xFF;\n data[offset + 1] = value >> 16 & 0xFF;\n data[offset + 2] = value >> 8 & 0xFF;\n data[offset + 3] = value & 0xFF;\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n\n itemEncode = function fontItemEncode(data, offset, value) {\n data[offset] = value >> 9 & 0xFF;\n data[offset + 1] = value >> 1 & 0xFF;\n };\n }\n\n var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n var locaData = loca.data;\n var locaDataSize = itemSize * (1 + numGlyphsOut);\n locaData = new Uint8Array(locaDataSize);\n locaData.set(loca.data.subarray(0, locaDataSize));\n loca.data = locaData;\n var oldGlyfData = glyf.data;\n var oldGlyfDataLength = oldGlyfData.length;\n var newGlyfData = new Uint8Array(oldGlyfDataLength);\n var startOffset = itemDecode(locaData, 0);\n var writeOffset = 0;\n var missingGlyphs = Object.create(null);\n itemEncode(locaData, 0, writeOffset);\n var i, j;\n\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n var endOffset = itemDecode(locaData, j);\n\n if (endOffset === 0) {\n endOffset = startOffset;\n }\n\n if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {\n endOffset = oldGlyfDataLength;\n }\n\n if (endOffset > oldGlyfDataLength) {\n startOffset = endOffset;\n }\n\n var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);\n var newLength = glyphProfile.length;\n\n if (newLength === 0) {\n missingGlyphs[i] = true;\n }\n\n if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n }\n\n writeOffset += newLength;\n itemEncode(locaData, j, writeOffset);\n startOffset = endOffset;\n }\n\n if (writeOffset === 0) {\n var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n\n for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n itemEncode(locaData, j, simpleGlyph.length);\n }\n\n glyf.data = simpleGlyph;\n } else if (dupFirstEntry) {\n var firstEntryLength = itemDecode(locaData, itemSize);\n\n if (newGlyfData.length > firstEntryLength + writeOffset) {\n glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n } else {\n glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n glyf.data.set(newGlyfData.subarray(0, writeOffset));\n }\n\n glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n } else {\n glyf.data = newGlyfData.subarray(0, writeOffset);\n }\n\n return {\n missingGlyphs: missingGlyphs,\n maxSizeOfInstructions: maxSizeOfInstructions\n };\n }\n\n function readPostScriptTable(post, properties, maxpNumGlyphs) {\n var start = (font.start ? font.start : 0) + post.offset;\n font.pos = start;\n var length = post.length,\n end = start + length;\n var version = font.getInt32();\n font.getBytes(28);\n var glyphNames;\n var valid = true;\n var i;\n\n switch (version) {\n case 0x00010000:\n glyphNames = MacStandardGlyphOrdering;\n break;\n\n case 0x00020000:\n var numGlyphs = font.getUint16();\n\n if (numGlyphs !== maxpNumGlyphs) {\n valid = false;\n break;\n }\n\n var glyphNameIndexes = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var index = font.getUint16();\n\n if (index >= 32768) {\n valid = false;\n break;\n }\n\n glyphNameIndexes.push(index);\n }\n\n if (!valid) {\n break;\n }\n\n var customNames = [];\n var strBuf = [];\n\n while (font.pos < end) {\n var stringLength = font.getByte();\n strBuf.length = stringLength;\n\n for (i = 0; i < stringLength; ++i) {\n strBuf[i] = String.fromCharCode(font.getByte());\n }\n\n customNames.push(strBuf.join(''));\n }\n\n glyphNames = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var j = glyphNameIndexes[i];\n\n if (j < 258) {\n glyphNames.push(MacStandardGlyphOrdering[j]);\n continue;\n }\n\n glyphNames.push(customNames[j - 258]);\n }\n\n break;\n\n case 0x00030000:\n break;\n\n default:\n (0, _util.warn)('Unknown/unsupported post table version ' + version);\n valid = false;\n\n if (properties.defaultEncoding) {\n glyphNames = properties.defaultEncoding;\n }\n\n break;\n }\n\n properties.glyphNames = glyphNames;\n return valid;\n }\n\n function readNameTable(nameTable) {\n var start = (font.start ? font.start : 0) + nameTable.offset;\n font.pos = start;\n var names = [[], []];\n var length = nameTable.length,\n end = start + length;\n var format = font.getUint16();\n var FORMAT_0_HEADER_LENGTH = 6;\n\n if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n return names;\n }\n\n var numRecords = font.getUint16();\n var stringsStart = font.getUint16();\n var records = [];\n var NAME_RECORD_LENGTH = 12;\n var i, ii;\n\n for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n var r = {\n platform: font.getUint16(),\n encoding: font.getUint16(),\n language: font.getUint16(),\n name: font.getUint16(),\n length: font.getUint16(),\n offset: font.getUint16()\n };\n\n if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n records.push(r);\n }\n }\n\n for (i = 0, ii = records.length; i < ii; i++) {\n var record = records[i];\n\n if (record.length <= 0) {\n continue;\n }\n\n var pos = start + stringsStart + record.offset;\n\n if (pos + record.length > end) {\n continue;\n }\n\n font.pos = pos;\n var nameIndex = record.name;\n\n if (record.encoding) {\n var str = '';\n\n for (var j = 0, jj = record.length; j < jj; j += 2) {\n str += String.fromCharCode(font.getUint16());\n }\n\n names[1][nameIndex] = str;\n } else {\n names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n }\n }\n\n return names;\n }\n\n var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n\n function sanitizeTTProgram(table, ttContext) {\n var data = table.data;\n var i = 0,\n j,\n n,\n b,\n funcId,\n pc,\n lastEndf = 0,\n lastDeff = 0;\n var stack = [];\n var callstack = [];\n var functionsCalled = [];\n var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n var inFDEF = false,\n ifLevel = 0,\n inELSE = 0;\n\n for (var ii = data.length; i < ii;) {\n var op = data[i++];\n\n if (op === 0x40) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if (op === 0x41) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if ((op & 0xF8) === 0xB0) {\n n = op - 0xB0 + 1;\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if ((op & 0xF8) === 0xB8) {\n n = op - 0xB8 + 1;\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if (op === 0x2B && !tooComplexToFollowFunctions) {\n if (!inFDEF && !inELSE) {\n funcId = stack[stack.length - 1];\n\n if (isNaN(funcId)) {\n (0, _util.info)('TT: CALL empty stack (or invalid entry).');\n } else {\n ttContext.functionsUsed[funcId] = true;\n\n if (funcId in ttContext.functionsStackDeltas) {\n var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n\n if (newStackLength < 0) {\n (0, _util.warn)('TT: CALL invalid functions stack delta.');\n ttContext.hintsValid = false;\n return;\n }\n\n stack.length = newStackLength;\n } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n callstack.push({\n data: data,\n i: i,\n stackTop: stack.length - 1\n });\n functionsCalled.push(funcId);\n pc = ttContext.functionsDefined[funcId];\n\n if (!pc) {\n (0, _util.warn)('TT: CALL non-existent function');\n ttContext.hintsValid = false;\n return;\n }\n\n data = pc.data;\n i = pc.i;\n }\n }\n }\n } else if (op === 0x2C && !tooComplexToFollowFunctions) {\n if (inFDEF || inELSE) {\n (0, _util.warn)('TT: nested FDEFs not allowed');\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n funcId = stack.pop();\n ttContext.functionsDefined[funcId] = {\n data: data,\n i: i\n };\n } else if (op === 0x2D) {\n if (inFDEF) {\n inFDEF = false;\n lastEndf = i;\n } else {\n pc = callstack.pop();\n\n if (!pc) {\n (0, _util.warn)('TT: ENDF bad stack');\n ttContext.hintsValid = false;\n return;\n }\n\n funcId = functionsCalled.pop();\n data = pc.data;\n i = pc.i;\n ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n }\n } else if (op === 0x89) {\n if (inFDEF || inELSE) {\n (0, _util.warn)('TT: nested IDEFs not allowed');\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n } else if (op === 0x58) {\n ++ifLevel;\n } else if (op === 0x1B) {\n inELSE = ifLevel;\n } else if (op === 0x59) {\n if (inELSE === ifLevel) {\n inELSE = 0;\n }\n\n --ifLevel;\n } else if (op === 0x1C) {\n if (!inFDEF && !inELSE) {\n var offset = stack[stack.length - 1];\n\n if (offset > 0) {\n i += offset - 1;\n }\n }\n }\n\n if (!inFDEF && !inELSE) {\n var stackDelta = op <= 0x8E ? TTOpsStackDeltas[op] : op >= 0xC0 && op <= 0xDF ? -1 : op >= 0xE0 ? -2 : 0;\n\n if (op >= 0x71 && op <= 0x75) {\n n = stack.pop();\n\n if (!isNaN(n)) {\n stackDelta = -n * 2;\n }\n }\n\n while (stackDelta < 0 && stack.length > 0) {\n stack.pop();\n stackDelta++;\n }\n\n while (stackDelta > 0) {\n stack.push(NaN);\n stackDelta--;\n }\n }\n }\n\n ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n var content = [data];\n\n if (i > data.length) {\n content.push(new Uint8Array(i - data.length));\n }\n\n if (lastDeff > lastEndf) {\n (0, _util.warn)('TT: complementing a missing function tail');\n content.push(new Uint8Array([0x22, 0x2D]));\n }\n\n foldTTTable(table, content);\n }\n\n function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n if (ttContext.tooComplexToFollowFunctions) {\n return;\n }\n\n if (ttContext.functionsDefined.length > maxFunctionDefs) {\n (0, _util.warn)('TT: more functions defined than expected');\n ttContext.hintsValid = false;\n return;\n }\n\n for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n if (j > maxFunctionDefs) {\n (0, _util.warn)('TT: invalid function id: ' + j);\n ttContext.hintsValid = false;\n return;\n }\n\n if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n (0, _util.warn)('TT: undefined function: ' + j);\n ttContext.hintsValid = false;\n return;\n }\n }\n }\n\n function foldTTTable(table, content) {\n if (content.length > 1) {\n var newLength = 0;\n var j, jj;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n newLength += content[j].length;\n }\n\n newLength = newLength + 3 & ~3;\n var result = new Uint8Array(newLength);\n var pos = 0;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n result.set(content[j], pos);\n pos += content[j].length;\n }\n\n table.data = result;\n table.length = newLength;\n }\n }\n\n function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n var ttContext = {\n functionsDefined: [],\n functionsUsed: [],\n functionsStackDeltas: [],\n tooComplexToFollowFunctions: false,\n hintsValid: true\n };\n\n if (fpgm) {\n sanitizeTTProgram(fpgm, ttContext);\n }\n\n if (prep) {\n sanitizeTTProgram(prep, ttContext);\n }\n\n if (fpgm) {\n checkInvalidFunctions(ttContext, maxFunctionDefs);\n }\n\n if (cvt && cvt.length & 1) {\n var cvtData = new Uint8Array(cvt.length + 1);\n cvtData.set(cvt.data);\n cvt.data = cvtData;\n }\n\n return ttContext.hintsValid;\n }\n\n font = new _stream.Stream(new Uint8Array(font.getBytes()));\n var header, tables;\n\n if (isTrueTypeCollectionFile(font)) {\n var ttcData = readTrueTypeCollectionData(font, this.name);\n header = ttcData.header;\n tables = ttcData.tables;\n } else {\n header = readOpenTypeHeader(font);\n tables = readTables(font, header.numTables);\n }\n\n var cff, cffFile;\n var isTrueType = !tables['CFF '];\n\n if (!isTrueType) {\n var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n\n if (header.version === 'OTTO' && !isComposite || !tables['head'] || !tables['hhea'] || !tables['maxp'] || !tables['post']) {\n cffFile = new _stream.Stream(tables['CFF '].data);\n cff = new CFFFont(cffFile, properties);\n adjustWidths(properties);\n return this.convert(name, cff, properties);\n }\n\n delete tables['glyf'];\n delete tables['loca'];\n delete tables['fpgm'];\n delete tables['prep'];\n delete tables['cvt '];\n this.isOpenType = true;\n } else {\n if (!tables['loca']) {\n throw new _util.FormatError('Required \"loca\" table is not found');\n }\n\n if (!tables['glyf']) {\n (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n tables['glyf'] = {\n tag: 'glyf',\n data: new Uint8Array(0)\n };\n }\n\n this.isOpenType = false;\n }\n\n if (!tables['maxp']) {\n throw new _util.FormatError('Required \"maxp\" table is not found');\n }\n\n font.pos = (font.start || 0) + tables['maxp'].offset;\n var version = font.getInt32();\n var numGlyphs = font.getUint16();\n var numGlyphsOut = numGlyphs + 1;\n var dupFirstEntry = true;\n\n if (numGlyphsOut > 0xFFFF) {\n dupFirstEntry = false;\n numGlyphsOut = numGlyphs;\n (0, _util.warn)('Not enough space in glyfs to duplicate first glyph.');\n }\n\n var maxFunctionDefs = 0;\n var maxSizeOfInstructions = 0;\n\n if (version >= 0x00010000 && tables['maxp'].length >= 22) {\n font.pos += 8;\n var maxZones = font.getUint16();\n\n if (maxZones > 2) {\n tables['maxp'].data[14] = 0;\n tables['maxp'].data[15] = 2;\n }\n\n font.pos += 4;\n maxFunctionDefs = font.getUint16();\n font.pos += 4;\n maxSizeOfInstructions = font.getUint16();\n }\n\n tables['maxp'].data[4] = numGlyphsOut >> 8;\n tables['maxp'].data[5] = numGlyphsOut & 255;\n var hintsValid = sanitizeTTPrograms(tables['fpgm'], tables['prep'], tables['cvt '], maxFunctionDefs);\n\n if (!hintsValid) {\n delete tables['fpgm'];\n delete tables['prep'];\n delete tables['cvt '];\n }\n\n sanitizeMetrics(font, tables['hhea'], tables['hmtx'], numGlyphsOut, dupFirstEntry);\n\n if (!tables['head']) {\n throw new _util.FormatError('Required \"head\" table is not found');\n }\n\n sanitizeHead(tables['head'], numGlyphs, isTrueType ? tables['loca'].length : 0);\n var missingGlyphs = Object.create(null);\n\n if (isTrueType) {\n var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]);\n var glyphsInfo = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n missingGlyphs = glyphsInfo.missingGlyphs;\n\n if (version >= 0x00010000 && tables['maxp'].length >= 22) {\n tables['maxp'].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n tables['maxp'].data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n }\n }\n\n if (!tables['hhea']) {\n throw new _util.FormatError('Required \"hhea\" table is not found');\n }\n\n if (tables['hhea'].data[10] === 0 && tables['hhea'].data[11] === 0) {\n tables['hhea'].data[10] = 0xFF;\n tables['hhea'].data[11] = 0xFF;\n }\n\n var metricsOverride = {\n unitsPerEm: int16(tables['head'].data[18], tables['head'].data[19]),\n yMax: int16(tables['head'].data[42], tables['head'].data[43]),\n yMin: signedInt16(tables['head'].data[38], tables['head'].data[39]),\n ascent: int16(tables['hhea'].data[4], tables['hhea'].data[5]),\n descent: signedInt16(tables['hhea'].data[6], tables['hhea'].data[7])\n };\n this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n if (tables['post']) {\n readPostScriptTable(tables['post'], properties, numGlyphs);\n }\n\n tables['post'] = {\n tag: 'post',\n data: createPostTable(properties)\n };\n var charCodeToGlyphId = [],\n charCode;\n\n function hasGlyph(glyphId) {\n return !missingGlyphs[glyphId];\n }\n\n if (properties.composite) {\n var cidToGidMap = properties.cidToGidMap || [];\n var isCidToGidMapEmpty = cidToGidMap.length === 0;\n properties.cMap.forEach(function (charCode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError('Max size of CID is 65,535');\n }\n\n var glyphId = -1;\n\n if (isCidToGidMapEmpty) {\n glyphId = cid;\n } else if (cidToGidMap[cid] !== undefined) {\n glyphId = cidToGidMap[cid];\n }\n\n if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n });\n } else {\n var cmapTable = readCmapTable(tables['cmap'], font, this.isSymbolicFont, properties.hasEncoding);\n var cmapPlatformId = cmapTable.platformId;\n var cmapEncodingId = cmapTable.encodingId;\n var cmapMappings = cmapTable.mappings;\n var cmapMappingsLength = cmapMappings.length;\n\n if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, _encodings.getEncoding)(properties.baseEncodingName)) {\n var baseEncoding = [];\n\n if (properties.baseEncodingName === 'MacRomanEncoding' || properties.baseEncodingName === 'WinAnsiEncoding') {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (charCode = 0; charCode < 256; charCode++) {\n var glyphName, standardGlyphName;\n\n if (this.differences && charCode in this.differences) {\n glyphName = this.differences[charCode];\n } else if (charCode in baseEncoding && baseEncoding[charCode] !== '') {\n glyphName = baseEncoding[charCode];\n } else {\n glyphName = _encodings.StandardEncoding[charCode];\n }\n\n if (!glyphName) {\n continue;\n }\n\n standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n var unicodeOrCharCode;\n\n if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n }\n\n var found = false;\n\n for (var i = 0; i < cmapMappingsLength; ++i) {\n if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n continue;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n found = true;\n break;\n }\n\n if (!found && properties.glyphNames) {\n var glyphId = properties.glyphNames.indexOf(glyphName);\n\n if (glyphId === -1 && standardGlyphName !== glyphName) {\n glyphId = properties.glyphNames.indexOf(standardGlyphName);\n }\n\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n }\n } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {\n for (var _i2 = 0; _i2 < cmapMappingsLength; ++_i2) {\n charCodeToGlyphId[cmapMappings[_i2].charCode] = cmapMappings[_i2].glyphId;\n }\n } else {\n for (var _i3 = 0; _i3 < cmapMappingsLength; ++_i3) {\n charCode = cmapMappings[_i3].charCode;\n\n if (cmapPlatformId === 3 && charCode >= 0xF000 && charCode <= 0xF0FF) {\n charCode &= 0xFF;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[_i3].glyphId;\n }\n }\n }\n\n if (charCodeToGlyphId.length === 0) {\n charCodeToGlyphId[0] = 0;\n }\n\n var glyphZeroId = numGlyphsOut - 1;\n\n if (!dupFirstEntry) {\n glyphZeroId = 0;\n }\n\n var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n tables['cmap'] = {\n tag: 'cmap',\n data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)\n };\n\n if (!tables['OS/2'] || !validateOS2Table(tables['OS/2'])) {\n tables['OS/2'] = {\n tag: 'OS/2',\n data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n };\n }\n\n if (!isTrueType) {\n try {\n cffFile = new _stream.Stream(tables['CFF '].data);\n var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n cff = parser.parse();\n cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(cff);\n tables['CFF '].data = compiler.compile();\n } catch (e) {\n (0, _util.warn)('Failed to compile font ' + properties.loadedName);\n }\n }\n\n if (!tables['name']) {\n tables['name'] = {\n tag: 'name',\n data: createNameTable(this.name)\n };\n } else {\n var namePrototype = readNameTable(tables['name']);\n tables['name'].data = createNameTable(name, namePrototype);\n }\n\n var builder = new OpenTypeFileBuilder(header.version);\n\n for (var tableTag in tables) {\n builder.addTable(tableTag, tables[tableTag].data);\n }\n\n return builder.toArray();\n },\n convert: function Font_convert(fontName, font, properties) {\n properties.fixedPitch = false;\n\n if (properties.builtInEncoding) {\n adjustToUnicode(properties, properties.builtInEncoding);\n }\n\n var glyphZeroId = 1;\n\n if (font instanceof CFFFont) {\n glyphZeroId = font.numGlyphs - 1;\n }\n\n var mapping = font.getGlyphMapping(properties);\n var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n var numGlyphs = font.numGlyphs;\n\n function getCharCodes(charCodeToGlyphId, glyphId) {\n var charCodes = null;\n\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n if (!charCodes) {\n charCodes = [];\n }\n\n charCodes.push(charCode | 0);\n }\n }\n\n return charCodes;\n }\n\n function createCharCode(charCodeToGlyphId, glyphId) {\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n return charCode | 0;\n }\n }\n\n newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n return newMapping.nextAvailableFontCharCode++;\n }\n\n var seacs = font.seacs;\n\n if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var charset = font.getCharset();\n var seacMap = Object.create(null);\n\n for (var glyphId in seacs) {\n glyphId |= 0;\n var seac = seacs[glyphId];\n var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n var baseGlyphId = charset.indexOf(baseGlyphName);\n var accentGlyphId = charset.indexOf(accentGlyphName);\n\n if (baseGlyphId < 0 || accentGlyphId < 0) {\n continue;\n }\n\n var accentOffset = {\n x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n };\n var charCodes = getCharCodes(mapping, glyphId);\n\n if (!charCodes) {\n continue;\n }\n\n for (var i = 0, ii = charCodes.length; i < ii; i++) {\n var charCode = charCodes[i];\n var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n seacMap[charCode] = {\n baseFontCharCode: baseFontCharCode,\n accentFontCharCode: accentFontCharCode,\n accentOffset: accentOffset\n };\n }\n }\n\n properties.seacMap = seacMap;\n }\n\n var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var builder = new OpenTypeFileBuilder('\\x4F\\x54\\x54\\x4F');\n builder.addTable('CFF ', font.data);\n builder.addTable('OS/2', createOS2Table(properties, newMapping.charCodeToGlyphId));\n builder.addTable('cmap', createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n builder.addTable('head', '\\x00\\x01\\x00\\x00' + '\\x00\\x00\\x10\\x00' + '\\x00\\x00\\x00\\x00' + '\\x5F\\x0F\\x3C\\xF5' + '\\x00\\x00' + safeString16(unitsPerEm) + '\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27' + '\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27' + '\\x00\\x00' + safeString16(properties.descent) + '\\x0F\\xFF' + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + '\\x00\\x11' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00');\n builder.addTable('hhea', '\\x00\\x01\\x00\\x00' + safeString16(properties.ascent) + safeString16(properties.descent) + '\\x00\\x00' + '\\xFF\\xFF' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + string16(numGlyphs));\n builder.addTable('hmtx', function fontFieldsHmtx() {\n var charstrings = font.charstrings;\n var cffWidths = font.cff ? font.cff.widths : null;\n var hmtx = '\\x00\\x00\\x00\\x00';\n\n for (var i = 1, ii = numGlyphs; i < ii; i++) {\n var width = 0;\n\n if (charstrings) {\n var charstring = charstrings[i - 1];\n width = 'width' in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[i] || 0);\n }\n\n hmtx += string16(width) + string16(0);\n }\n\n return hmtx;\n }());\n builder.addTable('maxp', '\\x00\\x00\\x50\\x00' + string16(numGlyphs));\n builder.addTable('name', createNameTable(fontName));\n builder.addTable('post', createPostTable(properties));\n return builder.toArray();\n },\n\n get spaceWidth() {\n if ('_shadowWidth' in this) {\n return this._shadowWidth;\n }\n\n var possibleSpaceReplacements = ['space', 'minus', 'one', 'i', 'I'];\n var width;\n\n for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n var glyphName = possibleSpaceReplacements[i];\n\n if (glyphName in this.widths) {\n width = this.widths[glyphName];\n break;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n var glyphUnicode = glyphsUnicodeMap[glyphName];\n var charcode = 0;\n\n if (this.composite) {\n if (this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\n }\n }\n\n if (!charcode && this.toUnicode) {\n charcode = this.toUnicode.charCodeOf(glyphUnicode);\n }\n\n if (charcode <= 0) {\n charcode = glyphUnicode;\n }\n\n width = this.widths[charcode];\n\n if (width) {\n break;\n }\n }\n\n width = width || this.defaultWidth;\n this._shadowWidth = width;\n return width;\n },\n\n charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n var fontCharCode, width, operatorListId;\n var widthCode = charcode;\n\n if (this.cMap && this.cMap.contains(charcode)) {\n widthCode = this.cMap.lookup(charcode);\n }\n\n width = this.widths[widthCode];\n width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n var vmetric = this.vmetrics && this.vmetrics[widthCode];\n var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;\n\n if (typeof unicode === 'number') {\n unicode = String.fromCharCode(unicode);\n }\n\n var isInFont = charcode in this.toFontChar;\n fontCharCode = this.toFontChar[charcode] || charcode;\n\n if (this.missingFile) {\n fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n }\n\n if (this.isType3Font) {\n operatorListId = fontCharCode;\n }\n\n var accent = null;\n\n if (this.seacMap && this.seacMap[charcode]) {\n isInFont = true;\n var seac = this.seacMap[charcode];\n fontCharCode = seac.baseFontCharCode;\n accent = {\n fontChar: String.fromCodePoint(seac.accentFontCharCode),\n offset: seac.accentOffset\n };\n }\n\n var fontChar = typeof fontCharCode === 'number' ? String.fromCodePoint(fontCharCode) : '';\n var glyph = this.glyphCache[charcode];\n\n if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n this.glyphCache[charcode] = glyph;\n }\n\n return glyph;\n },\n charsToGlyphs: function Font_charsToGlyphs(chars) {\n var charsCache = this.charsCache;\n var glyphs, glyph, charcode;\n\n if (charsCache) {\n glyphs = charsCache[chars];\n\n if (glyphs) {\n return glyphs;\n }\n }\n\n if (!charsCache) {\n charsCache = this.charsCache = Object.create(null);\n }\n\n glyphs = [];\n var charsCacheKey = chars;\n var i = 0,\n ii;\n\n if (this.cMap) {\n var c = Object.create(null);\n\n while (i < chars.length) {\n this.cMap.readCharCode(chars, i, c);\n charcode = c.charcode;\n var length = c.length;\n i += length;\n var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n glyph = this.charToGlyph(charcode, isSpace);\n glyphs.push(glyph);\n }\n } else {\n for (i = 0, ii = chars.length; i < ii; ++i) {\n charcode = chars.charCodeAt(i);\n glyph = this.charToGlyph(charcode, charcode === 0x20);\n glyphs.push(glyph);\n }\n }\n\n return charsCache[charsCacheKey] = glyphs;\n },\n\n get glyphCacheValues() {\n return Object.values(this.glyphCache);\n }\n\n };\n return Font;\n}();\n\nexports.Font = Font;\n\nvar ErrorFont = function ErrorFontClosure() {\n function ErrorFont(error) {\n this.error = error;\n this.loadedName = 'g_font_error';\n this.missingFile = true;\n }\n\n ErrorFont.prototype = {\n charsToGlyphs: function ErrorFont_charsToGlyphs() {\n return [];\n },\n exportData: function ErrorFont_exportData() {\n return {\n error: this.error\n };\n }\n };\n return ErrorFont;\n}();\n\nexports.ErrorFont = ErrorFont;\n\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n var charCodeToGlyphId = Object.create(null);\n var glyphId, charCode, baseEncoding;\n var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n if (properties.baseEncodingName) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n } else if (isSymbolicFont) {\n for (charCode in builtInEncoding) {\n charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n }\n } else {\n baseEncoding = _encodings.StandardEncoding;\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n var differences = properties.differences,\n glyphsUnicodeMap;\n\n if (differences) {\n for (charCode in differences) {\n var glyphName = differences[charCode];\n glyphId = glyphNames.indexOf(glyphName);\n\n if (glyphId === -1) {\n if (!glyphsUnicodeMap) {\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n }\n\n var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n if (standardGlyphName !== glyphName) {\n glyphId = glyphNames.indexOf(standardGlyphName);\n }\n }\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n return charCodeToGlyphId;\n}\n\nvar Type1Font = function Type1FontClosure() {\n function findBlock(streamBytes, signature, startIndex) {\n var streamBytesLength = streamBytes.length;\n var signatureLength = signature.length;\n var scanLength = streamBytesLength - signatureLength;\n var i = startIndex,\n j,\n found = false;\n\n while (i < scanLength) {\n j = 0;\n\n while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n i += j;\n\n while (i < streamBytesLength && (0, _util.isSpace)(streamBytes[i])) {\n i++;\n }\n\n found = true;\n break;\n }\n\n i++;\n }\n\n return {\n found: found,\n length: i\n };\n }\n\n function getHeaderBlock(stream, suggestedLength) {\n var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n var streamStartPos = stream.pos;\n var headerBytes, headerBytesLength, block;\n\n try {\n headerBytes = stream.getBytes(suggestedLength);\n headerBytesLength = headerBytes.length;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n\n if (headerBytesLength === suggestedLength) {\n block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n\n if (block.found && block.length === suggestedLength) {\n return {\n stream: new _stream.Stream(headerBytes),\n length: suggestedLength\n };\n }\n }\n\n (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n stream.pos = streamStartPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var actualLength;\n\n while (true) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n if (block.length === 0) {\n break;\n }\n\n stream.pos += block.length;\n\n if (block.found) {\n actualLength = stream.pos - streamStartPos;\n break;\n }\n }\n\n stream.pos = streamStartPos;\n\n if (actualLength) {\n return {\n stream: new _stream.Stream(stream.getBytes(actualLength)),\n length: actualLength\n };\n }\n\n (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n return {\n stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n length: suggestedLength\n };\n }\n\n function getEexecBlock(stream, suggestedLength) {\n var eexecBytes = stream.getBytes();\n return {\n stream: new _stream.Stream(eexecBytes),\n length: eexecBytes.length\n };\n }\n\n function Type1Font(name, file, properties) {\n var PFB_HEADER_SIZE = 6;\n var headerBlockLength = properties.length1;\n var eexecBlockLength = properties.length2;\n var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n\n if (pfbHeaderPresent) {\n file.skip(PFB_HEADER_SIZE);\n headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var headerBlock = getHeaderBlock(file, headerBlockLength);\n var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n headerBlockParser.extractFontHeader(properties);\n\n if (pfbHeaderPresent) {\n pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var eexecBlock = getEexecBlock(file, eexecBlockLength);\n var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n var data = eexecBlockParser.extractFontProgram(properties);\n\n for (var info in data.properties) {\n properties[info] = data.properties[info];\n }\n\n var charstrings = data.charstrings;\n var type2Charstrings = this.getType2Charstrings(charstrings);\n var subrs = this.getType2Subrs(data.subrs);\n this.charstrings = charstrings;\n this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n this.seacs = this.getSeacs(data.charstrings);\n }\n\n Type1Font.prototype = {\n get numGlyphs() {\n return this.charstrings.length + 1;\n },\n\n getCharset: function Type1Font_getCharset() {\n var charset = ['.notdef'];\n var charstrings = this.charstrings;\n\n for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n charset.push(charstrings[glyphId].glyphName);\n }\n\n return charset;\n },\n getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n var charstrings = this.charstrings;\n var glyphNames = ['.notdef'],\n glyphId;\n\n for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n glyphNames.push(charstrings[glyphId].glyphName);\n }\n\n var encoding = properties.builtInEncoding;\n\n if (encoding) {\n var builtInEncoding = Object.create(null);\n\n for (var charCode in encoding) {\n glyphId = glyphNames.indexOf(encoding[charCode]);\n\n if (glyphId >= 0) {\n builtInEncoding[charCode] = glyphId;\n }\n }\n }\n\n return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n },\n hasGlyphId: function Type1Font_hasGlyphID(id) {\n if (id < 0 || id >= this.numGlyphs) {\n return false;\n }\n\n if (id === 0) {\n return true;\n }\n\n var glyph = this.charstrings[id - 1];\n return glyph.charstring.length > 0;\n },\n getSeacs: function Type1Font_getSeacs(charstrings) {\n var i, ii;\n var seacMap = [];\n\n for (i = 0, ii = charstrings.length; i < ii; i++) {\n var charstring = charstrings[i];\n\n if (charstring.seac) {\n seacMap[i + 1] = charstring.seac;\n }\n }\n\n return seacMap;\n },\n getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n var type2Charstrings = [];\n\n for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n type2Charstrings.push(type1Charstrings[i].charstring);\n }\n\n return type2Charstrings;\n },\n getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n var bias = 0;\n var count = type1Subrs.length;\n\n if (count < 1133) {\n bias = 107;\n } else if (count < 33769) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n\n var type2Subrs = [];\n var i;\n\n for (i = 0; i < bias; i++) {\n type2Subrs.push([0x0B]);\n }\n\n for (i = 0; i < count; i++) {\n type2Subrs.push(type1Subrs[i]);\n }\n\n return type2Subrs;\n },\n wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n var cff = new _cff_parser.CFF();\n cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n cff.names = [name];\n var topDict = new _cff_parser.CFFTopDict();\n topDict.setByName('version', 391);\n topDict.setByName('Notice', 392);\n topDict.setByName('FullName', 393);\n topDict.setByName('FamilyName', 394);\n topDict.setByName('Weight', 395);\n topDict.setByName('Encoding', null);\n topDict.setByName('FontMatrix', properties.fontMatrix);\n topDict.setByName('FontBBox', properties.bbox);\n topDict.setByName('charset', null);\n topDict.setByName('CharStrings', null);\n topDict.setByName('Private', null);\n cff.topDict = topDict;\n var strings = new _cff_parser.CFFStrings();\n strings.add('Version 0.11');\n strings.add('See original notice');\n strings.add(name);\n strings.add(name);\n strings.add('Medium');\n cff.strings = strings;\n cff.globalSubrIndex = new _cff_parser.CFFIndex();\n var count = glyphs.length;\n var charsetArray = ['.notdef'];\n var i, ii;\n\n for (i = 0; i < count; i++) {\n var glyphName = charstrings[i].glyphName;\n\n var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n\n if (index === -1) {\n strings.add(glyphName);\n }\n\n charsetArray.push(glyphName);\n }\n\n cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);\n var charStringsIndex = new _cff_parser.CFFIndex();\n charStringsIndex.add([0x8B, 0x0E]);\n\n for (i = 0; i < count; i++) {\n charStringsIndex.add(glyphs[i]);\n }\n\n cff.charStrings = charStringsIndex;\n var privateDict = new _cff_parser.CFFPrivateDict();\n privateDict.setByName('Subrs', null);\n var fields = ['BlueValues', 'OtherBlues', 'FamilyBlues', 'FamilyOtherBlues', 'StemSnapH', 'StemSnapV', 'BlueShift', 'BlueFuzz', 'BlueScale', 'LanguageGroup', 'ExpansionFactor', 'ForceBold', 'StdHW', 'StdVW'];\n\n for (i = 0, ii = fields.length; i < ii; i++) {\n var field = fields[i];\n\n if (!(field in properties.privateData)) {\n continue;\n }\n\n var value = properties.privateData[field];\n\n if (Array.isArray(value)) {\n for (var j = value.length - 1; j > 0; j--) {\n value[j] -= value[j - 1];\n }\n }\n\n privateDict.setByName(field, value);\n }\n\n cff.topDict.privateDict = privateDict;\n var subrIndex = new _cff_parser.CFFIndex();\n\n for (i = 0, ii = subrs.length; i < ii; i++) {\n subrIndex.add(subrs[i]);\n }\n\n privateDict.subrsIndex = subrIndex;\n var compiler = new _cff_parser.CFFCompiler(cff);\n return compiler.compile();\n }\n };\n return Type1Font;\n}();\n\nvar CFFFont = function CFFFontClosure() {\n function CFFFont(file, properties) {\n this.properties = properties;\n var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n this.cff = parser.parse();\n this.cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(this.cff);\n this.seacs = this.cff.seacs;\n\n try {\n this.data = compiler.compile();\n } catch (e) {\n (0, _util.warn)('Failed to compile font ' + properties.loadedName);\n this.data = file;\n }\n }\n\n CFFFont.prototype = {\n get numGlyphs() {\n return this.cff.charStrings.count;\n },\n\n getCharset: function CFFFont_getCharset() {\n return this.cff.charset.charset;\n },\n getGlyphMapping: function CFFFont_getGlyphMapping() {\n var cff = this.cff;\n var properties = this.properties;\n var charsets = cff.charset.charset;\n var charCodeToGlyphId;\n var glyphId;\n\n if (properties.composite) {\n charCodeToGlyphId = Object.create(null);\n var charCode;\n\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n var cid = charsets[glyphId];\n charCode = properties.cMap.charCodeOf(cid);\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n\n return charCodeToGlyphId;\n }\n\n var encoding = cff.encoding ? cff.encoding.encoding : null;\n charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n return charCodeToGlyphId;\n },\n hasGlyphId: function CFFFont_hasGlyphID(id) {\n return this.cff.hasGlyphId(id);\n }\n };\n return CFFFont;\n}();\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _charsets = __w_pdfjs_require__(208);\n\nvar _encodings = __w_pdfjs_require__(209);\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall', '001.000', '001.001', '001.002', '001.003', 'Black', 'Bold', 'Book', 'Light', 'Medium', 'Regular', 'Roman', 'Semibold'];\nexports.CFFStandardStrings = CFFStandardStrings;\nvar NUM_STANDARD_CFF_STRINGS = 391;\n\nvar CFFParser = function CFFParserClosure() {\n var CharstringValidationData = [null, {\n id: 'hstem',\n min: 2,\n stackClearing: true,\n stem: true\n }, null, {\n id: 'vstem',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'vmoveto',\n min: 1,\n stackClearing: true\n }, {\n id: 'rlineto',\n min: 2,\n resetStack: true\n }, {\n id: 'hlineto',\n min: 1,\n resetStack: true\n }, {\n id: 'vlineto',\n min: 1,\n resetStack: true\n }, {\n id: 'rrcurveto',\n min: 6,\n resetStack: true\n }, null, {\n id: 'callsubr',\n min: 1,\n undefStack: true\n }, {\n id: 'return',\n min: 0,\n undefStack: true\n }, null, null, {\n id: 'endchar',\n min: 0,\n stackClearing: true\n }, null, null, null, {\n id: 'hstemhm',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'hintmask',\n min: 0,\n stackClearing: true\n }, {\n id: 'cntrmask',\n min: 0,\n stackClearing: true\n }, {\n id: 'rmoveto',\n min: 2,\n stackClearing: true\n }, {\n id: 'hmoveto',\n min: 1,\n stackClearing: true\n }, {\n id: 'vstemhm',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'rcurveline',\n min: 8,\n resetStack: true\n }, {\n id: 'rlinecurve',\n min: 8,\n resetStack: true\n }, {\n id: 'vvcurveto',\n min: 4,\n resetStack: true\n }, {\n id: 'hhcurveto',\n min: 4,\n resetStack: true\n }, null, {\n id: 'callgsubr',\n min: 1,\n undefStack: true\n }, {\n id: 'vhcurveto',\n min: 4,\n resetStack: true\n }, {\n id: 'hvcurveto',\n min: 4,\n resetStack: true\n }];\n var CharstringValidationData12 = [null, null, null, {\n id: 'and',\n min: 2,\n stackDelta: -1\n }, {\n id: 'or',\n min: 2,\n stackDelta: -1\n }, {\n id: 'not',\n min: 1,\n stackDelta: 0\n }, null, null, null, {\n id: 'abs',\n min: 1,\n stackDelta: 0\n }, {\n id: 'add',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] + stack[index - 1];\n }\n }, {\n id: 'sub',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] - stack[index - 1];\n }\n }, {\n id: 'div',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] / stack[index - 1];\n }\n }, null, {\n id: 'neg',\n min: 1,\n stackDelta: 0,\n stackFn: function stack_div(stack, index) {\n stack[index - 1] = -stack[index - 1];\n }\n }, {\n id: 'eq',\n min: 2,\n stackDelta: -1\n }, null, null, {\n id: 'drop',\n min: 1,\n stackDelta: -1\n }, null, {\n id: 'put',\n min: 2,\n stackDelta: -2\n }, {\n id: 'get',\n min: 1,\n stackDelta: 0\n }, {\n id: 'ifelse',\n min: 4,\n stackDelta: -3\n }, {\n id: 'random',\n min: 0,\n stackDelta: 1\n }, {\n id: 'mul',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] * stack[index - 1];\n }\n }, null, {\n id: 'sqrt',\n min: 1,\n stackDelta: 0\n }, {\n id: 'dup',\n min: 1,\n stackDelta: 1\n }, {\n id: 'exch',\n min: 2,\n stackDelta: 0\n }, {\n id: 'index',\n min: 2,\n stackDelta: 0\n }, {\n id: 'roll',\n min: 3,\n stackDelta: -2\n }, null, null, null, {\n id: 'hflex',\n min: 7,\n resetStack: true\n }, {\n id: 'flex',\n min: 13,\n resetStack: true\n }, {\n id: 'hflex1',\n min: 9,\n resetStack: true\n }, {\n id: 'flex1',\n min: 11,\n resetStack: true\n }];\n\n function CFFParser(file, properties, seacAnalysisEnabled) {\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n\n CFFParser.prototype = {\n parse: function CFFParser_parse() {\n var properties = this.properties;\n var cff = new CFF();\n this.cff = cff;\n var header = this.parseHeader();\n var nameIndex = this.parseIndex(header.endPos);\n var topDictIndex = this.parseIndex(nameIndex.endPos);\n var stringIndex = this.parseIndex(topDictIndex.endPos);\n var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n cff.header = header.obj;\n cff.names = this.parseNameIndex(nameIndex.obj);\n cff.strings = this.parseStringIndex(stringIndex.obj);\n cff.topDict = topDict;\n cff.globalSubrIndex = globalSubrIndex.obj;\n this.parsePrivateDict(cff.topDict);\n cff.isCIDFont = topDict.hasName('ROS');\n var charStringOffset = topDict.getByName('CharStrings');\n var charStringIndex = this.parseIndex(charStringOffset).obj;\n var fontMatrix = topDict.getByName('FontMatrix');\n\n if (fontMatrix) {\n properties.fontMatrix = fontMatrix;\n }\n\n var fontBBox = topDict.getByName('FontBBox');\n\n if (fontBBox) {\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n }\n\n var charset, encoding;\n\n if (cff.isCIDFont) {\n var fdArrayIndex = this.parseIndex(topDict.getByName('FDArray')).obj;\n\n for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n var dictRaw = fdArrayIndex.get(i);\n var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n this.parsePrivateDict(fontDict);\n cff.fdArray.push(fontDict);\n }\n\n encoding = null;\n charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, true);\n cff.fdSelect = this.parseFDSelect(topDict.getByName('FDSelect'), charStringIndex.count);\n } else {\n charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, false);\n encoding = this.parseEncoding(topDict.getByName('Encoding'), properties, cff.strings, charset.charset);\n }\n\n cff.charset = charset;\n cff.encoding = encoding;\n var charStringsAndSeacs = this.parseCharStrings({\n charStrings: charStringIndex,\n localSubrIndex: topDict.privateDict.subrsIndex,\n globalSubrIndex: globalSubrIndex.obj,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray,\n privateDict: topDict.privateDict\n });\n cff.charStrings = charStringsAndSeacs.charStrings;\n cff.seacs = charStringsAndSeacs.seacs;\n cff.widths = charStringsAndSeacs.widths;\n return cff;\n },\n parseHeader: function CFFParser_parseHeader() {\n var bytes = this.bytes;\n var bytesLength = bytes.length;\n var offset = 0;\n\n while (offset < bytesLength && bytes[offset] !== 1) {\n ++offset;\n }\n\n if (offset >= bytesLength) {\n throw new _util.FormatError('Invalid CFF header');\n }\n\n if (offset !== 0) {\n (0, _util.info)('cff data is shifted');\n bytes = bytes.subarray(offset);\n this.bytes = bytes;\n }\n\n var major = bytes[0];\n var minor = bytes[1];\n var hdrSize = bytes[2];\n var offSize = bytes[3];\n var header = new CFFHeader(major, minor, hdrSize, offSize);\n return {\n obj: header,\n endPos: hdrSize\n };\n },\n parseDict: function CFFParser_parseDict(dict) {\n var pos = 0;\n\n function parseOperand() {\n var value = dict[pos++];\n\n if (value === 30) {\n return parseFloatOperand();\n } else if (value === 28) {\n value = dict[pos++];\n value = (value << 24 | dict[pos++] << 16) >> 16;\n return value;\n } else if (value === 29) {\n value = dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n return value;\n } else if (value >= 32 && value <= 246) {\n return value - 139;\n } else if (value >= 247 && value <= 250) {\n return (value - 247) * 256 + dict[pos++] + 108;\n } else if (value >= 251 && value <= 254) {\n return -((value - 251) * 256) - dict[pos++] - 108;\n }\n\n (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n return NaN;\n }\n\n function parseFloatOperand() {\n var str = '';\n var eof = 15;\n var lookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'];\n var length = dict.length;\n\n while (pos < length) {\n var b = dict[pos++];\n var b1 = b >> 4;\n var b2 = b & 15;\n\n if (b1 === eof) {\n break;\n }\n\n str += lookup[b1];\n\n if (b2 === eof) {\n break;\n }\n\n str += lookup[b2];\n }\n\n return parseFloat(str);\n }\n\n var operands = [];\n var entries = [];\n pos = 0;\n var end = dict.length;\n\n while (pos < end) {\n var b = dict[pos];\n\n if (b <= 21) {\n if (b === 12) {\n b = b << 8 | dict[++pos];\n }\n\n entries.push([b, operands]);\n operands = [];\n ++pos;\n } else {\n operands.push(parseOperand());\n }\n }\n\n return entries;\n },\n parseIndex: function CFFParser_parseIndex(pos) {\n var cffIndex = new CFFIndex();\n var bytes = this.bytes;\n var count = bytes[pos++] << 8 | bytes[pos++];\n var offsets = [];\n var end = pos;\n var i, ii;\n\n if (count !== 0) {\n var offsetSize = bytes[pos++];\n var startPos = pos + (count + 1) * offsetSize - 1;\n\n for (i = 0, ii = count + 1; i < ii; ++i) {\n var offset = 0;\n\n for (var j = 0; j < offsetSize; ++j) {\n offset <<= 8;\n offset += bytes[pos++];\n }\n\n offsets.push(startPos + offset);\n }\n\n end = offsets[count];\n }\n\n for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n var offsetStart = offsets[i];\n var offsetEnd = offsets[i + 1];\n cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n }\n\n return {\n obj: cffIndex,\n endPos: end\n };\n },\n parseNameIndex: function CFFParser_parseNameIndex(index) {\n var names = [];\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var name = index.get(i);\n names.push((0, _util.bytesToString)(name));\n }\n\n return names;\n },\n parseStringIndex: function CFFParser_parseStringIndex(index) {\n var strings = new CFFStrings();\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var data = index.get(i);\n strings.add((0, _util.bytesToString)(data));\n }\n\n return strings;\n },\n createDict: function CFFParser_createDict(Type, dict, strings) {\n var cffDict = new Type(strings);\n\n for (var i = 0, ii = dict.length; i < ii; ++i) {\n var pair = dict[i];\n var key = pair[0];\n var value = pair[1];\n cffDict.setByKey(key, value);\n }\n\n return cffDict;\n },\n parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n if (!data || state.callDepth > MAX_SUBR_NESTING) {\n return false;\n }\n\n var stackSize = state.stackSize;\n var stack = state.stack;\n var length = data.length;\n\n for (var j = 0; j < length;) {\n var value = data[j++];\n var validationCommand = null;\n\n if (value === 12) {\n var q = data[j++];\n\n if (q === 0) {\n data[j - 2] = 139;\n data[j - 1] = 22;\n stackSize = 0;\n } else {\n validationCommand = CharstringValidationData12[q];\n }\n } else if (value === 28) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n j += 2;\n stackSize++;\n } else if (value === 14) {\n if (stackSize >= 4) {\n stackSize -= 4;\n\n if (this.seacAnalysisEnabled) {\n state.seac = stack.slice(stackSize, stackSize + 4);\n return false;\n }\n }\n\n validationCommand = CharstringValidationData[value];\n } else if (value >= 32 && value <= 246) {\n stack[stackSize] = value - 139;\n stackSize++;\n } else if (value >= 247 && value <= 254) {\n stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n j++;\n stackSize++;\n } else if (value === 255) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n j += 4;\n stackSize++;\n } else if (value === 19 || value === 20) {\n state.hints += stackSize >> 1;\n j += state.hints + 7 >> 3;\n stackSize %= 2;\n validationCommand = CharstringValidationData[value];\n } else if (value === 10 || value === 29) {\n var subrsIndex;\n\n if (value === 10) {\n subrsIndex = localSubrIndex;\n } else {\n subrsIndex = globalSubrIndex;\n }\n\n if (!subrsIndex) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)('Missing subrsIndex for ' + validationCommand.id);\n return false;\n }\n\n var bias = 32768;\n\n if (subrsIndex.count < 1240) {\n bias = 107;\n } else if (subrsIndex.count < 33900) {\n bias = 1131;\n }\n\n var subrNumber = stack[--stackSize] + bias;\n\n if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)('Out of bounds subrIndex for ' + validationCommand.id);\n return false;\n }\n\n state.stackSize = stackSize;\n state.callDepth++;\n var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n\n if (!valid) {\n return false;\n }\n\n state.callDepth--;\n stackSize = state.stackSize;\n continue;\n } else if (value === 11) {\n state.stackSize = stackSize;\n return true;\n } else {\n validationCommand = CharstringValidationData[value];\n }\n\n if (validationCommand) {\n if (validationCommand.stem) {\n state.hints += stackSize >> 1;\n\n if (value === 3 || value === 23) {\n state.hasVStems = true;\n } else if (state.hasVStems && (value === 1 || value === 18)) {\n (0, _util.warn)('CFF stem hints are in wrong order');\n data[j - 1] = value === 1 ? 3 : 23;\n }\n }\n\n if ('min' in validationCommand) {\n if (!state.undefStack && stackSize < validationCommand.min) {\n (0, _util.warn)('Not enough parameters for ' + validationCommand.id + '; actual: ' + stackSize + ', expected: ' + validationCommand.min);\n return false;\n }\n }\n\n if (state.firstStackClearing && validationCommand.stackClearing) {\n state.firstStackClearing = false;\n stackSize -= validationCommand.min;\n\n if (stackSize >= 2 && validationCommand.stem) {\n stackSize %= 2;\n } else if (stackSize > 1) {\n (0, _util.warn)('Found too many parameters for stack-clearing command');\n }\n\n if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n state.width = stack[stackSize - 1];\n }\n }\n\n if ('stackDelta' in validationCommand) {\n if ('stackFn' in validationCommand) {\n validationCommand.stackFn(stack, stackSize);\n }\n\n stackSize += validationCommand.stackDelta;\n } else if (validationCommand.stackClearing) {\n stackSize = 0;\n } else if (validationCommand.resetStack) {\n stackSize = 0;\n state.undefStack = false;\n } else if (validationCommand.undefStack) {\n stackSize = 0;\n state.undefStack = true;\n state.firstStackClearing = false;\n }\n }\n }\n\n state.stackSize = stackSize;\n return true;\n },\n parseCharStrings: function parseCharStrings(_ref) {\n var charStrings = _ref.charStrings,\n localSubrIndex = _ref.localSubrIndex,\n globalSubrIndex = _ref.globalSubrIndex,\n fdSelect = _ref.fdSelect,\n fdArray = _ref.fdArray,\n privateDict = _ref.privateDict;\n var seacs = [];\n var widths = [];\n var count = charStrings.count;\n\n for (var i = 0; i < count; i++) {\n var charstring = charStrings.get(i);\n var state = {\n callDepth: 0,\n stackSize: 0,\n stack: [],\n undefStack: true,\n hints: 0,\n firstStackClearing: true,\n seac: null,\n width: null,\n hasVStems: false\n };\n var valid = true;\n var localSubrToUse = null;\n var privateDictToUse = privateDict;\n\n if (fdSelect && fdArray.length) {\n var fdIndex = fdSelect.getFDIndex(i);\n\n if (fdIndex === -1) {\n (0, _util.warn)('Glyph index is not in fd select.');\n valid = false;\n }\n\n if (fdIndex >= fdArray.length) {\n (0, _util.warn)('Invalid fd index for glyph index.');\n valid = false;\n }\n\n if (valid) {\n privateDictToUse = fdArray[fdIndex].privateDict;\n localSubrToUse = privateDictToUse.subrsIndex;\n }\n } else if (localSubrIndex) {\n localSubrToUse = localSubrIndex;\n }\n\n if (valid) {\n valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n }\n\n if (state.width !== null) {\n var nominalWidth = privateDictToUse.getByName('nominalWidthX');\n widths[i] = nominalWidth + state.width;\n } else {\n var defaultWidth = privateDictToUse.getByName('defaultWidthX');\n widths[i] = defaultWidth;\n }\n\n if (state.seac !== null) {\n seacs[i] = state.seac;\n }\n\n if (!valid) {\n charStrings.set(i, new Uint8Array([14]));\n }\n }\n\n return {\n charStrings: charStrings,\n seacs: seacs,\n widths: widths\n };\n },\n emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {\n var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n },\n parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {\n if (!parentDict.hasName('Private')) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateOffset = parentDict.getByName('Private');\n\n if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n parentDict.removeByName('Private');\n return;\n }\n\n var size = privateOffset[0];\n var offset = privateOffset[1];\n\n if (size === 0 || offset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateDictEnd = offset + size;\n var dictData = this.bytes.subarray(offset, privateDictEnd);\n var dict = this.parseDict(dictData);\n var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n parentDict.privateDict = privateDict;\n\n if (!privateDict.getByName('Subrs')) {\n return;\n }\n\n var subrsOffset = privateDict.getByName('Subrs');\n var relativeOffset = offset + subrsOffset;\n\n if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var subrsIndex = this.parseIndex(relativeOffset);\n privateDict.subrsIndex = subrsIndex.obj;\n },\n parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {\n if (pos === 0) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n } else if (pos === 1) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n } else if (pos === 2) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n }\n\n var bytes = this.bytes;\n var start = pos;\n var format = bytes[pos++];\n var charset = ['.notdef'];\n var id, count, i;\n length -= 1;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; i++) {\n id = bytes[pos++] << 8 | bytes[pos++];\n charset.push(cid ? id : strings.get(id));\n }\n\n break;\n\n case 1:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n case 2:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError('Unknown charset format');\n }\n\n var end = pos;\n var raw = bytes.subarray(start, end);\n return new CFFCharset(false, format, charset, raw);\n },\n parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) {\n var encoding = Object.create(null);\n var bytes = this.bytes;\n var predefined = false;\n var format, i, ii;\n var raw = null;\n\n function readSupplement() {\n var supplementsCount = bytes[pos++];\n\n for (i = 0; i < supplementsCount; i++) {\n var code = bytes[pos++];\n var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n encoding[code] = charset.indexOf(strings.get(sid));\n }\n }\n\n if (pos === 0 || pos === 1) {\n predefined = true;\n format = pos;\n var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n\n for (i = 0, ii = charset.length; i < ii; i++) {\n var index = baseEncoding.indexOf(charset[i]);\n\n if (index !== -1) {\n encoding[index] = i;\n }\n }\n } else {\n var dataStart = pos;\n format = bytes[pos++];\n\n switch (format & 0x7f) {\n case 0:\n var glyphsCount = bytes[pos++];\n\n for (i = 1; i <= glyphsCount; i++) {\n encoding[bytes[pos++]] = i;\n }\n\n break;\n\n case 1:\n var rangesCount = bytes[pos++];\n var gid = 1;\n\n for (i = 0; i < rangesCount; i++) {\n var start = bytes[pos++];\n var left = bytes[pos++];\n\n for (var j = start; j <= start + left; j++) {\n encoding[j] = gid++;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown encoding format: \".concat(format, \" in CFF\"));\n }\n\n var dataEnd = pos;\n\n if (format & 0x80) {\n bytes[dataStart] &= 0x7f;\n readSupplement();\n }\n\n raw = bytes.subarray(dataStart, dataEnd);\n }\n\n format = format & 0x7f;\n return new CFFEncoding(predefined, format, encoding, raw);\n },\n parseFDSelect: function CFFParser_parseFDSelect(pos, length) {\n var bytes = this.bytes;\n var format = bytes[pos++];\n var fdSelect = [];\n var i;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; ++i) {\n var id = bytes[pos++];\n fdSelect.push(id);\n }\n\n break;\n\n case 3:\n var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i < rangesCount; ++i) {\n var first = bytes[pos++] << 8 | bytes[pos++];\n\n if (i === 0 && first !== 0) {\n (0, _util.warn)('parseFDSelect: The first range must have a first GID of 0' + ' -- trying to recover.');\n first = 0;\n }\n\n var fdIndex = bytes[pos++];\n var next = bytes[pos] << 8 | bytes[pos + 1];\n\n for (var j = first; j < next; ++j) {\n fdSelect.push(fdIndex);\n }\n }\n\n pos += 2;\n break;\n\n default:\n throw new _util.FormatError(\"parseFDSelect: Unknown format \\\"\".concat(format, \"\\\".\"));\n }\n\n if (fdSelect.length !== length) {\n throw new _util.FormatError('parseFDSelect: Invalid font data.');\n }\n\n return new CFFFDSelect(format, fdSelect);\n }\n };\n return CFFParser;\n}();\n\nexports.CFFParser = CFFParser;\n\nvar CFF = function CFFClosure() {\n function CFF() {\n this.header = null;\n this.names = [];\n this.topDict = null;\n this.strings = new CFFStrings();\n this.globalSubrIndex = null;\n this.encoding = null;\n this.charset = null;\n this.charStrings = null;\n this.fdArray = [];\n this.fdSelect = null;\n this.isCIDFont = false;\n }\n\n CFF.prototype = {\n duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {\n if (this.charStrings.count >= 65535) {\n (0, _util.warn)('Not enough space in charstrings to duplicate first glyph.');\n return;\n }\n\n var glyphZero = this.charStrings.get(0);\n this.charStrings.add(glyphZero);\n\n if (this.isCIDFont) {\n this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n }\n },\n hasGlyphId: function CFF_hasGlyphID(id) {\n if (id < 0 || id >= this.charStrings.count) {\n return false;\n }\n\n var glyph = this.charStrings.get(id);\n return glyph.length > 0;\n }\n };\n return CFF;\n}();\n\nexports.CFF = CFF;\n\nvar CFFHeader = function CFFHeaderClosure() {\n function CFFHeader(major, minor, hdrSize, offSize) {\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n }\n\n return CFFHeader;\n}();\n\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = function CFFStringsClosure() {\n function CFFStrings() {\n this.strings = [];\n }\n\n CFFStrings.prototype = {\n get: function CFFStrings_get(index) {\n if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n return CFFStandardStrings[index];\n }\n\n if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n }\n\n return CFFStandardStrings[0];\n },\n getSID: function CFFStrings_getSID(str) {\n var index = CFFStandardStrings.indexOf(str);\n\n if (index !== -1) {\n return index;\n }\n\n index = this.strings.indexOf(str);\n\n if (index !== -1) {\n return index + NUM_STANDARD_CFF_STRINGS;\n }\n\n return -1;\n },\n add: function CFFStrings_add(value) {\n this.strings.push(value);\n },\n\n get count() {\n return this.strings.length;\n }\n\n };\n return CFFStrings;\n}();\n\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = function CFFIndexClosure() {\n function CFFIndex() {\n this.objects = [];\n this.length = 0;\n }\n\n CFFIndex.prototype = {\n add: function CFFIndex_add(data) {\n this.length += data.length;\n this.objects.push(data);\n },\n set: function CFFIndex_set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n },\n get: function CFFIndex_get(index) {\n return this.objects[index];\n },\n\n get count() {\n return this.objects.length;\n }\n\n };\n return CFFIndex;\n}();\n\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = function CFFDictClosure() {\n function CFFDict(tables, strings) {\n this.keyToNameMap = tables.keyToNameMap;\n this.nameToKeyMap = tables.nameToKeyMap;\n this.defaults = tables.defaults;\n this.types = tables.types;\n this.opcodes = tables.opcodes;\n this.order = tables.order;\n this.strings = strings;\n this.values = Object.create(null);\n }\n\n CFFDict.prototype = {\n setByKey: function CFFDict_setByKey(key, value) {\n if (!(key in this.keyToNameMap)) {\n return false;\n }\n\n var valueLength = value.length;\n\n if (valueLength === 0) {\n return true;\n }\n\n for (var i = 0; i < valueLength; i++) {\n if (isNaN(value[i])) {\n (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n return true;\n }\n }\n\n var type = this.types[key];\n\n if (type === 'num' || type === 'sid' || type === 'offset') {\n value = value[0];\n }\n\n this.values[key] = value;\n return true;\n },\n setByName: function CFFDict_setByName(name, value) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \\\"\".concat(name, \"\\\"\"));\n }\n\n this.values[this.nameToKeyMap[name]] = value;\n },\n hasName: function CFFDict_hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n },\n getByName: function CFFDict_getByName(name) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \".concat(name, \"\\\"\"));\n }\n\n var key = this.nameToKeyMap[name];\n\n if (!(key in this.values)) {\n return this.defaults[key];\n }\n\n return this.values[key];\n },\n removeByName: function CFFDict_removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n };\n\n CFFDict.createTables = function CFFDict_createTables(layout) {\n var tables = {\n keyToNameMap: {},\n nameToKeyMap: {},\n defaults: {},\n types: {},\n opcodes: {},\n order: []\n };\n\n for (var i = 0, ii = layout.length; i < ii; ++i) {\n var entry = layout[i];\n var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n tables.keyToNameMap[key] = entry[1];\n tables.nameToKeyMap[entry[1]] = key;\n tables.types[key] = entry[2];\n tables.defaults[key] = entry[3];\n tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n tables.order.push(key);\n }\n\n return tables;\n };\n\n return CFFDict;\n}();\n\nvar CFFTopDict = function CFFTopDictClosure() {\n var layout = [[[12, 30], 'ROS', ['sid', 'sid', 'num'], null], [[12, 20], 'SyntheticBase', 'num', null], [0, 'version', 'sid', null], [1, 'Notice', 'sid', null], [[12, 0], 'Copyright', 'sid', null], [2, 'FullName', 'sid', null], [3, 'FamilyName', 'sid', null], [4, 'Weight', 'sid', null], [[12, 1], 'isFixedPitch', 'num', 0], [[12, 2], 'ItalicAngle', 'num', 0], [[12, 3], 'UnderlinePosition', 'num', -100], [[12, 4], 'UnderlineThickness', 'num', 50], [[12, 5], 'PaintType', 'num', 0], [[12, 6], 'CharstringType', 'num', 2], [[12, 7], 'FontMatrix', ['num', 'num', 'num', 'num', 'num', 'num'], [0.001, 0, 0, 0.001, 0, 0]], [13, 'UniqueID', 'num', null], [5, 'FontBBox', ['num', 'num', 'num', 'num'], [0, 0, 0, 0]], [[12, 8], 'StrokeWidth', 'num', 0], [14, 'XUID', 'array', null], [15, 'charset', 'offset', 0], [16, 'Encoding', 'offset', 0], [17, 'CharStrings', 'offset', 0], [18, 'Private', ['offset', 'offset'], null], [[12, 21], 'PostScript', 'sid', null], [[12, 22], 'BaseFontName', 'sid', null], [[12, 23], 'BaseFontBlend', 'delta', null], [[12, 31], 'CIDFontVersion', 'num', 0], [[12, 32], 'CIDFontRevision', 'num', 0], [[12, 33], 'CIDFontType', 'num', 0], [[12, 34], 'CIDCount', 'num', 8720], [[12, 35], 'UIDBase', 'num', null], [[12, 37], 'FDSelect', 'offset', null], [[12, 36], 'FDArray', 'offset', null], [[12, 38], 'FontName', 'sid', null]];\n var tables = null;\n\n function CFFTopDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.privateDict = null;\n }\n\n CFFTopDict.prototype = Object.create(CFFDict.prototype);\n return CFFTopDict;\n}();\n\nexports.CFFTopDict = CFFTopDict;\n\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n var layout = [[6, 'BlueValues', 'delta', null], [7, 'OtherBlues', 'delta', null], [8, 'FamilyBlues', 'delta', null], [9, 'FamilyOtherBlues', 'delta', null], [[12, 9], 'BlueScale', 'num', 0.039625], [[12, 10], 'BlueShift', 'num', 7], [[12, 11], 'BlueFuzz', 'num', 1], [10, 'StdHW', 'num', null], [11, 'StdVW', 'num', null], [[12, 12], 'StemSnapH', 'delta', null], [[12, 13], 'StemSnapV', 'delta', null], [[12, 14], 'ForceBold', 'num', 0], [[12, 17], 'LanguageGroup', 'num', 0], [[12, 18], 'ExpansionFactor', 'num', 0.06], [[12, 19], 'initialRandomSeed', 'num', 0], [20, 'defaultWidthX', 'num', 0], [21, 'nominalWidthX', 'num', 0], [19, 'Subrs', 'offset', null]];\n var tables = null;\n\n function CFFPrivateDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.subrsIndex = null;\n }\n\n CFFPrivateDict.prototype = Object.create(CFFDict.prototype);\n return CFFPrivateDict;\n}();\n\nexports.CFFPrivateDict = CFFPrivateDict;\nvar CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n};\n\nvar CFFCharset = function CFFCharsetClosure() {\n function CFFCharset(predefined, format, charset, raw) {\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n }\n\n return CFFCharset;\n}();\n\nexports.CFFCharset = CFFCharset;\n\nvar CFFEncoding = function CFFEncodingClosure() {\n function CFFEncoding(predefined, format, encoding, raw) {\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n }\n\n return CFFEncoding;\n}();\n\nvar CFFFDSelect = function CFFFDSelectClosure() {\n function CFFFDSelect(format, fdSelect) {\n this.format = format;\n this.fdSelect = fdSelect;\n }\n\n CFFFDSelect.prototype = {\n getFDIndex: function CFFFDSelect_get(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n\n return this.fdSelect[glyphIndex];\n }\n };\n return CFFFDSelect;\n}();\n\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = function CFFOffsetTrackerClosure() {\n function CFFOffsetTracker() {\n this.offsets = Object.create(null);\n }\n\n CFFOffsetTracker.prototype = {\n isTracking: function CFFOffsetTracker_isTracking(key) {\n return key in this.offsets;\n },\n track: function CFFOffsetTracker_track(key, location) {\n if (key in this.offsets) {\n throw new _util.FormatError(\"Already tracking location of \".concat(key));\n }\n\n this.offsets[key] = location;\n },\n offset: function CFFOffsetTracker_offset(value) {\n for (var key in this.offsets) {\n this.offsets[key] += value;\n }\n },\n setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {\n if (!(key in this.offsets)) {\n throw new _util.FormatError(\"Not tracking location of \".concat(key));\n }\n\n var data = output.data;\n var dataOffset = this.offsets[key];\n var size = 5;\n\n for (var i = 0, ii = values.length; i < ii; ++i) {\n var offset0 = i * size + dataOffset;\n var offset1 = offset0 + 1;\n var offset2 = offset0 + 2;\n var offset3 = offset0 + 3;\n var offset4 = offset0 + 4;\n\n if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n throw new _util.FormatError('writing to an offset that is not empty');\n }\n\n var value = values[i];\n data[offset0] = 0x1d;\n data[offset1] = value >> 24 & 0xFF;\n data[offset2] = value >> 16 & 0xFF;\n data[offset3] = value >> 8 & 0xFF;\n data[offset4] = value & 0xFF;\n }\n }\n };\n return CFFOffsetTracker;\n}();\n\nvar CFFCompiler = function CFFCompilerClosure() {\n function CFFCompiler(cff) {\n this.cff = cff;\n }\n\n CFFCompiler.prototype = {\n compile: function CFFCompiler_compile() {\n var cff = this.cff;\n var output = {\n data: [],\n length: 0,\n add: function CFFCompiler_add(data) {\n this.data = this.data.concat(data);\n this.length = this.data.length;\n }\n };\n var header = this.compileHeader(cff.header);\n output.add(header);\n var nameIndex = this.compileNameIndex(cff.names);\n output.add(nameIndex);\n\n if (cff.isCIDFont) {\n if (cff.topDict.hasName('FontMatrix')) {\n var base = cff.topDict.getByName('FontMatrix');\n cff.topDict.removeByName('FontMatrix');\n\n for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n var subDict = cff.fdArray[i];\n var matrix = base.slice(0);\n\n if (subDict.hasName('FontMatrix')) {\n matrix = _util.Util.transform(matrix, subDict.getByName('FontMatrix'));\n }\n\n subDict.setByName('FontMatrix', matrix);\n }\n }\n }\n\n cff.topDict.setByName('charset', 0);\n var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n output.add(compiled.output);\n var topDictTracker = compiled.trackers[0];\n var stringIndex = this.compileStringIndex(cff.strings.strings);\n output.add(stringIndex);\n var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n output.add(globalSubrIndex);\n\n if (cff.encoding && cff.topDict.hasName('Encoding')) {\n if (cff.encoding.predefined) {\n topDictTracker.setEntryLocation('Encoding', [cff.encoding.format], output);\n } else {\n var encoding = this.compileEncoding(cff.encoding);\n topDictTracker.setEntryLocation('Encoding', [output.length], output);\n output.add(encoding);\n }\n }\n\n var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);\n topDictTracker.setEntryLocation('charset', [output.length], output);\n output.add(charset);\n var charStrings = this.compileCharStrings(cff.charStrings);\n topDictTracker.setEntryLocation('CharStrings', [output.length], output);\n output.add(charStrings);\n\n if (cff.isCIDFont) {\n topDictTracker.setEntryLocation('FDSelect', [output.length], output);\n var fdSelect = this.compileFDSelect(cff.fdSelect);\n output.add(fdSelect);\n compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n topDictTracker.setEntryLocation('FDArray', [output.length], output);\n output.add(compiled.output);\n var fontDictTrackers = compiled.trackers;\n this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n }\n\n this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n output.add([0]);\n return output.data;\n },\n encodeNumber: function CFFCompiler_encodeNumber(value) {\n if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {\n return this.encodeInteger(value);\n }\n\n return this.encodeFloat(value);\n },\n encodeFloat: function CFFCompiler_encodeFloat(num) {\n var value = num.toString();\n var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n\n if (m) {\n var epsilon = parseFloat('1e' + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(num * epsilon) / epsilon).toString();\n }\n\n var nibbles = '';\n var i, ii;\n\n for (i = 0, ii = value.length; i < ii; ++i) {\n var a = value[i];\n\n if (a === 'e') {\n nibbles += value[++i] === '-' ? 'c' : 'b';\n } else if (a === '.') {\n nibbles += 'a';\n } else if (a === '-') {\n nibbles += 'e';\n } else {\n nibbles += a;\n }\n }\n\n nibbles += nibbles.length & 1 ? 'f' : 'ff';\n var out = [30];\n\n for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substring(i, i + 2), 16));\n }\n\n return out;\n },\n encodeInteger: function CFFCompiler_encodeInteger(value) {\n var code;\n\n if (value >= -107 && value <= 107) {\n code = [value + 139];\n } else if (value >= 108 && value <= 1131) {\n value = value - 108;\n code = [(value >> 8) + 247, value & 0xFF];\n } else if (value >= -1131 && value <= -108) {\n value = -value - 108;\n code = [(value >> 8) + 251, value & 0xFF];\n } else if (value >= -32768 && value <= 32767) {\n code = [0x1c, value >> 8 & 0xFF, value & 0xFF];\n } else {\n code = [0x1d, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF];\n }\n\n return code;\n },\n compileHeader: function CFFCompiler_compileHeader(header) {\n return [header.major, header.minor, header.hdrSize, header.offSize];\n },\n compileNameIndex: function CFFCompiler_compileNameIndex(names) {\n var nameIndex = new CFFIndex();\n\n for (var i = 0, ii = names.length; i < ii; ++i) {\n var name = names[i];\n var length = Math.min(name.length, 127);\n var sanitizedName = new Array(length);\n\n for (var j = 0; j < length; j++) {\n var _char = name[j];\n\n if (_char < '!' || _char > '~' || _char === '[' || _char === ']' || _char === '(' || _char === ')' || _char === '{' || _char === '}' || _char === '<' || _char === '>' || _char === '/' || _char === '%') {\n _char = '_';\n }\n\n sanitizedName[j] = _char;\n }\n\n sanitizedName = sanitizedName.join('');\n\n if (sanitizedName === '') {\n sanitizedName = 'Bad_Font_Name';\n }\n\n nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n }\n\n return this.compileIndex(nameIndex);\n },\n compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) {\n var fontDictTrackers = [];\n var fdArrayIndex = new CFFIndex();\n\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n\n if (removeCidKeys) {\n fontDict.removeByName('CIDFontVersion');\n fontDict.removeByName('CIDFontRevision');\n fontDict.removeByName('CIDFontType');\n fontDict.removeByName('CIDCount');\n fontDict.removeByName('UIDBase');\n }\n\n var fontDictTracker = new CFFOffsetTracker();\n var fontDictData = this.compileDict(fontDict, fontDictTracker);\n fontDictTrackers.push(fontDictTracker);\n fdArrayIndex.add(fontDictData);\n fontDictTracker.offset(length);\n }\n\n fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n return {\n trackers: fontDictTrackers,\n output: fdArrayIndex\n };\n },\n compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) {\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n var privateDict = fontDict.privateDict;\n\n if (!privateDict || !fontDict.hasName('Private')) {\n throw new _util.FormatError('There must be a private dictionary.');\n }\n\n var privateDictTracker = new CFFOffsetTracker();\n var privateDictData = this.compileDict(privateDict, privateDictTracker);\n var outputLength = output.length;\n privateDictTracker.offset(outputLength);\n\n if (!privateDictData.length) {\n outputLength = 0;\n }\n\n trackers[i].setEntryLocation('Private', [privateDictData.length, outputLength], output);\n output.add(privateDictData);\n\n if (privateDict.subrsIndex && privateDict.hasName('Subrs')) {\n var subrs = this.compileIndex(privateDict.subrsIndex);\n privateDictTracker.setEntryLocation('Subrs', [privateDictData.length], output);\n output.add(subrs);\n }\n }\n },\n compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {\n var out = [];\n var order = dict.order;\n\n for (var i = 0; i < order.length; ++i) {\n var key = order[i];\n\n if (!(key in dict.values)) {\n continue;\n }\n\n var values = dict.values[key];\n var types = dict.types[key];\n\n if (!Array.isArray(types)) {\n types = [types];\n }\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n if (values.length === 0) {\n continue;\n }\n\n for (var j = 0, jj = types.length; j < jj; ++j) {\n var type = types[j];\n var value = values[j];\n\n switch (type) {\n case 'num':\n case 'sid':\n out = out.concat(this.encodeNumber(value));\n break;\n\n case 'offset':\n var name = dict.keyToNameMap[key];\n\n if (!offsetTracker.isTracking(name)) {\n offsetTracker.track(name, out.length);\n }\n\n out = out.concat([0x1d, 0, 0, 0, 0]);\n break;\n\n case 'array':\n case 'delta':\n out = out.concat(this.encodeNumber(value));\n\n for (var k = 1, kk = values.length; k < kk; ++k) {\n out = out.concat(this.encodeNumber(values[k]));\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown data type of \".concat(type));\n }\n }\n\n out = out.concat(dict.opcodes[key]);\n }\n\n return out;\n },\n compileStringIndex: function CFFCompiler_compileStringIndex(strings) {\n var stringIndex = new CFFIndex();\n\n for (var i = 0, ii = strings.length; i < ii; ++i) {\n stringIndex.add((0, _util.stringToBytes)(strings[i]));\n }\n\n return this.compileIndex(stringIndex);\n },\n compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {\n var globalSubrIndex = this.cff.globalSubrIndex;\n this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n },\n compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {\n var charStringsIndex = new CFFIndex();\n\n for (var i = 0; i < charStrings.count; i++) {\n var glyph = charStrings.get(i);\n\n if (glyph.length === 0) {\n charStringsIndex.add(new Uint8Array([0x8B, 0x0E]));\n continue;\n }\n\n charStringsIndex.add(glyph);\n }\n\n return this.compileIndex(charStringsIndex);\n },\n compileCharset: function CFFCompiler_compileCharset(charset, numGlyphs, strings, isCIDFont) {\n var out;\n var numGlyphsLessNotDef = numGlyphs - 1;\n\n if (isCIDFont) {\n out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xFF, numGlyphsLessNotDef & 0xFF]);\n } else {\n var length = 1 + numGlyphsLessNotDef * 2;\n out = new Uint8Array(length);\n out[0] = 0;\n var charsetIndex = 0;\n var numCharsets = charset.charset.length;\n var warned = false;\n\n for (var i = 1; i < out.length; i += 2) {\n var sid = 0;\n\n if (charsetIndex < numCharsets) {\n var name = charset.charset[charsetIndex++];\n sid = strings.getSID(name);\n\n if (sid === -1) {\n sid = 0;\n\n if (!warned) {\n warned = true;\n (0, _util.warn)(\"Couldn't find \".concat(name, \" in CFF strings\"));\n }\n }\n }\n\n out[i] = sid >> 8 & 0xFF;\n out[i + 1] = sid & 0xFF;\n }\n }\n\n return this.compileTypedArray(out);\n },\n compileEncoding: function CFFCompiler_compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n },\n compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {\n var format = fdSelect.format;\n var out, i;\n\n switch (format) {\n case 0:\n out = new Uint8Array(1 + fdSelect.fdSelect.length);\n out[0] = format;\n\n for (i = 0; i < fdSelect.fdSelect.length; i++) {\n out[i + 1] = fdSelect.fdSelect[i];\n }\n\n break;\n\n case 3:\n var start = 0;\n var lastFD = fdSelect.fdSelect[0];\n var ranges = [format, 0, 0, start >> 8 & 0xFF, start & 0xFF, lastFD];\n\n for (i = 1; i < fdSelect.fdSelect.length; i++) {\n var currentFD = fdSelect.fdSelect[i];\n\n if (currentFD !== lastFD) {\n ranges.push(i >> 8 & 0xFF, i & 0xFF, currentFD);\n lastFD = currentFD;\n }\n }\n\n var numRanges = (ranges.length - 3) / 3;\n ranges[1] = numRanges >> 8 & 0xFF;\n ranges[2] = numRanges & 0xFF;\n ranges.push(i >> 8 & 0xFF, i & 0xFF);\n out = new Uint8Array(ranges);\n break;\n }\n\n return this.compileTypedArray(out);\n },\n compileTypedArray: function CFFCompiler_compileTypedArray(data) {\n var out = [];\n\n for (var i = 0, ii = data.length; i < ii; ++i) {\n out[i] = data[i];\n }\n\n return out;\n },\n compileIndex: function CFFCompiler_compileIndex(index, trackers) {\n trackers = trackers || [];\n var objects = index.objects;\n var count = objects.length;\n\n if (count === 0) {\n return [0, 0, 0];\n }\n\n var data = [count >> 8 & 0xFF, count & 0xff];\n var lastOffset = 1,\n i;\n\n for (i = 0; i < count; ++i) {\n lastOffset += objects[i].length;\n }\n\n var offsetSize;\n\n if (lastOffset < 0x100) {\n offsetSize = 1;\n } else if (lastOffset < 0x10000) {\n offsetSize = 2;\n } else if (lastOffset < 0x1000000) {\n offsetSize = 3;\n } else {\n offsetSize = 4;\n }\n\n data.push(offsetSize);\n var relativeOffset = 1;\n\n for (i = 0; i < count + 1; i++) {\n if (offsetSize === 1) {\n data.push(relativeOffset & 0xFF);\n } else if (offsetSize === 2) {\n data.push(relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n } else if (offsetSize === 3) {\n data.push(relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n } else {\n data.push(relativeOffset >>> 24 & 0xFF, relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n }\n\n if (objects[i]) {\n relativeOffset += objects[i].length;\n }\n }\n\n for (i = 0; i < count; i++) {\n if (trackers[i]) {\n trackers[i].offset(data.length);\n }\n\n for (var j = 0, jj = objects[i].length; j < jj; j++) {\n data.push(objects[i][j]);\n }\n }\n\n return data;\n }\n };\n return CFFCompiler;\n}();\n\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\nvar ISOAdobeCharset = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron'];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nvar ExpertCharset = ['.notdef', 'space', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'onequarter', 'onehalf', 'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\nexports.ExpertCharset = ExpertCharset;\nvar ExpertSubsetCharset = ['.notdef', 'space', 'dollaroldstyle', 'dollarsuperior', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'hyphensuperior', 'colonmonetary', 'onefitted', 'rupiah', 'centoldstyle', 'figuredash', 'hypheninferior', 'onequarter', 'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior'];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getEncoding = getEncoding;\nexports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\nvar ExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', '', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', '', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', '', '', '', 'isuperior', '', '', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', '', '', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '', 'figuredash', 'hypheninferior', '', '', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '', '', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\nexports.ExpertEncoding = ExpertEncoding;\nvar MacExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', 'centoldstyle', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', '', 'threequartersemdash', '', 'questionsmall', '', '', '', '', 'Ethsmall', '', '', 'onequarter', 'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '', '', '', '', '', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hypheninferior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', 'asuperior', 'centsuperior', '', '', '', '', 'Aacutesmall', 'Agravesmall', 'Acircumflexsmall', 'Adieresissmall', 'Atildesmall', 'Aringsmall', 'Ccedillasmall', 'Eacutesmall', 'Egravesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Iacutesmall', 'Igravesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ntildesmall', 'Oacutesmall', 'Ogravesmall', 'Ocircumflexsmall', 'Odieresissmall', 'Otildesmall', 'Uacutesmall', 'Ugravesmall', 'Ucircumflexsmall', 'Udieresissmall', '', 'eightsuperior', 'fourinferior', 'threeinferior', 'sixinferior', 'eightinferior', 'seveninferior', 'Scaronsmall', '', 'centinferior', 'twoinferior', '', 'Dieresissmall', '', 'Caronsmall', 'osuperior', 'fiveinferior', '', 'commainferior', 'periodinferior', 'Yacutesmall', '', 'dollarinferior', '', '', 'Thornsmall', '', 'nineinferior', 'zeroinferior', 'Zcaronsmall', 'AEsmall', 'Oslashsmall', 'questiondownsmall', 'oneinferior', 'Lslashsmall', '', '', '', '', '', '', 'Cedillasmall', '', '', '', '', '', 'OEsmall', 'figuredash', 'hyphensuperior', '', '', '', '', 'exclamdownsmall', '', 'Ydieresissmall', '', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'ninesuperior', 'zerosuperior', '', 'esuperior', 'rsuperior', 'tsuperior', '', '', 'isuperior', 'ssuperior', 'dsuperior', '', '', '', '', '', 'lsuperior', 'Ogoneksmall', 'Brevesmall', 'Macronsmall', 'bsuperior', 'nsuperior', 'msuperior', 'commasuperior', 'periodsuperior', 'Dotaccentsmall', 'Ringsmall', '', '', '', ''];\nvar MacRomanEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', 'ellipsis', 'space', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron'];\nexports.MacRomanEncoding = MacRomanEncoding;\nvar StandardEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', '', 'endash', 'dagger', 'daggerdbl', 'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', '', 'questiondown', '', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', 'cedilla', '', 'hungarumlaut', 'ogonek', 'caron', 'emdash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'AE', '', 'ordfeminine', '', '', '', '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', '', '', '', '', '', 'ae', '', '', '', 'dotlessi', '', '', 'lslash', 'oslash', 'oe', 'germandbls', '', '', '', ''];\nexports.StandardEncoding = StandardEncoding;\nvar WinAnsiEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'bullet', 'Euro', 'bullet', 'quotesinglbase', 'florin', 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', 'circumflex', 'perthousand', 'Scaron', 'guilsinglleft', 'OE', 'bullet', 'Zcaron', 'bullet', 'bullet', 'quoteleft', 'quoteright', 'quotedblleft', 'quotedblright', 'bullet', 'endash', 'emdash', 'tilde', 'trademark', 'scaron', 'guilsinglright', 'oe', 'bullet', 'zcaron', 'Ydieresis', 'space', 'exclamdown', 'cent', 'sterling', 'currency', 'yen', 'brokenbar', 'section', 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', 'logicalnot', 'hyphen', 'registered', 'macron', 'degree', 'plusminus', 'twosuperior', 'threesuperior', 'acute', 'mu', 'paragraph', 'periodcentered', 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', 'onequarter', 'onehalf', 'threequarters', 'questiondown', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 'Adieresis', 'Aring', 'AE', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Eth', 'Ntilde', 'Ograve', 'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'Thorn', 'germandbls', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ae', 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', 'iacute', 'icircumflex', 'idieresis', 'eth', 'ntilde', 'ograve', 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'divide', 'oslash', 'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'thorn', 'ydieresis'];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nvar SymbolSetEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'universal', 'numbersign', 'existential', 'percent', 'ampersand', 'suchthat', 'parenleft', 'parenright', 'asteriskmath', 'plus', 'comma', 'minus', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'congruent', 'Alpha', 'Beta', 'Chi', 'Delta', 'Epsilon', 'Phi', 'Gamma', 'Eta', 'Iota', 'theta1', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Omicron', 'Pi', 'Theta', 'Rho', 'Sigma', 'Tau', 'Upsilon', 'sigma1', 'Omega', 'Xi', 'Psi', 'Zeta', 'bracketleft', 'therefore', 'bracketright', 'perpendicular', 'underscore', 'radicalex', 'alpha', 'beta', 'chi', 'delta', 'epsilon', 'phi', 'gamma', 'eta', 'iota', 'phi1', 'kappa', 'lambda', 'mu', 'nu', 'omicron', 'pi', 'theta', 'rho', 'sigma', 'tau', 'upsilon', 'omega1', 'omega', 'xi', 'psi', 'zeta', 'braceleft', 'bar', 'braceright', 'similar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Euro', 'Upsilon1', 'minute', 'lessequal', 'fraction', 'infinity', 'florin', 'club', 'diamond', 'heart', 'spade', 'arrowboth', 'arrowleft', 'arrowup', 'arrowright', 'arrowdown', 'degree', 'plusminus', 'second', 'greaterequal', 'multiply', 'proportional', 'partialdiff', 'bullet', 'divide', 'notequal', 'equivalence', 'approxequal', 'ellipsis', 'arrowvertex', 'arrowhorizex', 'carriagereturn', 'aleph', 'Ifraktur', 'Rfraktur', 'weierstrass', 'circlemultiply', 'circleplus', 'emptyset', 'intersection', 'union', 'propersuperset', 'reflexsuperset', 'notsubset', 'propersubset', 'reflexsubset', 'element', 'notelement', 'angle', 'gradient', 'registerserif', 'copyrightserif', 'trademarkserif', 'product', 'radical', 'dotmath', 'logicalnot', 'logicaland', 'logicalor', 'arrowdblboth', 'arrowdblleft', 'arrowdblup', 'arrowdblright', 'arrowdbldown', 'lozenge', 'angleleft', 'registersans', 'copyrightsans', 'trademarksans', 'summation', 'parenlefttp', 'parenleftex', 'parenleftbt', 'bracketlefttp', 'bracketleftex', 'bracketleftbt', 'bracelefttp', 'braceleftmid', 'braceleftbt', 'braceex', '', 'angleright', 'integral', 'integraltp', 'integralex', 'integralbt', 'parenrighttp', 'parenrightex', 'parenrightbt', 'bracketrighttp', 'bracketrightex', 'bracketrightbt', 'bracerighttp', 'bracerightmid', 'bracerightbt', ''];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nvar ZapfDingbatsEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'a1', 'a2', 'a202', 'a3', 'a4', 'a5', 'a119', 'a118', 'a117', 'a11', 'a12', 'a13', 'a14', 'a15', 'a16', 'a105', 'a17', 'a18', 'a19', 'a20', 'a21', 'a22', 'a23', 'a24', 'a25', 'a26', 'a27', 'a28', 'a6', 'a7', 'a8', 'a9', 'a10', 'a29', 'a30', 'a31', 'a32', 'a33', 'a34', 'a35', 'a36', 'a37', 'a38', 'a39', 'a40', 'a41', 'a42', 'a43', 'a44', 'a45', 'a46', 'a47', 'a48', 'a49', 'a50', 'a51', 'a52', 'a53', 'a54', 'a55', 'a56', 'a57', 'a58', 'a59', 'a60', 'a61', 'a62', 'a63', 'a64', 'a65', 'a66', 'a67', 'a68', 'a69', 'a70', 'a71', 'a72', 'a73', 'a74', 'a203', 'a75', 'a204', 'a76', 'a77', 'a78', 'a79', 'a81', 'a82', 'a83', 'a84', 'a97', 'a98', 'a99', 'a100', '', 'a89', 'a90', 'a93', 'a94', 'a91', 'a92', 'a205', 'a85', 'a206', 'a86', 'a87', 'a88', 'a95', 'a96', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'a101', 'a102', 'a103', 'a104', 'a106', 'a107', 'a108', 'a112', 'a111', 'a110', 'a109', 'a120', 'a121', 'a122', 'a123', 'a124', 'a125', 'a126', 'a127', 'a128', 'a129', 'a130', 'a131', 'a132', 'a133', 'a134', 'a135', 'a136', 'a137', 'a138', 'a139', 'a140', 'a141', 'a142', 'a143', 'a144', 'a145', 'a146', 'a147', 'a148', 'a149', 'a150', 'a151', 'a152', 'a153', 'a154', 'a155', 'a156', 'a157', 'a158', 'a159', 'a160', 'a161', 'a163', 'a164', 'a196', 'a165', 'a192', 'a166', 'a167', 'a168', 'a169', 'a170', 'a171', 'a172', 'a173', 'a162', 'a174', 'a175', 'a176', 'a177', 'a178', 'a179', 'a193', 'a180', 'a199', 'a181', 'a200', 'a182', '', 'a201', 'a183', 'a184', 'a197', 'a185', 'a194', 'a198', 'a186', 'a195', 'a187', 'a188', 'a189', 'a190', 'a191', ''];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\nfunction getEncoding(encodingName) {\n switch (encodingName) {\n case 'WinAnsiEncoding':\n return WinAnsiEncoding;\n\n case 'StandardEncoding':\n return StandardEncoding;\n\n case 'MacRomanEncoding':\n return MacRomanEncoding;\n\n case 'SymbolSetEncoding':\n return SymbolSetEncoding;\n\n case 'ZapfDingbatsEncoding':\n return ZapfDingbatsEncoding;\n\n case 'ExpertEncoding':\n return ExpertEncoding;\n\n case 'MacExpertEncoding':\n return MacExpertEncoding;\n\n default:\n return null;\n }\n}\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(186).getLookupTableFactory;\nvar getGlyphsUnicode = getLookupTableFactory(function (t) {\n t['A'] = 0x0041;\n t['AE'] = 0x00C6;\n t['AEacute'] = 0x01FC;\n t['AEmacron'] = 0x01E2;\n t['AEsmall'] = 0xF7E6;\n t['Aacute'] = 0x00C1;\n t['Aacutesmall'] = 0xF7E1;\n t['Abreve'] = 0x0102;\n t['Abreveacute'] = 0x1EAE;\n t['Abrevecyrillic'] = 0x04D0;\n t['Abrevedotbelow'] = 0x1EB6;\n t['Abrevegrave'] = 0x1EB0;\n t['Abrevehookabove'] = 0x1EB2;\n t['Abrevetilde'] = 0x1EB4;\n t['Acaron'] = 0x01CD;\n t['Acircle'] = 0x24B6;\n t['Acircumflex'] = 0x00C2;\n t['Acircumflexacute'] = 0x1EA4;\n t['Acircumflexdotbelow'] = 0x1EAC;\n t['Acircumflexgrave'] = 0x1EA6;\n t['Acircumflexhookabove'] = 0x1EA8;\n t['Acircumflexsmall'] = 0xF7E2;\n t['Acircumflextilde'] = 0x1EAA;\n t['Acute'] = 0xF6C9;\n t['Acutesmall'] = 0xF7B4;\n t['Acyrillic'] = 0x0410;\n t['Adblgrave'] = 0x0200;\n t['Adieresis'] = 0x00C4;\n t['Adieresiscyrillic'] = 0x04D2;\n t['Adieresismacron'] = 0x01DE;\n t['Adieresissmall'] = 0xF7E4;\n t['Adotbelow'] = 0x1EA0;\n t['Adotmacron'] = 0x01E0;\n t['Agrave'] = 0x00C0;\n t['Agravesmall'] = 0xF7E0;\n t['Ahookabove'] = 0x1EA2;\n t['Aiecyrillic'] = 0x04D4;\n t['Ainvertedbreve'] = 0x0202;\n t['Alpha'] = 0x0391;\n t['Alphatonos'] = 0x0386;\n t['Amacron'] = 0x0100;\n t['Amonospace'] = 0xFF21;\n t['Aogonek'] = 0x0104;\n t['Aring'] = 0x00C5;\n t['Aringacute'] = 0x01FA;\n t['Aringbelow'] = 0x1E00;\n t['Aringsmall'] = 0xF7E5;\n t['Asmall'] = 0xF761;\n t['Atilde'] = 0x00C3;\n t['Atildesmall'] = 0xF7E3;\n t['Aybarmenian'] = 0x0531;\n t['B'] = 0x0042;\n t['Bcircle'] = 0x24B7;\n t['Bdotaccent'] = 0x1E02;\n t['Bdotbelow'] = 0x1E04;\n t['Becyrillic'] = 0x0411;\n t['Benarmenian'] = 0x0532;\n t['Beta'] = 0x0392;\n t['Bhook'] = 0x0181;\n t['Blinebelow'] = 0x1E06;\n t['Bmonospace'] = 0xFF22;\n t['Brevesmall'] = 0xF6F4;\n t['Bsmall'] = 0xF762;\n t['Btopbar'] = 0x0182;\n t['C'] = 0x0043;\n t['Caarmenian'] = 0x053E;\n t['Cacute'] = 0x0106;\n t['Caron'] = 0xF6CA;\n t['Caronsmall'] = 0xF6F5;\n t['Ccaron'] = 0x010C;\n t['Ccedilla'] = 0x00C7;\n t['Ccedillaacute'] = 0x1E08;\n t['Ccedillasmall'] = 0xF7E7;\n t['Ccircle'] = 0x24B8;\n t['Ccircumflex'] = 0x0108;\n t['Cdot'] = 0x010A;\n t['Cdotaccent'] = 0x010A;\n t['Cedillasmall'] = 0xF7B8;\n t['Chaarmenian'] = 0x0549;\n t['Cheabkhasiancyrillic'] = 0x04BC;\n t['Checyrillic'] = 0x0427;\n t['Chedescenderabkhasiancyrillic'] = 0x04BE;\n t['Chedescendercyrillic'] = 0x04B6;\n t['Chedieresiscyrillic'] = 0x04F4;\n t['Cheharmenian'] = 0x0543;\n t['Chekhakassiancyrillic'] = 0x04CB;\n t['Cheverticalstrokecyrillic'] = 0x04B8;\n t['Chi'] = 0x03A7;\n t['Chook'] = 0x0187;\n t['Circumflexsmall'] = 0xF6F6;\n t['Cmonospace'] = 0xFF23;\n t['Coarmenian'] = 0x0551;\n t['Csmall'] = 0xF763;\n t['D'] = 0x0044;\n t['DZ'] = 0x01F1;\n t['DZcaron'] = 0x01C4;\n t['Daarmenian'] = 0x0534;\n t['Dafrican'] = 0x0189;\n t['Dcaron'] = 0x010E;\n t['Dcedilla'] = 0x1E10;\n t['Dcircle'] = 0x24B9;\n t['Dcircumflexbelow'] = 0x1E12;\n t['Dcroat'] = 0x0110;\n t['Ddotaccent'] = 0x1E0A;\n t['Ddotbelow'] = 0x1E0C;\n t['Decyrillic'] = 0x0414;\n t['Deicoptic'] = 0x03EE;\n t['Delta'] = 0x2206;\n t['Deltagreek'] = 0x0394;\n t['Dhook'] = 0x018A;\n t['Dieresis'] = 0xF6CB;\n t['DieresisAcute'] = 0xF6CC;\n t['DieresisGrave'] = 0xF6CD;\n t['Dieresissmall'] = 0xF7A8;\n t['Digammagreek'] = 0x03DC;\n t['Djecyrillic'] = 0x0402;\n t['Dlinebelow'] = 0x1E0E;\n t['Dmonospace'] = 0xFF24;\n t['Dotaccentsmall'] = 0xF6F7;\n t['Dslash'] = 0x0110;\n t['Dsmall'] = 0xF764;\n t['Dtopbar'] = 0x018B;\n t['Dz'] = 0x01F2;\n t['Dzcaron'] = 0x01C5;\n t['Dzeabkhasiancyrillic'] = 0x04E0;\n t['Dzecyrillic'] = 0x0405;\n t['Dzhecyrillic'] = 0x040F;\n t['E'] = 0x0045;\n t['Eacute'] = 0x00C9;\n t['Eacutesmall'] = 0xF7E9;\n t['Ebreve'] = 0x0114;\n t['Ecaron'] = 0x011A;\n t['Ecedillabreve'] = 0x1E1C;\n t['Echarmenian'] = 0x0535;\n t['Ecircle'] = 0x24BA;\n t['Ecircumflex'] = 0x00CA;\n t['Ecircumflexacute'] = 0x1EBE;\n t['Ecircumflexbelow'] = 0x1E18;\n t['Ecircumflexdotbelow'] = 0x1EC6;\n t['Ecircumflexgrave'] = 0x1EC0;\n t['Ecircumflexhookabove'] = 0x1EC2;\n t['Ecircumflexsmall'] = 0xF7EA;\n t['Ecircumflextilde'] = 0x1EC4;\n t['Ecyrillic'] = 0x0404;\n t['Edblgrave'] = 0x0204;\n t['Edieresis'] = 0x00CB;\n t['Edieresissmall'] = 0xF7EB;\n t['Edot'] = 0x0116;\n t['Edotaccent'] = 0x0116;\n t['Edotbelow'] = 0x1EB8;\n t['Efcyrillic'] = 0x0424;\n t['Egrave'] = 0x00C8;\n t['Egravesmall'] = 0xF7E8;\n t['Eharmenian'] = 0x0537;\n t['Ehookabove'] = 0x1EBA;\n t['Eightroman'] = 0x2167;\n t['Einvertedbreve'] = 0x0206;\n t['Eiotifiedcyrillic'] = 0x0464;\n t['Elcyrillic'] = 0x041B;\n t['Elevenroman'] = 0x216A;\n t['Emacron'] = 0x0112;\n t['Emacronacute'] = 0x1E16;\n t['Emacrongrave'] = 0x1E14;\n t['Emcyrillic'] = 0x041C;\n t['Emonospace'] = 0xFF25;\n t['Encyrillic'] = 0x041D;\n t['Endescendercyrillic'] = 0x04A2;\n t['Eng'] = 0x014A;\n t['Enghecyrillic'] = 0x04A4;\n t['Enhookcyrillic'] = 0x04C7;\n t['Eogonek'] = 0x0118;\n t['Eopen'] = 0x0190;\n t['Epsilon'] = 0x0395;\n t['Epsilontonos'] = 0x0388;\n t['Ercyrillic'] = 0x0420;\n t['Ereversed'] = 0x018E;\n t['Ereversedcyrillic'] = 0x042D;\n t['Escyrillic'] = 0x0421;\n t['Esdescendercyrillic'] = 0x04AA;\n t['Esh'] = 0x01A9;\n t['Esmall'] = 0xF765;\n t['Eta'] = 0x0397;\n t['Etarmenian'] = 0x0538;\n t['Etatonos'] = 0x0389;\n t['Eth'] = 0x00D0;\n t['Ethsmall'] = 0xF7F0;\n t['Etilde'] = 0x1EBC;\n t['Etildebelow'] = 0x1E1A;\n t['Euro'] = 0x20AC;\n t['Ezh'] = 0x01B7;\n t['Ezhcaron'] = 0x01EE;\n t['Ezhreversed'] = 0x01B8;\n t['F'] = 0x0046;\n t['Fcircle'] = 0x24BB;\n t['Fdotaccent'] = 0x1E1E;\n t['Feharmenian'] = 0x0556;\n t['Feicoptic'] = 0x03E4;\n t['Fhook'] = 0x0191;\n t['Fitacyrillic'] = 0x0472;\n t['Fiveroman'] = 0x2164;\n t['Fmonospace'] = 0xFF26;\n t['Fourroman'] = 0x2163;\n t['Fsmall'] = 0xF766;\n t['G'] = 0x0047;\n t['GBsquare'] = 0x3387;\n t['Gacute'] = 0x01F4;\n t['Gamma'] = 0x0393;\n t['Gammaafrican'] = 0x0194;\n t['Gangiacoptic'] = 0x03EA;\n t['Gbreve'] = 0x011E;\n t['Gcaron'] = 0x01E6;\n t['Gcedilla'] = 0x0122;\n t['Gcircle'] = 0x24BC;\n t['Gcircumflex'] = 0x011C;\n t['Gcommaaccent'] = 0x0122;\n t['Gdot'] = 0x0120;\n t['Gdotaccent'] = 0x0120;\n t['Gecyrillic'] = 0x0413;\n t['Ghadarmenian'] = 0x0542;\n t['Ghemiddlehookcyrillic'] = 0x0494;\n t['Ghestrokecyrillic'] = 0x0492;\n t['Gheupturncyrillic'] = 0x0490;\n t['Ghook'] = 0x0193;\n t['Gimarmenian'] = 0x0533;\n t['Gjecyrillic'] = 0x0403;\n t['Gmacron'] = 0x1E20;\n t['Gmonospace'] = 0xFF27;\n t['Grave'] = 0xF6CE;\n t['Gravesmall'] = 0xF760;\n t['Gsmall'] = 0xF767;\n t['Gsmallhook'] = 0x029B;\n t['Gstroke'] = 0x01E4;\n t['H'] = 0x0048;\n t['H18533'] = 0x25CF;\n t['H18543'] = 0x25AA;\n t['H18551'] = 0x25AB;\n t['H22073'] = 0x25A1;\n t['HPsquare'] = 0x33CB;\n t['Haabkhasiancyrillic'] = 0x04A8;\n t['Hadescendercyrillic'] = 0x04B2;\n t['Hardsigncyrillic'] = 0x042A;\n t['Hbar'] = 0x0126;\n t['Hbrevebelow'] = 0x1E2A;\n t['Hcedilla'] = 0x1E28;\n t['Hcircle'] = 0x24BD;\n t['Hcircumflex'] = 0x0124;\n t['Hdieresis'] = 0x1E26;\n t['Hdotaccent'] = 0x1E22;\n t['Hdotbelow'] = 0x1E24;\n t['Hmonospace'] = 0xFF28;\n t['Hoarmenian'] = 0x0540;\n t['Horicoptic'] = 0x03E8;\n t['Hsmall'] = 0xF768;\n t['Hungarumlaut'] = 0xF6CF;\n t['Hungarumlautsmall'] = 0xF6F8;\n t['Hzsquare'] = 0x3390;\n t['I'] = 0x0049;\n t['IAcyrillic'] = 0x042F;\n t['IJ'] = 0x0132;\n t['IUcyrillic'] = 0x042E;\n t['Iacute'] = 0x00CD;\n t['Iacutesmall'] = 0xF7ED;\n t['Ibreve'] = 0x012C;\n t['Icaron'] = 0x01CF;\n t['Icircle'] = 0x24BE;\n t['Icircumflex'] = 0x00CE;\n t['Icircumflexsmall'] = 0xF7EE;\n t['Icyrillic'] = 0x0406;\n t['Idblgrave'] = 0x0208;\n t['Idieresis'] = 0x00CF;\n t['Idieresisacute'] = 0x1E2E;\n t['Idieresiscyrillic'] = 0x04E4;\n t['Idieresissmall'] = 0xF7EF;\n t['Idot'] = 0x0130;\n t['Idotaccent'] = 0x0130;\n t['Idotbelow'] = 0x1ECA;\n t['Iebrevecyrillic'] = 0x04D6;\n t['Iecyrillic'] = 0x0415;\n t['Ifraktur'] = 0x2111;\n t['Igrave'] = 0x00CC;\n t['Igravesmall'] = 0xF7EC;\n t['Ihookabove'] = 0x1EC8;\n t['Iicyrillic'] = 0x0418;\n t['Iinvertedbreve'] = 0x020A;\n t['Iishortcyrillic'] = 0x0419;\n t['Imacron'] = 0x012A;\n t['Imacroncyrillic'] = 0x04E2;\n t['Imonospace'] = 0xFF29;\n t['Iniarmenian'] = 0x053B;\n t['Iocyrillic'] = 0x0401;\n t['Iogonek'] = 0x012E;\n t['Iota'] = 0x0399;\n t['Iotaafrican'] = 0x0196;\n t['Iotadieresis'] = 0x03AA;\n t['Iotatonos'] = 0x038A;\n t['Ismall'] = 0xF769;\n t['Istroke'] = 0x0197;\n t['Itilde'] = 0x0128;\n t['Itildebelow'] = 0x1E2C;\n t['Izhitsacyrillic'] = 0x0474;\n t['Izhitsadblgravecyrillic'] = 0x0476;\n t['J'] = 0x004A;\n t['Jaarmenian'] = 0x0541;\n t['Jcircle'] = 0x24BF;\n t['Jcircumflex'] = 0x0134;\n t['Jecyrillic'] = 0x0408;\n t['Jheharmenian'] = 0x054B;\n t['Jmonospace'] = 0xFF2A;\n t['Jsmall'] = 0xF76A;\n t['K'] = 0x004B;\n t['KBsquare'] = 0x3385;\n t['KKsquare'] = 0x33CD;\n t['Kabashkircyrillic'] = 0x04A0;\n t['Kacute'] = 0x1E30;\n t['Kacyrillic'] = 0x041A;\n t['Kadescendercyrillic'] = 0x049A;\n t['Kahookcyrillic'] = 0x04C3;\n t['Kappa'] = 0x039A;\n t['Kastrokecyrillic'] = 0x049E;\n t['Kaverticalstrokecyrillic'] = 0x049C;\n t['Kcaron'] = 0x01E8;\n t['Kcedilla'] = 0x0136;\n t['Kcircle'] = 0x24C0;\n t['Kcommaaccent'] = 0x0136;\n t['Kdotbelow'] = 0x1E32;\n t['Keharmenian'] = 0x0554;\n t['Kenarmenian'] = 0x053F;\n t['Khacyrillic'] = 0x0425;\n t['Kheicoptic'] = 0x03E6;\n t['Khook'] = 0x0198;\n t['Kjecyrillic'] = 0x040C;\n t['Klinebelow'] = 0x1E34;\n t['Kmonospace'] = 0xFF2B;\n t['Koppacyrillic'] = 0x0480;\n t['Koppagreek'] = 0x03DE;\n t['Ksicyrillic'] = 0x046E;\n t['Ksmall'] = 0xF76B;\n t['L'] = 0x004C;\n t['LJ'] = 0x01C7;\n t['LL'] = 0xF6BF;\n t['Lacute'] = 0x0139;\n t['Lambda'] = 0x039B;\n t['Lcaron'] = 0x013D;\n t['Lcedilla'] = 0x013B;\n t['Lcircle'] = 0x24C1;\n t['Lcircumflexbelow'] = 0x1E3C;\n t['Lcommaaccent'] = 0x013B;\n t['Ldot'] = 0x013F;\n t['Ldotaccent'] = 0x013F;\n t['Ldotbelow'] = 0x1E36;\n t['Ldotbelowmacron'] = 0x1E38;\n t['Liwnarmenian'] = 0x053C;\n t['Lj'] = 0x01C8;\n t['Ljecyrillic'] = 0x0409;\n t['Llinebelow'] = 0x1E3A;\n t['Lmonospace'] = 0xFF2C;\n t['Lslash'] = 0x0141;\n t['Lslashsmall'] = 0xF6F9;\n t['Lsmall'] = 0xF76C;\n t['M'] = 0x004D;\n t['MBsquare'] = 0x3386;\n t['Macron'] = 0xF6D0;\n t['Macronsmall'] = 0xF7AF;\n t['Macute'] = 0x1E3E;\n t['Mcircle'] = 0x24C2;\n t['Mdotaccent'] = 0x1E40;\n t['Mdotbelow'] = 0x1E42;\n t['Menarmenian'] = 0x0544;\n t['Mmonospace'] = 0xFF2D;\n t['Msmall'] = 0xF76D;\n t['Mturned'] = 0x019C;\n t['Mu'] = 0x039C;\n t['N'] = 0x004E;\n t['NJ'] = 0x01CA;\n t['Nacute'] = 0x0143;\n t['Ncaron'] = 0x0147;\n t['Ncedilla'] = 0x0145;\n t['Ncircle'] = 0x24C3;\n t['Ncircumflexbelow'] = 0x1E4A;\n t['Ncommaaccent'] = 0x0145;\n t['Ndotaccent'] = 0x1E44;\n t['Ndotbelow'] = 0x1E46;\n t['Nhookleft'] = 0x019D;\n t['Nineroman'] = 0x2168;\n t['Nj'] = 0x01CB;\n t['Njecyrillic'] = 0x040A;\n t['Nlinebelow'] = 0x1E48;\n t['Nmonospace'] = 0xFF2E;\n t['Nowarmenian'] = 0x0546;\n t['Nsmall'] = 0xF76E;\n t['Ntilde'] = 0x00D1;\n t['Ntildesmall'] = 0xF7F1;\n t['Nu'] = 0x039D;\n t['O'] = 0x004F;\n t['OE'] = 0x0152;\n t['OEsmall'] = 0xF6FA;\n t['Oacute'] = 0x00D3;\n t['Oacutesmall'] = 0xF7F3;\n t['Obarredcyrillic'] = 0x04E8;\n t['Obarreddieresiscyrillic'] = 0x04EA;\n t['Obreve'] = 0x014E;\n t['Ocaron'] = 0x01D1;\n t['Ocenteredtilde'] = 0x019F;\n t['Ocircle'] = 0x24C4;\n t['Ocircumflex'] = 0x00D4;\n t['Ocircumflexacute'] = 0x1ED0;\n t['Ocircumflexdotbelow'] = 0x1ED8;\n t['Ocircumflexgrave'] = 0x1ED2;\n t['Ocircumflexhookabove'] = 0x1ED4;\n t['Ocircumflexsmall'] = 0xF7F4;\n t['Ocircumflextilde'] = 0x1ED6;\n t['Ocyrillic'] = 0x041E;\n t['Odblacute'] = 0x0150;\n t['Odblgrave'] = 0x020C;\n t['Odieresis'] = 0x00D6;\n t['Odieresiscyrillic'] = 0x04E6;\n t['Odieresissmall'] = 0xF7F6;\n t['Odotbelow'] = 0x1ECC;\n t['Ogoneksmall'] = 0xF6FB;\n t['Ograve'] = 0x00D2;\n t['Ogravesmall'] = 0xF7F2;\n t['Oharmenian'] = 0x0555;\n t['Ohm'] = 0x2126;\n t['Ohookabove'] = 0x1ECE;\n t['Ohorn'] = 0x01A0;\n t['Ohornacute'] = 0x1EDA;\n t['Ohorndotbelow'] = 0x1EE2;\n t['Ohorngrave'] = 0x1EDC;\n t['Ohornhookabove'] = 0x1EDE;\n t['Ohorntilde'] = 0x1EE0;\n t['Ohungarumlaut'] = 0x0150;\n t['Oi'] = 0x01A2;\n t['Oinvertedbreve'] = 0x020E;\n t['Omacron'] = 0x014C;\n t['Omacronacute'] = 0x1E52;\n t['Omacrongrave'] = 0x1E50;\n t['Omega'] = 0x2126;\n t['Omegacyrillic'] = 0x0460;\n t['Omegagreek'] = 0x03A9;\n t['Omegaroundcyrillic'] = 0x047A;\n t['Omegatitlocyrillic'] = 0x047C;\n t['Omegatonos'] = 0x038F;\n t['Omicron'] = 0x039F;\n t['Omicrontonos'] = 0x038C;\n t['Omonospace'] = 0xFF2F;\n t['Oneroman'] = 0x2160;\n t['Oogonek'] = 0x01EA;\n t['Oogonekmacron'] = 0x01EC;\n t['Oopen'] = 0x0186;\n t['Oslash'] = 0x00D8;\n t['Oslashacute'] = 0x01FE;\n t['Oslashsmall'] = 0xF7F8;\n t['Osmall'] = 0xF76F;\n t['Ostrokeacute'] = 0x01FE;\n t['Otcyrillic'] = 0x047E;\n t['Otilde'] = 0x00D5;\n t['Otildeacute'] = 0x1E4C;\n t['Otildedieresis'] = 0x1E4E;\n t['Otildesmall'] = 0xF7F5;\n t['P'] = 0x0050;\n t['Pacute'] = 0x1E54;\n t['Pcircle'] = 0x24C5;\n t['Pdotaccent'] = 0x1E56;\n t['Pecyrillic'] = 0x041F;\n t['Peharmenian'] = 0x054A;\n t['Pemiddlehookcyrillic'] = 0x04A6;\n t['Phi'] = 0x03A6;\n t['Phook'] = 0x01A4;\n t['Pi'] = 0x03A0;\n t['Piwrarmenian'] = 0x0553;\n t['Pmonospace'] = 0xFF30;\n t['Psi'] = 0x03A8;\n t['Psicyrillic'] = 0x0470;\n t['Psmall'] = 0xF770;\n t['Q'] = 0x0051;\n t['Qcircle'] = 0x24C6;\n t['Qmonospace'] = 0xFF31;\n t['Qsmall'] = 0xF771;\n t['R'] = 0x0052;\n t['Raarmenian'] = 0x054C;\n t['Racute'] = 0x0154;\n t['Rcaron'] = 0x0158;\n t['Rcedilla'] = 0x0156;\n t['Rcircle'] = 0x24C7;\n t['Rcommaaccent'] = 0x0156;\n t['Rdblgrave'] = 0x0210;\n t['Rdotaccent'] = 0x1E58;\n t['Rdotbelow'] = 0x1E5A;\n t['Rdotbelowmacron'] = 0x1E5C;\n t['Reharmenian'] = 0x0550;\n t['Rfraktur'] = 0x211C;\n t['Rho'] = 0x03A1;\n t['Ringsmall'] = 0xF6FC;\n t['Rinvertedbreve'] = 0x0212;\n t['Rlinebelow'] = 0x1E5E;\n t['Rmonospace'] = 0xFF32;\n t['Rsmall'] = 0xF772;\n t['Rsmallinverted'] = 0x0281;\n t['Rsmallinvertedsuperior'] = 0x02B6;\n t['S'] = 0x0053;\n t['SF010000'] = 0x250C;\n t['SF020000'] = 0x2514;\n t['SF030000'] = 0x2510;\n t['SF040000'] = 0x2518;\n t['SF050000'] = 0x253C;\n t['SF060000'] = 0x252C;\n t['SF070000'] = 0x2534;\n t['SF080000'] = 0x251C;\n t['SF090000'] = 0x2524;\n t['SF100000'] = 0x2500;\n t['SF110000'] = 0x2502;\n t['SF190000'] = 0x2561;\n t['SF200000'] = 0x2562;\n t['SF210000'] = 0x2556;\n t['SF220000'] = 0x2555;\n t['SF230000'] = 0x2563;\n t['SF240000'] = 0x2551;\n t['SF250000'] = 0x2557;\n t['SF260000'] = 0x255D;\n t['SF270000'] = 0x255C;\n t['SF280000'] = 0x255B;\n t['SF360000'] = 0x255E;\n t['SF370000'] = 0x255F;\n t['SF380000'] = 0x255A;\n t['SF390000'] = 0x2554;\n t['SF400000'] = 0x2569;\n t['SF410000'] = 0x2566;\n t['SF420000'] = 0x2560;\n t['SF430000'] = 0x2550;\n t['SF440000'] = 0x256C;\n t['SF450000'] = 0x2567;\n t['SF460000'] = 0x2568;\n t['SF470000'] = 0x2564;\n t['SF480000'] = 0x2565;\n t['SF490000'] = 0x2559;\n t['SF500000'] = 0x2558;\n t['SF510000'] = 0x2552;\n t['SF520000'] = 0x2553;\n t['SF530000'] = 0x256B;\n t['SF540000'] = 0x256A;\n t['Sacute'] = 0x015A;\n t['Sacutedotaccent'] = 0x1E64;\n t['Sampigreek'] = 0x03E0;\n t['Scaron'] = 0x0160;\n t['Scarondotaccent'] = 0x1E66;\n t['Scaronsmall'] = 0xF6FD;\n t['Scedilla'] = 0x015E;\n t['Schwa'] = 0x018F;\n t['Schwacyrillic'] = 0x04D8;\n t['Schwadieresiscyrillic'] = 0x04DA;\n t['Scircle'] = 0x24C8;\n t['Scircumflex'] = 0x015C;\n t['Scommaaccent'] = 0x0218;\n t['Sdotaccent'] = 0x1E60;\n t['Sdotbelow'] = 0x1E62;\n t['Sdotbelowdotaccent'] = 0x1E68;\n t['Seharmenian'] = 0x054D;\n t['Sevenroman'] = 0x2166;\n t['Shaarmenian'] = 0x0547;\n t['Shacyrillic'] = 0x0428;\n t['Shchacyrillic'] = 0x0429;\n t['Sheicoptic'] = 0x03E2;\n t['Shhacyrillic'] = 0x04BA;\n t['Shimacoptic'] = 0x03EC;\n t['Sigma'] = 0x03A3;\n t['Sixroman'] = 0x2165;\n t['Smonospace'] = 0xFF33;\n t['Softsigncyrillic'] = 0x042C;\n t['Ssmall'] = 0xF773;\n t['Stigmagreek'] = 0x03DA;\n t['T'] = 0x0054;\n t['Tau'] = 0x03A4;\n t['Tbar'] = 0x0166;\n t['Tcaron'] = 0x0164;\n t['Tcedilla'] = 0x0162;\n t['Tcircle'] = 0x24C9;\n t['Tcircumflexbelow'] = 0x1E70;\n t['Tcommaaccent'] = 0x0162;\n t['Tdotaccent'] = 0x1E6A;\n t['Tdotbelow'] = 0x1E6C;\n t['Tecyrillic'] = 0x0422;\n t['Tedescendercyrillic'] = 0x04AC;\n t['Tenroman'] = 0x2169;\n t['Tetsecyrillic'] = 0x04B4;\n t['Theta'] = 0x0398;\n t['Thook'] = 0x01AC;\n t['Thorn'] = 0x00DE;\n t['Thornsmall'] = 0xF7FE;\n t['Threeroman'] = 0x2162;\n t['Tildesmall'] = 0xF6FE;\n t['Tiwnarmenian'] = 0x054F;\n t['Tlinebelow'] = 0x1E6E;\n t['Tmonospace'] = 0xFF34;\n t['Toarmenian'] = 0x0539;\n t['Tonefive'] = 0x01BC;\n t['Tonesix'] = 0x0184;\n t['Tonetwo'] = 0x01A7;\n t['Tretroflexhook'] = 0x01AE;\n t['Tsecyrillic'] = 0x0426;\n t['Tshecyrillic'] = 0x040B;\n t['Tsmall'] = 0xF774;\n t['Twelveroman'] = 0x216B;\n t['Tworoman'] = 0x2161;\n t['U'] = 0x0055;\n t['Uacute'] = 0x00DA;\n t['Uacutesmall'] = 0xF7FA;\n t['Ubreve'] = 0x016C;\n t['Ucaron'] = 0x01D3;\n t['Ucircle'] = 0x24CA;\n t['Ucircumflex'] = 0x00DB;\n t['Ucircumflexbelow'] = 0x1E76;\n t['Ucircumflexsmall'] = 0xF7FB;\n t['Ucyrillic'] = 0x0423;\n t['Udblacute'] = 0x0170;\n t['Udblgrave'] = 0x0214;\n t['Udieresis'] = 0x00DC;\n t['Udieresisacute'] = 0x01D7;\n t['Udieresisbelow'] = 0x1E72;\n t['Udieresiscaron'] = 0x01D9;\n t['Udieresiscyrillic'] = 0x04F0;\n t['Udieresisgrave'] = 0x01DB;\n t['Udieresismacron'] = 0x01D5;\n t['Udieresissmall'] = 0xF7FC;\n t['Udotbelow'] = 0x1EE4;\n t['Ugrave'] = 0x00D9;\n t['Ugravesmall'] = 0xF7F9;\n t['Uhookabove'] = 0x1EE6;\n t['Uhorn'] = 0x01AF;\n t['Uhornacute'] = 0x1EE8;\n t['Uhorndotbelow'] = 0x1EF0;\n t['Uhorngrave'] = 0x1EEA;\n t['Uhornhookabove'] = 0x1EEC;\n t['Uhorntilde'] = 0x1EEE;\n t['Uhungarumlaut'] = 0x0170;\n t['Uhungarumlautcyrillic'] = 0x04F2;\n t['Uinvertedbreve'] = 0x0216;\n t['Ukcyrillic'] = 0x0478;\n t['Umacron'] = 0x016A;\n t['Umacroncyrillic'] = 0x04EE;\n t['Umacrondieresis'] = 0x1E7A;\n t['Umonospace'] = 0xFF35;\n t['Uogonek'] = 0x0172;\n t['Upsilon'] = 0x03A5;\n t['Upsilon1'] = 0x03D2;\n t['Upsilonacutehooksymbolgreek'] = 0x03D3;\n t['Upsilonafrican'] = 0x01B1;\n t['Upsilondieresis'] = 0x03AB;\n t['Upsilondieresishooksymbolgreek'] = 0x03D4;\n t['Upsilonhooksymbol'] = 0x03D2;\n t['Upsilontonos'] = 0x038E;\n t['Uring'] = 0x016E;\n t['Ushortcyrillic'] = 0x040E;\n t['Usmall'] = 0xF775;\n t['Ustraightcyrillic'] = 0x04AE;\n t['Ustraightstrokecyrillic'] = 0x04B0;\n t['Utilde'] = 0x0168;\n t['Utildeacute'] = 0x1E78;\n t['Utildebelow'] = 0x1E74;\n t['V'] = 0x0056;\n t['Vcircle'] = 0x24CB;\n t['Vdotbelow'] = 0x1E7E;\n t['Vecyrillic'] = 0x0412;\n t['Vewarmenian'] = 0x054E;\n t['Vhook'] = 0x01B2;\n t['Vmonospace'] = 0xFF36;\n t['Voarmenian'] = 0x0548;\n t['Vsmall'] = 0xF776;\n t['Vtilde'] = 0x1E7C;\n t['W'] = 0x0057;\n t['Wacute'] = 0x1E82;\n t['Wcircle'] = 0x24CC;\n t['Wcircumflex'] = 0x0174;\n t['Wdieresis'] = 0x1E84;\n t['Wdotaccent'] = 0x1E86;\n t['Wdotbelow'] = 0x1E88;\n t['Wgrave'] = 0x1E80;\n t['Wmonospace'] = 0xFF37;\n t['Wsmall'] = 0xF777;\n t['X'] = 0x0058;\n t['Xcircle'] = 0x24CD;\n t['Xdieresis'] = 0x1E8C;\n t['Xdotaccent'] = 0x1E8A;\n t['Xeharmenian'] = 0x053D;\n t['Xi'] = 0x039E;\n t['Xmonospace'] = 0xFF38;\n t['Xsmall'] = 0xF778;\n t['Y'] = 0x0059;\n t['Yacute'] = 0x00DD;\n t['Yacutesmall'] = 0xF7FD;\n t['Yatcyrillic'] = 0x0462;\n t['Ycircle'] = 0x24CE;\n t['Ycircumflex'] = 0x0176;\n t['Ydieresis'] = 0x0178;\n t['Ydieresissmall'] = 0xF7FF;\n t['Ydotaccent'] = 0x1E8E;\n t['Ydotbelow'] = 0x1EF4;\n t['Yericyrillic'] = 0x042B;\n t['Yerudieresiscyrillic'] = 0x04F8;\n t['Ygrave'] = 0x1EF2;\n t['Yhook'] = 0x01B3;\n t['Yhookabove'] = 0x1EF6;\n t['Yiarmenian'] = 0x0545;\n t['Yicyrillic'] = 0x0407;\n t['Yiwnarmenian'] = 0x0552;\n t['Ymonospace'] = 0xFF39;\n t['Ysmall'] = 0xF779;\n t['Ytilde'] = 0x1EF8;\n t['Yusbigcyrillic'] = 0x046A;\n t['Yusbigiotifiedcyrillic'] = 0x046C;\n t['Yuslittlecyrillic'] = 0x0466;\n t['Yuslittleiotifiedcyrillic'] = 0x0468;\n t['Z'] = 0x005A;\n t['Zaarmenian'] = 0x0536;\n t['Zacute'] = 0x0179;\n t['Zcaron'] = 0x017D;\n t['Zcaronsmall'] = 0xF6FF;\n t['Zcircle'] = 0x24CF;\n t['Zcircumflex'] = 0x1E90;\n t['Zdot'] = 0x017B;\n t['Zdotaccent'] = 0x017B;\n t['Zdotbelow'] = 0x1E92;\n t['Zecyrillic'] = 0x0417;\n t['Zedescendercyrillic'] = 0x0498;\n t['Zedieresiscyrillic'] = 0x04DE;\n t['Zeta'] = 0x0396;\n t['Zhearmenian'] = 0x053A;\n t['Zhebrevecyrillic'] = 0x04C1;\n t['Zhecyrillic'] = 0x0416;\n t['Zhedescendercyrillic'] = 0x0496;\n t['Zhedieresiscyrillic'] = 0x04DC;\n t['Zlinebelow'] = 0x1E94;\n t['Zmonospace'] = 0xFF3A;\n t['Zsmall'] = 0xF77A;\n t['Zstroke'] = 0x01B5;\n t['a'] = 0x0061;\n t['aabengali'] = 0x0986;\n t['aacute'] = 0x00E1;\n t['aadeva'] = 0x0906;\n t['aagujarati'] = 0x0A86;\n t['aagurmukhi'] = 0x0A06;\n t['aamatragurmukhi'] = 0x0A3E;\n t['aarusquare'] = 0x3303;\n t['aavowelsignbengali'] = 0x09BE;\n t['aavowelsigndeva'] = 0x093E;\n t['aavowelsigngujarati'] = 0x0ABE;\n t['abbreviationmarkarmenian'] = 0x055F;\n t['abbreviationsigndeva'] = 0x0970;\n t['abengali'] = 0x0985;\n t['abopomofo'] = 0x311A;\n t['abreve'] = 0x0103;\n t['abreveacute'] = 0x1EAF;\n t['abrevecyrillic'] = 0x04D1;\n t['abrevedotbelow'] = 0x1EB7;\n t['abrevegrave'] = 0x1EB1;\n t['abrevehookabove'] = 0x1EB3;\n t['abrevetilde'] = 0x1EB5;\n t['acaron'] = 0x01CE;\n t['acircle'] = 0x24D0;\n t['acircumflex'] = 0x00E2;\n t['acircumflexacute'] = 0x1EA5;\n t['acircumflexdotbelow'] = 0x1EAD;\n t['acircumflexgrave'] = 0x1EA7;\n t['acircumflexhookabove'] = 0x1EA9;\n t['acircumflextilde'] = 0x1EAB;\n t['acute'] = 0x00B4;\n t['acutebelowcmb'] = 0x0317;\n t['acutecmb'] = 0x0301;\n t['acutecomb'] = 0x0301;\n t['acutedeva'] = 0x0954;\n t['acutelowmod'] = 0x02CF;\n t['acutetonecmb'] = 0x0341;\n t['acyrillic'] = 0x0430;\n t['adblgrave'] = 0x0201;\n t['addakgurmukhi'] = 0x0A71;\n t['adeva'] = 0x0905;\n t['adieresis'] = 0x00E4;\n t['adieresiscyrillic'] = 0x04D3;\n t['adieresismacron'] = 0x01DF;\n t['adotbelow'] = 0x1EA1;\n t['adotmacron'] = 0x01E1;\n t['ae'] = 0x00E6;\n t['aeacute'] = 0x01FD;\n t['aekorean'] = 0x3150;\n t['aemacron'] = 0x01E3;\n t['afii00208'] = 0x2015;\n t['afii08941'] = 0x20A4;\n t['afii10017'] = 0x0410;\n t['afii10018'] = 0x0411;\n t['afii10019'] = 0x0412;\n t['afii10020'] = 0x0413;\n t['afii10021'] = 0x0414;\n t['afii10022'] = 0x0415;\n t['afii10023'] = 0x0401;\n t['afii10024'] = 0x0416;\n t['afii10025'] = 0x0417;\n t['afii10026'] = 0x0418;\n t['afii10027'] = 0x0419;\n t['afii10028'] = 0x041A;\n t['afii10029'] = 0x041B;\n t['afii10030'] = 0x041C;\n t['afii10031'] = 0x041D;\n t['afii10032'] = 0x041E;\n t['afii10033'] = 0x041F;\n t['afii10034'] = 0x0420;\n t['afii10035'] = 0x0421;\n t['afii10036'] = 0x0422;\n t['afii10037'] = 0x0423;\n t['afii10038'] = 0x0424;\n t['afii10039'] = 0x0425;\n t['afii10040'] = 0x0426;\n t['afii10041'] = 0x0427;\n t['afii10042'] = 0x0428;\n t['afii10043'] = 0x0429;\n t['afii10044'] = 0x042A;\n t['afii10045'] = 0x042B;\n t['afii10046'] = 0x042C;\n t['afii10047'] = 0x042D;\n t['afii10048'] = 0x042E;\n t['afii10049'] = 0x042F;\n t['afii10050'] = 0x0490;\n t['afii10051'] = 0x0402;\n t['afii10052'] = 0x0403;\n t['afii10053'] = 0x0404;\n t['afii10054'] = 0x0405;\n t['afii10055'] = 0x0406;\n t['afii10056'] = 0x0407;\n t['afii10057'] = 0x0408;\n t['afii10058'] = 0x0409;\n t['afii10059'] = 0x040A;\n t['afii10060'] = 0x040B;\n t['afii10061'] = 0x040C;\n t['afii10062'] = 0x040E;\n t['afii10063'] = 0xF6C4;\n t['afii10064'] = 0xF6C5;\n t['afii10065'] = 0x0430;\n t['afii10066'] = 0x0431;\n t['afii10067'] = 0x0432;\n t['afii10068'] = 0x0433;\n t['afii10069'] = 0x0434;\n t['afii10070'] = 0x0435;\n t['afii10071'] = 0x0451;\n t['afii10072'] = 0x0436;\n t['afii10073'] = 0x0437;\n t['afii10074'] = 0x0438;\n t['afii10075'] = 0x0439;\n t['afii10076'] = 0x043A;\n t['afii10077'] = 0x043B;\n t['afii10078'] = 0x043C;\n t['afii10079'] = 0x043D;\n t['afii10080'] = 0x043E;\n t['afii10081'] = 0x043F;\n t['afii10082'] = 0x0440;\n t['afii10083'] = 0x0441;\n t['afii10084'] = 0x0442;\n t['afii10085'] = 0x0443;\n t['afii10086'] = 0x0444;\n t['afii10087'] = 0x0445;\n t['afii10088'] = 0x0446;\n t['afii10089'] = 0x0447;\n t['afii10090'] = 0x0448;\n t['afii10091'] = 0x0449;\n t['afii10092'] = 0x044A;\n t['afii10093'] = 0x044B;\n t['afii10094'] = 0x044C;\n t['afii10095'] = 0x044D;\n t['afii10096'] = 0x044E;\n t['afii10097'] = 0x044F;\n t['afii10098'] = 0x0491;\n t['afii10099'] = 0x0452;\n t['afii10100'] = 0x0453;\n t['afii10101'] = 0x0454;\n t['afii10102'] = 0x0455;\n t['afii10103'] = 0x0456;\n t['afii10104'] = 0x0457;\n t['afii10105'] = 0x0458;\n t['afii10106'] = 0x0459;\n t['afii10107'] = 0x045A;\n t['afii10108'] = 0x045B;\n t['afii10109'] = 0x045C;\n t['afii10110'] = 0x045E;\n t['afii10145'] = 0x040F;\n t['afii10146'] = 0x0462;\n t['afii10147'] = 0x0472;\n t['afii10148'] = 0x0474;\n t['afii10192'] = 0xF6C6;\n t['afii10193'] = 0x045F;\n t['afii10194'] = 0x0463;\n t['afii10195'] = 0x0473;\n t['afii10196'] = 0x0475;\n t['afii10831'] = 0xF6C7;\n t['afii10832'] = 0xF6C8;\n t['afii10846'] = 0x04D9;\n t['afii299'] = 0x200E;\n t['afii300'] = 0x200F;\n t['afii301'] = 0x200D;\n t['afii57381'] = 0x066A;\n t['afii57388'] = 0x060C;\n t['afii57392'] = 0x0660;\n t['afii57393'] = 0x0661;\n t['afii57394'] = 0x0662;\n t['afii57395'] = 0x0663;\n t['afii57396'] = 0x0664;\n t['afii57397'] = 0x0665;\n t['afii57398'] = 0x0666;\n t['afii57399'] = 0x0667;\n t['afii57400'] = 0x0668;\n t['afii57401'] = 0x0669;\n t['afii57403'] = 0x061B;\n t['afii57407'] = 0x061F;\n t['afii57409'] = 0x0621;\n t['afii57410'] = 0x0622;\n t['afii57411'] = 0x0623;\n t['afii57412'] = 0x0624;\n t['afii57413'] = 0x0625;\n t['afii57414'] = 0x0626;\n t['afii57415'] = 0x0627;\n t['afii57416'] = 0x0628;\n t['afii57417'] = 0x0629;\n t['afii57418'] = 0x062A;\n t['afii57419'] = 0x062B;\n t['afii57420'] = 0x062C;\n t['afii57421'] = 0x062D;\n t['afii57422'] = 0x062E;\n t['afii57423'] = 0x062F;\n t['afii57424'] = 0x0630;\n t['afii57425'] = 0x0631;\n t['afii57426'] = 0x0632;\n t['afii57427'] = 0x0633;\n t['afii57428'] = 0x0634;\n t['afii57429'] = 0x0635;\n t['afii57430'] = 0x0636;\n t['afii57431'] = 0x0637;\n t['afii57432'] = 0x0638;\n t['afii57433'] = 0x0639;\n t['afii57434'] = 0x063A;\n t['afii57440'] = 0x0640;\n t['afii57441'] = 0x0641;\n t['afii57442'] = 0x0642;\n t['afii57443'] = 0x0643;\n t['afii57444'] = 0x0644;\n t['afii57445'] = 0x0645;\n t['afii57446'] = 0x0646;\n t['afii57448'] = 0x0648;\n t['afii57449'] = 0x0649;\n t['afii57450'] = 0x064A;\n t['afii57451'] = 0x064B;\n t['afii57452'] = 0x064C;\n t['afii57453'] = 0x064D;\n t['afii57454'] = 0x064E;\n t['afii57455'] = 0x064F;\n t['afii57456'] = 0x0650;\n t['afii57457'] = 0x0651;\n t['afii57458'] = 0x0652;\n t['afii57470'] = 0x0647;\n t['afii57505'] = 0x06A4;\n t['afii57506'] = 0x067E;\n t['afii57507'] = 0x0686;\n t['afii57508'] = 0x0698;\n t['afii57509'] = 0x06AF;\n t['afii57511'] = 0x0679;\n t['afii57512'] = 0x0688;\n t['afii57513'] = 0x0691;\n t['afii57514'] = 0x06BA;\n t['afii57519'] = 0x06D2;\n t['afii57534'] = 0x06D5;\n t['afii57636'] = 0x20AA;\n t['afii57645'] = 0x05BE;\n t['afii57658'] = 0x05C3;\n t['afii57664'] = 0x05D0;\n t['afii57665'] = 0x05D1;\n t['afii57666'] = 0x05D2;\n t['afii57667'] = 0x05D3;\n t['afii57668'] = 0x05D4;\n t['afii57669'] = 0x05D5;\n t['afii57670'] = 0x05D6;\n t['afii57671'] = 0x05D7;\n t['afii57672'] = 0x05D8;\n t['afii57673'] = 0x05D9;\n t['afii57674'] = 0x05DA;\n t['afii57675'] = 0x05DB;\n t['afii57676'] = 0x05DC;\n t['afii57677'] = 0x05DD;\n t['afii57678'] = 0x05DE;\n t['afii57679'] = 0x05DF;\n t['afii57680'] = 0x05E0;\n t['afii57681'] = 0x05E1;\n t['afii57682'] = 0x05E2;\n t['afii57683'] = 0x05E3;\n t['afii57684'] = 0x05E4;\n t['afii57685'] = 0x05E5;\n t['afii57686'] = 0x05E6;\n t['afii57687'] = 0x05E7;\n t['afii57688'] = 0x05E8;\n t['afii57689'] = 0x05E9;\n t['afii57690'] = 0x05EA;\n t['afii57694'] = 0xFB2A;\n t['afii57695'] = 0xFB2B;\n t['afii57700'] = 0xFB4B;\n t['afii57705'] = 0xFB1F;\n t['afii57716'] = 0x05F0;\n t['afii57717'] = 0x05F1;\n t['afii57718'] = 0x05F2;\n t['afii57723'] = 0xFB35;\n t['afii57793'] = 0x05B4;\n t['afii57794'] = 0x05B5;\n t['afii57795'] = 0x05B6;\n t['afii57796'] = 0x05BB;\n t['afii57797'] = 0x05B8;\n t['afii57798'] = 0x05B7;\n t['afii57799'] = 0x05B0;\n t['afii57800'] = 0x05B2;\n t['afii57801'] = 0x05B1;\n t['afii57802'] = 0x05B3;\n t['afii57803'] = 0x05C2;\n t['afii57804'] = 0x05C1;\n t['afii57806'] = 0x05B9;\n t['afii57807'] = 0x05BC;\n t['afii57839'] = 0x05BD;\n t['afii57841'] = 0x05BF;\n t['afii57842'] = 0x05C0;\n t['afii57929'] = 0x02BC;\n t['afii61248'] = 0x2105;\n t['afii61289'] = 0x2113;\n t['afii61352'] = 0x2116;\n t['afii61573'] = 0x202C;\n t['afii61574'] = 0x202D;\n t['afii61575'] = 0x202E;\n t['afii61664'] = 0x200C;\n t['afii63167'] = 0x066D;\n t['afii64937'] = 0x02BD;\n t['agrave'] = 0x00E0;\n t['agujarati'] = 0x0A85;\n t['agurmukhi'] = 0x0A05;\n t['ahiragana'] = 0x3042;\n t['ahookabove'] = 0x1EA3;\n t['aibengali'] = 0x0990;\n t['aibopomofo'] = 0x311E;\n t['aideva'] = 0x0910;\n t['aiecyrillic'] = 0x04D5;\n t['aigujarati'] = 0x0A90;\n t['aigurmukhi'] = 0x0A10;\n t['aimatragurmukhi'] = 0x0A48;\n t['ainarabic'] = 0x0639;\n t['ainfinalarabic'] = 0xFECA;\n t['aininitialarabic'] = 0xFECB;\n t['ainmedialarabic'] = 0xFECC;\n t['ainvertedbreve'] = 0x0203;\n t['aivowelsignbengali'] = 0x09C8;\n t['aivowelsigndeva'] = 0x0948;\n t['aivowelsigngujarati'] = 0x0AC8;\n t['akatakana'] = 0x30A2;\n t['akatakanahalfwidth'] = 0xFF71;\n t['akorean'] = 0x314F;\n t['alef'] = 0x05D0;\n t['alefarabic'] = 0x0627;\n t['alefdageshhebrew'] = 0xFB30;\n t['aleffinalarabic'] = 0xFE8E;\n t['alefhamzaabovearabic'] = 0x0623;\n t['alefhamzaabovefinalarabic'] = 0xFE84;\n t['alefhamzabelowarabic'] = 0x0625;\n t['alefhamzabelowfinalarabic'] = 0xFE88;\n t['alefhebrew'] = 0x05D0;\n t['aleflamedhebrew'] = 0xFB4F;\n t['alefmaddaabovearabic'] = 0x0622;\n t['alefmaddaabovefinalarabic'] = 0xFE82;\n t['alefmaksuraarabic'] = 0x0649;\n t['alefmaksurafinalarabic'] = 0xFEF0;\n t['alefmaksurainitialarabic'] = 0xFEF3;\n t['alefmaksuramedialarabic'] = 0xFEF4;\n t['alefpatahhebrew'] = 0xFB2E;\n t['alefqamatshebrew'] = 0xFB2F;\n t['aleph'] = 0x2135;\n t['allequal'] = 0x224C;\n t['alpha'] = 0x03B1;\n t['alphatonos'] = 0x03AC;\n t['amacron'] = 0x0101;\n t['amonospace'] = 0xFF41;\n t['ampersand'] = 0x0026;\n t['ampersandmonospace'] = 0xFF06;\n t['ampersandsmall'] = 0xF726;\n t['amsquare'] = 0x33C2;\n t['anbopomofo'] = 0x3122;\n t['angbopomofo'] = 0x3124;\n t['angbracketleft'] = 0x3008;\n t['angbracketright'] = 0x3009;\n t['angkhankhuthai'] = 0x0E5A;\n t['angle'] = 0x2220;\n t['anglebracketleft'] = 0x3008;\n t['anglebracketleftvertical'] = 0xFE3F;\n t['anglebracketright'] = 0x3009;\n t['anglebracketrightvertical'] = 0xFE40;\n t['angleleft'] = 0x2329;\n t['angleright'] = 0x232A;\n t['angstrom'] = 0x212B;\n t['anoteleia'] = 0x0387;\n t['anudattadeva'] = 0x0952;\n t['anusvarabengali'] = 0x0982;\n t['anusvaradeva'] = 0x0902;\n t['anusvaragujarati'] = 0x0A82;\n t['aogonek'] = 0x0105;\n t['apaatosquare'] = 0x3300;\n t['aparen'] = 0x249C;\n t['apostrophearmenian'] = 0x055A;\n t['apostrophemod'] = 0x02BC;\n t['apple'] = 0xF8FF;\n t['approaches'] = 0x2250;\n t['approxequal'] = 0x2248;\n t['approxequalorimage'] = 0x2252;\n t['approximatelyequal'] = 0x2245;\n t['araeaekorean'] = 0x318E;\n t['araeakorean'] = 0x318D;\n t['arc'] = 0x2312;\n t['arighthalfring'] = 0x1E9A;\n t['aring'] = 0x00E5;\n t['aringacute'] = 0x01FB;\n t['aringbelow'] = 0x1E01;\n t['arrowboth'] = 0x2194;\n t['arrowdashdown'] = 0x21E3;\n t['arrowdashleft'] = 0x21E0;\n t['arrowdashright'] = 0x21E2;\n t['arrowdashup'] = 0x21E1;\n t['arrowdblboth'] = 0x21D4;\n t['arrowdbldown'] = 0x21D3;\n t['arrowdblleft'] = 0x21D0;\n t['arrowdblright'] = 0x21D2;\n t['arrowdblup'] = 0x21D1;\n t['arrowdown'] = 0x2193;\n t['arrowdownleft'] = 0x2199;\n t['arrowdownright'] = 0x2198;\n t['arrowdownwhite'] = 0x21E9;\n t['arrowheaddownmod'] = 0x02C5;\n t['arrowheadleftmod'] = 0x02C2;\n t['arrowheadrightmod'] = 0x02C3;\n t['arrowheadupmod'] = 0x02C4;\n t['arrowhorizex'] = 0xF8E7;\n t['arrowleft'] = 0x2190;\n t['arrowleftdbl'] = 0x21D0;\n t['arrowleftdblstroke'] = 0x21CD;\n t['arrowleftoverright'] = 0x21C6;\n t['arrowleftwhite'] = 0x21E6;\n t['arrowright'] = 0x2192;\n t['arrowrightdblstroke'] = 0x21CF;\n t['arrowrightheavy'] = 0x279E;\n t['arrowrightoverleft'] = 0x21C4;\n t['arrowrightwhite'] = 0x21E8;\n t['arrowtableft'] = 0x21E4;\n t['arrowtabright'] = 0x21E5;\n t['arrowup'] = 0x2191;\n t['arrowupdn'] = 0x2195;\n t['arrowupdnbse'] = 0x21A8;\n t['arrowupdownbase'] = 0x21A8;\n t['arrowupleft'] = 0x2196;\n t['arrowupleftofdown'] = 0x21C5;\n t['arrowupright'] = 0x2197;\n t['arrowupwhite'] = 0x21E7;\n t['arrowvertex'] = 0xF8E6;\n t['asciicircum'] = 0x005E;\n t['asciicircummonospace'] = 0xFF3E;\n t['asciitilde'] = 0x007E;\n t['asciitildemonospace'] = 0xFF5E;\n t['ascript'] = 0x0251;\n t['ascriptturned'] = 0x0252;\n t['asmallhiragana'] = 0x3041;\n t['asmallkatakana'] = 0x30A1;\n t['asmallkatakanahalfwidth'] = 0xFF67;\n t['asterisk'] = 0x002A;\n t['asteriskaltonearabic'] = 0x066D;\n t['asteriskarabic'] = 0x066D;\n t['asteriskmath'] = 0x2217;\n t['asteriskmonospace'] = 0xFF0A;\n t['asterisksmall'] = 0xFE61;\n t['asterism'] = 0x2042;\n t['asuperior'] = 0xF6E9;\n t['asymptoticallyequal'] = 0x2243;\n t['at'] = 0x0040;\n t['atilde'] = 0x00E3;\n t['atmonospace'] = 0xFF20;\n t['atsmall'] = 0xFE6B;\n t['aturned'] = 0x0250;\n t['aubengali'] = 0x0994;\n t['aubopomofo'] = 0x3120;\n t['audeva'] = 0x0914;\n t['augujarati'] = 0x0A94;\n t['augurmukhi'] = 0x0A14;\n t['aulengthmarkbengali'] = 0x09D7;\n t['aumatragurmukhi'] = 0x0A4C;\n t['auvowelsignbengali'] = 0x09CC;\n t['auvowelsigndeva'] = 0x094C;\n t['auvowelsigngujarati'] = 0x0ACC;\n t['avagrahadeva'] = 0x093D;\n t['aybarmenian'] = 0x0561;\n t['ayin'] = 0x05E2;\n t['ayinaltonehebrew'] = 0xFB20;\n t['ayinhebrew'] = 0x05E2;\n t['b'] = 0x0062;\n t['babengali'] = 0x09AC;\n t['backslash'] = 0x005C;\n t['backslashmonospace'] = 0xFF3C;\n t['badeva'] = 0x092C;\n t['bagujarati'] = 0x0AAC;\n t['bagurmukhi'] = 0x0A2C;\n t['bahiragana'] = 0x3070;\n t['bahtthai'] = 0x0E3F;\n t['bakatakana'] = 0x30D0;\n t['bar'] = 0x007C;\n t['barmonospace'] = 0xFF5C;\n t['bbopomofo'] = 0x3105;\n t['bcircle'] = 0x24D1;\n t['bdotaccent'] = 0x1E03;\n t['bdotbelow'] = 0x1E05;\n t['beamedsixteenthnotes'] = 0x266C;\n t['because'] = 0x2235;\n t['becyrillic'] = 0x0431;\n t['beharabic'] = 0x0628;\n t['behfinalarabic'] = 0xFE90;\n t['behinitialarabic'] = 0xFE91;\n t['behiragana'] = 0x3079;\n t['behmedialarabic'] = 0xFE92;\n t['behmeeminitialarabic'] = 0xFC9F;\n t['behmeemisolatedarabic'] = 0xFC08;\n t['behnoonfinalarabic'] = 0xFC6D;\n t['bekatakana'] = 0x30D9;\n t['benarmenian'] = 0x0562;\n t['bet'] = 0x05D1;\n t['beta'] = 0x03B2;\n t['betasymbolgreek'] = 0x03D0;\n t['betdagesh'] = 0xFB31;\n t['betdageshhebrew'] = 0xFB31;\n t['bethebrew'] = 0x05D1;\n t['betrafehebrew'] = 0xFB4C;\n t['bhabengali'] = 0x09AD;\n t['bhadeva'] = 0x092D;\n t['bhagujarati'] = 0x0AAD;\n t['bhagurmukhi'] = 0x0A2D;\n t['bhook'] = 0x0253;\n t['bihiragana'] = 0x3073;\n t['bikatakana'] = 0x30D3;\n t['bilabialclick'] = 0x0298;\n t['bindigurmukhi'] = 0x0A02;\n t['birusquare'] = 0x3331;\n t['blackcircle'] = 0x25CF;\n t['blackdiamond'] = 0x25C6;\n t['blackdownpointingtriangle'] = 0x25BC;\n t['blackleftpointingpointer'] = 0x25C4;\n t['blackleftpointingtriangle'] = 0x25C0;\n t['blacklenticularbracketleft'] = 0x3010;\n t['blacklenticularbracketleftvertical'] = 0xFE3B;\n t['blacklenticularbracketright'] = 0x3011;\n t['blacklenticularbracketrightvertical'] = 0xFE3C;\n t['blacklowerlefttriangle'] = 0x25E3;\n t['blacklowerrighttriangle'] = 0x25E2;\n t['blackrectangle'] = 0x25AC;\n t['blackrightpointingpointer'] = 0x25BA;\n t['blackrightpointingtriangle'] = 0x25B6;\n t['blacksmallsquare'] = 0x25AA;\n t['blacksmilingface'] = 0x263B;\n t['blacksquare'] = 0x25A0;\n t['blackstar'] = 0x2605;\n t['blackupperlefttriangle'] = 0x25E4;\n t['blackupperrighttriangle'] = 0x25E5;\n t['blackuppointingsmalltriangle'] = 0x25B4;\n t['blackuppointingtriangle'] = 0x25B2;\n t['blank'] = 0x2423;\n t['blinebelow'] = 0x1E07;\n t['block'] = 0x2588;\n t['bmonospace'] = 0xFF42;\n t['bobaimaithai'] = 0x0E1A;\n t['bohiragana'] = 0x307C;\n t['bokatakana'] = 0x30DC;\n t['bparen'] = 0x249D;\n t['bqsquare'] = 0x33C3;\n t['braceex'] = 0xF8F4;\n t['braceleft'] = 0x007B;\n t['braceleftbt'] = 0xF8F3;\n t['braceleftmid'] = 0xF8F2;\n t['braceleftmonospace'] = 0xFF5B;\n t['braceleftsmall'] = 0xFE5B;\n t['bracelefttp'] = 0xF8F1;\n t['braceleftvertical'] = 0xFE37;\n t['braceright'] = 0x007D;\n t['bracerightbt'] = 0xF8FE;\n t['bracerightmid'] = 0xF8FD;\n t['bracerightmonospace'] = 0xFF5D;\n t['bracerightsmall'] = 0xFE5C;\n t['bracerighttp'] = 0xF8FC;\n t['bracerightvertical'] = 0xFE38;\n t['bracketleft'] = 0x005B;\n t['bracketleftbt'] = 0xF8F0;\n t['bracketleftex'] = 0xF8EF;\n t['bracketleftmonospace'] = 0xFF3B;\n t['bracketlefttp'] = 0xF8EE;\n t['bracketright'] = 0x005D;\n t['bracketrightbt'] = 0xF8FB;\n t['bracketrightex'] = 0xF8FA;\n t['bracketrightmonospace'] = 0xFF3D;\n t['bracketrighttp'] = 0xF8F9;\n t['breve'] = 0x02D8;\n t['brevebelowcmb'] = 0x032E;\n t['brevecmb'] = 0x0306;\n t['breveinvertedbelowcmb'] = 0x032F;\n t['breveinvertedcmb'] = 0x0311;\n t['breveinverteddoublecmb'] = 0x0361;\n t['bridgebelowcmb'] = 0x032A;\n t['bridgeinvertedbelowcmb'] = 0x033A;\n t['brokenbar'] = 0x00A6;\n t['bstroke'] = 0x0180;\n t['bsuperior'] = 0xF6EA;\n t['btopbar'] = 0x0183;\n t['buhiragana'] = 0x3076;\n t['bukatakana'] = 0x30D6;\n t['bullet'] = 0x2022;\n t['bulletinverse'] = 0x25D8;\n t['bulletoperator'] = 0x2219;\n t['bullseye'] = 0x25CE;\n t['c'] = 0x0063;\n t['caarmenian'] = 0x056E;\n t['cabengali'] = 0x099A;\n t['cacute'] = 0x0107;\n t['cadeva'] = 0x091A;\n t['cagujarati'] = 0x0A9A;\n t['cagurmukhi'] = 0x0A1A;\n t['calsquare'] = 0x3388;\n t['candrabindubengali'] = 0x0981;\n t['candrabinducmb'] = 0x0310;\n t['candrabindudeva'] = 0x0901;\n t['candrabindugujarati'] = 0x0A81;\n t['capslock'] = 0x21EA;\n t['careof'] = 0x2105;\n t['caron'] = 0x02C7;\n t['caronbelowcmb'] = 0x032C;\n t['caroncmb'] = 0x030C;\n t['carriagereturn'] = 0x21B5;\n t['cbopomofo'] = 0x3118;\n t['ccaron'] = 0x010D;\n t['ccedilla'] = 0x00E7;\n t['ccedillaacute'] = 0x1E09;\n t['ccircle'] = 0x24D2;\n t['ccircumflex'] = 0x0109;\n t['ccurl'] = 0x0255;\n t['cdot'] = 0x010B;\n t['cdotaccent'] = 0x010B;\n t['cdsquare'] = 0x33C5;\n t['cedilla'] = 0x00B8;\n t['cedillacmb'] = 0x0327;\n t['cent'] = 0x00A2;\n t['centigrade'] = 0x2103;\n t['centinferior'] = 0xF6DF;\n t['centmonospace'] = 0xFFE0;\n t['centoldstyle'] = 0xF7A2;\n t['centsuperior'] = 0xF6E0;\n t['chaarmenian'] = 0x0579;\n t['chabengali'] = 0x099B;\n t['chadeva'] = 0x091B;\n t['chagujarati'] = 0x0A9B;\n t['chagurmukhi'] = 0x0A1B;\n t['chbopomofo'] = 0x3114;\n t['cheabkhasiancyrillic'] = 0x04BD;\n t['checkmark'] = 0x2713;\n t['checyrillic'] = 0x0447;\n t['chedescenderabkhasiancyrillic'] = 0x04BF;\n t['chedescendercyrillic'] = 0x04B7;\n t['chedieresiscyrillic'] = 0x04F5;\n t['cheharmenian'] = 0x0573;\n t['chekhakassiancyrillic'] = 0x04CC;\n t['cheverticalstrokecyrillic'] = 0x04B9;\n t['chi'] = 0x03C7;\n t['chieuchacirclekorean'] = 0x3277;\n t['chieuchaparenkorean'] = 0x3217;\n t['chieuchcirclekorean'] = 0x3269;\n t['chieuchkorean'] = 0x314A;\n t['chieuchparenkorean'] = 0x3209;\n t['chochangthai'] = 0x0E0A;\n t['chochanthai'] = 0x0E08;\n t['chochingthai'] = 0x0E09;\n t['chochoethai'] = 0x0E0C;\n t['chook'] = 0x0188;\n t['cieucacirclekorean'] = 0x3276;\n t['cieucaparenkorean'] = 0x3216;\n t['cieuccirclekorean'] = 0x3268;\n t['cieuckorean'] = 0x3148;\n t['cieucparenkorean'] = 0x3208;\n t['cieucuparenkorean'] = 0x321C;\n t['circle'] = 0x25CB;\n t['circlecopyrt'] = 0x00A9;\n t['circlemultiply'] = 0x2297;\n t['circleot'] = 0x2299;\n t['circleplus'] = 0x2295;\n t['circlepostalmark'] = 0x3036;\n t['circlewithlefthalfblack'] = 0x25D0;\n t['circlewithrighthalfblack'] = 0x25D1;\n t['circumflex'] = 0x02C6;\n t['circumflexbelowcmb'] = 0x032D;\n t['circumflexcmb'] = 0x0302;\n t['clear'] = 0x2327;\n t['clickalveolar'] = 0x01C2;\n t['clickdental'] = 0x01C0;\n t['clicklateral'] = 0x01C1;\n t['clickretroflex'] = 0x01C3;\n t['club'] = 0x2663;\n t['clubsuitblack'] = 0x2663;\n t['clubsuitwhite'] = 0x2667;\n t['cmcubedsquare'] = 0x33A4;\n t['cmonospace'] = 0xFF43;\n t['cmsquaredsquare'] = 0x33A0;\n t['coarmenian'] = 0x0581;\n t['colon'] = 0x003A;\n t['colonmonetary'] = 0x20A1;\n t['colonmonospace'] = 0xFF1A;\n t['colonsign'] = 0x20A1;\n t['colonsmall'] = 0xFE55;\n t['colontriangularhalfmod'] = 0x02D1;\n t['colontriangularmod'] = 0x02D0;\n t['comma'] = 0x002C;\n t['commaabovecmb'] = 0x0313;\n t['commaaboverightcmb'] = 0x0315;\n t['commaaccent'] = 0xF6C3;\n t['commaarabic'] = 0x060C;\n t['commaarmenian'] = 0x055D;\n t['commainferior'] = 0xF6E1;\n t['commamonospace'] = 0xFF0C;\n t['commareversedabovecmb'] = 0x0314;\n t['commareversedmod'] = 0x02BD;\n t['commasmall'] = 0xFE50;\n t['commasuperior'] = 0xF6E2;\n t['commaturnedabovecmb'] = 0x0312;\n t['commaturnedmod'] = 0x02BB;\n t['compass'] = 0x263C;\n t['congruent'] = 0x2245;\n t['contourintegral'] = 0x222E;\n t['control'] = 0x2303;\n t['controlACK'] = 0x0006;\n t['controlBEL'] = 0x0007;\n t['controlBS'] = 0x0008;\n t['controlCAN'] = 0x0018;\n t['controlCR'] = 0x000D;\n t['controlDC1'] = 0x0011;\n t['controlDC2'] = 0x0012;\n t['controlDC3'] = 0x0013;\n t['controlDC4'] = 0x0014;\n t['controlDEL'] = 0x007F;\n t['controlDLE'] = 0x0010;\n t['controlEM'] = 0x0019;\n t['controlENQ'] = 0x0005;\n t['controlEOT'] = 0x0004;\n t['controlESC'] = 0x001B;\n t['controlETB'] = 0x0017;\n t['controlETX'] = 0x0003;\n t['controlFF'] = 0x000C;\n t['controlFS'] = 0x001C;\n t['controlGS'] = 0x001D;\n t['controlHT'] = 0x0009;\n t['controlLF'] = 0x000A;\n t['controlNAK'] = 0x0015;\n t['controlNULL'] = 0x0000;\n t['controlRS'] = 0x001E;\n t['controlSI'] = 0x000F;\n t['controlSO'] = 0x000E;\n t['controlSOT'] = 0x0002;\n t['controlSTX'] = 0x0001;\n t['controlSUB'] = 0x001A;\n t['controlSYN'] = 0x0016;\n t['controlUS'] = 0x001F;\n t['controlVT'] = 0x000B;\n t['copyright'] = 0x00A9;\n t['copyrightsans'] = 0xF8E9;\n t['copyrightserif'] = 0xF6D9;\n t['cornerbracketleft'] = 0x300C;\n t['cornerbracketlefthalfwidth'] = 0xFF62;\n t['cornerbracketleftvertical'] = 0xFE41;\n t['cornerbracketright'] = 0x300D;\n t['cornerbracketrighthalfwidth'] = 0xFF63;\n t['cornerbracketrightvertical'] = 0xFE42;\n t['corporationsquare'] = 0x337F;\n t['cosquare'] = 0x33C7;\n t['coverkgsquare'] = 0x33C6;\n t['cparen'] = 0x249E;\n t['cruzeiro'] = 0x20A2;\n t['cstretched'] = 0x0297;\n t['curlyand'] = 0x22CF;\n t['curlyor'] = 0x22CE;\n t['currency'] = 0x00A4;\n t['cyrBreve'] = 0xF6D1;\n t['cyrFlex'] = 0xF6D2;\n t['cyrbreve'] = 0xF6D4;\n t['cyrflex'] = 0xF6D5;\n t['d'] = 0x0064;\n t['daarmenian'] = 0x0564;\n t['dabengali'] = 0x09A6;\n t['dadarabic'] = 0x0636;\n t['dadeva'] = 0x0926;\n t['dadfinalarabic'] = 0xFEBE;\n t['dadinitialarabic'] = 0xFEBF;\n t['dadmedialarabic'] = 0xFEC0;\n t['dagesh'] = 0x05BC;\n t['dageshhebrew'] = 0x05BC;\n t['dagger'] = 0x2020;\n t['daggerdbl'] = 0x2021;\n t['dagujarati'] = 0x0AA6;\n t['dagurmukhi'] = 0x0A26;\n t['dahiragana'] = 0x3060;\n t['dakatakana'] = 0x30C0;\n t['dalarabic'] = 0x062F;\n t['dalet'] = 0x05D3;\n t['daletdagesh'] = 0xFB33;\n t['daletdageshhebrew'] = 0xFB33;\n t['dalethebrew'] = 0x05D3;\n t['dalfinalarabic'] = 0xFEAA;\n t['dammaarabic'] = 0x064F;\n t['dammalowarabic'] = 0x064F;\n t['dammatanaltonearabic'] = 0x064C;\n t['dammatanarabic'] = 0x064C;\n t['danda'] = 0x0964;\n t['dargahebrew'] = 0x05A7;\n t['dargalefthebrew'] = 0x05A7;\n t['dasiapneumatacyrilliccmb'] = 0x0485;\n t['dblGrave'] = 0xF6D3;\n t['dblanglebracketleft'] = 0x300A;\n t['dblanglebracketleftvertical'] = 0xFE3D;\n t['dblanglebracketright'] = 0x300B;\n t['dblanglebracketrightvertical'] = 0xFE3E;\n t['dblarchinvertedbelowcmb'] = 0x032B;\n t['dblarrowleft'] = 0x21D4;\n t['dblarrowright'] = 0x21D2;\n t['dbldanda'] = 0x0965;\n t['dblgrave'] = 0xF6D6;\n t['dblgravecmb'] = 0x030F;\n t['dblintegral'] = 0x222C;\n t['dbllowline'] = 0x2017;\n t['dbllowlinecmb'] = 0x0333;\n t['dbloverlinecmb'] = 0x033F;\n t['dblprimemod'] = 0x02BA;\n t['dblverticalbar'] = 0x2016;\n t['dblverticallineabovecmb'] = 0x030E;\n t['dbopomofo'] = 0x3109;\n t['dbsquare'] = 0x33C8;\n t['dcaron'] = 0x010F;\n t['dcedilla'] = 0x1E11;\n t['dcircle'] = 0x24D3;\n t['dcircumflexbelow'] = 0x1E13;\n t['dcroat'] = 0x0111;\n t['ddabengali'] = 0x09A1;\n t['ddadeva'] = 0x0921;\n t['ddagujarati'] = 0x0AA1;\n t['ddagurmukhi'] = 0x0A21;\n t['ddalarabic'] = 0x0688;\n t['ddalfinalarabic'] = 0xFB89;\n t['dddhadeva'] = 0x095C;\n t['ddhabengali'] = 0x09A2;\n t['ddhadeva'] = 0x0922;\n t['ddhagujarati'] = 0x0AA2;\n t['ddhagurmukhi'] = 0x0A22;\n t['ddotaccent'] = 0x1E0B;\n t['ddotbelow'] = 0x1E0D;\n t['decimalseparatorarabic'] = 0x066B;\n t['decimalseparatorpersian'] = 0x066B;\n t['decyrillic'] = 0x0434;\n t['degree'] = 0x00B0;\n t['dehihebrew'] = 0x05AD;\n t['dehiragana'] = 0x3067;\n t['deicoptic'] = 0x03EF;\n t['dekatakana'] = 0x30C7;\n t['deleteleft'] = 0x232B;\n t['deleteright'] = 0x2326;\n t['delta'] = 0x03B4;\n t['deltaturned'] = 0x018D;\n t['denominatorminusonenumeratorbengali'] = 0x09F8;\n t['dezh'] = 0x02A4;\n t['dhabengali'] = 0x09A7;\n t['dhadeva'] = 0x0927;\n t['dhagujarati'] = 0x0AA7;\n t['dhagurmukhi'] = 0x0A27;\n t['dhook'] = 0x0257;\n t['dialytikatonos'] = 0x0385;\n t['dialytikatonoscmb'] = 0x0344;\n t['diamond'] = 0x2666;\n t['diamondsuitwhite'] = 0x2662;\n t['dieresis'] = 0x00A8;\n t['dieresisacute'] = 0xF6D7;\n t['dieresisbelowcmb'] = 0x0324;\n t['dieresiscmb'] = 0x0308;\n t['dieresisgrave'] = 0xF6D8;\n t['dieresistonos'] = 0x0385;\n t['dihiragana'] = 0x3062;\n t['dikatakana'] = 0x30C2;\n t['dittomark'] = 0x3003;\n t['divide'] = 0x00F7;\n t['divides'] = 0x2223;\n t['divisionslash'] = 0x2215;\n t['djecyrillic'] = 0x0452;\n t['dkshade'] = 0x2593;\n t['dlinebelow'] = 0x1E0F;\n t['dlsquare'] = 0x3397;\n t['dmacron'] = 0x0111;\n t['dmonospace'] = 0xFF44;\n t['dnblock'] = 0x2584;\n t['dochadathai'] = 0x0E0E;\n t['dodekthai'] = 0x0E14;\n t['dohiragana'] = 0x3069;\n t['dokatakana'] = 0x30C9;\n t['dollar'] = 0x0024;\n t['dollarinferior'] = 0xF6E3;\n t['dollarmonospace'] = 0xFF04;\n t['dollaroldstyle'] = 0xF724;\n t['dollarsmall'] = 0xFE69;\n t['dollarsuperior'] = 0xF6E4;\n t['dong'] = 0x20AB;\n t['dorusquare'] = 0x3326;\n t['dotaccent'] = 0x02D9;\n t['dotaccentcmb'] = 0x0307;\n t['dotbelowcmb'] = 0x0323;\n t['dotbelowcomb'] = 0x0323;\n t['dotkatakana'] = 0x30FB;\n t['dotlessi'] = 0x0131;\n t['dotlessj'] = 0xF6BE;\n t['dotlessjstrokehook'] = 0x0284;\n t['dotmath'] = 0x22C5;\n t['dottedcircle'] = 0x25CC;\n t['doubleyodpatah'] = 0xFB1F;\n t['doubleyodpatahhebrew'] = 0xFB1F;\n t['downtackbelowcmb'] = 0x031E;\n t['downtackmod'] = 0x02D5;\n t['dparen'] = 0x249F;\n t['dsuperior'] = 0xF6EB;\n t['dtail'] = 0x0256;\n t['dtopbar'] = 0x018C;\n t['duhiragana'] = 0x3065;\n t['dukatakana'] = 0x30C5;\n t['dz'] = 0x01F3;\n t['dzaltone'] = 0x02A3;\n t['dzcaron'] = 0x01C6;\n t['dzcurl'] = 0x02A5;\n t['dzeabkhasiancyrillic'] = 0x04E1;\n t['dzecyrillic'] = 0x0455;\n t['dzhecyrillic'] = 0x045F;\n t['e'] = 0x0065;\n t['eacute'] = 0x00E9;\n t['earth'] = 0x2641;\n t['ebengali'] = 0x098F;\n t['ebopomofo'] = 0x311C;\n t['ebreve'] = 0x0115;\n t['ecandradeva'] = 0x090D;\n t['ecandragujarati'] = 0x0A8D;\n t['ecandravowelsigndeva'] = 0x0945;\n t['ecandravowelsigngujarati'] = 0x0AC5;\n t['ecaron'] = 0x011B;\n t['ecedillabreve'] = 0x1E1D;\n t['echarmenian'] = 0x0565;\n t['echyiwnarmenian'] = 0x0587;\n t['ecircle'] = 0x24D4;\n t['ecircumflex'] = 0x00EA;\n t['ecircumflexacute'] = 0x1EBF;\n t['ecircumflexbelow'] = 0x1E19;\n t['ecircumflexdotbelow'] = 0x1EC7;\n t['ecircumflexgrave'] = 0x1EC1;\n t['ecircumflexhookabove'] = 0x1EC3;\n t['ecircumflextilde'] = 0x1EC5;\n t['ecyrillic'] = 0x0454;\n t['edblgrave'] = 0x0205;\n t['edeva'] = 0x090F;\n t['edieresis'] = 0x00EB;\n t['edot'] = 0x0117;\n t['edotaccent'] = 0x0117;\n t['edotbelow'] = 0x1EB9;\n t['eegurmukhi'] = 0x0A0F;\n t['eematragurmukhi'] = 0x0A47;\n t['efcyrillic'] = 0x0444;\n t['egrave'] = 0x00E8;\n t['egujarati'] = 0x0A8F;\n t['eharmenian'] = 0x0567;\n t['ehbopomofo'] = 0x311D;\n t['ehiragana'] = 0x3048;\n t['ehookabove'] = 0x1EBB;\n t['eibopomofo'] = 0x311F;\n t['eight'] = 0x0038;\n t['eightarabic'] = 0x0668;\n t['eightbengali'] = 0x09EE;\n t['eightcircle'] = 0x2467;\n t['eightcircleinversesansserif'] = 0x2791;\n t['eightdeva'] = 0x096E;\n t['eighteencircle'] = 0x2471;\n t['eighteenparen'] = 0x2485;\n t['eighteenperiod'] = 0x2499;\n t['eightgujarati'] = 0x0AEE;\n t['eightgurmukhi'] = 0x0A6E;\n t['eighthackarabic'] = 0x0668;\n t['eighthangzhou'] = 0x3028;\n t['eighthnotebeamed'] = 0x266B;\n t['eightideographicparen'] = 0x3227;\n t['eightinferior'] = 0x2088;\n t['eightmonospace'] = 0xFF18;\n t['eightoldstyle'] = 0xF738;\n t['eightparen'] = 0x247B;\n t['eightperiod'] = 0x248F;\n t['eightpersian'] = 0x06F8;\n t['eightroman'] = 0x2177;\n t['eightsuperior'] = 0x2078;\n t['eightthai'] = 0x0E58;\n t['einvertedbreve'] = 0x0207;\n t['eiotifiedcyrillic'] = 0x0465;\n t['ekatakana'] = 0x30A8;\n t['ekatakanahalfwidth'] = 0xFF74;\n t['ekonkargurmukhi'] = 0x0A74;\n t['ekorean'] = 0x3154;\n t['elcyrillic'] = 0x043B;\n t['element'] = 0x2208;\n t['elevencircle'] = 0x246A;\n t['elevenparen'] = 0x247E;\n t['elevenperiod'] = 0x2492;\n t['elevenroman'] = 0x217A;\n t['ellipsis'] = 0x2026;\n t['ellipsisvertical'] = 0x22EE;\n t['emacron'] = 0x0113;\n t['emacronacute'] = 0x1E17;\n t['emacrongrave'] = 0x1E15;\n t['emcyrillic'] = 0x043C;\n t['emdash'] = 0x2014;\n t['emdashvertical'] = 0xFE31;\n t['emonospace'] = 0xFF45;\n t['emphasismarkarmenian'] = 0x055B;\n t['emptyset'] = 0x2205;\n t['enbopomofo'] = 0x3123;\n t['encyrillic'] = 0x043D;\n t['endash'] = 0x2013;\n t['endashvertical'] = 0xFE32;\n t['endescendercyrillic'] = 0x04A3;\n t['eng'] = 0x014B;\n t['engbopomofo'] = 0x3125;\n t['enghecyrillic'] = 0x04A5;\n t['enhookcyrillic'] = 0x04C8;\n t['enspace'] = 0x2002;\n t['eogonek'] = 0x0119;\n t['eokorean'] = 0x3153;\n t['eopen'] = 0x025B;\n t['eopenclosed'] = 0x029A;\n t['eopenreversed'] = 0x025C;\n t['eopenreversedclosed'] = 0x025E;\n t['eopenreversedhook'] = 0x025D;\n t['eparen'] = 0x24A0;\n t['epsilon'] = 0x03B5;\n t['epsilontonos'] = 0x03AD;\n t['equal'] = 0x003D;\n t['equalmonospace'] = 0xFF1D;\n t['equalsmall'] = 0xFE66;\n t['equalsuperior'] = 0x207C;\n t['equivalence'] = 0x2261;\n t['erbopomofo'] = 0x3126;\n t['ercyrillic'] = 0x0440;\n t['ereversed'] = 0x0258;\n t['ereversedcyrillic'] = 0x044D;\n t['escyrillic'] = 0x0441;\n t['esdescendercyrillic'] = 0x04AB;\n t['esh'] = 0x0283;\n t['eshcurl'] = 0x0286;\n t['eshortdeva'] = 0x090E;\n t['eshortvowelsigndeva'] = 0x0946;\n t['eshreversedloop'] = 0x01AA;\n t['eshsquatreversed'] = 0x0285;\n t['esmallhiragana'] = 0x3047;\n t['esmallkatakana'] = 0x30A7;\n t['esmallkatakanahalfwidth'] = 0xFF6A;\n t['estimated'] = 0x212E;\n t['esuperior'] = 0xF6EC;\n t['eta'] = 0x03B7;\n t['etarmenian'] = 0x0568;\n t['etatonos'] = 0x03AE;\n t['eth'] = 0x00F0;\n t['etilde'] = 0x1EBD;\n t['etildebelow'] = 0x1E1B;\n t['etnahtafoukhhebrew'] = 0x0591;\n t['etnahtafoukhlefthebrew'] = 0x0591;\n t['etnahtahebrew'] = 0x0591;\n t['etnahtalefthebrew'] = 0x0591;\n t['eturned'] = 0x01DD;\n t['eukorean'] = 0x3161;\n t['euro'] = 0x20AC;\n t['evowelsignbengali'] = 0x09C7;\n t['evowelsigndeva'] = 0x0947;\n t['evowelsigngujarati'] = 0x0AC7;\n t['exclam'] = 0x0021;\n t['exclamarmenian'] = 0x055C;\n t['exclamdbl'] = 0x203C;\n t['exclamdown'] = 0x00A1;\n t['exclamdownsmall'] = 0xF7A1;\n t['exclammonospace'] = 0xFF01;\n t['exclamsmall'] = 0xF721;\n t['existential'] = 0x2203;\n t['ezh'] = 0x0292;\n t['ezhcaron'] = 0x01EF;\n t['ezhcurl'] = 0x0293;\n t['ezhreversed'] = 0x01B9;\n t['ezhtail'] = 0x01BA;\n t['f'] = 0x0066;\n t['fadeva'] = 0x095E;\n t['fagurmukhi'] = 0x0A5E;\n t['fahrenheit'] = 0x2109;\n t['fathaarabic'] = 0x064E;\n t['fathalowarabic'] = 0x064E;\n t['fathatanarabic'] = 0x064B;\n t['fbopomofo'] = 0x3108;\n t['fcircle'] = 0x24D5;\n t['fdotaccent'] = 0x1E1F;\n t['feharabic'] = 0x0641;\n t['feharmenian'] = 0x0586;\n t['fehfinalarabic'] = 0xFED2;\n t['fehinitialarabic'] = 0xFED3;\n t['fehmedialarabic'] = 0xFED4;\n t['feicoptic'] = 0x03E5;\n t['female'] = 0x2640;\n t['ff'] = 0xFB00;\n t['f_f'] = 0xFB00;\n t['ffi'] = 0xFB03;\n t['ffl'] = 0xFB04;\n t['fi'] = 0xFB01;\n t['fifteencircle'] = 0x246E;\n t['fifteenparen'] = 0x2482;\n t['fifteenperiod'] = 0x2496;\n t['figuredash'] = 0x2012;\n t['filledbox'] = 0x25A0;\n t['filledrect'] = 0x25AC;\n t['finalkaf'] = 0x05DA;\n t['finalkafdagesh'] = 0xFB3A;\n t['finalkafdageshhebrew'] = 0xFB3A;\n t['finalkafhebrew'] = 0x05DA;\n t['finalmem'] = 0x05DD;\n t['finalmemhebrew'] = 0x05DD;\n t['finalnun'] = 0x05DF;\n t['finalnunhebrew'] = 0x05DF;\n t['finalpe'] = 0x05E3;\n t['finalpehebrew'] = 0x05E3;\n t['finaltsadi'] = 0x05E5;\n t['finaltsadihebrew'] = 0x05E5;\n t['firsttonechinese'] = 0x02C9;\n t['fisheye'] = 0x25C9;\n t['fitacyrillic'] = 0x0473;\n t['five'] = 0x0035;\n t['fivearabic'] = 0x0665;\n t['fivebengali'] = 0x09EB;\n t['fivecircle'] = 0x2464;\n t['fivecircleinversesansserif'] = 0x278E;\n t['fivedeva'] = 0x096B;\n t['fiveeighths'] = 0x215D;\n t['fivegujarati'] = 0x0AEB;\n t['fivegurmukhi'] = 0x0A6B;\n t['fivehackarabic'] = 0x0665;\n t['fivehangzhou'] = 0x3025;\n t['fiveideographicparen'] = 0x3224;\n t['fiveinferior'] = 0x2085;\n t['fivemonospace'] = 0xFF15;\n t['fiveoldstyle'] = 0xF735;\n t['fiveparen'] = 0x2478;\n t['fiveperiod'] = 0x248C;\n t['fivepersian'] = 0x06F5;\n t['fiveroman'] = 0x2174;\n t['fivesuperior'] = 0x2075;\n t['fivethai'] = 0x0E55;\n t['fl'] = 0xFB02;\n t['florin'] = 0x0192;\n t['fmonospace'] = 0xFF46;\n t['fmsquare'] = 0x3399;\n t['fofanthai'] = 0x0E1F;\n t['fofathai'] = 0x0E1D;\n t['fongmanthai'] = 0x0E4F;\n t['forall'] = 0x2200;\n t['four'] = 0x0034;\n t['fourarabic'] = 0x0664;\n t['fourbengali'] = 0x09EA;\n t['fourcircle'] = 0x2463;\n t['fourcircleinversesansserif'] = 0x278D;\n t['fourdeva'] = 0x096A;\n t['fourgujarati'] = 0x0AEA;\n t['fourgurmukhi'] = 0x0A6A;\n t['fourhackarabic'] = 0x0664;\n t['fourhangzhou'] = 0x3024;\n t['fourideographicparen'] = 0x3223;\n t['fourinferior'] = 0x2084;\n t['fourmonospace'] = 0xFF14;\n t['fournumeratorbengali'] = 0x09F7;\n t['fouroldstyle'] = 0xF734;\n t['fourparen'] = 0x2477;\n t['fourperiod'] = 0x248B;\n t['fourpersian'] = 0x06F4;\n t['fourroman'] = 0x2173;\n t['foursuperior'] = 0x2074;\n t['fourteencircle'] = 0x246D;\n t['fourteenparen'] = 0x2481;\n t['fourteenperiod'] = 0x2495;\n t['fourthai'] = 0x0E54;\n t['fourthtonechinese'] = 0x02CB;\n t['fparen'] = 0x24A1;\n t['fraction'] = 0x2044;\n t['franc'] = 0x20A3;\n t['g'] = 0x0067;\n t['gabengali'] = 0x0997;\n t['gacute'] = 0x01F5;\n t['gadeva'] = 0x0917;\n t['gafarabic'] = 0x06AF;\n t['gaffinalarabic'] = 0xFB93;\n t['gafinitialarabic'] = 0xFB94;\n t['gafmedialarabic'] = 0xFB95;\n t['gagujarati'] = 0x0A97;\n t['gagurmukhi'] = 0x0A17;\n t['gahiragana'] = 0x304C;\n t['gakatakana'] = 0x30AC;\n t['gamma'] = 0x03B3;\n t['gammalatinsmall'] = 0x0263;\n t['gammasuperior'] = 0x02E0;\n t['gangiacoptic'] = 0x03EB;\n t['gbopomofo'] = 0x310D;\n t['gbreve'] = 0x011F;\n t['gcaron'] = 0x01E7;\n t['gcedilla'] = 0x0123;\n t['gcircle'] = 0x24D6;\n t['gcircumflex'] = 0x011D;\n t['gcommaaccent'] = 0x0123;\n t['gdot'] = 0x0121;\n t['gdotaccent'] = 0x0121;\n t['gecyrillic'] = 0x0433;\n t['gehiragana'] = 0x3052;\n t['gekatakana'] = 0x30B2;\n t['geometricallyequal'] = 0x2251;\n t['gereshaccenthebrew'] = 0x059C;\n t['gereshhebrew'] = 0x05F3;\n t['gereshmuqdamhebrew'] = 0x059D;\n t['germandbls'] = 0x00DF;\n t['gershayimaccenthebrew'] = 0x059E;\n t['gershayimhebrew'] = 0x05F4;\n t['getamark'] = 0x3013;\n t['ghabengali'] = 0x0998;\n t['ghadarmenian'] = 0x0572;\n t['ghadeva'] = 0x0918;\n t['ghagujarati'] = 0x0A98;\n t['ghagurmukhi'] = 0x0A18;\n t['ghainarabic'] = 0x063A;\n t['ghainfinalarabic'] = 0xFECE;\n t['ghaininitialarabic'] = 0xFECF;\n t['ghainmedialarabic'] = 0xFED0;\n t['ghemiddlehookcyrillic'] = 0x0495;\n t['ghestrokecyrillic'] = 0x0493;\n t['gheupturncyrillic'] = 0x0491;\n t['ghhadeva'] = 0x095A;\n t['ghhagurmukhi'] = 0x0A5A;\n t['ghook'] = 0x0260;\n t['ghzsquare'] = 0x3393;\n t['gihiragana'] = 0x304E;\n t['gikatakana'] = 0x30AE;\n t['gimarmenian'] = 0x0563;\n t['gimel'] = 0x05D2;\n t['gimeldagesh'] = 0xFB32;\n t['gimeldageshhebrew'] = 0xFB32;\n t['gimelhebrew'] = 0x05D2;\n t['gjecyrillic'] = 0x0453;\n t['glottalinvertedstroke'] = 0x01BE;\n t['glottalstop'] = 0x0294;\n t['glottalstopinverted'] = 0x0296;\n t['glottalstopmod'] = 0x02C0;\n t['glottalstopreversed'] = 0x0295;\n t['glottalstopreversedmod'] = 0x02C1;\n t['glottalstopreversedsuperior'] = 0x02E4;\n t['glottalstopstroke'] = 0x02A1;\n t['glottalstopstrokereversed'] = 0x02A2;\n t['gmacron'] = 0x1E21;\n t['gmonospace'] = 0xFF47;\n t['gohiragana'] = 0x3054;\n t['gokatakana'] = 0x30B4;\n t['gparen'] = 0x24A2;\n t['gpasquare'] = 0x33AC;\n t['gradient'] = 0x2207;\n t['grave'] = 0x0060;\n t['gravebelowcmb'] = 0x0316;\n t['gravecmb'] = 0x0300;\n t['gravecomb'] = 0x0300;\n t['gravedeva'] = 0x0953;\n t['gravelowmod'] = 0x02CE;\n t['gravemonospace'] = 0xFF40;\n t['gravetonecmb'] = 0x0340;\n t['greater'] = 0x003E;\n t['greaterequal'] = 0x2265;\n t['greaterequalorless'] = 0x22DB;\n t['greatermonospace'] = 0xFF1E;\n t['greaterorequivalent'] = 0x2273;\n t['greaterorless'] = 0x2277;\n t['greateroverequal'] = 0x2267;\n t['greatersmall'] = 0xFE65;\n t['gscript'] = 0x0261;\n t['gstroke'] = 0x01E5;\n t['guhiragana'] = 0x3050;\n t['guillemotleft'] = 0x00AB;\n t['guillemotright'] = 0x00BB;\n t['guilsinglleft'] = 0x2039;\n t['guilsinglright'] = 0x203A;\n t['gukatakana'] = 0x30B0;\n t['guramusquare'] = 0x3318;\n t['gysquare'] = 0x33C9;\n t['h'] = 0x0068;\n t['haabkhasiancyrillic'] = 0x04A9;\n t['haaltonearabic'] = 0x06C1;\n t['habengali'] = 0x09B9;\n t['hadescendercyrillic'] = 0x04B3;\n t['hadeva'] = 0x0939;\n t['hagujarati'] = 0x0AB9;\n t['hagurmukhi'] = 0x0A39;\n t['haharabic'] = 0x062D;\n t['hahfinalarabic'] = 0xFEA2;\n t['hahinitialarabic'] = 0xFEA3;\n t['hahiragana'] = 0x306F;\n t['hahmedialarabic'] = 0xFEA4;\n t['haitusquare'] = 0x332A;\n t['hakatakana'] = 0x30CF;\n t['hakatakanahalfwidth'] = 0xFF8A;\n t['halantgurmukhi'] = 0x0A4D;\n t['hamzaarabic'] = 0x0621;\n t['hamzalowarabic'] = 0x0621;\n t['hangulfiller'] = 0x3164;\n t['hardsigncyrillic'] = 0x044A;\n t['harpoonleftbarbup'] = 0x21BC;\n t['harpoonrightbarbup'] = 0x21C0;\n t['hasquare'] = 0x33CA;\n t['hatafpatah'] = 0x05B2;\n t['hatafpatah16'] = 0x05B2;\n t['hatafpatah23'] = 0x05B2;\n t['hatafpatah2f'] = 0x05B2;\n t['hatafpatahhebrew'] = 0x05B2;\n t['hatafpatahnarrowhebrew'] = 0x05B2;\n t['hatafpatahquarterhebrew'] = 0x05B2;\n t['hatafpatahwidehebrew'] = 0x05B2;\n t['hatafqamats'] = 0x05B3;\n t['hatafqamats1b'] = 0x05B3;\n t['hatafqamats28'] = 0x05B3;\n t['hatafqamats34'] = 0x05B3;\n t['hatafqamatshebrew'] = 0x05B3;\n t['hatafqamatsnarrowhebrew'] = 0x05B3;\n t['hatafqamatsquarterhebrew'] = 0x05B3;\n t['hatafqamatswidehebrew'] = 0x05B3;\n t['hatafsegol'] = 0x05B1;\n t['hatafsegol17'] = 0x05B1;\n t['hatafsegol24'] = 0x05B1;\n t['hatafsegol30'] = 0x05B1;\n t['hatafsegolhebrew'] = 0x05B1;\n t['hatafsegolnarrowhebrew'] = 0x05B1;\n t['hatafsegolquarterhebrew'] = 0x05B1;\n t['hatafsegolwidehebrew'] = 0x05B1;\n t['hbar'] = 0x0127;\n t['hbopomofo'] = 0x310F;\n t['hbrevebelow'] = 0x1E2B;\n t['hcedilla'] = 0x1E29;\n t['hcircle'] = 0x24D7;\n t['hcircumflex'] = 0x0125;\n t['hdieresis'] = 0x1E27;\n t['hdotaccent'] = 0x1E23;\n t['hdotbelow'] = 0x1E25;\n t['he'] = 0x05D4;\n t['heart'] = 0x2665;\n t['heartsuitblack'] = 0x2665;\n t['heartsuitwhite'] = 0x2661;\n t['hedagesh'] = 0xFB34;\n t['hedageshhebrew'] = 0xFB34;\n t['hehaltonearabic'] = 0x06C1;\n t['heharabic'] = 0x0647;\n t['hehebrew'] = 0x05D4;\n t['hehfinalaltonearabic'] = 0xFBA7;\n t['hehfinalalttwoarabic'] = 0xFEEA;\n t['hehfinalarabic'] = 0xFEEA;\n t['hehhamzaabovefinalarabic'] = 0xFBA5;\n t['hehhamzaaboveisolatedarabic'] = 0xFBA4;\n t['hehinitialaltonearabic'] = 0xFBA8;\n t['hehinitialarabic'] = 0xFEEB;\n t['hehiragana'] = 0x3078;\n t['hehmedialaltonearabic'] = 0xFBA9;\n t['hehmedialarabic'] = 0xFEEC;\n t['heiseierasquare'] = 0x337B;\n t['hekatakana'] = 0x30D8;\n t['hekatakanahalfwidth'] = 0xFF8D;\n t['hekutaarusquare'] = 0x3336;\n t['henghook'] = 0x0267;\n t['herutusquare'] = 0x3339;\n t['het'] = 0x05D7;\n t['hethebrew'] = 0x05D7;\n t['hhook'] = 0x0266;\n t['hhooksuperior'] = 0x02B1;\n t['hieuhacirclekorean'] = 0x327B;\n t['hieuhaparenkorean'] = 0x321B;\n t['hieuhcirclekorean'] = 0x326D;\n t['hieuhkorean'] = 0x314E;\n t['hieuhparenkorean'] = 0x320D;\n t['hihiragana'] = 0x3072;\n t['hikatakana'] = 0x30D2;\n t['hikatakanahalfwidth'] = 0xFF8B;\n t['hiriq'] = 0x05B4;\n t['hiriq14'] = 0x05B4;\n t['hiriq21'] = 0x05B4;\n t['hiriq2d'] = 0x05B4;\n t['hiriqhebrew'] = 0x05B4;\n t['hiriqnarrowhebrew'] = 0x05B4;\n t['hiriqquarterhebrew'] = 0x05B4;\n t['hiriqwidehebrew'] = 0x05B4;\n t['hlinebelow'] = 0x1E96;\n t['hmonospace'] = 0xFF48;\n t['hoarmenian'] = 0x0570;\n t['hohipthai'] = 0x0E2B;\n t['hohiragana'] = 0x307B;\n t['hokatakana'] = 0x30DB;\n t['hokatakanahalfwidth'] = 0xFF8E;\n t['holam'] = 0x05B9;\n t['holam19'] = 0x05B9;\n t['holam26'] = 0x05B9;\n t['holam32'] = 0x05B9;\n t['holamhebrew'] = 0x05B9;\n t['holamnarrowhebrew'] = 0x05B9;\n t['holamquarterhebrew'] = 0x05B9;\n t['holamwidehebrew'] = 0x05B9;\n t['honokhukthai'] = 0x0E2E;\n t['hookabovecomb'] = 0x0309;\n t['hookcmb'] = 0x0309;\n t['hookpalatalizedbelowcmb'] = 0x0321;\n t['hookretroflexbelowcmb'] = 0x0322;\n t['hoonsquare'] = 0x3342;\n t['horicoptic'] = 0x03E9;\n t['horizontalbar'] = 0x2015;\n t['horncmb'] = 0x031B;\n t['hotsprings'] = 0x2668;\n t['house'] = 0x2302;\n t['hparen'] = 0x24A3;\n t['hsuperior'] = 0x02B0;\n t['hturned'] = 0x0265;\n t['huhiragana'] = 0x3075;\n t['huiitosquare'] = 0x3333;\n t['hukatakana'] = 0x30D5;\n t['hukatakanahalfwidth'] = 0xFF8C;\n t['hungarumlaut'] = 0x02DD;\n t['hungarumlautcmb'] = 0x030B;\n t['hv'] = 0x0195;\n t['hyphen'] = 0x002D;\n t['hypheninferior'] = 0xF6E5;\n t['hyphenmonospace'] = 0xFF0D;\n t['hyphensmall'] = 0xFE63;\n t['hyphensuperior'] = 0xF6E6;\n t['hyphentwo'] = 0x2010;\n t['i'] = 0x0069;\n t['iacute'] = 0x00ED;\n t['iacyrillic'] = 0x044F;\n t['ibengali'] = 0x0987;\n t['ibopomofo'] = 0x3127;\n t['ibreve'] = 0x012D;\n t['icaron'] = 0x01D0;\n t['icircle'] = 0x24D8;\n t['icircumflex'] = 0x00EE;\n t['icyrillic'] = 0x0456;\n t['idblgrave'] = 0x0209;\n t['ideographearthcircle'] = 0x328F;\n t['ideographfirecircle'] = 0x328B;\n t['ideographicallianceparen'] = 0x323F;\n t['ideographiccallparen'] = 0x323A;\n t['ideographiccentrecircle'] = 0x32A5;\n t['ideographicclose'] = 0x3006;\n t['ideographiccomma'] = 0x3001;\n t['ideographiccommaleft'] = 0xFF64;\n t['ideographiccongratulationparen'] = 0x3237;\n t['ideographiccorrectcircle'] = 0x32A3;\n t['ideographicearthparen'] = 0x322F;\n t['ideographicenterpriseparen'] = 0x323D;\n t['ideographicexcellentcircle'] = 0x329D;\n t['ideographicfestivalparen'] = 0x3240;\n t['ideographicfinancialcircle'] = 0x3296;\n t['ideographicfinancialparen'] = 0x3236;\n t['ideographicfireparen'] = 0x322B;\n t['ideographichaveparen'] = 0x3232;\n t['ideographichighcircle'] = 0x32A4;\n t['ideographiciterationmark'] = 0x3005;\n t['ideographiclaborcircle'] = 0x3298;\n t['ideographiclaborparen'] = 0x3238;\n t['ideographicleftcircle'] = 0x32A7;\n t['ideographiclowcircle'] = 0x32A6;\n t['ideographicmedicinecircle'] = 0x32A9;\n t['ideographicmetalparen'] = 0x322E;\n t['ideographicmoonparen'] = 0x322A;\n t['ideographicnameparen'] = 0x3234;\n t['ideographicperiod'] = 0x3002;\n t['ideographicprintcircle'] = 0x329E;\n t['ideographicreachparen'] = 0x3243;\n t['ideographicrepresentparen'] = 0x3239;\n t['ideographicresourceparen'] = 0x323E;\n t['ideographicrightcircle'] = 0x32A8;\n t['ideographicsecretcircle'] = 0x3299;\n t['ideographicselfparen'] = 0x3242;\n t['ideographicsocietyparen'] = 0x3233;\n t['ideographicspace'] = 0x3000;\n t['ideographicspecialparen'] = 0x3235;\n t['ideographicstockparen'] = 0x3231;\n t['ideographicstudyparen'] = 0x323B;\n t['ideographicsunparen'] = 0x3230;\n t['ideographicsuperviseparen'] = 0x323C;\n t['ideographicwaterparen'] = 0x322C;\n t['ideographicwoodparen'] = 0x322D;\n t['ideographiczero'] = 0x3007;\n t['ideographmetalcircle'] = 0x328E;\n t['ideographmooncircle'] = 0x328A;\n t['ideographnamecircle'] = 0x3294;\n t['ideographsuncircle'] = 0x3290;\n t['ideographwatercircle'] = 0x328C;\n t['ideographwoodcircle'] = 0x328D;\n t['ideva'] = 0x0907;\n t['idieresis'] = 0x00EF;\n t['idieresisacute'] = 0x1E2F;\n t['idieresiscyrillic'] = 0x04E5;\n t['idotbelow'] = 0x1ECB;\n t['iebrevecyrillic'] = 0x04D7;\n t['iecyrillic'] = 0x0435;\n t['ieungacirclekorean'] = 0x3275;\n t['ieungaparenkorean'] = 0x3215;\n t['ieungcirclekorean'] = 0x3267;\n t['ieungkorean'] = 0x3147;\n t['ieungparenkorean'] = 0x3207;\n t['igrave'] = 0x00EC;\n t['igujarati'] = 0x0A87;\n t['igurmukhi'] = 0x0A07;\n t['ihiragana'] = 0x3044;\n t['ihookabove'] = 0x1EC9;\n t['iibengali'] = 0x0988;\n t['iicyrillic'] = 0x0438;\n t['iideva'] = 0x0908;\n t['iigujarati'] = 0x0A88;\n t['iigurmukhi'] = 0x0A08;\n t['iimatragurmukhi'] = 0x0A40;\n t['iinvertedbreve'] = 0x020B;\n t['iishortcyrillic'] = 0x0439;\n t['iivowelsignbengali'] = 0x09C0;\n t['iivowelsigndeva'] = 0x0940;\n t['iivowelsigngujarati'] = 0x0AC0;\n t['ij'] = 0x0133;\n t['ikatakana'] = 0x30A4;\n t['ikatakanahalfwidth'] = 0xFF72;\n t['ikorean'] = 0x3163;\n t['ilde'] = 0x02DC;\n t['iluyhebrew'] = 0x05AC;\n t['imacron'] = 0x012B;\n t['imacroncyrillic'] = 0x04E3;\n t['imageorapproximatelyequal'] = 0x2253;\n t['imatragurmukhi'] = 0x0A3F;\n t['imonospace'] = 0xFF49;\n t['increment'] = 0x2206;\n t['infinity'] = 0x221E;\n t['iniarmenian'] = 0x056B;\n t['integral'] = 0x222B;\n t['integralbottom'] = 0x2321;\n t['integralbt'] = 0x2321;\n t['integralex'] = 0xF8F5;\n t['integraltop'] = 0x2320;\n t['integraltp'] = 0x2320;\n t['intersection'] = 0x2229;\n t['intisquare'] = 0x3305;\n t['invbullet'] = 0x25D8;\n t['invcircle'] = 0x25D9;\n t['invsmileface'] = 0x263B;\n t['iocyrillic'] = 0x0451;\n t['iogonek'] = 0x012F;\n t['iota'] = 0x03B9;\n t['iotadieresis'] = 0x03CA;\n t['iotadieresistonos'] = 0x0390;\n t['iotalatin'] = 0x0269;\n t['iotatonos'] = 0x03AF;\n t['iparen'] = 0x24A4;\n t['irigurmukhi'] = 0x0A72;\n t['ismallhiragana'] = 0x3043;\n t['ismallkatakana'] = 0x30A3;\n t['ismallkatakanahalfwidth'] = 0xFF68;\n t['issharbengali'] = 0x09FA;\n t['istroke'] = 0x0268;\n t['isuperior'] = 0xF6ED;\n t['iterationhiragana'] = 0x309D;\n t['iterationkatakana'] = 0x30FD;\n t['itilde'] = 0x0129;\n t['itildebelow'] = 0x1E2D;\n t['iubopomofo'] = 0x3129;\n t['iucyrillic'] = 0x044E;\n t['ivowelsignbengali'] = 0x09BF;\n t['ivowelsigndeva'] = 0x093F;\n t['ivowelsigngujarati'] = 0x0ABF;\n t['izhitsacyrillic'] = 0x0475;\n t['izhitsadblgravecyrillic'] = 0x0477;\n t['j'] = 0x006A;\n t['jaarmenian'] = 0x0571;\n t['jabengali'] = 0x099C;\n t['jadeva'] = 0x091C;\n t['jagujarati'] = 0x0A9C;\n t['jagurmukhi'] = 0x0A1C;\n t['jbopomofo'] = 0x3110;\n t['jcaron'] = 0x01F0;\n t['jcircle'] = 0x24D9;\n t['jcircumflex'] = 0x0135;\n t['jcrossedtail'] = 0x029D;\n t['jdotlessstroke'] = 0x025F;\n t['jecyrillic'] = 0x0458;\n t['jeemarabic'] = 0x062C;\n t['jeemfinalarabic'] = 0xFE9E;\n t['jeeminitialarabic'] = 0xFE9F;\n t['jeemmedialarabic'] = 0xFEA0;\n t['jeharabic'] = 0x0698;\n t['jehfinalarabic'] = 0xFB8B;\n t['jhabengali'] = 0x099D;\n t['jhadeva'] = 0x091D;\n t['jhagujarati'] = 0x0A9D;\n t['jhagurmukhi'] = 0x0A1D;\n t['jheharmenian'] = 0x057B;\n t['jis'] = 0x3004;\n t['jmonospace'] = 0xFF4A;\n t['jparen'] = 0x24A5;\n t['jsuperior'] = 0x02B2;\n t['k'] = 0x006B;\n t['kabashkircyrillic'] = 0x04A1;\n t['kabengali'] = 0x0995;\n t['kacute'] = 0x1E31;\n t['kacyrillic'] = 0x043A;\n t['kadescendercyrillic'] = 0x049B;\n t['kadeva'] = 0x0915;\n t['kaf'] = 0x05DB;\n t['kafarabic'] = 0x0643;\n t['kafdagesh'] = 0xFB3B;\n t['kafdageshhebrew'] = 0xFB3B;\n t['kaffinalarabic'] = 0xFEDA;\n t['kafhebrew'] = 0x05DB;\n t['kafinitialarabic'] = 0xFEDB;\n t['kafmedialarabic'] = 0xFEDC;\n t['kafrafehebrew'] = 0xFB4D;\n t['kagujarati'] = 0x0A95;\n t['kagurmukhi'] = 0x0A15;\n t['kahiragana'] = 0x304B;\n t['kahookcyrillic'] = 0x04C4;\n t['kakatakana'] = 0x30AB;\n t['kakatakanahalfwidth'] = 0xFF76;\n t['kappa'] = 0x03BA;\n t['kappasymbolgreek'] = 0x03F0;\n t['kapyeounmieumkorean'] = 0x3171;\n t['kapyeounphieuphkorean'] = 0x3184;\n t['kapyeounpieupkorean'] = 0x3178;\n t['kapyeounssangpieupkorean'] = 0x3179;\n t['karoriisquare'] = 0x330D;\n t['kashidaautoarabic'] = 0x0640;\n t['kashidaautonosidebearingarabic'] = 0x0640;\n t['kasmallkatakana'] = 0x30F5;\n t['kasquare'] = 0x3384;\n t['kasraarabic'] = 0x0650;\n t['kasratanarabic'] = 0x064D;\n t['kastrokecyrillic'] = 0x049F;\n t['katahiraprolongmarkhalfwidth'] = 0xFF70;\n t['kaverticalstrokecyrillic'] = 0x049D;\n t['kbopomofo'] = 0x310E;\n t['kcalsquare'] = 0x3389;\n t['kcaron'] = 0x01E9;\n t['kcedilla'] = 0x0137;\n t['kcircle'] = 0x24DA;\n t['kcommaaccent'] = 0x0137;\n t['kdotbelow'] = 0x1E33;\n t['keharmenian'] = 0x0584;\n t['kehiragana'] = 0x3051;\n t['kekatakana'] = 0x30B1;\n t['kekatakanahalfwidth'] = 0xFF79;\n t['kenarmenian'] = 0x056F;\n t['kesmallkatakana'] = 0x30F6;\n t['kgreenlandic'] = 0x0138;\n t['khabengali'] = 0x0996;\n t['khacyrillic'] = 0x0445;\n t['khadeva'] = 0x0916;\n t['khagujarati'] = 0x0A96;\n t['khagurmukhi'] = 0x0A16;\n t['khaharabic'] = 0x062E;\n t['khahfinalarabic'] = 0xFEA6;\n t['khahinitialarabic'] = 0xFEA7;\n t['khahmedialarabic'] = 0xFEA8;\n t['kheicoptic'] = 0x03E7;\n t['khhadeva'] = 0x0959;\n t['khhagurmukhi'] = 0x0A59;\n t['khieukhacirclekorean'] = 0x3278;\n t['khieukhaparenkorean'] = 0x3218;\n t['khieukhcirclekorean'] = 0x326A;\n t['khieukhkorean'] = 0x314B;\n t['khieukhparenkorean'] = 0x320A;\n t['khokhaithai'] = 0x0E02;\n t['khokhonthai'] = 0x0E05;\n t['khokhuatthai'] = 0x0E03;\n t['khokhwaithai'] = 0x0E04;\n t['khomutthai'] = 0x0E5B;\n t['khook'] = 0x0199;\n t['khorakhangthai'] = 0x0E06;\n t['khzsquare'] = 0x3391;\n t['kihiragana'] = 0x304D;\n t['kikatakana'] = 0x30AD;\n t['kikatakanahalfwidth'] = 0xFF77;\n t['kiroguramusquare'] = 0x3315;\n t['kiromeetorusquare'] = 0x3316;\n t['kirosquare'] = 0x3314;\n t['kiyeokacirclekorean'] = 0x326E;\n t['kiyeokaparenkorean'] = 0x320E;\n t['kiyeokcirclekorean'] = 0x3260;\n t['kiyeokkorean'] = 0x3131;\n t['kiyeokparenkorean'] = 0x3200;\n t['kiyeoksioskorean'] = 0x3133;\n t['kjecyrillic'] = 0x045C;\n t['klinebelow'] = 0x1E35;\n t['klsquare'] = 0x3398;\n t['kmcubedsquare'] = 0x33A6;\n t['kmonospace'] = 0xFF4B;\n t['kmsquaredsquare'] = 0x33A2;\n t['kohiragana'] = 0x3053;\n t['kohmsquare'] = 0x33C0;\n t['kokaithai'] = 0x0E01;\n t['kokatakana'] = 0x30B3;\n t['kokatakanahalfwidth'] = 0xFF7A;\n t['kooposquare'] = 0x331E;\n t['koppacyrillic'] = 0x0481;\n t['koreanstandardsymbol'] = 0x327F;\n t['koroniscmb'] = 0x0343;\n t['kparen'] = 0x24A6;\n t['kpasquare'] = 0x33AA;\n t['ksicyrillic'] = 0x046F;\n t['ktsquare'] = 0x33CF;\n t['kturned'] = 0x029E;\n t['kuhiragana'] = 0x304F;\n t['kukatakana'] = 0x30AF;\n t['kukatakanahalfwidth'] = 0xFF78;\n t['kvsquare'] = 0x33B8;\n t['kwsquare'] = 0x33BE;\n t['l'] = 0x006C;\n t['labengali'] = 0x09B2;\n t['lacute'] = 0x013A;\n t['ladeva'] = 0x0932;\n t['lagujarati'] = 0x0AB2;\n t['lagurmukhi'] = 0x0A32;\n t['lakkhangyaothai'] = 0x0E45;\n t['lamaleffinalarabic'] = 0xFEFC;\n t['lamalefhamzaabovefinalarabic'] = 0xFEF8;\n t['lamalefhamzaaboveisolatedarabic'] = 0xFEF7;\n t['lamalefhamzabelowfinalarabic'] = 0xFEFA;\n t['lamalefhamzabelowisolatedarabic'] = 0xFEF9;\n t['lamalefisolatedarabic'] = 0xFEFB;\n t['lamalefmaddaabovefinalarabic'] = 0xFEF6;\n t['lamalefmaddaaboveisolatedarabic'] = 0xFEF5;\n t['lamarabic'] = 0x0644;\n t['lambda'] = 0x03BB;\n t['lambdastroke'] = 0x019B;\n t['lamed'] = 0x05DC;\n t['lameddagesh'] = 0xFB3C;\n t['lameddageshhebrew'] = 0xFB3C;\n t['lamedhebrew'] = 0x05DC;\n t['lamfinalarabic'] = 0xFEDE;\n t['lamhahinitialarabic'] = 0xFCCA;\n t['laminitialarabic'] = 0xFEDF;\n t['lamjeeminitialarabic'] = 0xFCC9;\n t['lamkhahinitialarabic'] = 0xFCCB;\n t['lamlamhehisolatedarabic'] = 0xFDF2;\n t['lammedialarabic'] = 0xFEE0;\n t['lammeemhahinitialarabic'] = 0xFD88;\n t['lammeeminitialarabic'] = 0xFCCC;\n t['largecircle'] = 0x25EF;\n t['lbar'] = 0x019A;\n t['lbelt'] = 0x026C;\n t['lbopomofo'] = 0x310C;\n t['lcaron'] = 0x013E;\n t['lcedilla'] = 0x013C;\n t['lcircle'] = 0x24DB;\n t['lcircumflexbelow'] = 0x1E3D;\n t['lcommaaccent'] = 0x013C;\n t['ldot'] = 0x0140;\n t['ldotaccent'] = 0x0140;\n t['ldotbelow'] = 0x1E37;\n t['ldotbelowmacron'] = 0x1E39;\n t['leftangleabovecmb'] = 0x031A;\n t['lefttackbelowcmb'] = 0x0318;\n t['less'] = 0x003C;\n t['lessequal'] = 0x2264;\n t['lessequalorgreater'] = 0x22DA;\n t['lessmonospace'] = 0xFF1C;\n t['lessorequivalent'] = 0x2272;\n t['lessorgreater'] = 0x2276;\n t['lessoverequal'] = 0x2266;\n t['lesssmall'] = 0xFE64;\n t['lezh'] = 0x026E;\n t['lfblock'] = 0x258C;\n t['lhookretroflex'] = 0x026D;\n t['lira'] = 0x20A4;\n t['liwnarmenian'] = 0x056C;\n t['lj'] = 0x01C9;\n t['ljecyrillic'] = 0x0459;\n t['ll'] = 0xF6C0;\n t['lladeva'] = 0x0933;\n t['llagujarati'] = 0x0AB3;\n t['llinebelow'] = 0x1E3B;\n t['llladeva'] = 0x0934;\n t['llvocalicbengali'] = 0x09E1;\n t['llvocalicdeva'] = 0x0961;\n t['llvocalicvowelsignbengali'] = 0x09E3;\n t['llvocalicvowelsigndeva'] = 0x0963;\n t['lmiddletilde'] = 0x026B;\n t['lmonospace'] = 0xFF4C;\n t['lmsquare'] = 0x33D0;\n t['lochulathai'] = 0x0E2C;\n t['logicaland'] = 0x2227;\n t['logicalnot'] = 0x00AC;\n t['logicalnotreversed'] = 0x2310;\n t['logicalor'] = 0x2228;\n t['lolingthai'] = 0x0E25;\n t['longs'] = 0x017F;\n t['lowlinecenterline'] = 0xFE4E;\n t['lowlinecmb'] = 0x0332;\n t['lowlinedashed'] = 0xFE4D;\n t['lozenge'] = 0x25CA;\n t['lparen'] = 0x24A7;\n t['lslash'] = 0x0142;\n t['lsquare'] = 0x2113;\n t['lsuperior'] = 0xF6EE;\n t['ltshade'] = 0x2591;\n t['luthai'] = 0x0E26;\n t['lvocalicbengali'] = 0x098C;\n t['lvocalicdeva'] = 0x090C;\n t['lvocalicvowelsignbengali'] = 0x09E2;\n t['lvocalicvowelsigndeva'] = 0x0962;\n t['lxsquare'] = 0x33D3;\n t['m'] = 0x006D;\n t['mabengali'] = 0x09AE;\n t['macron'] = 0x00AF;\n t['macronbelowcmb'] = 0x0331;\n t['macroncmb'] = 0x0304;\n t['macronlowmod'] = 0x02CD;\n t['macronmonospace'] = 0xFFE3;\n t['macute'] = 0x1E3F;\n t['madeva'] = 0x092E;\n t['magujarati'] = 0x0AAE;\n t['magurmukhi'] = 0x0A2E;\n t['mahapakhhebrew'] = 0x05A4;\n t['mahapakhlefthebrew'] = 0x05A4;\n t['mahiragana'] = 0x307E;\n t['maichattawalowleftthai'] = 0xF895;\n t['maichattawalowrightthai'] = 0xF894;\n t['maichattawathai'] = 0x0E4B;\n t['maichattawaupperleftthai'] = 0xF893;\n t['maieklowleftthai'] = 0xF88C;\n t['maieklowrightthai'] = 0xF88B;\n t['maiekthai'] = 0x0E48;\n t['maiekupperleftthai'] = 0xF88A;\n t['maihanakatleftthai'] = 0xF884;\n t['maihanakatthai'] = 0x0E31;\n t['maitaikhuleftthai'] = 0xF889;\n t['maitaikhuthai'] = 0x0E47;\n t['maitholowleftthai'] = 0xF88F;\n t['maitholowrightthai'] = 0xF88E;\n t['maithothai'] = 0x0E49;\n t['maithoupperleftthai'] = 0xF88D;\n t['maitrilowleftthai'] = 0xF892;\n t['maitrilowrightthai'] = 0xF891;\n t['maitrithai'] = 0x0E4A;\n t['maitriupperleftthai'] = 0xF890;\n t['maiyamokthai'] = 0x0E46;\n t['makatakana'] = 0x30DE;\n t['makatakanahalfwidth'] = 0xFF8F;\n t['male'] = 0x2642;\n t['mansyonsquare'] = 0x3347;\n t['maqafhebrew'] = 0x05BE;\n t['mars'] = 0x2642;\n t['masoracirclehebrew'] = 0x05AF;\n t['masquare'] = 0x3383;\n t['mbopomofo'] = 0x3107;\n t['mbsquare'] = 0x33D4;\n t['mcircle'] = 0x24DC;\n t['mcubedsquare'] = 0x33A5;\n t['mdotaccent'] = 0x1E41;\n t['mdotbelow'] = 0x1E43;\n t['meemarabic'] = 0x0645;\n t['meemfinalarabic'] = 0xFEE2;\n t['meeminitialarabic'] = 0xFEE3;\n t['meemmedialarabic'] = 0xFEE4;\n t['meemmeeminitialarabic'] = 0xFCD1;\n t['meemmeemisolatedarabic'] = 0xFC48;\n t['meetorusquare'] = 0x334D;\n t['mehiragana'] = 0x3081;\n t['meizierasquare'] = 0x337E;\n t['mekatakana'] = 0x30E1;\n t['mekatakanahalfwidth'] = 0xFF92;\n t['mem'] = 0x05DE;\n t['memdagesh'] = 0xFB3E;\n t['memdageshhebrew'] = 0xFB3E;\n t['memhebrew'] = 0x05DE;\n t['menarmenian'] = 0x0574;\n t['merkhahebrew'] = 0x05A5;\n t['merkhakefulahebrew'] = 0x05A6;\n t['merkhakefulalefthebrew'] = 0x05A6;\n t['merkhalefthebrew'] = 0x05A5;\n t['mhook'] = 0x0271;\n t['mhzsquare'] = 0x3392;\n t['middledotkatakanahalfwidth'] = 0xFF65;\n t['middot'] = 0x00B7;\n t['mieumacirclekorean'] = 0x3272;\n t['mieumaparenkorean'] = 0x3212;\n t['mieumcirclekorean'] = 0x3264;\n t['mieumkorean'] = 0x3141;\n t['mieumpansioskorean'] = 0x3170;\n t['mieumparenkorean'] = 0x3204;\n t['mieumpieupkorean'] = 0x316E;\n t['mieumsioskorean'] = 0x316F;\n t['mihiragana'] = 0x307F;\n t['mikatakana'] = 0x30DF;\n t['mikatakanahalfwidth'] = 0xFF90;\n t['minus'] = 0x2212;\n t['minusbelowcmb'] = 0x0320;\n t['minuscircle'] = 0x2296;\n t['minusmod'] = 0x02D7;\n t['minusplus'] = 0x2213;\n t['minute'] = 0x2032;\n t['miribaarusquare'] = 0x334A;\n t['mirisquare'] = 0x3349;\n t['mlonglegturned'] = 0x0270;\n t['mlsquare'] = 0x3396;\n t['mmcubedsquare'] = 0x33A3;\n t['mmonospace'] = 0xFF4D;\n t['mmsquaredsquare'] = 0x339F;\n t['mohiragana'] = 0x3082;\n t['mohmsquare'] = 0x33C1;\n t['mokatakana'] = 0x30E2;\n t['mokatakanahalfwidth'] = 0xFF93;\n t['molsquare'] = 0x33D6;\n t['momathai'] = 0x0E21;\n t['moverssquare'] = 0x33A7;\n t['moverssquaredsquare'] = 0x33A8;\n t['mparen'] = 0x24A8;\n t['mpasquare'] = 0x33AB;\n t['mssquare'] = 0x33B3;\n t['msuperior'] = 0xF6EF;\n t['mturned'] = 0x026F;\n t['mu'] = 0x00B5;\n t['mu1'] = 0x00B5;\n t['muasquare'] = 0x3382;\n t['muchgreater'] = 0x226B;\n t['muchless'] = 0x226A;\n t['mufsquare'] = 0x338C;\n t['mugreek'] = 0x03BC;\n t['mugsquare'] = 0x338D;\n t['muhiragana'] = 0x3080;\n t['mukatakana'] = 0x30E0;\n t['mukatakanahalfwidth'] = 0xFF91;\n t['mulsquare'] = 0x3395;\n t['multiply'] = 0x00D7;\n t['mumsquare'] = 0x339B;\n t['munahhebrew'] = 0x05A3;\n t['munahlefthebrew'] = 0x05A3;\n t['musicalnote'] = 0x266A;\n t['musicalnotedbl'] = 0x266B;\n t['musicflatsign'] = 0x266D;\n t['musicsharpsign'] = 0x266F;\n t['mussquare'] = 0x33B2;\n t['muvsquare'] = 0x33B6;\n t['muwsquare'] = 0x33BC;\n t['mvmegasquare'] = 0x33B9;\n t['mvsquare'] = 0x33B7;\n t['mwmegasquare'] = 0x33BF;\n t['mwsquare'] = 0x33BD;\n t['n'] = 0x006E;\n t['nabengali'] = 0x09A8;\n t['nabla'] = 0x2207;\n t['nacute'] = 0x0144;\n t['nadeva'] = 0x0928;\n t['nagujarati'] = 0x0AA8;\n t['nagurmukhi'] = 0x0A28;\n t['nahiragana'] = 0x306A;\n t['nakatakana'] = 0x30CA;\n t['nakatakanahalfwidth'] = 0xFF85;\n t['napostrophe'] = 0x0149;\n t['nasquare'] = 0x3381;\n t['nbopomofo'] = 0x310B;\n t['nbspace'] = 0x00A0;\n t['ncaron'] = 0x0148;\n t['ncedilla'] = 0x0146;\n t['ncircle'] = 0x24DD;\n t['ncircumflexbelow'] = 0x1E4B;\n t['ncommaaccent'] = 0x0146;\n t['ndotaccent'] = 0x1E45;\n t['ndotbelow'] = 0x1E47;\n t['nehiragana'] = 0x306D;\n t['nekatakana'] = 0x30CD;\n t['nekatakanahalfwidth'] = 0xFF88;\n t['newsheqelsign'] = 0x20AA;\n t['nfsquare'] = 0x338B;\n t['ngabengali'] = 0x0999;\n t['ngadeva'] = 0x0919;\n t['ngagujarati'] = 0x0A99;\n t['ngagurmukhi'] = 0x0A19;\n t['ngonguthai'] = 0x0E07;\n t['nhiragana'] = 0x3093;\n t['nhookleft'] = 0x0272;\n t['nhookretroflex'] = 0x0273;\n t['nieunacirclekorean'] = 0x326F;\n t['nieunaparenkorean'] = 0x320F;\n t['nieuncieuckorean'] = 0x3135;\n t['nieuncirclekorean'] = 0x3261;\n t['nieunhieuhkorean'] = 0x3136;\n t['nieunkorean'] = 0x3134;\n t['nieunpansioskorean'] = 0x3168;\n t['nieunparenkorean'] = 0x3201;\n t['nieunsioskorean'] = 0x3167;\n t['nieuntikeutkorean'] = 0x3166;\n t['nihiragana'] = 0x306B;\n t['nikatakana'] = 0x30CB;\n t['nikatakanahalfwidth'] = 0xFF86;\n t['nikhahitleftthai'] = 0xF899;\n t['nikhahitthai'] = 0x0E4D;\n t['nine'] = 0x0039;\n t['ninearabic'] = 0x0669;\n t['ninebengali'] = 0x09EF;\n t['ninecircle'] = 0x2468;\n t['ninecircleinversesansserif'] = 0x2792;\n t['ninedeva'] = 0x096F;\n t['ninegujarati'] = 0x0AEF;\n t['ninegurmukhi'] = 0x0A6F;\n t['ninehackarabic'] = 0x0669;\n t['ninehangzhou'] = 0x3029;\n t['nineideographicparen'] = 0x3228;\n t['nineinferior'] = 0x2089;\n t['ninemonospace'] = 0xFF19;\n t['nineoldstyle'] = 0xF739;\n t['nineparen'] = 0x247C;\n t['nineperiod'] = 0x2490;\n t['ninepersian'] = 0x06F9;\n t['nineroman'] = 0x2178;\n t['ninesuperior'] = 0x2079;\n t['nineteencircle'] = 0x2472;\n t['nineteenparen'] = 0x2486;\n t['nineteenperiod'] = 0x249A;\n t['ninethai'] = 0x0E59;\n t['nj'] = 0x01CC;\n t['njecyrillic'] = 0x045A;\n t['nkatakana'] = 0x30F3;\n t['nkatakanahalfwidth'] = 0xFF9D;\n t['nlegrightlong'] = 0x019E;\n t['nlinebelow'] = 0x1E49;\n t['nmonospace'] = 0xFF4E;\n t['nmsquare'] = 0x339A;\n t['nnabengali'] = 0x09A3;\n t['nnadeva'] = 0x0923;\n t['nnagujarati'] = 0x0AA3;\n t['nnagurmukhi'] = 0x0A23;\n t['nnnadeva'] = 0x0929;\n t['nohiragana'] = 0x306E;\n t['nokatakana'] = 0x30CE;\n t['nokatakanahalfwidth'] = 0xFF89;\n t['nonbreakingspace'] = 0x00A0;\n t['nonenthai'] = 0x0E13;\n t['nonuthai'] = 0x0E19;\n t['noonarabic'] = 0x0646;\n t['noonfinalarabic'] = 0xFEE6;\n t['noonghunnaarabic'] = 0x06BA;\n t['noonghunnafinalarabic'] = 0xFB9F;\n t['nooninitialarabic'] = 0xFEE7;\n t['noonjeeminitialarabic'] = 0xFCD2;\n t['noonjeemisolatedarabic'] = 0xFC4B;\n t['noonmedialarabic'] = 0xFEE8;\n t['noonmeeminitialarabic'] = 0xFCD5;\n t['noonmeemisolatedarabic'] = 0xFC4E;\n t['noonnoonfinalarabic'] = 0xFC8D;\n t['notcontains'] = 0x220C;\n t['notelement'] = 0x2209;\n t['notelementof'] = 0x2209;\n t['notequal'] = 0x2260;\n t['notgreater'] = 0x226F;\n t['notgreaternorequal'] = 0x2271;\n t['notgreaternorless'] = 0x2279;\n t['notidentical'] = 0x2262;\n t['notless'] = 0x226E;\n t['notlessnorequal'] = 0x2270;\n t['notparallel'] = 0x2226;\n t['notprecedes'] = 0x2280;\n t['notsubset'] = 0x2284;\n t['notsucceeds'] = 0x2281;\n t['notsuperset'] = 0x2285;\n t['nowarmenian'] = 0x0576;\n t['nparen'] = 0x24A9;\n t['nssquare'] = 0x33B1;\n t['nsuperior'] = 0x207F;\n t['ntilde'] = 0x00F1;\n t['nu'] = 0x03BD;\n t['nuhiragana'] = 0x306C;\n t['nukatakana'] = 0x30CC;\n t['nukatakanahalfwidth'] = 0xFF87;\n t['nuktabengali'] = 0x09BC;\n t['nuktadeva'] = 0x093C;\n t['nuktagujarati'] = 0x0ABC;\n t['nuktagurmukhi'] = 0x0A3C;\n t['numbersign'] = 0x0023;\n t['numbersignmonospace'] = 0xFF03;\n t['numbersignsmall'] = 0xFE5F;\n t['numeralsigngreek'] = 0x0374;\n t['numeralsignlowergreek'] = 0x0375;\n t['numero'] = 0x2116;\n t['nun'] = 0x05E0;\n t['nundagesh'] = 0xFB40;\n t['nundageshhebrew'] = 0xFB40;\n t['nunhebrew'] = 0x05E0;\n t['nvsquare'] = 0x33B5;\n t['nwsquare'] = 0x33BB;\n t['nyabengali'] = 0x099E;\n t['nyadeva'] = 0x091E;\n t['nyagujarati'] = 0x0A9E;\n t['nyagurmukhi'] = 0x0A1E;\n t['o'] = 0x006F;\n t['oacute'] = 0x00F3;\n t['oangthai'] = 0x0E2D;\n t['obarred'] = 0x0275;\n t['obarredcyrillic'] = 0x04E9;\n t['obarreddieresiscyrillic'] = 0x04EB;\n t['obengali'] = 0x0993;\n t['obopomofo'] = 0x311B;\n t['obreve'] = 0x014F;\n t['ocandradeva'] = 0x0911;\n t['ocandragujarati'] = 0x0A91;\n t['ocandravowelsigndeva'] = 0x0949;\n t['ocandravowelsigngujarati'] = 0x0AC9;\n t['ocaron'] = 0x01D2;\n t['ocircle'] = 0x24DE;\n t['ocircumflex'] = 0x00F4;\n t['ocircumflexacute'] = 0x1ED1;\n t['ocircumflexdotbelow'] = 0x1ED9;\n t['ocircumflexgrave'] = 0x1ED3;\n t['ocircumflexhookabove'] = 0x1ED5;\n t['ocircumflextilde'] = 0x1ED7;\n t['ocyrillic'] = 0x043E;\n t['odblacute'] = 0x0151;\n t['odblgrave'] = 0x020D;\n t['odeva'] = 0x0913;\n t['odieresis'] = 0x00F6;\n t['odieresiscyrillic'] = 0x04E7;\n t['odotbelow'] = 0x1ECD;\n t['oe'] = 0x0153;\n t['oekorean'] = 0x315A;\n t['ogonek'] = 0x02DB;\n t['ogonekcmb'] = 0x0328;\n t['ograve'] = 0x00F2;\n t['ogujarati'] = 0x0A93;\n t['oharmenian'] = 0x0585;\n t['ohiragana'] = 0x304A;\n t['ohookabove'] = 0x1ECF;\n t['ohorn'] = 0x01A1;\n t['ohornacute'] = 0x1EDB;\n t['ohorndotbelow'] = 0x1EE3;\n t['ohorngrave'] = 0x1EDD;\n t['ohornhookabove'] = 0x1EDF;\n t['ohorntilde'] = 0x1EE1;\n t['ohungarumlaut'] = 0x0151;\n t['oi'] = 0x01A3;\n t['oinvertedbreve'] = 0x020F;\n t['okatakana'] = 0x30AA;\n t['okatakanahalfwidth'] = 0xFF75;\n t['okorean'] = 0x3157;\n t['olehebrew'] = 0x05AB;\n t['omacron'] = 0x014D;\n t['omacronacute'] = 0x1E53;\n t['omacrongrave'] = 0x1E51;\n t['omdeva'] = 0x0950;\n t['omega'] = 0x03C9;\n t['omega1'] = 0x03D6;\n t['omegacyrillic'] = 0x0461;\n t['omegalatinclosed'] = 0x0277;\n t['omegaroundcyrillic'] = 0x047B;\n t['omegatitlocyrillic'] = 0x047D;\n t['omegatonos'] = 0x03CE;\n t['omgujarati'] = 0x0AD0;\n t['omicron'] = 0x03BF;\n t['omicrontonos'] = 0x03CC;\n t['omonospace'] = 0xFF4F;\n t['one'] = 0x0031;\n t['onearabic'] = 0x0661;\n t['onebengali'] = 0x09E7;\n t['onecircle'] = 0x2460;\n t['onecircleinversesansserif'] = 0x278A;\n t['onedeva'] = 0x0967;\n t['onedotenleader'] = 0x2024;\n t['oneeighth'] = 0x215B;\n t['onefitted'] = 0xF6DC;\n t['onegujarati'] = 0x0AE7;\n t['onegurmukhi'] = 0x0A67;\n t['onehackarabic'] = 0x0661;\n t['onehalf'] = 0x00BD;\n t['onehangzhou'] = 0x3021;\n t['oneideographicparen'] = 0x3220;\n t['oneinferior'] = 0x2081;\n t['onemonospace'] = 0xFF11;\n t['onenumeratorbengali'] = 0x09F4;\n t['oneoldstyle'] = 0xF731;\n t['oneparen'] = 0x2474;\n t['oneperiod'] = 0x2488;\n t['onepersian'] = 0x06F1;\n t['onequarter'] = 0x00BC;\n t['oneroman'] = 0x2170;\n t['onesuperior'] = 0x00B9;\n t['onethai'] = 0x0E51;\n t['onethird'] = 0x2153;\n t['oogonek'] = 0x01EB;\n t['oogonekmacron'] = 0x01ED;\n t['oogurmukhi'] = 0x0A13;\n t['oomatragurmukhi'] = 0x0A4B;\n t['oopen'] = 0x0254;\n t['oparen'] = 0x24AA;\n t['openbullet'] = 0x25E6;\n t['option'] = 0x2325;\n t['ordfeminine'] = 0x00AA;\n t['ordmasculine'] = 0x00BA;\n t['orthogonal'] = 0x221F;\n t['oshortdeva'] = 0x0912;\n t['oshortvowelsigndeva'] = 0x094A;\n t['oslash'] = 0x00F8;\n t['oslashacute'] = 0x01FF;\n t['osmallhiragana'] = 0x3049;\n t['osmallkatakana'] = 0x30A9;\n t['osmallkatakanahalfwidth'] = 0xFF6B;\n t['ostrokeacute'] = 0x01FF;\n t['osuperior'] = 0xF6F0;\n t['otcyrillic'] = 0x047F;\n t['otilde'] = 0x00F5;\n t['otildeacute'] = 0x1E4D;\n t['otildedieresis'] = 0x1E4F;\n t['oubopomofo'] = 0x3121;\n t['overline'] = 0x203E;\n t['overlinecenterline'] = 0xFE4A;\n t['overlinecmb'] = 0x0305;\n t['overlinedashed'] = 0xFE49;\n t['overlinedblwavy'] = 0xFE4C;\n t['overlinewavy'] = 0xFE4B;\n t['overscore'] = 0x00AF;\n t['ovowelsignbengali'] = 0x09CB;\n t['ovowelsigndeva'] = 0x094B;\n t['ovowelsigngujarati'] = 0x0ACB;\n t['p'] = 0x0070;\n t['paampssquare'] = 0x3380;\n t['paasentosquare'] = 0x332B;\n t['pabengali'] = 0x09AA;\n t['pacute'] = 0x1E55;\n t['padeva'] = 0x092A;\n t['pagedown'] = 0x21DF;\n t['pageup'] = 0x21DE;\n t['pagujarati'] = 0x0AAA;\n t['pagurmukhi'] = 0x0A2A;\n t['pahiragana'] = 0x3071;\n t['paiyannoithai'] = 0x0E2F;\n t['pakatakana'] = 0x30D1;\n t['palatalizationcyrilliccmb'] = 0x0484;\n t['palochkacyrillic'] = 0x04C0;\n t['pansioskorean'] = 0x317F;\n t['paragraph'] = 0x00B6;\n t['parallel'] = 0x2225;\n t['parenleft'] = 0x0028;\n t['parenleftaltonearabic'] = 0xFD3E;\n t['parenleftbt'] = 0xF8ED;\n t['parenleftex'] = 0xF8EC;\n t['parenleftinferior'] = 0x208D;\n t['parenleftmonospace'] = 0xFF08;\n t['parenleftsmall'] = 0xFE59;\n t['parenleftsuperior'] = 0x207D;\n t['parenlefttp'] = 0xF8EB;\n t['parenleftvertical'] = 0xFE35;\n t['parenright'] = 0x0029;\n t['parenrightaltonearabic'] = 0xFD3F;\n t['parenrightbt'] = 0xF8F8;\n t['parenrightex'] = 0xF8F7;\n t['parenrightinferior'] = 0x208E;\n t['parenrightmonospace'] = 0xFF09;\n t['parenrightsmall'] = 0xFE5A;\n t['parenrightsuperior'] = 0x207E;\n t['parenrighttp'] = 0xF8F6;\n t['parenrightvertical'] = 0xFE36;\n t['partialdiff'] = 0x2202;\n t['paseqhebrew'] = 0x05C0;\n t['pashtahebrew'] = 0x0599;\n t['pasquare'] = 0x33A9;\n t['patah'] = 0x05B7;\n t['patah11'] = 0x05B7;\n t['patah1d'] = 0x05B7;\n t['patah2a'] = 0x05B7;\n t['patahhebrew'] = 0x05B7;\n t['patahnarrowhebrew'] = 0x05B7;\n t['patahquarterhebrew'] = 0x05B7;\n t['patahwidehebrew'] = 0x05B7;\n t['pazerhebrew'] = 0x05A1;\n t['pbopomofo'] = 0x3106;\n t['pcircle'] = 0x24DF;\n t['pdotaccent'] = 0x1E57;\n t['pe'] = 0x05E4;\n t['pecyrillic'] = 0x043F;\n t['pedagesh'] = 0xFB44;\n t['pedageshhebrew'] = 0xFB44;\n t['peezisquare'] = 0x333B;\n t['pefinaldageshhebrew'] = 0xFB43;\n t['peharabic'] = 0x067E;\n t['peharmenian'] = 0x057A;\n t['pehebrew'] = 0x05E4;\n t['pehfinalarabic'] = 0xFB57;\n t['pehinitialarabic'] = 0xFB58;\n t['pehiragana'] = 0x307A;\n t['pehmedialarabic'] = 0xFB59;\n t['pekatakana'] = 0x30DA;\n t['pemiddlehookcyrillic'] = 0x04A7;\n t['perafehebrew'] = 0xFB4E;\n t['percent'] = 0x0025;\n t['percentarabic'] = 0x066A;\n t['percentmonospace'] = 0xFF05;\n t['percentsmall'] = 0xFE6A;\n t['period'] = 0x002E;\n t['periodarmenian'] = 0x0589;\n t['periodcentered'] = 0x00B7;\n t['periodhalfwidth'] = 0xFF61;\n t['periodinferior'] = 0xF6E7;\n t['periodmonospace'] = 0xFF0E;\n t['periodsmall'] = 0xFE52;\n t['periodsuperior'] = 0xF6E8;\n t['perispomenigreekcmb'] = 0x0342;\n t['perpendicular'] = 0x22A5;\n t['perthousand'] = 0x2030;\n t['peseta'] = 0x20A7;\n t['pfsquare'] = 0x338A;\n t['phabengali'] = 0x09AB;\n t['phadeva'] = 0x092B;\n t['phagujarati'] = 0x0AAB;\n t['phagurmukhi'] = 0x0A2B;\n t['phi'] = 0x03C6;\n t['phi1'] = 0x03D5;\n t['phieuphacirclekorean'] = 0x327A;\n t['phieuphaparenkorean'] = 0x321A;\n t['phieuphcirclekorean'] = 0x326C;\n t['phieuphkorean'] = 0x314D;\n t['phieuphparenkorean'] = 0x320C;\n t['philatin'] = 0x0278;\n t['phinthuthai'] = 0x0E3A;\n t['phisymbolgreek'] = 0x03D5;\n t['phook'] = 0x01A5;\n t['phophanthai'] = 0x0E1E;\n t['phophungthai'] = 0x0E1C;\n t['phosamphaothai'] = 0x0E20;\n t['pi'] = 0x03C0;\n t['pieupacirclekorean'] = 0x3273;\n t['pieupaparenkorean'] = 0x3213;\n t['pieupcieuckorean'] = 0x3176;\n t['pieupcirclekorean'] = 0x3265;\n t['pieupkiyeokkorean'] = 0x3172;\n t['pieupkorean'] = 0x3142;\n t['pieupparenkorean'] = 0x3205;\n t['pieupsioskiyeokkorean'] = 0x3174;\n t['pieupsioskorean'] = 0x3144;\n t['pieupsiostikeutkorean'] = 0x3175;\n t['pieupthieuthkorean'] = 0x3177;\n t['pieuptikeutkorean'] = 0x3173;\n t['pihiragana'] = 0x3074;\n t['pikatakana'] = 0x30D4;\n t['pisymbolgreek'] = 0x03D6;\n t['piwrarmenian'] = 0x0583;\n t['plus'] = 0x002B;\n t['plusbelowcmb'] = 0x031F;\n t['pluscircle'] = 0x2295;\n t['plusminus'] = 0x00B1;\n t['plusmod'] = 0x02D6;\n t['plusmonospace'] = 0xFF0B;\n t['plussmall'] = 0xFE62;\n t['plussuperior'] = 0x207A;\n t['pmonospace'] = 0xFF50;\n t['pmsquare'] = 0x33D8;\n t['pohiragana'] = 0x307D;\n t['pointingindexdownwhite'] = 0x261F;\n t['pointingindexleftwhite'] = 0x261C;\n t['pointingindexrightwhite'] = 0x261E;\n t['pointingindexupwhite'] = 0x261D;\n t['pokatakana'] = 0x30DD;\n t['poplathai'] = 0x0E1B;\n t['postalmark'] = 0x3012;\n t['postalmarkface'] = 0x3020;\n t['pparen'] = 0x24AB;\n t['precedes'] = 0x227A;\n t['prescription'] = 0x211E;\n t['primemod'] = 0x02B9;\n t['primereversed'] = 0x2035;\n t['product'] = 0x220F;\n t['projective'] = 0x2305;\n t['prolongedkana'] = 0x30FC;\n t['propellor'] = 0x2318;\n t['propersubset'] = 0x2282;\n t['propersuperset'] = 0x2283;\n t['proportion'] = 0x2237;\n t['proportional'] = 0x221D;\n t['psi'] = 0x03C8;\n t['psicyrillic'] = 0x0471;\n t['psilipneumatacyrilliccmb'] = 0x0486;\n t['pssquare'] = 0x33B0;\n t['puhiragana'] = 0x3077;\n t['pukatakana'] = 0x30D7;\n t['pvsquare'] = 0x33B4;\n t['pwsquare'] = 0x33BA;\n t['q'] = 0x0071;\n t['qadeva'] = 0x0958;\n t['qadmahebrew'] = 0x05A8;\n t['qafarabic'] = 0x0642;\n t['qaffinalarabic'] = 0xFED6;\n t['qafinitialarabic'] = 0xFED7;\n t['qafmedialarabic'] = 0xFED8;\n t['qamats'] = 0x05B8;\n t['qamats10'] = 0x05B8;\n t['qamats1a'] = 0x05B8;\n t['qamats1c'] = 0x05B8;\n t['qamats27'] = 0x05B8;\n t['qamats29'] = 0x05B8;\n t['qamats33'] = 0x05B8;\n t['qamatsde'] = 0x05B8;\n t['qamatshebrew'] = 0x05B8;\n t['qamatsnarrowhebrew'] = 0x05B8;\n t['qamatsqatanhebrew'] = 0x05B8;\n t['qamatsqatannarrowhebrew'] = 0x05B8;\n t['qamatsqatanquarterhebrew'] = 0x05B8;\n t['qamatsqatanwidehebrew'] = 0x05B8;\n t['qamatsquarterhebrew'] = 0x05B8;\n t['qamatswidehebrew'] = 0x05B8;\n t['qarneyparahebrew'] = 0x059F;\n t['qbopomofo'] = 0x3111;\n t['qcircle'] = 0x24E0;\n t['qhook'] = 0x02A0;\n t['qmonospace'] = 0xFF51;\n t['qof'] = 0x05E7;\n t['qofdagesh'] = 0xFB47;\n t['qofdageshhebrew'] = 0xFB47;\n t['qofhebrew'] = 0x05E7;\n t['qparen'] = 0x24AC;\n t['quarternote'] = 0x2669;\n t['qubuts'] = 0x05BB;\n t['qubuts18'] = 0x05BB;\n t['qubuts25'] = 0x05BB;\n t['qubuts31'] = 0x05BB;\n t['qubutshebrew'] = 0x05BB;\n t['qubutsnarrowhebrew'] = 0x05BB;\n t['qubutsquarterhebrew'] = 0x05BB;\n t['qubutswidehebrew'] = 0x05BB;\n t['question'] = 0x003F;\n t['questionarabic'] = 0x061F;\n t['questionarmenian'] = 0x055E;\n t['questiondown'] = 0x00BF;\n t['questiondownsmall'] = 0xF7BF;\n t['questiongreek'] = 0x037E;\n t['questionmonospace'] = 0xFF1F;\n t['questionsmall'] = 0xF73F;\n t['quotedbl'] = 0x0022;\n t['quotedblbase'] = 0x201E;\n t['quotedblleft'] = 0x201C;\n t['quotedblmonospace'] = 0xFF02;\n t['quotedblprime'] = 0x301E;\n t['quotedblprimereversed'] = 0x301D;\n t['quotedblright'] = 0x201D;\n t['quoteleft'] = 0x2018;\n t['quoteleftreversed'] = 0x201B;\n t['quotereversed'] = 0x201B;\n t['quoteright'] = 0x2019;\n t['quoterightn'] = 0x0149;\n t['quotesinglbase'] = 0x201A;\n t['quotesingle'] = 0x0027;\n t['quotesinglemonospace'] = 0xFF07;\n t['r'] = 0x0072;\n t['raarmenian'] = 0x057C;\n t['rabengali'] = 0x09B0;\n t['racute'] = 0x0155;\n t['radeva'] = 0x0930;\n t['radical'] = 0x221A;\n t['radicalex'] = 0xF8E5;\n t['radoverssquare'] = 0x33AE;\n t['radoverssquaredsquare'] = 0x33AF;\n t['radsquare'] = 0x33AD;\n t['rafe'] = 0x05BF;\n t['rafehebrew'] = 0x05BF;\n t['ragujarati'] = 0x0AB0;\n t['ragurmukhi'] = 0x0A30;\n t['rahiragana'] = 0x3089;\n t['rakatakana'] = 0x30E9;\n t['rakatakanahalfwidth'] = 0xFF97;\n t['ralowerdiagonalbengali'] = 0x09F1;\n t['ramiddlediagonalbengali'] = 0x09F0;\n t['ramshorn'] = 0x0264;\n t['ratio'] = 0x2236;\n t['rbopomofo'] = 0x3116;\n t['rcaron'] = 0x0159;\n t['rcedilla'] = 0x0157;\n t['rcircle'] = 0x24E1;\n t['rcommaaccent'] = 0x0157;\n t['rdblgrave'] = 0x0211;\n t['rdotaccent'] = 0x1E59;\n t['rdotbelow'] = 0x1E5B;\n t['rdotbelowmacron'] = 0x1E5D;\n t['referencemark'] = 0x203B;\n t['reflexsubset'] = 0x2286;\n t['reflexsuperset'] = 0x2287;\n t['registered'] = 0x00AE;\n t['registersans'] = 0xF8E8;\n t['registerserif'] = 0xF6DA;\n t['reharabic'] = 0x0631;\n t['reharmenian'] = 0x0580;\n t['rehfinalarabic'] = 0xFEAE;\n t['rehiragana'] = 0x308C;\n t['rekatakana'] = 0x30EC;\n t['rekatakanahalfwidth'] = 0xFF9A;\n t['resh'] = 0x05E8;\n t['reshdageshhebrew'] = 0xFB48;\n t['reshhebrew'] = 0x05E8;\n t['reversedtilde'] = 0x223D;\n t['reviahebrew'] = 0x0597;\n t['reviamugrashhebrew'] = 0x0597;\n t['revlogicalnot'] = 0x2310;\n t['rfishhook'] = 0x027E;\n t['rfishhookreversed'] = 0x027F;\n t['rhabengali'] = 0x09DD;\n t['rhadeva'] = 0x095D;\n t['rho'] = 0x03C1;\n t['rhook'] = 0x027D;\n t['rhookturned'] = 0x027B;\n t['rhookturnedsuperior'] = 0x02B5;\n t['rhosymbolgreek'] = 0x03F1;\n t['rhotichookmod'] = 0x02DE;\n t['rieulacirclekorean'] = 0x3271;\n t['rieulaparenkorean'] = 0x3211;\n t['rieulcirclekorean'] = 0x3263;\n t['rieulhieuhkorean'] = 0x3140;\n t['rieulkiyeokkorean'] = 0x313A;\n t['rieulkiyeoksioskorean'] = 0x3169;\n t['rieulkorean'] = 0x3139;\n t['rieulmieumkorean'] = 0x313B;\n t['rieulpansioskorean'] = 0x316C;\n t['rieulparenkorean'] = 0x3203;\n t['rieulphieuphkorean'] = 0x313F;\n t['rieulpieupkorean'] = 0x313C;\n t['rieulpieupsioskorean'] = 0x316B;\n t['rieulsioskorean'] = 0x313D;\n t['rieulthieuthkorean'] = 0x313E;\n t['rieultikeutkorean'] = 0x316A;\n t['rieulyeorinhieuhkorean'] = 0x316D;\n t['rightangle'] = 0x221F;\n t['righttackbelowcmb'] = 0x0319;\n t['righttriangle'] = 0x22BF;\n t['rihiragana'] = 0x308A;\n t['rikatakana'] = 0x30EA;\n t['rikatakanahalfwidth'] = 0xFF98;\n t['ring'] = 0x02DA;\n t['ringbelowcmb'] = 0x0325;\n t['ringcmb'] = 0x030A;\n t['ringhalfleft'] = 0x02BF;\n t['ringhalfleftarmenian'] = 0x0559;\n t['ringhalfleftbelowcmb'] = 0x031C;\n t['ringhalfleftcentered'] = 0x02D3;\n t['ringhalfright'] = 0x02BE;\n t['ringhalfrightbelowcmb'] = 0x0339;\n t['ringhalfrightcentered'] = 0x02D2;\n t['rinvertedbreve'] = 0x0213;\n t['rittorusquare'] = 0x3351;\n t['rlinebelow'] = 0x1E5F;\n t['rlongleg'] = 0x027C;\n t['rlonglegturned'] = 0x027A;\n t['rmonospace'] = 0xFF52;\n t['rohiragana'] = 0x308D;\n t['rokatakana'] = 0x30ED;\n t['rokatakanahalfwidth'] = 0xFF9B;\n t['roruathai'] = 0x0E23;\n t['rparen'] = 0x24AD;\n t['rrabengali'] = 0x09DC;\n t['rradeva'] = 0x0931;\n t['rragurmukhi'] = 0x0A5C;\n t['rreharabic'] = 0x0691;\n t['rrehfinalarabic'] = 0xFB8D;\n t['rrvocalicbengali'] = 0x09E0;\n t['rrvocalicdeva'] = 0x0960;\n t['rrvocalicgujarati'] = 0x0AE0;\n t['rrvocalicvowelsignbengali'] = 0x09C4;\n t['rrvocalicvowelsigndeva'] = 0x0944;\n t['rrvocalicvowelsigngujarati'] = 0x0AC4;\n t['rsuperior'] = 0xF6F1;\n t['rtblock'] = 0x2590;\n t['rturned'] = 0x0279;\n t['rturnedsuperior'] = 0x02B4;\n t['ruhiragana'] = 0x308B;\n t['rukatakana'] = 0x30EB;\n t['rukatakanahalfwidth'] = 0xFF99;\n t['rupeemarkbengali'] = 0x09F2;\n t['rupeesignbengali'] = 0x09F3;\n t['rupiah'] = 0xF6DD;\n t['ruthai'] = 0x0E24;\n t['rvocalicbengali'] = 0x098B;\n t['rvocalicdeva'] = 0x090B;\n t['rvocalicgujarati'] = 0x0A8B;\n t['rvocalicvowelsignbengali'] = 0x09C3;\n t['rvocalicvowelsigndeva'] = 0x0943;\n t['rvocalicvowelsigngujarati'] = 0x0AC3;\n t['s'] = 0x0073;\n t['sabengali'] = 0x09B8;\n t['sacute'] = 0x015B;\n t['sacutedotaccent'] = 0x1E65;\n t['sadarabic'] = 0x0635;\n t['sadeva'] = 0x0938;\n t['sadfinalarabic'] = 0xFEBA;\n t['sadinitialarabic'] = 0xFEBB;\n t['sadmedialarabic'] = 0xFEBC;\n t['sagujarati'] = 0x0AB8;\n t['sagurmukhi'] = 0x0A38;\n t['sahiragana'] = 0x3055;\n t['sakatakana'] = 0x30B5;\n t['sakatakanahalfwidth'] = 0xFF7B;\n t['sallallahoualayhewasallamarabic'] = 0xFDFA;\n t['samekh'] = 0x05E1;\n t['samekhdagesh'] = 0xFB41;\n t['samekhdageshhebrew'] = 0xFB41;\n t['samekhhebrew'] = 0x05E1;\n t['saraaathai'] = 0x0E32;\n t['saraaethai'] = 0x0E41;\n t['saraaimaimalaithai'] = 0x0E44;\n t['saraaimaimuanthai'] = 0x0E43;\n t['saraamthai'] = 0x0E33;\n t['saraathai'] = 0x0E30;\n t['saraethai'] = 0x0E40;\n t['saraiileftthai'] = 0xF886;\n t['saraiithai'] = 0x0E35;\n t['saraileftthai'] = 0xF885;\n t['saraithai'] = 0x0E34;\n t['saraothai'] = 0x0E42;\n t['saraueeleftthai'] = 0xF888;\n t['saraueethai'] = 0x0E37;\n t['saraueleftthai'] = 0xF887;\n t['sarauethai'] = 0x0E36;\n t['sarauthai'] = 0x0E38;\n t['sarauuthai'] = 0x0E39;\n t['sbopomofo'] = 0x3119;\n t['scaron'] = 0x0161;\n t['scarondotaccent'] = 0x1E67;\n t['scedilla'] = 0x015F;\n t['schwa'] = 0x0259;\n t['schwacyrillic'] = 0x04D9;\n t['schwadieresiscyrillic'] = 0x04DB;\n t['schwahook'] = 0x025A;\n t['scircle'] = 0x24E2;\n t['scircumflex'] = 0x015D;\n t['scommaaccent'] = 0x0219;\n t['sdotaccent'] = 0x1E61;\n t['sdotbelow'] = 0x1E63;\n t['sdotbelowdotaccent'] = 0x1E69;\n t['seagullbelowcmb'] = 0x033C;\n t['second'] = 0x2033;\n t['secondtonechinese'] = 0x02CA;\n t['section'] = 0x00A7;\n t['seenarabic'] = 0x0633;\n t['seenfinalarabic'] = 0xFEB2;\n t['seeninitialarabic'] = 0xFEB3;\n t['seenmedialarabic'] = 0xFEB4;\n t['segol'] = 0x05B6;\n t['segol13'] = 0x05B6;\n t['segol1f'] = 0x05B6;\n t['segol2c'] = 0x05B6;\n t['segolhebrew'] = 0x05B6;\n t['segolnarrowhebrew'] = 0x05B6;\n t['segolquarterhebrew'] = 0x05B6;\n t['segoltahebrew'] = 0x0592;\n t['segolwidehebrew'] = 0x05B6;\n t['seharmenian'] = 0x057D;\n t['sehiragana'] = 0x305B;\n t['sekatakana'] = 0x30BB;\n t['sekatakanahalfwidth'] = 0xFF7E;\n t['semicolon'] = 0x003B;\n t['semicolonarabic'] = 0x061B;\n t['semicolonmonospace'] = 0xFF1B;\n t['semicolonsmall'] = 0xFE54;\n t['semivoicedmarkkana'] = 0x309C;\n t['semivoicedmarkkanahalfwidth'] = 0xFF9F;\n t['sentisquare'] = 0x3322;\n t['sentosquare'] = 0x3323;\n t['seven'] = 0x0037;\n t['sevenarabic'] = 0x0667;\n t['sevenbengali'] = 0x09ED;\n t['sevencircle'] = 0x2466;\n t['sevencircleinversesansserif'] = 0x2790;\n t['sevendeva'] = 0x096D;\n t['seveneighths'] = 0x215E;\n t['sevengujarati'] = 0x0AED;\n t['sevengurmukhi'] = 0x0A6D;\n t['sevenhackarabic'] = 0x0667;\n t['sevenhangzhou'] = 0x3027;\n t['sevenideographicparen'] = 0x3226;\n t['seveninferior'] = 0x2087;\n t['sevenmonospace'] = 0xFF17;\n t['sevenoldstyle'] = 0xF737;\n t['sevenparen'] = 0x247A;\n t['sevenperiod'] = 0x248E;\n t['sevenpersian'] = 0x06F7;\n t['sevenroman'] = 0x2176;\n t['sevensuperior'] = 0x2077;\n t['seventeencircle'] = 0x2470;\n t['seventeenparen'] = 0x2484;\n t['seventeenperiod'] = 0x2498;\n t['seventhai'] = 0x0E57;\n t['sfthyphen'] = 0x00AD;\n t['shaarmenian'] = 0x0577;\n t['shabengali'] = 0x09B6;\n t['shacyrillic'] = 0x0448;\n t['shaddaarabic'] = 0x0651;\n t['shaddadammaarabic'] = 0xFC61;\n t['shaddadammatanarabic'] = 0xFC5E;\n t['shaddafathaarabic'] = 0xFC60;\n t['shaddakasraarabic'] = 0xFC62;\n t['shaddakasratanarabic'] = 0xFC5F;\n t['shade'] = 0x2592;\n t['shadedark'] = 0x2593;\n t['shadelight'] = 0x2591;\n t['shademedium'] = 0x2592;\n t['shadeva'] = 0x0936;\n t['shagujarati'] = 0x0AB6;\n t['shagurmukhi'] = 0x0A36;\n t['shalshelethebrew'] = 0x0593;\n t['shbopomofo'] = 0x3115;\n t['shchacyrillic'] = 0x0449;\n t['sheenarabic'] = 0x0634;\n t['sheenfinalarabic'] = 0xFEB6;\n t['sheeninitialarabic'] = 0xFEB7;\n t['sheenmedialarabic'] = 0xFEB8;\n t['sheicoptic'] = 0x03E3;\n t['sheqel'] = 0x20AA;\n t['sheqelhebrew'] = 0x20AA;\n t['sheva'] = 0x05B0;\n t['sheva115'] = 0x05B0;\n t['sheva15'] = 0x05B0;\n t['sheva22'] = 0x05B0;\n t['sheva2e'] = 0x05B0;\n t['shevahebrew'] = 0x05B0;\n t['shevanarrowhebrew'] = 0x05B0;\n t['shevaquarterhebrew'] = 0x05B0;\n t['shevawidehebrew'] = 0x05B0;\n t['shhacyrillic'] = 0x04BB;\n t['shimacoptic'] = 0x03ED;\n t['shin'] = 0x05E9;\n t['shindagesh'] = 0xFB49;\n t['shindageshhebrew'] = 0xFB49;\n t['shindageshshindot'] = 0xFB2C;\n t['shindageshshindothebrew'] = 0xFB2C;\n t['shindageshsindot'] = 0xFB2D;\n t['shindageshsindothebrew'] = 0xFB2D;\n t['shindothebrew'] = 0x05C1;\n t['shinhebrew'] = 0x05E9;\n t['shinshindot'] = 0xFB2A;\n t['shinshindothebrew'] = 0xFB2A;\n t['shinsindot'] = 0xFB2B;\n t['shinsindothebrew'] = 0xFB2B;\n t['shook'] = 0x0282;\n t['sigma'] = 0x03C3;\n t['sigma1'] = 0x03C2;\n t['sigmafinal'] = 0x03C2;\n t['sigmalunatesymbolgreek'] = 0x03F2;\n t['sihiragana'] = 0x3057;\n t['sikatakana'] = 0x30B7;\n t['sikatakanahalfwidth'] = 0xFF7C;\n t['siluqhebrew'] = 0x05BD;\n t['siluqlefthebrew'] = 0x05BD;\n t['similar'] = 0x223C;\n t['sindothebrew'] = 0x05C2;\n t['siosacirclekorean'] = 0x3274;\n t['siosaparenkorean'] = 0x3214;\n t['sioscieuckorean'] = 0x317E;\n t['sioscirclekorean'] = 0x3266;\n t['sioskiyeokkorean'] = 0x317A;\n t['sioskorean'] = 0x3145;\n t['siosnieunkorean'] = 0x317B;\n t['siosparenkorean'] = 0x3206;\n t['siospieupkorean'] = 0x317D;\n t['siostikeutkorean'] = 0x317C;\n t['six'] = 0x0036;\n t['sixarabic'] = 0x0666;\n t['sixbengali'] = 0x09EC;\n t['sixcircle'] = 0x2465;\n t['sixcircleinversesansserif'] = 0x278F;\n t['sixdeva'] = 0x096C;\n t['sixgujarati'] = 0x0AEC;\n t['sixgurmukhi'] = 0x0A6C;\n t['sixhackarabic'] = 0x0666;\n t['sixhangzhou'] = 0x3026;\n t['sixideographicparen'] = 0x3225;\n t['sixinferior'] = 0x2086;\n t['sixmonospace'] = 0xFF16;\n t['sixoldstyle'] = 0xF736;\n t['sixparen'] = 0x2479;\n t['sixperiod'] = 0x248D;\n t['sixpersian'] = 0x06F6;\n t['sixroman'] = 0x2175;\n t['sixsuperior'] = 0x2076;\n t['sixteencircle'] = 0x246F;\n t['sixteencurrencydenominatorbengali'] = 0x09F9;\n t['sixteenparen'] = 0x2483;\n t['sixteenperiod'] = 0x2497;\n t['sixthai'] = 0x0E56;\n t['slash'] = 0x002F;\n t['slashmonospace'] = 0xFF0F;\n t['slong'] = 0x017F;\n t['slongdotaccent'] = 0x1E9B;\n t['smileface'] = 0x263A;\n t['smonospace'] = 0xFF53;\n t['sofpasuqhebrew'] = 0x05C3;\n t['softhyphen'] = 0x00AD;\n t['softsigncyrillic'] = 0x044C;\n t['sohiragana'] = 0x305D;\n t['sokatakana'] = 0x30BD;\n t['sokatakanahalfwidth'] = 0xFF7F;\n t['soliduslongoverlaycmb'] = 0x0338;\n t['solidusshortoverlaycmb'] = 0x0337;\n t['sorusithai'] = 0x0E29;\n t['sosalathai'] = 0x0E28;\n t['sosothai'] = 0x0E0B;\n t['sosuathai'] = 0x0E2A;\n t['space'] = 0x0020;\n t['spacehackarabic'] = 0x0020;\n t['spade'] = 0x2660;\n t['spadesuitblack'] = 0x2660;\n t['spadesuitwhite'] = 0x2664;\n t['sparen'] = 0x24AE;\n t['squarebelowcmb'] = 0x033B;\n t['squarecc'] = 0x33C4;\n t['squarecm'] = 0x339D;\n t['squarediagonalcrosshatchfill'] = 0x25A9;\n t['squarehorizontalfill'] = 0x25A4;\n t['squarekg'] = 0x338F;\n t['squarekm'] = 0x339E;\n t['squarekmcapital'] = 0x33CE;\n t['squareln'] = 0x33D1;\n t['squarelog'] = 0x33D2;\n t['squaremg'] = 0x338E;\n t['squaremil'] = 0x33D5;\n t['squaremm'] = 0x339C;\n t['squaremsquared'] = 0x33A1;\n t['squareorthogonalcrosshatchfill'] = 0x25A6;\n t['squareupperlefttolowerrightfill'] = 0x25A7;\n t['squareupperrighttolowerleftfill'] = 0x25A8;\n t['squareverticalfill'] = 0x25A5;\n t['squarewhitewithsmallblack'] = 0x25A3;\n t['srsquare'] = 0x33DB;\n t['ssabengali'] = 0x09B7;\n t['ssadeva'] = 0x0937;\n t['ssagujarati'] = 0x0AB7;\n t['ssangcieuckorean'] = 0x3149;\n t['ssanghieuhkorean'] = 0x3185;\n t['ssangieungkorean'] = 0x3180;\n t['ssangkiyeokkorean'] = 0x3132;\n t['ssangnieunkorean'] = 0x3165;\n t['ssangpieupkorean'] = 0x3143;\n t['ssangsioskorean'] = 0x3146;\n t['ssangtikeutkorean'] = 0x3138;\n t['ssuperior'] = 0xF6F2;\n t['sterling'] = 0x00A3;\n t['sterlingmonospace'] = 0xFFE1;\n t['strokelongoverlaycmb'] = 0x0336;\n t['strokeshortoverlaycmb'] = 0x0335;\n t['subset'] = 0x2282;\n t['subsetnotequal'] = 0x228A;\n t['subsetorequal'] = 0x2286;\n t['succeeds'] = 0x227B;\n t['suchthat'] = 0x220B;\n t['suhiragana'] = 0x3059;\n t['sukatakana'] = 0x30B9;\n t['sukatakanahalfwidth'] = 0xFF7D;\n t['sukunarabic'] = 0x0652;\n t['summation'] = 0x2211;\n t['sun'] = 0x263C;\n t['superset'] = 0x2283;\n t['supersetnotequal'] = 0x228B;\n t['supersetorequal'] = 0x2287;\n t['svsquare'] = 0x33DC;\n t['syouwaerasquare'] = 0x337C;\n t['t'] = 0x0074;\n t['tabengali'] = 0x09A4;\n t['tackdown'] = 0x22A4;\n t['tackleft'] = 0x22A3;\n t['tadeva'] = 0x0924;\n t['tagujarati'] = 0x0AA4;\n t['tagurmukhi'] = 0x0A24;\n t['taharabic'] = 0x0637;\n t['tahfinalarabic'] = 0xFEC2;\n t['tahinitialarabic'] = 0xFEC3;\n t['tahiragana'] = 0x305F;\n t['tahmedialarabic'] = 0xFEC4;\n t['taisyouerasquare'] = 0x337D;\n t['takatakana'] = 0x30BF;\n t['takatakanahalfwidth'] = 0xFF80;\n t['tatweelarabic'] = 0x0640;\n t['tau'] = 0x03C4;\n t['tav'] = 0x05EA;\n t['tavdages'] = 0xFB4A;\n t['tavdagesh'] = 0xFB4A;\n t['tavdageshhebrew'] = 0xFB4A;\n t['tavhebrew'] = 0x05EA;\n t['tbar'] = 0x0167;\n t['tbopomofo'] = 0x310A;\n t['tcaron'] = 0x0165;\n t['tccurl'] = 0x02A8;\n t['tcedilla'] = 0x0163;\n t['tcheharabic'] = 0x0686;\n t['tchehfinalarabic'] = 0xFB7B;\n t['tchehinitialarabic'] = 0xFB7C;\n t['tchehmedialarabic'] = 0xFB7D;\n t['tcircle'] = 0x24E3;\n t['tcircumflexbelow'] = 0x1E71;\n t['tcommaaccent'] = 0x0163;\n t['tdieresis'] = 0x1E97;\n t['tdotaccent'] = 0x1E6B;\n t['tdotbelow'] = 0x1E6D;\n t['tecyrillic'] = 0x0442;\n t['tedescendercyrillic'] = 0x04AD;\n t['teharabic'] = 0x062A;\n t['tehfinalarabic'] = 0xFE96;\n t['tehhahinitialarabic'] = 0xFCA2;\n t['tehhahisolatedarabic'] = 0xFC0C;\n t['tehinitialarabic'] = 0xFE97;\n t['tehiragana'] = 0x3066;\n t['tehjeeminitialarabic'] = 0xFCA1;\n t['tehjeemisolatedarabic'] = 0xFC0B;\n t['tehmarbutaarabic'] = 0x0629;\n t['tehmarbutafinalarabic'] = 0xFE94;\n t['tehmedialarabic'] = 0xFE98;\n t['tehmeeminitialarabic'] = 0xFCA4;\n t['tehmeemisolatedarabic'] = 0xFC0E;\n t['tehnoonfinalarabic'] = 0xFC73;\n t['tekatakana'] = 0x30C6;\n t['tekatakanahalfwidth'] = 0xFF83;\n t['telephone'] = 0x2121;\n t['telephoneblack'] = 0x260E;\n t['telishagedolahebrew'] = 0x05A0;\n t['telishaqetanahebrew'] = 0x05A9;\n t['tencircle'] = 0x2469;\n t['tenideographicparen'] = 0x3229;\n t['tenparen'] = 0x247D;\n t['tenperiod'] = 0x2491;\n t['tenroman'] = 0x2179;\n t['tesh'] = 0x02A7;\n t['tet'] = 0x05D8;\n t['tetdagesh'] = 0xFB38;\n t['tetdageshhebrew'] = 0xFB38;\n t['tethebrew'] = 0x05D8;\n t['tetsecyrillic'] = 0x04B5;\n t['tevirhebrew'] = 0x059B;\n t['tevirlefthebrew'] = 0x059B;\n t['thabengali'] = 0x09A5;\n t['thadeva'] = 0x0925;\n t['thagujarati'] = 0x0AA5;\n t['thagurmukhi'] = 0x0A25;\n t['thalarabic'] = 0x0630;\n t['thalfinalarabic'] = 0xFEAC;\n t['thanthakhatlowleftthai'] = 0xF898;\n t['thanthakhatlowrightthai'] = 0xF897;\n t['thanthakhatthai'] = 0x0E4C;\n t['thanthakhatupperleftthai'] = 0xF896;\n t['theharabic'] = 0x062B;\n t['thehfinalarabic'] = 0xFE9A;\n t['thehinitialarabic'] = 0xFE9B;\n t['thehmedialarabic'] = 0xFE9C;\n t['thereexists'] = 0x2203;\n t['therefore'] = 0x2234;\n t['theta'] = 0x03B8;\n t['theta1'] = 0x03D1;\n t['thetasymbolgreek'] = 0x03D1;\n t['thieuthacirclekorean'] = 0x3279;\n t['thieuthaparenkorean'] = 0x3219;\n t['thieuthcirclekorean'] = 0x326B;\n t['thieuthkorean'] = 0x314C;\n t['thieuthparenkorean'] = 0x320B;\n t['thirteencircle'] = 0x246C;\n t['thirteenparen'] = 0x2480;\n t['thirteenperiod'] = 0x2494;\n t['thonangmonthothai'] = 0x0E11;\n t['thook'] = 0x01AD;\n t['thophuthaothai'] = 0x0E12;\n t['thorn'] = 0x00FE;\n t['thothahanthai'] = 0x0E17;\n t['thothanthai'] = 0x0E10;\n t['thothongthai'] = 0x0E18;\n t['thothungthai'] = 0x0E16;\n t['thousandcyrillic'] = 0x0482;\n t['thousandsseparatorarabic'] = 0x066C;\n t['thousandsseparatorpersian'] = 0x066C;\n t['three'] = 0x0033;\n t['threearabic'] = 0x0663;\n t['threebengali'] = 0x09E9;\n t['threecircle'] = 0x2462;\n t['threecircleinversesansserif'] = 0x278C;\n t['threedeva'] = 0x0969;\n t['threeeighths'] = 0x215C;\n t['threegujarati'] = 0x0AE9;\n t['threegurmukhi'] = 0x0A69;\n t['threehackarabic'] = 0x0663;\n t['threehangzhou'] = 0x3023;\n t['threeideographicparen'] = 0x3222;\n t['threeinferior'] = 0x2083;\n t['threemonospace'] = 0xFF13;\n t['threenumeratorbengali'] = 0x09F6;\n t['threeoldstyle'] = 0xF733;\n t['threeparen'] = 0x2476;\n t['threeperiod'] = 0x248A;\n t['threepersian'] = 0x06F3;\n t['threequarters'] = 0x00BE;\n t['threequartersemdash'] = 0xF6DE;\n t['threeroman'] = 0x2172;\n t['threesuperior'] = 0x00B3;\n t['threethai'] = 0x0E53;\n t['thzsquare'] = 0x3394;\n t['tihiragana'] = 0x3061;\n t['tikatakana'] = 0x30C1;\n t['tikatakanahalfwidth'] = 0xFF81;\n t['tikeutacirclekorean'] = 0x3270;\n t['tikeutaparenkorean'] = 0x3210;\n t['tikeutcirclekorean'] = 0x3262;\n t['tikeutkorean'] = 0x3137;\n t['tikeutparenkorean'] = 0x3202;\n t['tilde'] = 0x02DC;\n t['tildebelowcmb'] = 0x0330;\n t['tildecmb'] = 0x0303;\n t['tildecomb'] = 0x0303;\n t['tildedoublecmb'] = 0x0360;\n t['tildeoperator'] = 0x223C;\n t['tildeoverlaycmb'] = 0x0334;\n t['tildeverticalcmb'] = 0x033E;\n t['timescircle'] = 0x2297;\n t['tipehahebrew'] = 0x0596;\n t['tipehalefthebrew'] = 0x0596;\n t['tippigurmukhi'] = 0x0A70;\n t['titlocyrilliccmb'] = 0x0483;\n t['tiwnarmenian'] = 0x057F;\n t['tlinebelow'] = 0x1E6F;\n t['tmonospace'] = 0xFF54;\n t['toarmenian'] = 0x0569;\n t['tohiragana'] = 0x3068;\n t['tokatakana'] = 0x30C8;\n t['tokatakanahalfwidth'] = 0xFF84;\n t['tonebarextrahighmod'] = 0x02E5;\n t['tonebarextralowmod'] = 0x02E9;\n t['tonebarhighmod'] = 0x02E6;\n t['tonebarlowmod'] = 0x02E8;\n t['tonebarmidmod'] = 0x02E7;\n t['tonefive'] = 0x01BD;\n t['tonesix'] = 0x0185;\n t['tonetwo'] = 0x01A8;\n t['tonos'] = 0x0384;\n t['tonsquare'] = 0x3327;\n t['topatakthai'] = 0x0E0F;\n t['tortoiseshellbracketleft'] = 0x3014;\n t['tortoiseshellbracketleftsmall'] = 0xFE5D;\n t['tortoiseshellbracketleftvertical'] = 0xFE39;\n t['tortoiseshellbracketright'] = 0x3015;\n t['tortoiseshellbracketrightsmall'] = 0xFE5E;\n t['tortoiseshellbracketrightvertical'] = 0xFE3A;\n t['totaothai'] = 0x0E15;\n t['tpalatalhook'] = 0x01AB;\n t['tparen'] = 0x24AF;\n t['trademark'] = 0x2122;\n t['trademarksans'] = 0xF8EA;\n t['trademarkserif'] = 0xF6DB;\n t['tretroflexhook'] = 0x0288;\n t['triagdn'] = 0x25BC;\n t['triaglf'] = 0x25C4;\n t['triagrt'] = 0x25BA;\n t['triagup'] = 0x25B2;\n t['ts'] = 0x02A6;\n t['tsadi'] = 0x05E6;\n t['tsadidagesh'] = 0xFB46;\n t['tsadidageshhebrew'] = 0xFB46;\n t['tsadihebrew'] = 0x05E6;\n t['tsecyrillic'] = 0x0446;\n t['tsere'] = 0x05B5;\n t['tsere12'] = 0x05B5;\n t['tsere1e'] = 0x05B5;\n t['tsere2b'] = 0x05B5;\n t['tserehebrew'] = 0x05B5;\n t['tserenarrowhebrew'] = 0x05B5;\n t['tserequarterhebrew'] = 0x05B5;\n t['tserewidehebrew'] = 0x05B5;\n t['tshecyrillic'] = 0x045B;\n t['tsuperior'] = 0xF6F3;\n t['ttabengali'] = 0x099F;\n t['ttadeva'] = 0x091F;\n t['ttagujarati'] = 0x0A9F;\n t['ttagurmukhi'] = 0x0A1F;\n t['tteharabic'] = 0x0679;\n t['ttehfinalarabic'] = 0xFB67;\n t['ttehinitialarabic'] = 0xFB68;\n t['ttehmedialarabic'] = 0xFB69;\n t['tthabengali'] = 0x09A0;\n t['tthadeva'] = 0x0920;\n t['tthagujarati'] = 0x0AA0;\n t['tthagurmukhi'] = 0x0A20;\n t['tturned'] = 0x0287;\n t['tuhiragana'] = 0x3064;\n t['tukatakana'] = 0x30C4;\n t['tukatakanahalfwidth'] = 0xFF82;\n t['tusmallhiragana'] = 0x3063;\n t['tusmallkatakana'] = 0x30C3;\n t['tusmallkatakanahalfwidth'] = 0xFF6F;\n t['twelvecircle'] = 0x246B;\n t['twelveparen'] = 0x247F;\n t['twelveperiod'] = 0x2493;\n t['twelveroman'] = 0x217B;\n t['twentycircle'] = 0x2473;\n t['twentyhangzhou'] = 0x5344;\n t['twentyparen'] = 0x2487;\n t['twentyperiod'] = 0x249B;\n t['two'] = 0x0032;\n t['twoarabic'] = 0x0662;\n t['twobengali'] = 0x09E8;\n t['twocircle'] = 0x2461;\n t['twocircleinversesansserif'] = 0x278B;\n t['twodeva'] = 0x0968;\n t['twodotenleader'] = 0x2025;\n t['twodotleader'] = 0x2025;\n t['twodotleadervertical'] = 0xFE30;\n t['twogujarati'] = 0x0AE8;\n t['twogurmukhi'] = 0x0A68;\n t['twohackarabic'] = 0x0662;\n t['twohangzhou'] = 0x3022;\n t['twoideographicparen'] = 0x3221;\n t['twoinferior'] = 0x2082;\n t['twomonospace'] = 0xFF12;\n t['twonumeratorbengali'] = 0x09F5;\n t['twooldstyle'] = 0xF732;\n t['twoparen'] = 0x2475;\n t['twoperiod'] = 0x2489;\n t['twopersian'] = 0x06F2;\n t['tworoman'] = 0x2171;\n t['twostroke'] = 0x01BB;\n t['twosuperior'] = 0x00B2;\n t['twothai'] = 0x0E52;\n t['twothirds'] = 0x2154;\n t['u'] = 0x0075;\n t['uacute'] = 0x00FA;\n t['ubar'] = 0x0289;\n t['ubengali'] = 0x0989;\n t['ubopomofo'] = 0x3128;\n t['ubreve'] = 0x016D;\n t['ucaron'] = 0x01D4;\n t['ucircle'] = 0x24E4;\n t['ucircumflex'] = 0x00FB;\n t['ucircumflexbelow'] = 0x1E77;\n t['ucyrillic'] = 0x0443;\n t['udattadeva'] = 0x0951;\n t['udblacute'] = 0x0171;\n t['udblgrave'] = 0x0215;\n t['udeva'] = 0x0909;\n t['udieresis'] = 0x00FC;\n t['udieresisacute'] = 0x01D8;\n t['udieresisbelow'] = 0x1E73;\n t['udieresiscaron'] = 0x01DA;\n t['udieresiscyrillic'] = 0x04F1;\n t['udieresisgrave'] = 0x01DC;\n t['udieresismacron'] = 0x01D6;\n t['udotbelow'] = 0x1EE5;\n t['ugrave'] = 0x00F9;\n t['ugujarati'] = 0x0A89;\n t['ugurmukhi'] = 0x0A09;\n t['uhiragana'] = 0x3046;\n t['uhookabove'] = 0x1EE7;\n t['uhorn'] = 0x01B0;\n t['uhornacute'] = 0x1EE9;\n t['uhorndotbelow'] = 0x1EF1;\n t['uhorngrave'] = 0x1EEB;\n t['uhornhookabove'] = 0x1EED;\n t['uhorntilde'] = 0x1EEF;\n t['uhungarumlaut'] = 0x0171;\n t['uhungarumlautcyrillic'] = 0x04F3;\n t['uinvertedbreve'] = 0x0217;\n t['ukatakana'] = 0x30A6;\n t['ukatakanahalfwidth'] = 0xFF73;\n t['ukcyrillic'] = 0x0479;\n t['ukorean'] = 0x315C;\n t['umacron'] = 0x016B;\n t['umacroncyrillic'] = 0x04EF;\n t['umacrondieresis'] = 0x1E7B;\n t['umatragurmukhi'] = 0x0A41;\n t['umonospace'] = 0xFF55;\n t['underscore'] = 0x005F;\n t['underscoredbl'] = 0x2017;\n t['underscoremonospace'] = 0xFF3F;\n t['underscorevertical'] = 0xFE33;\n t['underscorewavy'] = 0xFE4F;\n t['union'] = 0x222A;\n t['universal'] = 0x2200;\n t['uogonek'] = 0x0173;\n t['uparen'] = 0x24B0;\n t['upblock'] = 0x2580;\n t['upperdothebrew'] = 0x05C4;\n t['upsilon'] = 0x03C5;\n t['upsilondieresis'] = 0x03CB;\n t['upsilondieresistonos'] = 0x03B0;\n t['upsilonlatin'] = 0x028A;\n t['upsilontonos'] = 0x03CD;\n t['uptackbelowcmb'] = 0x031D;\n t['uptackmod'] = 0x02D4;\n t['uragurmukhi'] = 0x0A73;\n t['uring'] = 0x016F;\n t['ushortcyrillic'] = 0x045E;\n t['usmallhiragana'] = 0x3045;\n t['usmallkatakana'] = 0x30A5;\n t['usmallkatakanahalfwidth'] = 0xFF69;\n t['ustraightcyrillic'] = 0x04AF;\n t['ustraightstrokecyrillic'] = 0x04B1;\n t['utilde'] = 0x0169;\n t['utildeacute'] = 0x1E79;\n t['utildebelow'] = 0x1E75;\n t['uubengali'] = 0x098A;\n t['uudeva'] = 0x090A;\n t['uugujarati'] = 0x0A8A;\n t['uugurmukhi'] = 0x0A0A;\n t['uumatragurmukhi'] = 0x0A42;\n t['uuvowelsignbengali'] = 0x09C2;\n t['uuvowelsigndeva'] = 0x0942;\n t['uuvowelsigngujarati'] = 0x0AC2;\n t['uvowelsignbengali'] = 0x09C1;\n t['uvowelsigndeva'] = 0x0941;\n t['uvowelsigngujarati'] = 0x0AC1;\n t['v'] = 0x0076;\n t['vadeva'] = 0x0935;\n t['vagujarati'] = 0x0AB5;\n t['vagurmukhi'] = 0x0A35;\n t['vakatakana'] = 0x30F7;\n t['vav'] = 0x05D5;\n t['vavdagesh'] = 0xFB35;\n t['vavdagesh65'] = 0xFB35;\n t['vavdageshhebrew'] = 0xFB35;\n t['vavhebrew'] = 0x05D5;\n t['vavholam'] = 0xFB4B;\n t['vavholamhebrew'] = 0xFB4B;\n t['vavvavhebrew'] = 0x05F0;\n t['vavyodhebrew'] = 0x05F1;\n t['vcircle'] = 0x24E5;\n t['vdotbelow'] = 0x1E7F;\n t['vecyrillic'] = 0x0432;\n t['veharabic'] = 0x06A4;\n t['vehfinalarabic'] = 0xFB6B;\n t['vehinitialarabic'] = 0xFB6C;\n t['vehmedialarabic'] = 0xFB6D;\n t['vekatakana'] = 0x30F9;\n t['venus'] = 0x2640;\n t['verticalbar'] = 0x007C;\n t['verticallineabovecmb'] = 0x030D;\n t['verticallinebelowcmb'] = 0x0329;\n t['verticallinelowmod'] = 0x02CC;\n t['verticallinemod'] = 0x02C8;\n t['vewarmenian'] = 0x057E;\n t['vhook'] = 0x028B;\n t['vikatakana'] = 0x30F8;\n t['viramabengali'] = 0x09CD;\n t['viramadeva'] = 0x094D;\n t['viramagujarati'] = 0x0ACD;\n t['visargabengali'] = 0x0983;\n t['visargadeva'] = 0x0903;\n t['visargagujarati'] = 0x0A83;\n t['vmonospace'] = 0xFF56;\n t['voarmenian'] = 0x0578;\n t['voicediterationhiragana'] = 0x309E;\n t['voicediterationkatakana'] = 0x30FE;\n t['voicedmarkkana'] = 0x309B;\n t['voicedmarkkanahalfwidth'] = 0xFF9E;\n t['vokatakana'] = 0x30FA;\n t['vparen'] = 0x24B1;\n t['vtilde'] = 0x1E7D;\n t['vturned'] = 0x028C;\n t['vuhiragana'] = 0x3094;\n t['vukatakana'] = 0x30F4;\n t['w'] = 0x0077;\n t['wacute'] = 0x1E83;\n t['waekorean'] = 0x3159;\n t['wahiragana'] = 0x308F;\n t['wakatakana'] = 0x30EF;\n t['wakatakanahalfwidth'] = 0xFF9C;\n t['wakorean'] = 0x3158;\n t['wasmallhiragana'] = 0x308E;\n t['wasmallkatakana'] = 0x30EE;\n t['wattosquare'] = 0x3357;\n t['wavedash'] = 0x301C;\n t['wavyunderscorevertical'] = 0xFE34;\n t['wawarabic'] = 0x0648;\n t['wawfinalarabic'] = 0xFEEE;\n t['wawhamzaabovearabic'] = 0x0624;\n t['wawhamzaabovefinalarabic'] = 0xFE86;\n t['wbsquare'] = 0x33DD;\n t['wcircle'] = 0x24E6;\n t['wcircumflex'] = 0x0175;\n t['wdieresis'] = 0x1E85;\n t['wdotaccent'] = 0x1E87;\n t['wdotbelow'] = 0x1E89;\n t['wehiragana'] = 0x3091;\n t['weierstrass'] = 0x2118;\n t['wekatakana'] = 0x30F1;\n t['wekorean'] = 0x315E;\n t['weokorean'] = 0x315D;\n t['wgrave'] = 0x1E81;\n t['whitebullet'] = 0x25E6;\n t['whitecircle'] = 0x25CB;\n t['whitecircleinverse'] = 0x25D9;\n t['whitecornerbracketleft'] = 0x300E;\n t['whitecornerbracketleftvertical'] = 0xFE43;\n t['whitecornerbracketright'] = 0x300F;\n t['whitecornerbracketrightvertical'] = 0xFE44;\n t['whitediamond'] = 0x25C7;\n t['whitediamondcontainingblacksmalldiamond'] = 0x25C8;\n t['whitedownpointingsmalltriangle'] = 0x25BF;\n t['whitedownpointingtriangle'] = 0x25BD;\n t['whiteleftpointingsmalltriangle'] = 0x25C3;\n t['whiteleftpointingtriangle'] = 0x25C1;\n t['whitelenticularbracketleft'] = 0x3016;\n t['whitelenticularbracketright'] = 0x3017;\n t['whiterightpointingsmalltriangle'] = 0x25B9;\n t['whiterightpointingtriangle'] = 0x25B7;\n t['whitesmallsquare'] = 0x25AB;\n t['whitesmilingface'] = 0x263A;\n t['whitesquare'] = 0x25A1;\n t['whitestar'] = 0x2606;\n t['whitetelephone'] = 0x260F;\n t['whitetortoiseshellbracketleft'] = 0x3018;\n t['whitetortoiseshellbracketright'] = 0x3019;\n t['whiteuppointingsmalltriangle'] = 0x25B5;\n t['whiteuppointingtriangle'] = 0x25B3;\n t['wihiragana'] = 0x3090;\n t['wikatakana'] = 0x30F0;\n t['wikorean'] = 0x315F;\n t['wmonospace'] = 0xFF57;\n t['wohiragana'] = 0x3092;\n t['wokatakana'] = 0x30F2;\n t['wokatakanahalfwidth'] = 0xFF66;\n t['won'] = 0x20A9;\n t['wonmonospace'] = 0xFFE6;\n t['wowaenthai'] = 0x0E27;\n t['wparen'] = 0x24B2;\n t['wring'] = 0x1E98;\n t['wsuperior'] = 0x02B7;\n t['wturned'] = 0x028D;\n t['wynn'] = 0x01BF;\n t['x'] = 0x0078;\n t['xabovecmb'] = 0x033D;\n t['xbopomofo'] = 0x3112;\n t['xcircle'] = 0x24E7;\n t['xdieresis'] = 0x1E8D;\n t['xdotaccent'] = 0x1E8B;\n t['xeharmenian'] = 0x056D;\n t['xi'] = 0x03BE;\n t['xmonospace'] = 0xFF58;\n t['xparen'] = 0x24B3;\n t['xsuperior'] = 0x02E3;\n t['y'] = 0x0079;\n t['yaadosquare'] = 0x334E;\n t['yabengali'] = 0x09AF;\n t['yacute'] = 0x00FD;\n t['yadeva'] = 0x092F;\n t['yaekorean'] = 0x3152;\n t['yagujarati'] = 0x0AAF;\n t['yagurmukhi'] = 0x0A2F;\n t['yahiragana'] = 0x3084;\n t['yakatakana'] = 0x30E4;\n t['yakatakanahalfwidth'] = 0xFF94;\n t['yakorean'] = 0x3151;\n t['yamakkanthai'] = 0x0E4E;\n t['yasmallhiragana'] = 0x3083;\n t['yasmallkatakana'] = 0x30E3;\n t['yasmallkatakanahalfwidth'] = 0xFF6C;\n t['yatcyrillic'] = 0x0463;\n t['ycircle'] = 0x24E8;\n t['ycircumflex'] = 0x0177;\n t['ydieresis'] = 0x00FF;\n t['ydotaccent'] = 0x1E8F;\n t['ydotbelow'] = 0x1EF5;\n t['yeharabic'] = 0x064A;\n t['yehbarreearabic'] = 0x06D2;\n t['yehbarreefinalarabic'] = 0xFBAF;\n t['yehfinalarabic'] = 0xFEF2;\n t['yehhamzaabovearabic'] = 0x0626;\n t['yehhamzaabovefinalarabic'] = 0xFE8A;\n t['yehhamzaaboveinitialarabic'] = 0xFE8B;\n t['yehhamzaabovemedialarabic'] = 0xFE8C;\n t['yehinitialarabic'] = 0xFEF3;\n t['yehmedialarabic'] = 0xFEF4;\n t['yehmeeminitialarabic'] = 0xFCDD;\n t['yehmeemisolatedarabic'] = 0xFC58;\n t['yehnoonfinalarabic'] = 0xFC94;\n t['yehthreedotsbelowarabic'] = 0x06D1;\n t['yekorean'] = 0x3156;\n t['yen'] = 0x00A5;\n t['yenmonospace'] = 0xFFE5;\n t['yeokorean'] = 0x3155;\n t['yeorinhieuhkorean'] = 0x3186;\n t['yerahbenyomohebrew'] = 0x05AA;\n t['yerahbenyomolefthebrew'] = 0x05AA;\n t['yericyrillic'] = 0x044B;\n t['yerudieresiscyrillic'] = 0x04F9;\n t['yesieungkorean'] = 0x3181;\n t['yesieungpansioskorean'] = 0x3183;\n t['yesieungsioskorean'] = 0x3182;\n t['yetivhebrew'] = 0x059A;\n t['ygrave'] = 0x1EF3;\n t['yhook'] = 0x01B4;\n t['yhookabove'] = 0x1EF7;\n t['yiarmenian'] = 0x0575;\n t['yicyrillic'] = 0x0457;\n t['yikorean'] = 0x3162;\n t['yinyang'] = 0x262F;\n t['yiwnarmenian'] = 0x0582;\n t['ymonospace'] = 0xFF59;\n t['yod'] = 0x05D9;\n t['yoddagesh'] = 0xFB39;\n t['yoddageshhebrew'] = 0xFB39;\n t['yodhebrew'] = 0x05D9;\n t['yodyodhebrew'] = 0x05F2;\n t['yodyodpatahhebrew'] = 0xFB1F;\n t['yohiragana'] = 0x3088;\n t['yoikorean'] = 0x3189;\n t['yokatakana'] = 0x30E8;\n t['yokatakanahalfwidth'] = 0xFF96;\n t['yokorean'] = 0x315B;\n t['yosmallhiragana'] = 0x3087;\n t['yosmallkatakana'] = 0x30E7;\n t['yosmallkatakanahalfwidth'] = 0xFF6E;\n t['yotgreek'] = 0x03F3;\n t['yoyaekorean'] = 0x3188;\n t['yoyakorean'] = 0x3187;\n t['yoyakthai'] = 0x0E22;\n t['yoyingthai'] = 0x0E0D;\n t['yparen'] = 0x24B4;\n t['ypogegrammeni'] = 0x037A;\n t['ypogegrammenigreekcmb'] = 0x0345;\n t['yr'] = 0x01A6;\n t['yring'] = 0x1E99;\n t['ysuperior'] = 0x02B8;\n t['ytilde'] = 0x1EF9;\n t['yturned'] = 0x028E;\n t['yuhiragana'] = 0x3086;\n t['yuikorean'] = 0x318C;\n t['yukatakana'] = 0x30E6;\n t['yukatakanahalfwidth'] = 0xFF95;\n t['yukorean'] = 0x3160;\n t['yusbigcyrillic'] = 0x046B;\n t['yusbigiotifiedcyrillic'] = 0x046D;\n t['yuslittlecyrillic'] = 0x0467;\n t['yuslittleiotifiedcyrillic'] = 0x0469;\n t['yusmallhiragana'] = 0x3085;\n t['yusmallkatakana'] = 0x30E5;\n t['yusmallkatakanahalfwidth'] = 0xFF6D;\n t['yuyekorean'] = 0x318B;\n t['yuyeokorean'] = 0x318A;\n t['yyabengali'] = 0x09DF;\n t['yyadeva'] = 0x095F;\n t['z'] = 0x007A;\n t['zaarmenian'] = 0x0566;\n t['zacute'] = 0x017A;\n t['zadeva'] = 0x095B;\n t['zagurmukhi'] = 0x0A5B;\n t['zaharabic'] = 0x0638;\n t['zahfinalarabic'] = 0xFEC6;\n t['zahinitialarabic'] = 0xFEC7;\n t['zahiragana'] = 0x3056;\n t['zahmedialarabic'] = 0xFEC8;\n t['zainarabic'] = 0x0632;\n t['zainfinalarabic'] = 0xFEB0;\n t['zakatakana'] = 0x30B6;\n t['zaqefgadolhebrew'] = 0x0595;\n t['zaqefqatanhebrew'] = 0x0594;\n t['zarqahebrew'] = 0x0598;\n t['zayin'] = 0x05D6;\n t['zayindagesh'] = 0xFB36;\n t['zayindageshhebrew'] = 0xFB36;\n t['zayinhebrew'] = 0x05D6;\n t['zbopomofo'] = 0x3117;\n t['zcaron'] = 0x017E;\n t['zcircle'] = 0x24E9;\n t['zcircumflex'] = 0x1E91;\n t['zcurl'] = 0x0291;\n t['zdot'] = 0x017C;\n t['zdotaccent'] = 0x017C;\n t['zdotbelow'] = 0x1E93;\n t['zecyrillic'] = 0x0437;\n t['zedescendercyrillic'] = 0x0499;\n t['zedieresiscyrillic'] = 0x04DF;\n t['zehiragana'] = 0x305C;\n t['zekatakana'] = 0x30BC;\n t['zero'] = 0x0030;\n t['zeroarabic'] = 0x0660;\n t['zerobengali'] = 0x09E6;\n t['zerodeva'] = 0x0966;\n t['zerogujarati'] = 0x0AE6;\n t['zerogurmukhi'] = 0x0A66;\n t['zerohackarabic'] = 0x0660;\n t['zeroinferior'] = 0x2080;\n t['zeromonospace'] = 0xFF10;\n t['zerooldstyle'] = 0xF730;\n t['zeropersian'] = 0x06F0;\n t['zerosuperior'] = 0x2070;\n t['zerothai'] = 0x0E50;\n t['zerowidthjoiner'] = 0xFEFF;\n t['zerowidthnonjoiner'] = 0x200C;\n t['zerowidthspace'] = 0x200B;\n t['zeta'] = 0x03B6;\n t['zhbopomofo'] = 0x3113;\n t['zhearmenian'] = 0x056A;\n t['zhebrevecyrillic'] = 0x04C2;\n t['zhecyrillic'] = 0x0436;\n t['zhedescendercyrillic'] = 0x0497;\n t['zhedieresiscyrillic'] = 0x04DD;\n t['zihiragana'] = 0x3058;\n t['zikatakana'] = 0x30B8;\n t['zinorhebrew'] = 0x05AE;\n t['zlinebelow'] = 0x1E95;\n t['zmonospace'] = 0xFF5A;\n t['zohiragana'] = 0x305E;\n t['zokatakana'] = 0x30BE;\n t['zparen'] = 0x24B5;\n t['zretroflexhook'] = 0x0290;\n t['zstroke'] = 0x01B6;\n t['zuhiragana'] = 0x305A;\n t['zukatakana'] = 0x30BA;\n t['.notdef'] = 0x0000;\n t['angbracketleftbig'] = 0x2329;\n t['angbracketleftBig'] = 0x2329;\n t['angbracketleftbigg'] = 0x2329;\n t['angbracketleftBigg'] = 0x2329;\n t['angbracketrightBig'] = 0x232A;\n t['angbracketrightbig'] = 0x232A;\n t['angbracketrightBigg'] = 0x232A;\n t['angbracketrightbigg'] = 0x232A;\n t['arrowhookleft'] = 0x21AA;\n t['arrowhookright'] = 0x21A9;\n t['arrowlefttophalf'] = 0x21BC;\n t['arrowleftbothalf'] = 0x21BD;\n t['arrownortheast'] = 0x2197;\n t['arrownorthwest'] = 0x2196;\n t['arrowrighttophalf'] = 0x21C0;\n t['arrowrightbothalf'] = 0x21C1;\n t['arrowsoutheast'] = 0x2198;\n t['arrowsouthwest'] = 0x2199;\n t['backslashbig'] = 0x2216;\n t['backslashBig'] = 0x2216;\n t['backslashBigg'] = 0x2216;\n t['backslashbigg'] = 0x2216;\n t['bardbl'] = 0x2016;\n t['bracehtipdownleft'] = 0xFE37;\n t['bracehtipdownright'] = 0xFE37;\n t['bracehtipupleft'] = 0xFE38;\n t['bracehtipupright'] = 0xFE38;\n t['braceleftBig'] = 0x007B;\n t['braceleftbig'] = 0x007B;\n t['braceleftbigg'] = 0x007B;\n t['braceleftBigg'] = 0x007B;\n t['bracerightBig'] = 0x007D;\n t['bracerightbig'] = 0x007D;\n t['bracerightbigg'] = 0x007D;\n t['bracerightBigg'] = 0x007D;\n t['bracketleftbig'] = 0x005B;\n t['bracketleftBig'] = 0x005B;\n t['bracketleftbigg'] = 0x005B;\n t['bracketleftBigg'] = 0x005B;\n t['bracketrightBig'] = 0x005D;\n t['bracketrightbig'] = 0x005D;\n t['bracketrightbigg'] = 0x005D;\n t['bracketrightBigg'] = 0x005D;\n t['ceilingleftbig'] = 0x2308;\n t['ceilingleftBig'] = 0x2308;\n t['ceilingleftBigg'] = 0x2308;\n t['ceilingleftbigg'] = 0x2308;\n t['ceilingrightbig'] = 0x2309;\n t['ceilingrightBig'] = 0x2309;\n t['ceilingrightbigg'] = 0x2309;\n t['ceilingrightBigg'] = 0x2309;\n t['circledotdisplay'] = 0x2299;\n t['circledottext'] = 0x2299;\n t['circlemultiplydisplay'] = 0x2297;\n t['circlemultiplytext'] = 0x2297;\n t['circleplusdisplay'] = 0x2295;\n t['circleplustext'] = 0x2295;\n t['contintegraldisplay'] = 0x222E;\n t['contintegraltext'] = 0x222E;\n t['coproductdisplay'] = 0x2210;\n t['coproducttext'] = 0x2210;\n t['floorleftBig'] = 0x230A;\n t['floorleftbig'] = 0x230A;\n t['floorleftbigg'] = 0x230A;\n t['floorleftBigg'] = 0x230A;\n t['floorrightbig'] = 0x230B;\n t['floorrightBig'] = 0x230B;\n t['floorrightBigg'] = 0x230B;\n t['floorrightbigg'] = 0x230B;\n t['hatwide'] = 0x0302;\n t['hatwider'] = 0x0302;\n t['hatwidest'] = 0x0302;\n t['intercal'] = 0x1D40;\n t['integraldisplay'] = 0x222B;\n t['integraltext'] = 0x222B;\n t['intersectiondisplay'] = 0x22C2;\n t['intersectiontext'] = 0x22C2;\n t['logicalanddisplay'] = 0x2227;\n t['logicalandtext'] = 0x2227;\n t['logicalordisplay'] = 0x2228;\n t['logicalortext'] = 0x2228;\n t['parenleftBig'] = 0x0028;\n t['parenleftbig'] = 0x0028;\n t['parenleftBigg'] = 0x0028;\n t['parenleftbigg'] = 0x0028;\n t['parenrightBig'] = 0x0029;\n t['parenrightbig'] = 0x0029;\n t['parenrightBigg'] = 0x0029;\n t['parenrightbigg'] = 0x0029;\n t['prime'] = 0x2032;\n t['productdisplay'] = 0x220F;\n t['producttext'] = 0x220F;\n t['radicalbig'] = 0x221A;\n t['radicalBig'] = 0x221A;\n t['radicalBigg'] = 0x221A;\n t['radicalbigg'] = 0x221A;\n t['radicalbt'] = 0x221A;\n t['radicaltp'] = 0x221A;\n t['radicalvertex'] = 0x221A;\n t['slashbig'] = 0x002F;\n t['slashBig'] = 0x002F;\n t['slashBigg'] = 0x002F;\n t['slashbigg'] = 0x002F;\n t['summationdisplay'] = 0x2211;\n t['summationtext'] = 0x2211;\n t['tildewide'] = 0x02DC;\n t['tildewider'] = 0x02DC;\n t['tildewidest'] = 0x02DC;\n t['uniondisplay'] = 0x22C3;\n t['unionmultidisplay'] = 0x228E;\n t['unionmultitext'] = 0x228E;\n t['unionsqdisplay'] = 0x2294;\n t['unionsqtext'] = 0x2294;\n t['uniontext'] = 0x22C3;\n t['vextenddouble'] = 0x2225;\n t['vextendsingle'] = 0x2223;\n});\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t['space'] = 0x0020;\n t['a1'] = 0x2701;\n t['a2'] = 0x2702;\n t['a202'] = 0x2703;\n t['a3'] = 0x2704;\n t['a4'] = 0x260E;\n t['a5'] = 0x2706;\n t['a119'] = 0x2707;\n t['a118'] = 0x2708;\n t['a117'] = 0x2709;\n t['a11'] = 0x261B;\n t['a12'] = 0x261E;\n t['a13'] = 0x270C;\n t['a14'] = 0x270D;\n t['a15'] = 0x270E;\n t['a16'] = 0x270F;\n t['a105'] = 0x2710;\n t['a17'] = 0x2711;\n t['a18'] = 0x2712;\n t['a19'] = 0x2713;\n t['a20'] = 0x2714;\n t['a21'] = 0x2715;\n t['a22'] = 0x2716;\n t['a23'] = 0x2717;\n t['a24'] = 0x2718;\n t['a25'] = 0x2719;\n t['a26'] = 0x271A;\n t['a27'] = 0x271B;\n t['a28'] = 0x271C;\n t['a6'] = 0x271D;\n t['a7'] = 0x271E;\n t['a8'] = 0x271F;\n t['a9'] = 0x2720;\n t['a10'] = 0x2721;\n t['a29'] = 0x2722;\n t['a30'] = 0x2723;\n t['a31'] = 0x2724;\n t['a32'] = 0x2725;\n t['a33'] = 0x2726;\n t['a34'] = 0x2727;\n t['a35'] = 0x2605;\n t['a36'] = 0x2729;\n t['a37'] = 0x272A;\n t['a38'] = 0x272B;\n t['a39'] = 0x272C;\n t['a40'] = 0x272D;\n t['a41'] = 0x272E;\n t['a42'] = 0x272F;\n t['a43'] = 0x2730;\n t['a44'] = 0x2731;\n t['a45'] = 0x2732;\n t['a46'] = 0x2733;\n t['a47'] = 0x2734;\n t['a48'] = 0x2735;\n t['a49'] = 0x2736;\n t['a50'] = 0x2737;\n t['a51'] = 0x2738;\n t['a52'] = 0x2739;\n t['a53'] = 0x273A;\n t['a54'] = 0x273B;\n t['a55'] = 0x273C;\n t['a56'] = 0x273D;\n t['a57'] = 0x273E;\n t['a58'] = 0x273F;\n t['a59'] = 0x2740;\n t['a60'] = 0x2741;\n t['a61'] = 0x2742;\n t['a62'] = 0x2743;\n t['a63'] = 0x2744;\n t['a64'] = 0x2745;\n t['a65'] = 0x2746;\n t['a66'] = 0x2747;\n t['a67'] = 0x2748;\n t['a68'] = 0x2749;\n t['a69'] = 0x274A;\n t['a70'] = 0x274B;\n t['a71'] = 0x25CF;\n t['a72'] = 0x274D;\n t['a73'] = 0x25A0;\n t['a74'] = 0x274F;\n t['a203'] = 0x2750;\n t['a75'] = 0x2751;\n t['a204'] = 0x2752;\n t['a76'] = 0x25B2;\n t['a77'] = 0x25BC;\n t['a78'] = 0x25C6;\n t['a79'] = 0x2756;\n t['a81'] = 0x25D7;\n t['a82'] = 0x2758;\n t['a83'] = 0x2759;\n t['a84'] = 0x275A;\n t['a97'] = 0x275B;\n t['a98'] = 0x275C;\n t['a99'] = 0x275D;\n t['a100'] = 0x275E;\n t['a101'] = 0x2761;\n t['a102'] = 0x2762;\n t['a103'] = 0x2763;\n t['a104'] = 0x2764;\n t['a106'] = 0x2765;\n t['a107'] = 0x2766;\n t['a108'] = 0x2767;\n t['a112'] = 0x2663;\n t['a111'] = 0x2666;\n t['a110'] = 0x2665;\n t['a109'] = 0x2660;\n t['a120'] = 0x2460;\n t['a121'] = 0x2461;\n t['a122'] = 0x2462;\n t['a123'] = 0x2463;\n t['a124'] = 0x2464;\n t['a125'] = 0x2465;\n t['a126'] = 0x2466;\n t['a127'] = 0x2467;\n t['a128'] = 0x2468;\n t['a129'] = 0x2469;\n t['a130'] = 0x2776;\n t['a131'] = 0x2777;\n t['a132'] = 0x2778;\n t['a133'] = 0x2779;\n t['a134'] = 0x277A;\n t['a135'] = 0x277B;\n t['a136'] = 0x277C;\n t['a137'] = 0x277D;\n t['a138'] = 0x277E;\n t['a139'] = 0x277F;\n t['a140'] = 0x2780;\n t['a141'] = 0x2781;\n t['a142'] = 0x2782;\n t['a143'] = 0x2783;\n t['a144'] = 0x2784;\n t['a145'] = 0x2785;\n t['a146'] = 0x2786;\n t['a147'] = 0x2787;\n t['a148'] = 0x2788;\n t['a149'] = 0x2789;\n t['a150'] = 0x278A;\n t['a151'] = 0x278B;\n t['a152'] = 0x278C;\n t['a153'] = 0x278D;\n t['a154'] = 0x278E;\n t['a155'] = 0x278F;\n t['a156'] = 0x2790;\n t['a157'] = 0x2791;\n t['a158'] = 0x2792;\n t['a159'] = 0x2793;\n t['a160'] = 0x2794;\n t['a161'] = 0x2192;\n t['a163'] = 0x2194;\n t['a164'] = 0x2195;\n t['a196'] = 0x2798;\n t['a165'] = 0x2799;\n t['a192'] = 0x279A;\n t['a166'] = 0x279B;\n t['a167'] = 0x279C;\n t['a168'] = 0x279D;\n t['a169'] = 0x279E;\n t['a170'] = 0x279F;\n t['a171'] = 0x27A0;\n t['a172'] = 0x27A1;\n t['a173'] = 0x27A2;\n t['a162'] = 0x27A3;\n t['a174'] = 0x27A4;\n t['a175'] = 0x27A5;\n t['a176'] = 0x27A6;\n t['a177'] = 0x27A7;\n t['a178'] = 0x27A8;\n t['a179'] = 0x27A9;\n t['a193'] = 0x27AA;\n t['a180'] = 0x27AB;\n t['a199'] = 0x27AC;\n t['a181'] = 0x27AD;\n t['a200'] = 0x27AE;\n t['a182'] = 0x27AF;\n t['a201'] = 0x27B1;\n t['a183'] = 0x27B2;\n t['a184'] = 0x27B3;\n t['a197'] = 0x27B4;\n t['a185'] = 0x27B5;\n t['a194'] = 0x27B6;\n t['a198'] = 0x27B7;\n t['a186'] = 0x27B8;\n t['a195'] = 0x27B9;\n t['a187'] = 0x27BA;\n t['a188'] = 0x27BB;\n t['a189'] = 0x27BC;\n t['a190'] = 0x27BD;\n t['a191'] = 0x27BE;\n t['a89'] = 0x2768;\n t['a90'] = 0x2769;\n t['a93'] = 0x276A;\n t['a94'] = 0x276B;\n t['a91'] = 0x276C;\n t['a92'] = 0x276D;\n t['a205'] = 0x276E;\n t['a85'] = 0x276F;\n t['a206'] = 0x2770;\n t['a86'] = 0x2771;\n t['a87'] = 0x2772;\n t['a88'] = 0x2773;\n t['a95'] = 0x2774;\n t['a96'] = 0x2775;\n t['.notdef'] = 0x0000;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['ArialNarrow'] = 'Helvetica';\n t['ArialNarrow-Bold'] = 'Helvetica-Bold';\n t['ArialNarrow-BoldItalic'] = 'Helvetica-BoldOblique';\n t['ArialNarrow-Italic'] = 'Helvetica-Oblique';\n t['ArialBlack'] = 'Helvetica';\n t['ArialBlack-Bold'] = 'Helvetica-Bold';\n t['ArialBlack-BoldItalic'] = 'Helvetica-BoldOblique';\n t['ArialBlack-Italic'] = 'Helvetica-Oblique';\n t['Arial-Black'] = 'Helvetica';\n t['Arial-Black-Bold'] = 'Helvetica-Bold';\n t['Arial-Black-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Arial-Black-Italic'] = 'Helvetica-Oblique';\n t['Arial'] = 'Helvetica';\n t['Arial-Bold'] = 'Helvetica-Bold';\n t['Arial-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Arial-Italic'] = 'Helvetica-Oblique';\n t['Arial-BoldItalicMT'] = 'Helvetica-BoldOblique';\n t['Arial-BoldMT'] = 'Helvetica-Bold';\n t['Arial-ItalicMT'] = 'Helvetica-Oblique';\n t['ArialMT'] = 'Helvetica';\n t['Courier-Bold'] = 'Courier-Bold';\n t['Courier-BoldItalic'] = 'Courier-BoldOblique';\n t['Courier-Italic'] = 'Courier-Oblique';\n t['CourierNew'] = 'Courier';\n t['CourierNew-Bold'] = 'Courier-Bold';\n t['CourierNew-BoldItalic'] = 'Courier-BoldOblique';\n t['CourierNew-Italic'] = 'Courier-Oblique';\n t['CourierNewPS-BoldItalicMT'] = 'Courier-BoldOblique';\n t['CourierNewPS-BoldMT'] = 'Courier-Bold';\n t['CourierNewPS-ItalicMT'] = 'Courier-Oblique';\n t['CourierNewPSMT'] = 'Courier';\n t['Helvetica'] = 'Helvetica';\n t['Helvetica-Bold'] = 'Helvetica-Bold';\n t['Helvetica-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Helvetica-BoldOblique'] = 'Helvetica-BoldOblique';\n t['Helvetica-Italic'] = 'Helvetica-Oblique';\n t['Helvetica-Oblique'] = 'Helvetica-Oblique';\n t['SegoeUISymbol'] = 'Helvetica';\n t['Symbol-Bold'] = 'Symbol';\n t['Symbol-BoldItalic'] = 'Symbol';\n t['Symbol-Italic'] = 'Symbol';\n t['TimesNewRoman'] = 'Times-Roman';\n t['TimesNewRoman-Bold'] = 'Times-Bold';\n t['TimesNewRoman-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRoman-Italic'] = 'Times-Italic';\n t['TimesNewRomanPS'] = 'Times-Roman';\n t['TimesNewRomanPS-Bold'] = 'Times-Bold';\n t['TimesNewRomanPS-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRomanPS-BoldItalicMT'] = 'Times-BoldItalic';\n t['TimesNewRomanPS-BoldMT'] = 'Times-Bold';\n t['TimesNewRomanPS-Italic'] = 'Times-Italic';\n t['TimesNewRomanPS-ItalicMT'] = 'Times-Italic';\n t['TimesNewRomanPSMT'] = 'Times-Roman';\n t['TimesNewRomanPSMT-Bold'] = 'Times-Bold';\n t['TimesNewRomanPSMT-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRomanPSMT-Italic'] = 'Times-Italic';\n});\nexports.getStdFontMap = getStdFontMap;\nvar getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['Calibri'] = 'Helvetica';\n t['Calibri-Bold'] = 'Helvetica-Bold';\n t['Calibri-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Calibri-Italic'] = 'Helvetica-Oblique';\n t['CenturyGothic'] = 'Helvetica';\n t['CenturyGothic-Bold'] = 'Helvetica-Bold';\n t['CenturyGothic-BoldItalic'] = 'Helvetica-BoldOblique';\n t['CenturyGothic-Italic'] = 'Helvetica-Oblique';\n t['ComicSansMS'] = 'Comic Sans MS';\n t['ComicSansMS-Bold'] = 'Comic Sans MS-Bold';\n t['ComicSansMS-BoldItalic'] = 'Comic Sans MS-BoldItalic';\n t['ComicSansMS-Italic'] = 'Comic Sans MS-Italic';\n t['LucidaConsole'] = 'Courier';\n t['LucidaConsole-Bold'] = 'Courier-Bold';\n t['LucidaConsole-BoldItalic'] = 'Courier-BoldOblique';\n t['LucidaConsole-Italic'] = 'Courier-Oblique';\n t['LucidaSans-Demi'] = 'Helvetica-Bold';\n t['MS-Gothic'] = 'MS Gothic';\n t['MS-Gothic-Bold'] = 'MS Gothic-Bold';\n t['MS-Gothic-BoldItalic'] = 'MS Gothic-BoldItalic';\n t['MS-Gothic-Italic'] = 'MS Gothic-Italic';\n t['MS-Mincho'] = 'MS Mincho';\n t['MS-Mincho-Bold'] = 'MS Mincho-Bold';\n t['MS-Mincho-BoldItalic'] = 'MS Mincho-BoldItalic';\n t['MS-Mincho-Italic'] = 'MS Mincho-Italic';\n t['MS-PGothic'] = 'MS PGothic';\n t['MS-PGothic-Bold'] = 'MS PGothic-Bold';\n t['MS-PGothic-BoldItalic'] = 'MS PGothic-BoldItalic';\n t['MS-PGothic-Italic'] = 'MS PGothic-Italic';\n t['MS-PMincho'] = 'MS PMincho';\n t['MS-PMincho-Bold'] = 'MS PMincho-Bold';\n t['MS-PMincho-BoldItalic'] = 'MS PMincho-BoldItalic';\n t['MS-PMincho-Italic'] = 'MS PMincho-Italic';\n t['NuptialScript'] = 'Times-Italic';\n t['Wingdings'] = 'ZapfDingbats';\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nvar getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['Adobe Jenson'] = true;\n t['Adobe Text'] = true;\n t['Albertus'] = true;\n t['Aldus'] = true;\n t['Alexandria'] = true;\n t['Algerian'] = true;\n t['American Typewriter'] = true;\n t['Antiqua'] = true;\n t['Apex'] = true;\n t['Arno'] = true;\n t['Aster'] = true;\n t['Aurora'] = true;\n t['Baskerville'] = true;\n t['Bell'] = true;\n t['Bembo'] = true;\n t['Bembo Schoolbook'] = true;\n t['Benguiat'] = true;\n t['Berkeley Old Style'] = true;\n t['Bernhard Modern'] = true;\n t['Berthold City'] = true;\n t['Bodoni'] = true;\n t['Bauer Bodoni'] = true;\n t['Book Antiqua'] = true;\n t['Bookman'] = true;\n t['Bordeaux Roman'] = true;\n t['Californian FB'] = true;\n t['Calisto'] = true;\n t['Calvert'] = true;\n t['Capitals'] = true;\n t['Cambria'] = true;\n t['Cartier'] = true;\n t['Caslon'] = true;\n t['Catull'] = true;\n t['Centaur'] = true;\n t['Century Old Style'] = true;\n t['Century Schoolbook'] = true;\n t['Chaparral'] = true;\n t['Charis SIL'] = true;\n t['Cheltenham'] = true;\n t['Cholla Slab'] = true;\n t['Clarendon'] = true;\n t['Clearface'] = true;\n t['Cochin'] = true;\n t['Colonna'] = true;\n t['Computer Modern'] = true;\n t['Concrete Roman'] = true;\n t['Constantia'] = true;\n t['Cooper Black'] = true;\n t['Corona'] = true;\n t['Ecotype'] = true;\n t['Egyptienne'] = true;\n t['Elephant'] = true;\n t['Excelsior'] = true;\n t['Fairfield'] = true;\n t['FF Scala'] = true;\n t['Folkard'] = true;\n t['Footlight'] = true;\n t['FreeSerif'] = true;\n t['Friz Quadrata'] = true;\n t['Garamond'] = true;\n t['Gentium'] = true;\n t['Georgia'] = true;\n t['Gloucester'] = true;\n t['Goudy Old Style'] = true;\n t['Goudy Schoolbook'] = true;\n t['Goudy Pro Font'] = true;\n t['Granjon'] = true;\n t['Guardian Egyptian'] = true;\n t['Heather'] = true;\n t['Hercules'] = true;\n t['High Tower Text'] = true;\n t['Hiroshige'] = true;\n t['Hoefler Text'] = true;\n t['Humana Serif'] = true;\n t['Imprint'] = true;\n t['Ionic No. 5'] = true;\n t['Janson'] = true;\n t['Joanna'] = true;\n t['Korinna'] = true;\n t['Lexicon'] = true;\n t['Liberation Serif'] = true;\n t['Linux Libertine'] = true;\n t['Literaturnaya'] = true;\n t['Lucida'] = true;\n t['Lucida Bright'] = true;\n t['Melior'] = true;\n t['Memphis'] = true;\n t['Miller'] = true;\n t['Minion'] = true;\n t['Modern'] = true;\n t['Mona Lisa'] = true;\n t['Mrs Eaves'] = true;\n t['MS Serif'] = true;\n t['Museo Slab'] = true;\n t['New York'] = true;\n t['Nimbus Roman'] = true;\n t['NPS Rawlinson Roadway'] = true;\n t['NuptialScript'] = true;\n t['Palatino'] = true;\n t['Perpetua'] = true;\n t['Plantin'] = true;\n t['Plantin Schoolbook'] = true;\n t['Playbill'] = true;\n t['Poor Richard'] = true;\n t['Rawlinson Roadway'] = true;\n t['Renault'] = true;\n t['Requiem'] = true;\n t['Rockwell'] = true;\n t['Roman'] = true;\n t['Rotis Serif'] = true;\n t['Sabon'] = true;\n t['Scala'] = true;\n t['Seagull'] = true;\n t['Sistina'] = true;\n t['Souvenir'] = true;\n t['STIX'] = true;\n t['Stone Informal'] = true;\n t['Stone Serif'] = true;\n t['Sylfaen'] = true;\n t['Times'] = true;\n t['Trajan'] = true;\n t['Trinité'] = true;\n t['Trump Mediaeval'] = true;\n t['Utopia'] = true;\n t['Vale Type'] = true;\n t['Bitstream Vera'] = true;\n t['Vera Serif'] = true;\n t['Versailles'] = true;\n t['Wanted'] = true;\n t['Weiss'] = true;\n t['Wide Latin'] = true;\n t['Windsor'] = true;\n t['XITS'] = true;\n});\nexports.getSerifFonts = getSerifFonts;\nvar getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['Dingbats'] = true;\n t['Symbol'] = true;\n t['ZapfDingbats'] = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nvar getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[2] = 10;\n t[3] = 32;\n t[4] = 33;\n t[5] = 34;\n t[6] = 35;\n t[7] = 36;\n t[8] = 37;\n t[9] = 38;\n t[10] = 39;\n t[11] = 40;\n t[12] = 41;\n t[13] = 42;\n t[14] = 43;\n t[15] = 44;\n t[16] = 45;\n t[17] = 46;\n t[18] = 47;\n t[19] = 48;\n t[20] = 49;\n t[21] = 50;\n t[22] = 51;\n t[23] = 52;\n t[24] = 53;\n t[25] = 54;\n t[26] = 55;\n t[27] = 56;\n t[28] = 57;\n t[29] = 58;\n t[30] = 894;\n t[31] = 60;\n t[32] = 61;\n t[33] = 62;\n t[34] = 63;\n t[35] = 64;\n t[36] = 65;\n t[37] = 66;\n t[38] = 67;\n t[39] = 68;\n t[40] = 69;\n t[41] = 70;\n t[42] = 71;\n t[43] = 72;\n t[44] = 73;\n t[45] = 74;\n t[46] = 75;\n t[47] = 76;\n t[48] = 77;\n t[49] = 78;\n t[50] = 79;\n t[51] = 80;\n t[52] = 81;\n t[53] = 82;\n t[54] = 83;\n t[55] = 84;\n t[56] = 85;\n t[57] = 86;\n t[58] = 87;\n t[59] = 88;\n t[60] = 89;\n t[61] = 90;\n t[62] = 91;\n t[63] = 92;\n t[64] = 93;\n t[65] = 94;\n t[66] = 95;\n t[67] = 96;\n t[68] = 97;\n t[69] = 98;\n t[70] = 99;\n t[71] = 100;\n t[72] = 101;\n t[73] = 102;\n t[74] = 103;\n t[75] = 104;\n t[76] = 105;\n t[77] = 106;\n t[78] = 107;\n t[79] = 108;\n t[80] = 109;\n t[81] = 110;\n t[82] = 111;\n t[83] = 112;\n t[84] = 113;\n t[85] = 114;\n t[86] = 115;\n t[87] = 116;\n t[88] = 117;\n t[89] = 118;\n t[90] = 119;\n t[91] = 120;\n t[92] = 121;\n t[93] = 122;\n t[94] = 123;\n t[95] = 124;\n t[96] = 125;\n t[97] = 126;\n t[98] = 196;\n t[99] = 197;\n t[100] = 199;\n t[101] = 201;\n t[102] = 209;\n t[103] = 214;\n t[104] = 220;\n t[105] = 225;\n t[106] = 224;\n t[107] = 226;\n t[108] = 228;\n t[109] = 227;\n t[110] = 229;\n t[111] = 231;\n t[112] = 233;\n t[113] = 232;\n t[114] = 234;\n t[115] = 235;\n t[116] = 237;\n t[117] = 236;\n t[118] = 238;\n t[119] = 239;\n t[120] = 241;\n t[121] = 243;\n t[122] = 242;\n t[123] = 244;\n t[124] = 246;\n t[125] = 245;\n t[126] = 250;\n t[127] = 249;\n t[128] = 251;\n t[129] = 252;\n t[130] = 8224;\n t[131] = 176;\n t[132] = 162;\n t[133] = 163;\n t[134] = 167;\n t[135] = 8226;\n t[136] = 182;\n t[137] = 223;\n t[138] = 174;\n t[139] = 169;\n t[140] = 8482;\n t[141] = 180;\n t[142] = 168;\n t[143] = 8800;\n t[144] = 198;\n t[145] = 216;\n t[146] = 8734;\n t[147] = 177;\n t[148] = 8804;\n t[149] = 8805;\n t[150] = 165;\n t[151] = 181;\n t[152] = 8706;\n t[153] = 8721;\n t[154] = 8719;\n t[156] = 8747;\n t[157] = 170;\n t[158] = 186;\n t[159] = 8486;\n t[160] = 230;\n t[161] = 248;\n t[162] = 191;\n t[163] = 161;\n t[164] = 172;\n t[165] = 8730;\n t[166] = 402;\n t[167] = 8776;\n t[168] = 8710;\n t[169] = 171;\n t[170] = 187;\n t[171] = 8230;\n t[210] = 218;\n t[223] = 711;\n t[224] = 321;\n t[225] = 322;\n t[227] = 353;\n t[229] = 382;\n t[234] = 253;\n t[252] = 263;\n t[253] = 268;\n t[254] = 269;\n t[258] = 258;\n t[260] = 260;\n t[261] = 261;\n t[265] = 280;\n t[266] = 281;\n t[268] = 283;\n t[269] = 313;\n t[275] = 323;\n t[276] = 324;\n t[278] = 328;\n t[284] = 345;\n t[285] = 346;\n t[286] = 347;\n t[292] = 367;\n t[295] = 377;\n t[296] = 378;\n t[298] = 380;\n t[305] = 963;\n t[306] = 964;\n t[307] = 966;\n t[308] = 8215;\n t[309] = 8252;\n t[310] = 8319;\n t[311] = 8359;\n t[312] = 8592;\n t[313] = 8593;\n t[337] = 9552;\n t[493] = 1039;\n t[494] = 1040;\n t[705] = 1524;\n t[706] = 8362;\n t[710] = 64288;\n t[711] = 64298;\n t[759] = 1617;\n t[761] = 1776;\n t[763] = 1778;\n t[775] = 1652;\n t[777] = 1764;\n t[778] = 1780;\n t[779] = 1781;\n t[780] = 1782;\n t[782] = 771;\n t[783] = 64726;\n t[786] = 8363;\n t[788] = 8532;\n t[790] = 768;\n t[791] = 769;\n t[792] = 768;\n t[795] = 803;\n t[797] = 64336;\n t[798] = 64337;\n t[799] = 64342;\n t[800] = 64343;\n t[801] = 64344;\n t[802] = 64345;\n t[803] = 64362;\n t[804] = 64363;\n t[805] = 64364;\n t[2424] = 7821;\n t[2425] = 7822;\n t[2426] = 7823;\n t[2427] = 7824;\n t[2428] = 7825;\n t[2429] = 7826;\n t[2430] = 7827;\n t[2433] = 7682;\n t[2678] = 8045;\n t[2679] = 8046;\n t[2830] = 1552;\n t[2838] = 686;\n t[2840] = 751;\n t[2842] = 753;\n t[2843] = 754;\n t[2844] = 755;\n t[2846] = 757;\n t[2856] = 767;\n t[2857] = 848;\n t[2858] = 849;\n t[2862] = 853;\n t[2863] = 854;\n t[2864] = 855;\n t[2865] = 861;\n t[2866] = 862;\n t[2906] = 7460;\n t[2908] = 7462;\n t[2909] = 7463;\n t[2910] = 7464;\n t[2912] = 7466;\n t[2913] = 7467;\n t[2914] = 7468;\n t[2916] = 7470;\n t[2917] = 7471;\n t[2918] = 7472;\n t[2920] = 7474;\n t[2921] = 7475;\n t[2922] = 7476;\n t[2924] = 7478;\n t[2925] = 7479;\n t[2926] = 7480;\n t[2928] = 7482;\n t[2929] = 7483;\n t[2930] = 7484;\n t[2932] = 7486;\n t[2933] = 7487;\n t[2934] = 7488;\n t[2936] = 7490;\n t[2937] = 7491;\n t[2938] = 7492;\n t[2940] = 7494;\n t[2941] = 7495;\n t[2942] = 7496;\n t[2944] = 7498;\n t[2946] = 7500;\n t[2948] = 7502;\n t[2950] = 7504;\n t[2951] = 7505;\n t[2952] = 7506;\n t[2954] = 7508;\n t[2955] = 7509;\n t[2956] = 7510;\n t[2958] = 7512;\n t[2959] = 7513;\n t[2960] = 7514;\n t[2962] = 7516;\n t[2963] = 7517;\n t[2964] = 7518;\n t[2966] = 7520;\n t[2967] = 7521;\n t[2968] = 7522;\n t[2970] = 7524;\n t[2971] = 7525;\n t[2972] = 7526;\n t[2974] = 7528;\n t[2975] = 7529;\n t[2976] = 7530;\n t[2978] = 1537;\n t[2979] = 1538;\n t[2980] = 1539;\n t[2982] = 1549;\n t[2983] = 1551;\n t[2984] = 1552;\n t[2986] = 1554;\n t[2987] = 1555;\n t[2988] = 1556;\n t[2990] = 1623;\n t[2991] = 1624;\n t[2995] = 1775;\n t[2999] = 1791;\n t[3002] = 64290;\n t[3003] = 64291;\n t[3004] = 64292;\n t[3006] = 64294;\n t[3007] = 64295;\n t[3008] = 64296;\n t[3011] = 1900;\n t[3014] = 8223;\n t[3015] = 8244;\n t[3017] = 7532;\n t[3018] = 7533;\n t[3019] = 7534;\n t[3075] = 7590;\n t[3076] = 7591;\n t[3079] = 7594;\n t[3080] = 7595;\n t[3083] = 7598;\n t[3084] = 7599;\n t[3087] = 7602;\n t[3088] = 7603;\n t[3091] = 7606;\n t[3092] = 7607;\n t[3095] = 7610;\n t[3096] = 7611;\n t[3099] = 7614;\n t[3100] = 7615;\n t[3103] = 7618;\n t[3104] = 7619;\n t[3107] = 8337;\n t[3108] = 8338;\n t[3116] = 1884;\n t[3119] = 1885;\n t[3120] = 1885;\n t[3123] = 1886;\n t[3124] = 1886;\n t[3127] = 1887;\n t[3128] = 1887;\n t[3131] = 1888;\n t[3132] = 1888;\n t[3135] = 1889;\n t[3136] = 1889;\n t[3139] = 1890;\n t[3140] = 1890;\n t[3143] = 1891;\n t[3144] = 1891;\n t[3147] = 1892;\n t[3148] = 1892;\n t[3153] = 580;\n t[3154] = 581;\n t[3157] = 584;\n t[3158] = 585;\n t[3161] = 588;\n t[3162] = 589;\n t[3165] = 891;\n t[3166] = 892;\n t[3169] = 1274;\n t[3170] = 1275;\n t[3173] = 1278;\n t[3174] = 1279;\n t[3181] = 7622;\n t[3182] = 7623;\n t[3282] = 11799;\n t[3316] = 578;\n t[3379] = 42785;\n t[3393] = 1159;\n t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nvar getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nvar getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[1] = 32;\n t[4] = 65;\n t[17] = 66;\n t[18] = 67;\n t[24] = 68;\n t[28] = 69;\n t[38] = 70;\n t[39] = 71;\n t[44] = 72;\n t[47] = 73;\n t[58] = 74;\n t[60] = 75;\n t[62] = 76;\n t[68] = 77;\n t[69] = 78;\n t[75] = 79;\n t[87] = 80;\n t[89] = 81;\n t[90] = 82;\n t[94] = 83;\n t[100] = 84;\n t[104] = 85;\n t[115] = 86;\n t[116] = 87;\n t[121] = 88;\n t[122] = 89;\n t[127] = 90;\n t[258] = 97;\n t[268] = 261;\n t[271] = 98;\n t[272] = 99;\n t[273] = 263;\n t[282] = 100;\n t[286] = 101;\n t[295] = 281;\n t[296] = 102;\n t[336] = 103;\n t[346] = 104;\n t[349] = 105;\n t[361] = 106;\n t[364] = 107;\n t[367] = 108;\n t[371] = 322;\n t[373] = 109;\n t[374] = 110;\n t[381] = 111;\n t[383] = 243;\n t[393] = 112;\n t[395] = 113;\n t[396] = 114;\n t[400] = 115;\n t[401] = 347;\n t[410] = 116;\n t[437] = 117;\n t[448] = 118;\n t[449] = 119;\n t[454] = 120;\n t[455] = 121;\n t[460] = 122;\n t[463] = 380;\n t[853] = 44;\n t[855] = 58;\n t[856] = 46;\n t[876] = 47;\n t[878] = 45;\n t[882] = 45;\n t[894] = 40;\n t[895] = 41;\n t[896] = 91;\n t[897] = 93;\n t[923] = 64;\n t[1004] = 48;\n t[1005] = 49;\n t[1006] = 50;\n t[1007] = 51;\n t[1008] = 52;\n t[1009] = 53;\n t[1010] = 54;\n t[1011] = 55;\n t[1012] = 56;\n t[1013] = 57;\n t[1081] = 37;\n t[1085] = 43;\n t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(186).getLookupTableFactory;\nvar getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00A9;\n t[63193] = 0x00A9;\n t[63720] = 0x00AE;\n t[63194] = 0x00AE;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23A7;\n t[63730] = 0x23A8;\n t[63731] = 0x23A9;\n t[63740] = 0x23AB;\n t[63741] = 0x23AC;\n t[63742] = 0x23AD;\n t[63726] = 0x23A1;\n t[63727] = 0x23A2;\n t[63728] = 0x23A3;\n t[63737] = 0x23A4;\n t[63738] = 0x23A5;\n t[63739] = 0x23A6;\n t[63723] = 0x239B;\n t[63724] = 0x239C;\n t[63725] = 0x239D;\n t[63734] = 0x239E;\n t[63735] = 0x239F;\n t[63736] = 0x23A0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xFFF0 && code <= 0xFFFF) {\n return 0;\n } else if (code >= 0xF600 && code <= 0xF8FF) {\n return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00AD) {\n return 0x002D;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n return unicode;\n }\n if (!name) {\n return -1;\n }\n if (name[0] === 'u') {\n var nameLen = name.length, hexStr;\n if (nameLen === 7 && name[1] === 'n' && name[2] === 'i') {\n hexStr = name.substring(3);\n } else if (nameLen >= 5 && nameLen <= 7) {\n hexStr = name.substring(1);\n } else {\n return -1;\n }\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n 'begin': 0x0000,\n 'end': 0x007F\n },\n {\n 'begin': 0x0080,\n 'end': 0x00FF\n },\n {\n 'begin': 0x0100,\n 'end': 0x017F\n },\n {\n 'begin': 0x0180,\n 'end': 0x024F\n },\n {\n 'begin': 0x0250,\n 'end': 0x02AF\n },\n {\n 'begin': 0x02B0,\n 'end': 0x02FF\n },\n {\n 'begin': 0x0300,\n 'end': 0x036F\n },\n {\n 'begin': 0x0370,\n 'end': 0x03FF\n },\n {\n 'begin': 0x2C80,\n 'end': 0x2CFF\n },\n {\n 'begin': 0x0400,\n 'end': 0x04FF\n },\n {\n 'begin': 0x0530,\n 'end': 0x058F\n },\n {\n 'begin': 0x0590,\n 'end': 0x05FF\n },\n {\n 'begin': 0xA500,\n 'end': 0xA63F\n },\n {\n 'begin': 0x0600,\n 'end': 0x06FF\n },\n {\n 'begin': 0x07C0,\n 'end': 0x07FF\n },\n {\n 'begin': 0x0900,\n 'end': 0x097F\n },\n {\n 'begin': 0x0980,\n 'end': 0x09FF\n },\n {\n 'begin': 0x0A00,\n 'end': 0x0A7F\n },\n {\n 'begin': 0x0A80,\n 'end': 0x0AFF\n },\n {\n 'begin': 0x0B00,\n 'end': 0x0B7F\n },\n {\n 'begin': 0x0B80,\n 'end': 0x0BFF\n },\n {\n 'begin': 0x0C00,\n 'end': 0x0C7F\n },\n {\n 'begin': 0x0C80,\n 'end': 0x0CFF\n },\n {\n 'begin': 0x0D00,\n 'end': 0x0D7F\n },\n {\n 'begin': 0x0E00,\n 'end': 0x0E7F\n },\n {\n 'begin': 0x0E80,\n 'end': 0x0EFF\n },\n {\n 'begin': 0x10A0,\n 'end': 0x10FF\n },\n {\n 'begin': 0x1B00,\n 'end': 0x1B7F\n },\n {\n 'begin': 0x1100,\n 'end': 0x11FF\n },\n {\n 'begin': 0x1E00,\n 'end': 0x1EFF\n },\n {\n 'begin': 0x1F00,\n 'end': 0x1FFF\n },\n {\n 'begin': 0x2000,\n 'end': 0x206F\n },\n {\n 'begin': 0x2070,\n 'end': 0x209F\n },\n {\n 'begin': 0x20A0,\n 'end': 0x20CF\n },\n {\n 'begin': 0x20D0,\n 'end': 0x20FF\n },\n {\n 'begin': 0x2100,\n 'end': 0x214F\n },\n {\n 'begin': 0x2150,\n 'end': 0x218F\n },\n {\n 'begin': 0x2190,\n 'end': 0x21FF\n },\n {\n 'begin': 0x2200,\n 'end': 0x22FF\n },\n {\n 'begin': 0x2300,\n 'end': 0x23FF\n },\n {\n 'begin': 0x2400,\n 'end': 0x243F\n },\n {\n 'begin': 0x2440,\n 'end': 0x245F\n },\n {\n 'begin': 0x2460,\n 'end': 0x24FF\n },\n {\n 'begin': 0x2500,\n 'end': 0x257F\n },\n {\n 'begin': 0x2580,\n 'end': 0x259F\n },\n {\n 'begin': 0x25A0,\n 'end': 0x25FF\n },\n {\n 'begin': 0x2600,\n 'end': 0x26FF\n },\n {\n 'begin': 0x2700,\n 'end': 0x27BF\n },\n {\n 'begin': 0x3000,\n 'end': 0x303F\n },\n {\n 'begin': 0x3040,\n 'end': 0x309F\n },\n {\n 'begin': 0x30A0,\n 'end': 0x30FF\n },\n {\n 'begin': 0x3100,\n 'end': 0x312F\n },\n {\n 'begin': 0x3130,\n 'end': 0x318F\n },\n {\n 'begin': 0xA840,\n 'end': 0xA87F\n },\n {\n 'begin': 0x3200,\n 'end': 0x32FF\n },\n {\n 'begin': 0x3300,\n 'end': 0x33FF\n },\n {\n 'begin': 0xAC00,\n 'end': 0xD7AF\n },\n {\n 'begin': 0xD800,\n 'end': 0xDFFF\n },\n {\n 'begin': 0x10900,\n 'end': 0x1091F\n },\n {\n 'begin': 0x4E00,\n 'end': 0x9FFF\n },\n {\n 'begin': 0xE000,\n 'end': 0xF8FF\n },\n {\n 'begin': 0x31C0,\n 'end': 0x31EF\n },\n {\n 'begin': 0xFB00,\n 'end': 0xFB4F\n },\n {\n 'begin': 0xFB50,\n 'end': 0xFDFF\n },\n {\n 'begin': 0xFE20,\n 'end': 0xFE2F\n },\n {\n 'begin': 0xFE10,\n 'end': 0xFE1F\n },\n {\n 'begin': 0xFE50,\n 'end': 0xFE6F\n },\n {\n 'begin': 0xFE70,\n 'end': 0xFEFF\n },\n {\n 'begin': 0xFF00,\n 'end': 0xFFEF\n },\n {\n 'begin': 0xFFF0,\n 'end': 0xFFFF\n },\n {\n 'begin': 0x0F00,\n 'end': 0x0FFF\n },\n {\n 'begin': 0x0700,\n 'end': 0x074F\n },\n {\n 'begin': 0x0780,\n 'end': 0x07BF\n },\n {\n 'begin': 0x0D80,\n 'end': 0x0DFF\n },\n {\n 'begin': 0x1000,\n 'end': 0x109F\n },\n {\n 'begin': 0x1200,\n 'end': 0x137F\n },\n {\n 'begin': 0x13A0,\n 'end': 0x13FF\n },\n {\n 'begin': 0x1400,\n 'end': 0x167F\n },\n {\n 'begin': 0x1680,\n 'end': 0x169F\n },\n {\n 'begin': 0x16A0,\n 'end': 0x16FF\n },\n {\n 'begin': 0x1780,\n 'end': 0x17FF\n },\n {\n 'begin': 0x1800,\n 'end': 0x18AF\n },\n {\n 'begin': 0x2800,\n 'end': 0x28FF\n },\n {\n 'begin': 0xA000,\n 'end': 0xA48F\n },\n {\n 'begin': 0x1700,\n 'end': 0x171F\n },\n {\n 'begin': 0x10300,\n 'end': 0x1032F\n },\n {\n 'begin': 0x10330,\n 'end': 0x1034F\n },\n {\n 'begin': 0x10400,\n 'end': 0x1044F\n },\n {\n 'begin': 0x1D000,\n 'end': 0x1D0FF\n },\n {\n 'begin': 0x1D400,\n 'end': 0x1D7FF\n },\n {\n 'begin': 0xFF000,\n 'end': 0xFFFFD\n },\n {\n 'begin': 0xFE00,\n 'end': 0xFE0F\n },\n {\n 'begin': 0xE0000,\n 'end': 0xE007F\n },\n {\n 'begin': 0x1900,\n 'end': 0x194F\n },\n {\n 'begin': 0x1950,\n 'end': 0x197F\n },\n {\n 'begin': 0x1980,\n 'end': 0x19DF\n },\n {\n 'begin': 0x1A00,\n 'end': 0x1A1F\n },\n {\n 'begin': 0x2C00,\n 'end': 0x2C5F\n },\n {\n 'begin': 0x2D30,\n 'end': 0x2D7F\n },\n {\n 'begin': 0x4DC0,\n 'end': 0x4DFF\n },\n {\n 'begin': 0xA800,\n 'end': 0xA82F\n },\n {\n 'begin': 0x10000,\n 'end': 0x1007F\n },\n {\n 'begin': 0x10140,\n 'end': 0x1018F\n },\n {\n 'begin': 0x10380,\n 'end': 0x1039F\n },\n {\n 'begin': 0x103A0,\n 'end': 0x103DF\n },\n {\n 'begin': 0x10450,\n 'end': 0x1047F\n },\n {\n 'begin': 0x10480,\n 'end': 0x104AF\n },\n {\n 'begin': 0x10800,\n 'end': 0x1083F\n },\n {\n 'begin': 0x10A00,\n 'end': 0x10A5F\n },\n {\n 'begin': 0x1D300,\n 'end': 0x1D35F\n },\n {\n 'begin': 0x12000,\n 'end': 0x123FF\n },\n {\n 'begin': 0x1D360,\n 'end': 0x1D37F\n },\n {\n 'begin': 0x1B80,\n 'end': 0x1BBF\n },\n {\n 'begin': 0x1C00,\n 'end': 0x1C4F\n },\n {\n 'begin': 0x1C50,\n 'end': 0x1C7F\n },\n {\n 'begin': 0xA880,\n 'end': 0xA8DF\n },\n {\n 'begin': 0xA900,\n 'end': 0xA92F\n },\n {\n 'begin': 0xA930,\n 'end': 0xA95F\n },\n {\n 'begin': 0xAA00,\n 'end': 0xAA5F\n },\n {\n 'begin': 0x10190,\n 'end': 0x101CF\n },\n {\n 'begin': 0x101D0,\n 'end': 0x101FF\n },\n {\n 'begin': 0x102A0,\n 'end': 0x102DF\n },\n {\n 'begin': 0x1F030,\n 'end': 0x1F09F\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n var range = UnicodeRanges[i];\n if (value >= range.begin && value < range.end) {\n return i;\n }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t['\\u00A8'] = '\\u0020\\u0308';\n t['\\u00AF'] = '\\u0020\\u0304';\n t['\\u00B4'] = '\\u0020\\u0301';\n t['\\u00B5'] = '\\u03BC';\n t['\\u00B8'] = '\\u0020\\u0327';\n t['\\u0132'] = '\\u0049\\u004A';\n t['\\u0133'] = '\\u0069\\u006A';\n t['\\u013F'] = '\\u004C\\u00B7';\n t['\\u0140'] = '\\u006C\\u00B7';\n t['\\u0149'] = '\\u02BC\\u006E';\n t['\\u017F'] = '\\u0073';\n t['\\u01C4'] = '\\u0044\\u017D';\n t['\\u01C5'] = '\\u0044\\u017E';\n t['\\u01C6'] = '\\u0064\\u017E';\n t['\\u01C7'] = '\\u004C\\u004A';\n t['\\u01C8'] = '\\u004C\\u006A';\n t['\\u01C9'] = '\\u006C\\u006A';\n t['\\u01CA'] = '\\u004E\\u004A';\n t['\\u01CB'] = '\\u004E\\u006A';\n t['\\u01CC'] = '\\u006E\\u006A';\n t['\\u01F1'] = '\\u0044\\u005A';\n t['\\u01F2'] = '\\u0044\\u007A';\n t['\\u01F3'] = '\\u0064\\u007A';\n t['\\u02D8'] = '\\u0020\\u0306';\n t['\\u02D9'] = '\\u0020\\u0307';\n t['\\u02DA'] = '\\u0020\\u030A';\n t['\\u02DB'] = '\\u0020\\u0328';\n t['\\u02DC'] = '\\u0020\\u0303';\n t['\\u02DD'] = '\\u0020\\u030B';\n t['\\u037A'] = '\\u0020\\u0345';\n t['\\u0384'] = '\\u0020\\u0301';\n t['\\u03D0'] = '\\u03B2';\n t['\\u03D1'] = '\\u03B8';\n t['\\u03D2'] = '\\u03A5';\n t['\\u03D5'] = '\\u03C6';\n t['\\u03D6'] = '\\u03C0';\n t['\\u03F0'] = '\\u03BA';\n t['\\u03F1'] = '\\u03C1';\n t['\\u03F2'] = '\\u03C2';\n t['\\u03F4'] = '\\u0398';\n t['\\u03F5'] = '\\u03B5';\n t['\\u03F9'] = '\\u03A3';\n t['\\u0587'] = '\\u0565\\u0582';\n t['\\u0675'] = '\\u0627\\u0674';\n t['\\u0676'] = '\\u0648\\u0674';\n t['\\u0677'] = '\\u06C7\\u0674';\n t['\\u0678'] = '\\u064A\\u0674';\n t['\\u0E33'] = '\\u0E4D\\u0E32';\n t['\\u0EB3'] = '\\u0ECD\\u0EB2';\n t['\\u0EDC'] = '\\u0EAB\\u0E99';\n t['\\u0EDD'] = '\\u0EAB\\u0EA1';\n t['\\u0F77'] = '\\u0FB2\\u0F81';\n t['\\u0F79'] = '\\u0FB3\\u0F81';\n t['\\u1E9A'] = '\\u0061\\u02BE';\n t['\\u1FBD'] = '\\u0020\\u0313';\n t['\\u1FBF'] = '\\u0020\\u0313';\n t['\\u1FC0'] = '\\u0020\\u0342';\n t['\\u1FFE'] = '\\u0020\\u0314';\n t['\\u2002'] = '\\u0020';\n t['\\u2003'] = '\\u0020';\n t['\\u2004'] = '\\u0020';\n t['\\u2005'] = '\\u0020';\n t['\\u2006'] = '\\u0020';\n t['\\u2008'] = '\\u0020';\n t['\\u2009'] = '\\u0020';\n t['\\u200A'] = '\\u0020';\n t['\\u2017'] = '\\u0020\\u0333';\n t['\\u2024'] = '\\u002E';\n t['\\u2025'] = '\\u002E\\u002E';\n t['\\u2026'] = '\\u002E\\u002E\\u002E';\n t['\\u2033'] = '\\u2032\\u2032';\n t['\\u2034'] = '\\u2032\\u2032\\u2032';\n t['\\u2036'] = '\\u2035\\u2035';\n t['\\u2037'] = '\\u2035\\u2035\\u2035';\n t['\\u203C'] = '\\u0021\\u0021';\n t['\\u203E'] = '\\u0020\\u0305';\n t['\\u2047'] = '\\u003F\\u003F';\n t['\\u2048'] = '\\u003F\\u0021';\n t['\\u2049'] = '\\u0021\\u003F';\n t['\\u2057'] = '\\u2032\\u2032\\u2032\\u2032';\n t['\\u205F'] = '\\u0020';\n t['\\u20A8'] = '\\u0052\\u0073';\n t['\\u2100'] = '\\u0061\\u002F\\u0063';\n t['\\u2101'] = '\\u0061\\u002F\\u0073';\n t['\\u2103'] = '\\u00B0\\u0043';\n t['\\u2105'] = '\\u0063\\u002F\\u006F';\n t['\\u2106'] = '\\u0063\\u002F\\u0075';\n t['\\u2107'] = '\\u0190';\n t['\\u2109'] = '\\u00B0\\u0046';\n t['\\u2116'] = '\\u004E\\u006F';\n t['\\u2121'] = '\\u0054\\u0045\\u004C';\n t['\\u2135'] = '\\u05D0';\n t['\\u2136'] = '\\u05D1';\n t['\\u2137'] = '\\u05D2';\n t['\\u2138'] = '\\u05D3';\n t['\\u213B'] = '\\u0046\\u0041\\u0058';\n t['\\u2160'] = '\\u0049';\n t['\\u2161'] = '\\u0049\\u0049';\n t['\\u2162'] = '\\u0049\\u0049\\u0049';\n t['\\u2163'] = '\\u0049\\u0056';\n t['\\u2164'] = '\\u0056';\n t['\\u2165'] = '\\u0056\\u0049';\n t['\\u2166'] = '\\u0056\\u0049\\u0049';\n t['\\u2167'] = '\\u0056\\u0049\\u0049\\u0049';\n t['\\u2168'] = '\\u0049\\u0058';\n t['\\u2169'] = '\\u0058';\n t['\\u216A'] = '\\u0058\\u0049';\n t['\\u216B'] = '\\u0058\\u0049\\u0049';\n t['\\u216C'] = '\\u004C';\n t['\\u216D'] = '\\u0043';\n t['\\u216E'] = '\\u0044';\n t['\\u216F'] = '\\u004D';\n t['\\u2170'] = '\\u0069';\n t['\\u2171'] = '\\u0069\\u0069';\n t['\\u2172'] = '\\u0069\\u0069\\u0069';\n t['\\u2173'] = '\\u0069\\u0076';\n t['\\u2174'] = '\\u0076';\n t['\\u2175'] = '\\u0076\\u0069';\n t['\\u2176'] = '\\u0076\\u0069\\u0069';\n t['\\u2177'] = '\\u0076\\u0069\\u0069\\u0069';\n t['\\u2178'] = '\\u0069\\u0078';\n t['\\u2179'] = '\\u0078';\n t['\\u217A'] = '\\u0078\\u0069';\n t['\\u217B'] = '\\u0078\\u0069\\u0069';\n t['\\u217C'] = '\\u006C';\n t['\\u217D'] = '\\u0063';\n t['\\u217E'] = '\\u0064';\n t['\\u217F'] = '\\u006D';\n t['\\u222C'] = '\\u222B\\u222B';\n t['\\u222D'] = '\\u222B\\u222B\\u222B';\n t['\\u222F'] = '\\u222E\\u222E';\n t['\\u2230'] = '\\u222E\\u222E\\u222E';\n t['\\u2474'] = '\\u0028\\u0031\\u0029';\n t['\\u2475'] = '\\u0028\\u0032\\u0029';\n t['\\u2476'] = '\\u0028\\u0033\\u0029';\n t['\\u2477'] = '\\u0028\\u0034\\u0029';\n t['\\u2478'] = '\\u0028\\u0035\\u0029';\n t['\\u2479'] = '\\u0028\\u0036\\u0029';\n t['\\u247A'] = '\\u0028\\u0037\\u0029';\n t['\\u247B'] = '\\u0028\\u0038\\u0029';\n t['\\u247C'] = '\\u0028\\u0039\\u0029';\n t['\\u247D'] = '\\u0028\\u0031\\u0030\\u0029';\n t['\\u247E'] = '\\u0028\\u0031\\u0031\\u0029';\n t['\\u247F'] = '\\u0028\\u0031\\u0032\\u0029';\n t['\\u2480'] = '\\u0028\\u0031\\u0033\\u0029';\n t['\\u2481'] = '\\u0028\\u0031\\u0034\\u0029';\n t['\\u2482'] = '\\u0028\\u0031\\u0035\\u0029';\n t['\\u2483'] = '\\u0028\\u0031\\u0036\\u0029';\n t['\\u2484'] = '\\u0028\\u0031\\u0037\\u0029';\n t['\\u2485'] = '\\u0028\\u0031\\u0038\\u0029';\n t['\\u2486'] = '\\u0028\\u0031\\u0039\\u0029';\n t['\\u2487'] = '\\u0028\\u0032\\u0030\\u0029';\n t['\\u2488'] = '\\u0031\\u002E';\n t['\\u2489'] = '\\u0032\\u002E';\n t['\\u248A'] = '\\u0033\\u002E';\n t['\\u248B'] = '\\u0034\\u002E';\n t['\\u248C'] = '\\u0035\\u002E';\n t['\\u248D'] = '\\u0036\\u002E';\n t['\\u248E'] = '\\u0037\\u002E';\n t['\\u248F'] = '\\u0038\\u002E';\n t['\\u2490'] = '\\u0039\\u002E';\n t['\\u2491'] = '\\u0031\\u0030\\u002E';\n t['\\u2492'] = '\\u0031\\u0031\\u002E';\n t['\\u2493'] = '\\u0031\\u0032\\u002E';\n t['\\u2494'] = '\\u0031\\u0033\\u002E';\n t['\\u2495'] = '\\u0031\\u0034\\u002E';\n t['\\u2496'] = '\\u0031\\u0035\\u002E';\n t['\\u2497'] = '\\u0031\\u0036\\u002E';\n t['\\u2498'] = '\\u0031\\u0037\\u002E';\n t['\\u2499'] = '\\u0031\\u0038\\u002E';\n t['\\u249A'] = '\\u0031\\u0039\\u002E';\n t['\\u249B'] = '\\u0032\\u0030\\u002E';\n t['\\u249C'] = '\\u0028\\u0061\\u0029';\n t['\\u249D'] = '\\u0028\\u0062\\u0029';\n t['\\u249E'] = '\\u0028\\u0063\\u0029';\n t['\\u249F'] = '\\u0028\\u0064\\u0029';\n t['\\u24A0'] = '\\u0028\\u0065\\u0029';\n t['\\u24A1'] = '\\u0028\\u0066\\u0029';\n t['\\u24A2'] = '\\u0028\\u0067\\u0029';\n t['\\u24A3'] = '\\u0028\\u0068\\u0029';\n t['\\u24A4'] = '\\u0028\\u0069\\u0029';\n t['\\u24A5'] = '\\u0028\\u006A\\u0029';\n t['\\u24A6'] = '\\u0028\\u006B\\u0029';\n t['\\u24A7'] = '\\u0028\\u006C\\u0029';\n t['\\u24A8'] = '\\u0028\\u006D\\u0029';\n t['\\u24A9'] = '\\u0028\\u006E\\u0029';\n t['\\u24AA'] = '\\u0028\\u006F\\u0029';\n t['\\u24AB'] = '\\u0028\\u0070\\u0029';\n t['\\u24AC'] = '\\u0028\\u0071\\u0029';\n t['\\u24AD'] = '\\u0028\\u0072\\u0029';\n t['\\u24AE'] = '\\u0028\\u0073\\u0029';\n t['\\u24AF'] = '\\u0028\\u0074\\u0029';\n t['\\u24B0'] = '\\u0028\\u0075\\u0029';\n t['\\u24B1'] = '\\u0028\\u0076\\u0029';\n t['\\u24B2'] = '\\u0028\\u0077\\u0029';\n t['\\u24B3'] = '\\u0028\\u0078\\u0029';\n t['\\u24B4'] = '\\u0028\\u0079\\u0029';\n t['\\u24B5'] = '\\u0028\\u007A\\u0029';\n t['\\u2A0C'] = '\\u222B\\u222B\\u222B\\u222B';\n t['\\u2A74'] = '\\u003A\\u003A\\u003D';\n t['\\u2A75'] = '\\u003D\\u003D';\n t['\\u2A76'] = '\\u003D\\u003D\\u003D';\n t['\\u2E9F'] = '\\u6BCD';\n t['\\u2EF3'] = '\\u9F9F';\n t['\\u2F00'] = '\\u4E00';\n t['\\u2F01'] = '\\u4E28';\n t['\\u2F02'] = '\\u4E36';\n t['\\u2F03'] = '\\u4E3F';\n t['\\u2F04'] = '\\u4E59';\n t['\\u2F05'] = '\\u4E85';\n t['\\u2F06'] = '\\u4E8C';\n t['\\u2F07'] = '\\u4EA0';\n t['\\u2F08'] = '\\u4EBA';\n t['\\u2F09'] = '\\u513F';\n t['\\u2F0A'] = '\\u5165';\n t['\\u2F0B'] = '\\u516B';\n t['\\u2F0C'] = '\\u5182';\n t['\\u2F0D'] = '\\u5196';\n t['\\u2F0E'] = '\\u51AB';\n t['\\u2F0F'] = '\\u51E0';\n t['\\u2F10'] = '\\u51F5';\n t['\\u2F11'] = '\\u5200';\n t['\\u2F12'] = '\\u529B';\n t['\\u2F13'] = '\\u52F9';\n t['\\u2F14'] = '\\u5315';\n t['\\u2F15'] = '\\u531A';\n t['\\u2F16'] = '\\u5338';\n t['\\u2F17'] = '\\u5341';\n t['\\u2F18'] = '\\u535C';\n t['\\u2F19'] = '\\u5369';\n t['\\u2F1A'] = '\\u5382';\n t['\\u2F1B'] = '\\u53B6';\n t['\\u2F1C'] = '\\u53C8';\n t['\\u2F1D'] = '\\u53E3';\n t['\\u2F1E'] = '\\u56D7';\n t['\\u2F1F'] = '\\u571F';\n t['\\u2F20'] = '\\u58EB';\n t['\\u2F21'] = '\\u5902';\n t['\\u2F22'] = '\\u590A';\n t['\\u2F23'] = '\\u5915';\n t['\\u2F24'] = '\\u5927';\n t['\\u2F25'] = '\\u5973';\n t['\\u2F26'] = '\\u5B50';\n t['\\u2F27'] = '\\u5B80';\n t['\\u2F28'] = '\\u5BF8';\n t['\\u2F29'] = '\\u5C0F';\n t['\\u2F2A'] = '\\u5C22';\n t['\\u2F2B'] = '\\u5C38';\n t['\\u2F2C'] = '\\u5C6E';\n t['\\u2F2D'] = '\\u5C71';\n t['\\u2F2E'] = '\\u5DDB';\n t['\\u2F2F'] = '\\u5DE5';\n t['\\u2F30'] = '\\u5DF1';\n t['\\u2F31'] = '\\u5DFE';\n t['\\u2F32'] = '\\u5E72';\n t['\\u2F33'] = '\\u5E7A';\n t['\\u2F34'] = '\\u5E7F';\n t['\\u2F35'] = '\\u5EF4';\n t['\\u2F36'] = '\\u5EFE';\n t['\\u2F37'] = '\\u5F0B';\n t['\\u2F38'] = '\\u5F13';\n t['\\u2F39'] = '\\u5F50';\n t['\\u2F3A'] = '\\u5F61';\n t['\\u2F3B'] = '\\u5F73';\n t['\\u2F3C'] = '\\u5FC3';\n t['\\u2F3D'] = '\\u6208';\n t['\\u2F3E'] = '\\u6236';\n t['\\u2F3F'] = '\\u624B';\n t['\\u2F40'] = '\\u652F';\n t['\\u2F41'] = '\\u6534';\n t['\\u2F42'] = '\\u6587';\n t['\\u2F43'] = '\\u6597';\n t['\\u2F44'] = '\\u65A4';\n t['\\u2F45'] = '\\u65B9';\n t['\\u2F46'] = '\\u65E0';\n t['\\u2F47'] = '\\u65E5';\n t['\\u2F48'] = '\\u66F0';\n t['\\u2F49'] = '\\u6708';\n t['\\u2F4A'] = '\\u6728';\n t['\\u2F4B'] = '\\u6B20';\n t['\\u2F4C'] = '\\u6B62';\n t['\\u2F4D'] = '\\u6B79';\n t['\\u2F4E'] = '\\u6BB3';\n t['\\u2F4F'] = '\\u6BCB';\n t['\\u2F50'] = '\\u6BD4';\n t['\\u2F51'] = '\\u6BDB';\n t['\\u2F52'] = '\\u6C0F';\n t['\\u2F53'] = '\\u6C14';\n t['\\u2F54'] = '\\u6C34';\n t['\\u2F55'] = '\\u706B';\n t['\\u2F56'] = '\\u722A';\n t['\\u2F57'] = '\\u7236';\n t['\\u2F58'] = '\\u723B';\n t['\\u2F59'] = '\\u723F';\n t['\\u2F5A'] = '\\u7247';\n t['\\u2F5B'] = '\\u7259';\n t['\\u2F5C'] = '\\u725B';\n t['\\u2F5D'] = '\\u72AC';\n t['\\u2F5E'] = '\\u7384';\n t['\\u2F5F'] = '\\u7389';\n t['\\u2F60'] = '\\u74DC';\n t['\\u2F61'] = '\\u74E6';\n t['\\u2F62'] = '\\u7518';\n t['\\u2F63'] = '\\u751F';\n t['\\u2F64'] = '\\u7528';\n t['\\u2F65'] = '\\u7530';\n t['\\u2F66'] = '\\u758B';\n t['\\u2F67'] = '\\u7592';\n t['\\u2F68'] = '\\u7676';\n t['\\u2F69'] = '\\u767D';\n t['\\u2F6A'] = '\\u76AE';\n t['\\u2F6B'] = '\\u76BF';\n t['\\u2F6C'] = '\\u76EE';\n t['\\u2F6D'] = '\\u77DB';\n t['\\u2F6E'] = '\\u77E2';\n t['\\u2F6F'] = '\\u77F3';\n t['\\u2F70'] = '\\u793A';\n t['\\u2F71'] = '\\u79B8';\n t['\\u2F72'] = '\\u79BE';\n t['\\u2F73'] = '\\u7A74';\n t['\\u2F74'] = '\\u7ACB';\n t['\\u2F75'] = '\\u7AF9';\n t['\\u2F76'] = '\\u7C73';\n t['\\u2F77'] = '\\u7CF8';\n t['\\u2F78'] = '\\u7F36';\n t['\\u2F79'] = '\\u7F51';\n t['\\u2F7A'] = '\\u7F8A';\n t['\\u2F7B'] = '\\u7FBD';\n t['\\u2F7C'] = '\\u8001';\n t['\\u2F7D'] = '\\u800C';\n t['\\u2F7E'] = '\\u8012';\n t['\\u2F7F'] = '\\u8033';\n t['\\u2F80'] = '\\u807F';\n t['\\u2F81'] = '\\u8089';\n t['\\u2F82'] = '\\u81E3';\n t['\\u2F83'] = '\\u81EA';\n t['\\u2F84'] = '\\u81F3';\n t['\\u2F85'] = '\\u81FC';\n t['\\u2F86'] = '\\u820C';\n t['\\u2F87'] = '\\u821B';\n t['\\u2F88'] = '\\u821F';\n t['\\u2F89'] = '\\u826E';\n t['\\u2F8A'] = '\\u8272';\n t['\\u2F8B'] = '\\u8278';\n t['\\u2F8C'] = '\\u864D';\n t['\\u2F8D'] = '\\u866B';\n t['\\u2F8E'] = '\\u8840';\n t['\\u2F8F'] = '\\u884C';\n t['\\u2F90'] = '\\u8863';\n t['\\u2F91'] = '\\u897E';\n t['\\u2F92'] = '\\u898B';\n t['\\u2F93'] = '\\u89D2';\n t['\\u2F94'] = '\\u8A00';\n t['\\u2F95'] = '\\u8C37';\n t['\\u2F96'] = '\\u8C46';\n t['\\u2F97'] = '\\u8C55';\n t['\\u2F98'] = '\\u8C78';\n t['\\u2F99'] = '\\u8C9D';\n t['\\u2F9A'] = '\\u8D64';\n t['\\u2F9B'] = '\\u8D70';\n t['\\u2F9C'] = '\\u8DB3';\n t['\\u2F9D'] = '\\u8EAB';\n t['\\u2F9E'] = '\\u8ECA';\n t['\\u2F9F'] = '\\u8F9B';\n t['\\u2FA0'] = '\\u8FB0';\n t['\\u2FA1'] = '\\u8FB5';\n t['\\u2FA2'] = '\\u9091';\n t['\\u2FA3'] = '\\u9149';\n t['\\u2FA4'] = '\\u91C6';\n t['\\u2FA5'] = '\\u91CC';\n t['\\u2FA6'] = '\\u91D1';\n t['\\u2FA7'] = '\\u9577';\n t['\\u2FA8'] = '\\u9580';\n t['\\u2FA9'] = '\\u961C';\n t['\\u2FAA'] = '\\u96B6';\n t['\\u2FAB'] = '\\u96B9';\n t['\\u2FAC'] = '\\u96E8';\n t['\\u2FAD'] = '\\u9751';\n t['\\u2FAE'] = '\\u975E';\n t['\\u2FAF'] = '\\u9762';\n t['\\u2FB0'] = '\\u9769';\n t['\\u2FB1'] = '\\u97CB';\n t['\\u2FB2'] = '\\u97ED';\n t['\\u2FB3'] = '\\u97F3';\n t['\\u2FB4'] = '\\u9801';\n t['\\u2FB5'] = '\\u98A8';\n t['\\u2FB6'] = '\\u98DB';\n t['\\u2FB7'] = '\\u98DF';\n t['\\u2FB8'] = '\\u9996';\n t['\\u2FB9'] = '\\u9999';\n t['\\u2FBA'] = '\\u99AC';\n t['\\u2FBB'] = '\\u9AA8';\n t['\\u2FBC'] = '\\u9AD8';\n t['\\u2FBD'] = '\\u9ADF';\n t['\\u2FBE'] = '\\u9B25';\n t['\\u2FBF'] = '\\u9B2F';\n t['\\u2FC0'] = '\\u9B32';\n t['\\u2FC1'] = '\\u9B3C';\n t['\\u2FC2'] = '\\u9B5A';\n t['\\u2FC3'] = '\\u9CE5';\n t['\\u2FC4'] = '\\u9E75';\n t['\\u2FC5'] = '\\u9E7F';\n t['\\u2FC6'] = '\\u9EA5';\n t['\\u2FC7'] = '\\u9EBB';\n t['\\u2FC8'] = '\\u9EC3';\n t['\\u2FC9'] = '\\u9ECD';\n t['\\u2FCA'] = '\\u9ED1';\n t['\\u2FCB'] = '\\u9EF9';\n t['\\u2FCC'] = '\\u9EFD';\n t['\\u2FCD'] = '\\u9F0E';\n t['\\u2FCE'] = '\\u9F13';\n t['\\u2FCF'] = '\\u9F20';\n t['\\u2FD0'] = '\\u9F3B';\n t['\\u2FD1'] = '\\u9F4A';\n t['\\u2FD2'] = '\\u9F52';\n t['\\u2FD3'] = '\\u9F8D';\n t['\\u2FD4'] = '\\u9F9C';\n t['\\u2FD5'] = '\\u9FA0';\n t['\\u3036'] = '\\u3012';\n t['\\u3038'] = '\\u5341';\n t['\\u3039'] = '\\u5344';\n t['\\u303A'] = '\\u5345';\n t['\\u309B'] = '\\u0020\\u3099';\n t['\\u309C'] = '\\u0020\\u309A';\n t['\\u3131'] = '\\u1100';\n t['\\u3132'] = '\\u1101';\n t['\\u3133'] = '\\u11AA';\n t['\\u3134'] = '\\u1102';\n t['\\u3135'] = '\\u11AC';\n t['\\u3136'] = '\\u11AD';\n t['\\u3137'] = '\\u1103';\n t['\\u3138'] = '\\u1104';\n t['\\u3139'] = '\\u1105';\n t['\\u313A'] = '\\u11B0';\n t['\\u313B'] = '\\u11B1';\n t['\\u313C'] = '\\u11B2';\n t['\\u313D'] = '\\u11B3';\n t['\\u313E'] = '\\u11B4';\n t['\\u313F'] = '\\u11B5';\n t['\\u3140'] = '\\u111A';\n t['\\u3141'] = '\\u1106';\n t['\\u3142'] = '\\u1107';\n t['\\u3143'] = '\\u1108';\n t['\\u3144'] = '\\u1121';\n t['\\u3145'] = '\\u1109';\n t['\\u3146'] = '\\u110A';\n t['\\u3147'] = '\\u110B';\n t['\\u3148'] = '\\u110C';\n t['\\u3149'] = '\\u110D';\n t['\\u314A'] = '\\u110E';\n t['\\u314B'] = '\\u110F';\n t['\\u314C'] = '\\u1110';\n t['\\u314D'] = '\\u1111';\n t['\\u314E'] = '\\u1112';\n t['\\u314F'] = '\\u1161';\n t['\\u3150'] = '\\u1162';\n t['\\u3151'] = '\\u1163';\n t['\\u3152'] = '\\u1164';\n t['\\u3153'] = '\\u1165';\n t['\\u3154'] = '\\u1166';\n t['\\u3155'] = '\\u1167';\n t['\\u3156'] = '\\u1168';\n t['\\u3157'] = '\\u1169';\n t['\\u3158'] = '\\u116A';\n t['\\u3159'] = '\\u116B';\n t['\\u315A'] = '\\u116C';\n t['\\u315B'] = '\\u116D';\n t['\\u315C'] = '\\u116E';\n t['\\u315D'] = '\\u116F';\n t['\\u315E'] = '\\u1170';\n t['\\u315F'] = '\\u1171';\n t['\\u3160'] = '\\u1172';\n t['\\u3161'] = '\\u1173';\n t['\\u3162'] = '\\u1174';\n t['\\u3163'] = '\\u1175';\n t['\\u3164'] = '\\u1160';\n t['\\u3165'] = '\\u1114';\n t['\\u3166'] = '\\u1115';\n t['\\u3167'] = '\\u11C7';\n t['\\u3168'] = '\\u11C8';\n t['\\u3169'] = '\\u11CC';\n t['\\u316A'] = '\\u11CE';\n t['\\u316B'] = '\\u11D3';\n t['\\u316C'] = '\\u11D7';\n t['\\u316D'] = '\\u11D9';\n t['\\u316E'] = '\\u111C';\n t['\\u316F'] = '\\u11DD';\n t['\\u3170'] = '\\u11DF';\n t['\\u3171'] = '\\u111D';\n t['\\u3172'] = '\\u111E';\n t['\\u3173'] = '\\u1120';\n t['\\u3174'] = '\\u1122';\n t['\\u3175'] = '\\u1123';\n t['\\u3176'] = '\\u1127';\n t['\\u3177'] = '\\u1129';\n t['\\u3178'] = '\\u112B';\n t['\\u3179'] = '\\u112C';\n t['\\u317A'] = '\\u112D';\n t['\\u317B'] = '\\u112E';\n t['\\u317C'] = '\\u112F';\n t['\\u317D'] = '\\u1132';\n t['\\u317E'] = '\\u1136';\n t['\\u317F'] = '\\u1140';\n t['\\u3180'] = '\\u1147';\n t['\\u3181'] = '\\u114C';\n t['\\u3182'] = '\\u11F1';\n t['\\u3183'] = '\\u11F2';\n t['\\u3184'] = '\\u1157';\n t['\\u3185'] = '\\u1158';\n t['\\u3186'] = '\\u1159';\n t['\\u3187'] = '\\u1184';\n t['\\u3188'] = '\\u1185';\n t['\\u3189'] = '\\u1188';\n t['\\u318A'] = '\\u1191';\n t['\\u318B'] = '\\u1192';\n t['\\u318C'] = '\\u1194';\n t['\\u318D'] = '\\u119E';\n t['\\u318E'] = '\\u11A1';\n t['\\u3200'] = '\\u0028\\u1100\\u0029';\n t['\\u3201'] = '\\u0028\\u1102\\u0029';\n t['\\u3202'] = '\\u0028\\u1103\\u0029';\n t['\\u3203'] = '\\u0028\\u1105\\u0029';\n t['\\u3204'] = '\\u0028\\u1106\\u0029';\n t['\\u3205'] = '\\u0028\\u1107\\u0029';\n t['\\u3206'] = '\\u0028\\u1109\\u0029';\n t['\\u3207'] = '\\u0028\\u110B\\u0029';\n t['\\u3208'] = '\\u0028\\u110C\\u0029';\n t['\\u3209'] = '\\u0028\\u110E\\u0029';\n t['\\u320A'] = '\\u0028\\u110F\\u0029';\n t['\\u320B'] = '\\u0028\\u1110\\u0029';\n t['\\u320C'] = '\\u0028\\u1111\\u0029';\n t['\\u320D'] = '\\u0028\\u1112\\u0029';\n t['\\u320E'] = '\\u0028\\u1100\\u1161\\u0029';\n t['\\u320F'] = '\\u0028\\u1102\\u1161\\u0029';\n t['\\u3210'] = '\\u0028\\u1103\\u1161\\u0029';\n t['\\u3211'] = '\\u0028\\u1105\\u1161\\u0029';\n t['\\u3212'] = '\\u0028\\u1106\\u1161\\u0029';\n t['\\u3213'] = '\\u0028\\u1107\\u1161\\u0029';\n t['\\u3214'] = '\\u0028\\u1109\\u1161\\u0029';\n t['\\u3215'] = '\\u0028\\u110B\\u1161\\u0029';\n t['\\u3216'] = '\\u0028\\u110C\\u1161\\u0029';\n t['\\u3217'] = '\\u0028\\u110E\\u1161\\u0029';\n t['\\u3218'] = '\\u0028\\u110F\\u1161\\u0029';\n t['\\u3219'] = '\\u0028\\u1110\\u1161\\u0029';\n t['\\u321A'] = '\\u0028\\u1111\\u1161\\u0029';\n t['\\u321B'] = '\\u0028\\u1112\\u1161\\u0029';\n t['\\u321C'] = '\\u0028\\u110C\\u116E\\u0029';\n t['\\u321D'] = '\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029';\n t['\\u321E'] = '\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029';\n t['\\u3220'] = '\\u0028\\u4E00\\u0029';\n t['\\u3221'] = '\\u0028\\u4E8C\\u0029';\n t['\\u3222'] = '\\u0028\\u4E09\\u0029';\n t['\\u3223'] = '\\u0028\\u56DB\\u0029';\n t['\\u3224'] = '\\u0028\\u4E94\\u0029';\n t['\\u3225'] = '\\u0028\\u516D\\u0029';\n t['\\u3226'] = '\\u0028\\u4E03\\u0029';\n t['\\u3227'] = '\\u0028\\u516B\\u0029';\n t['\\u3228'] = '\\u0028\\u4E5D\\u0029';\n t['\\u3229'] = '\\u0028\\u5341\\u0029';\n t['\\u322A'] = '\\u0028\\u6708\\u0029';\n t['\\u322B'] = '\\u0028\\u706B\\u0029';\n t['\\u322C'] = '\\u0028\\u6C34\\u0029';\n t['\\u322D'] = '\\u0028\\u6728\\u0029';\n t['\\u322E'] = '\\u0028\\u91D1\\u0029';\n t['\\u322F'] = '\\u0028\\u571F\\u0029';\n t['\\u3230'] = '\\u0028\\u65E5\\u0029';\n t['\\u3231'] = '\\u0028\\u682A\\u0029';\n t['\\u3232'] = '\\u0028\\u6709\\u0029';\n t['\\u3233'] = '\\u0028\\u793E\\u0029';\n t['\\u3234'] = '\\u0028\\u540D\\u0029';\n t['\\u3235'] = '\\u0028\\u7279\\u0029';\n t['\\u3236'] = '\\u0028\\u8CA1\\u0029';\n t['\\u3237'] = '\\u0028\\u795D\\u0029';\n t['\\u3238'] = '\\u0028\\u52B4\\u0029';\n t['\\u3239'] = '\\u0028\\u4EE3\\u0029';\n t['\\u323A'] = '\\u0028\\u547C\\u0029';\n t['\\u323B'] = '\\u0028\\u5B66\\u0029';\n t['\\u323C'] = '\\u0028\\u76E3\\u0029';\n t['\\u323D'] = '\\u0028\\u4F01\\u0029';\n t['\\u323E'] = '\\u0028\\u8CC7\\u0029';\n t['\\u323F'] = '\\u0028\\u5354\\u0029';\n t['\\u3240'] = '\\u0028\\u796D\\u0029';\n t['\\u3241'] = '\\u0028\\u4F11\\u0029';\n t['\\u3242'] = '\\u0028\\u81EA\\u0029';\n t['\\u3243'] = '\\u0028\\u81F3\\u0029';\n t['\\u32C0'] = '\\u0031\\u6708';\n t['\\u32C1'] = '\\u0032\\u6708';\n t['\\u32C2'] = '\\u0033\\u6708';\n t['\\u32C3'] = '\\u0034\\u6708';\n t['\\u32C4'] = '\\u0035\\u6708';\n t['\\u32C5'] = '\\u0036\\u6708';\n t['\\u32C6'] = '\\u0037\\u6708';\n t['\\u32C7'] = '\\u0038\\u6708';\n t['\\u32C8'] = '\\u0039\\u6708';\n t['\\u32C9'] = '\\u0031\\u0030\\u6708';\n t['\\u32CA'] = '\\u0031\\u0031\\u6708';\n t['\\u32CB'] = '\\u0031\\u0032\\u6708';\n t['\\u3358'] = '\\u0030\\u70B9';\n t['\\u3359'] = '\\u0031\\u70B9';\n t['\\u335A'] = '\\u0032\\u70B9';\n t['\\u335B'] = '\\u0033\\u70B9';\n t['\\u335C'] = '\\u0034\\u70B9';\n t['\\u335D'] = '\\u0035\\u70B9';\n t['\\u335E'] = '\\u0036\\u70B9';\n t['\\u335F'] = '\\u0037\\u70B9';\n t['\\u3360'] = '\\u0038\\u70B9';\n t['\\u3361'] = '\\u0039\\u70B9';\n t['\\u3362'] = '\\u0031\\u0030\\u70B9';\n t['\\u3363'] = '\\u0031\\u0031\\u70B9';\n t['\\u3364'] = '\\u0031\\u0032\\u70B9';\n t['\\u3365'] = '\\u0031\\u0033\\u70B9';\n t['\\u3366'] = '\\u0031\\u0034\\u70B9';\n t['\\u3367'] = '\\u0031\\u0035\\u70B9';\n t['\\u3368'] = '\\u0031\\u0036\\u70B9';\n t['\\u3369'] = '\\u0031\\u0037\\u70B9';\n t['\\u336A'] = '\\u0031\\u0038\\u70B9';\n t['\\u336B'] = '\\u0031\\u0039\\u70B9';\n t['\\u336C'] = '\\u0032\\u0030\\u70B9';\n t['\\u336D'] = '\\u0032\\u0031\\u70B9';\n t['\\u336E'] = '\\u0032\\u0032\\u70B9';\n t['\\u336F'] = '\\u0032\\u0033\\u70B9';\n t['\\u3370'] = '\\u0032\\u0034\\u70B9';\n t['\\u33E0'] = '\\u0031\\u65E5';\n t['\\u33E1'] = '\\u0032\\u65E5';\n t['\\u33E2'] = '\\u0033\\u65E5';\n t['\\u33E3'] = '\\u0034\\u65E5';\n t['\\u33E4'] = '\\u0035\\u65E5';\n t['\\u33E5'] = '\\u0036\\u65E5';\n t['\\u33E6'] = '\\u0037\\u65E5';\n t['\\u33E7'] = '\\u0038\\u65E5';\n t['\\u33E8'] = '\\u0039\\u65E5';\n t['\\u33E9'] = '\\u0031\\u0030\\u65E5';\n t['\\u33EA'] = '\\u0031\\u0031\\u65E5';\n t['\\u33EB'] = '\\u0031\\u0032\\u65E5';\n t['\\u33EC'] = '\\u0031\\u0033\\u65E5';\n t['\\u33ED'] = '\\u0031\\u0034\\u65E5';\n t['\\u33EE'] = '\\u0031\\u0035\\u65E5';\n t['\\u33EF'] = '\\u0031\\u0036\\u65E5';\n t['\\u33F0'] = '\\u0031\\u0037\\u65E5';\n t['\\u33F1'] = '\\u0031\\u0038\\u65E5';\n t['\\u33F2'] = '\\u0031\\u0039\\u65E5';\n t['\\u33F3'] = '\\u0032\\u0030\\u65E5';\n t['\\u33F4'] = '\\u0032\\u0031\\u65E5';\n t['\\u33F5'] = '\\u0032\\u0032\\u65E5';\n t['\\u33F6'] = '\\u0032\\u0033\\u65E5';\n t['\\u33F7'] = '\\u0032\\u0034\\u65E5';\n t['\\u33F8'] = '\\u0032\\u0035\\u65E5';\n t['\\u33F9'] = '\\u0032\\u0036\\u65E5';\n t['\\u33FA'] = '\\u0032\\u0037\\u65E5';\n t['\\u33FB'] = '\\u0032\\u0038\\u65E5';\n t['\\u33FC'] = '\\u0032\\u0039\\u65E5';\n t['\\u33FD'] = '\\u0033\\u0030\\u65E5';\n t['\\u33FE'] = '\\u0033\\u0031\\u65E5';\n t['\\uFB00'] = '\\u0066\\u0066';\n t['\\uFB01'] = '\\u0066\\u0069';\n t['\\uFB02'] = '\\u0066\\u006C';\n t['\\uFB03'] = '\\u0066\\u0066\\u0069';\n t['\\uFB04'] = '\\u0066\\u0066\\u006C';\n t['\\uFB05'] = '\\u017F\\u0074';\n t['\\uFB06'] = '\\u0073\\u0074';\n t['\\uFB13'] = '\\u0574\\u0576';\n t['\\uFB14'] = '\\u0574\\u0565';\n t['\\uFB15'] = '\\u0574\\u056B';\n t['\\uFB16'] = '\\u057E\\u0576';\n t['\\uFB17'] = '\\u0574\\u056D';\n t['\\uFB4F'] = '\\u05D0\\u05DC';\n t['\\uFB50'] = '\\u0671';\n t['\\uFB51'] = '\\u0671';\n t['\\uFB52'] = '\\u067B';\n t['\\uFB53'] = '\\u067B';\n t['\\uFB54'] = '\\u067B';\n t['\\uFB55'] = '\\u067B';\n t['\\uFB56'] = '\\u067E';\n t['\\uFB57'] = '\\u067E';\n t['\\uFB58'] = '\\u067E';\n t['\\uFB59'] = '\\u067E';\n t['\\uFB5A'] = '\\u0680';\n t['\\uFB5B'] = '\\u0680';\n t['\\uFB5C'] = '\\u0680';\n t['\\uFB5D'] = '\\u0680';\n t['\\uFB5E'] = '\\u067A';\n t['\\uFB5F'] = '\\u067A';\n t['\\uFB60'] = '\\u067A';\n t['\\uFB61'] = '\\u067A';\n t['\\uFB62'] = '\\u067F';\n t['\\uFB63'] = '\\u067F';\n t['\\uFB64'] = '\\u067F';\n t['\\uFB65'] = '\\u067F';\n t['\\uFB66'] = '\\u0679';\n t['\\uFB67'] = '\\u0679';\n t['\\uFB68'] = '\\u0679';\n t['\\uFB69'] = '\\u0679';\n t['\\uFB6A'] = '\\u06A4';\n t['\\uFB6B'] = '\\u06A4';\n t['\\uFB6C'] = '\\u06A4';\n t['\\uFB6D'] = '\\u06A4';\n t['\\uFB6E'] = '\\u06A6';\n t['\\uFB6F'] = '\\u06A6';\n t['\\uFB70'] = '\\u06A6';\n t['\\uFB71'] = '\\u06A6';\n t['\\uFB72'] = '\\u0684';\n t['\\uFB73'] = '\\u0684';\n t['\\uFB74'] = '\\u0684';\n t['\\uFB75'] = '\\u0684';\n t['\\uFB76'] = '\\u0683';\n t['\\uFB77'] = '\\u0683';\n t['\\uFB78'] = '\\u0683';\n t['\\uFB79'] = '\\u0683';\n t['\\uFB7A'] = '\\u0686';\n t['\\uFB7B'] = '\\u0686';\n t['\\uFB7C'] = '\\u0686';\n t['\\uFB7D'] = '\\u0686';\n t['\\uFB7E'] = '\\u0687';\n t['\\uFB7F'] = '\\u0687';\n t['\\uFB80'] = '\\u0687';\n t['\\uFB81'] = '\\u0687';\n t['\\uFB82'] = '\\u068D';\n t['\\uFB83'] = '\\u068D';\n t['\\uFB84'] = '\\u068C';\n t['\\uFB85'] = '\\u068C';\n t['\\uFB86'] = '\\u068E';\n t['\\uFB87'] = '\\u068E';\n t['\\uFB88'] = '\\u0688';\n t['\\uFB89'] = '\\u0688';\n t['\\uFB8A'] = '\\u0698';\n t['\\uFB8B'] = '\\u0698';\n t['\\uFB8C'] = '\\u0691';\n t['\\uFB8D'] = '\\u0691';\n t['\\uFB8E'] = '\\u06A9';\n t['\\uFB8F'] = '\\u06A9';\n t['\\uFB90'] = '\\u06A9';\n t['\\uFB91'] = '\\u06A9';\n t['\\uFB92'] = '\\u06AF';\n t['\\uFB93'] = '\\u06AF';\n t['\\uFB94'] = '\\u06AF';\n t['\\uFB95'] = '\\u06AF';\n t['\\uFB96'] = '\\u06B3';\n t['\\uFB97'] = '\\u06B3';\n t['\\uFB98'] = '\\u06B3';\n t['\\uFB99'] = '\\u06B3';\n t['\\uFB9A'] = '\\u06B1';\n t['\\uFB9B'] = '\\u06B1';\n t['\\uFB9C'] = '\\u06B1';\n t['\\uFB9D'] = '\\u06B1';\n t['\\uFB9E'] = '\\u06BA';\n t['\\uFB9F'] = '\\u06BA';\n t['\\uFBA0'] = '\\u06BB';\n t['\\uFBA1'] = '\\u06BB';\n t['\\uFBA2'] = '\\u06BB';\n t['\\uFBA3'] = '\\u06BB';\n t['\\uFBA4'] = '\\u06C0';\n t['\\uFBA5'] = '\\u06C0';\n t['\\uFBA6'] = '\\u06C1';\n t['\\uFBA7'] = '\\u06C1';\n t['\\uFBA8'] = '\\u06C1';\n t['\\uFBA9'] = '\\u06C1';\n t['\\uFBAA'] = '\\u06BE';\n t['\\uFBAB'] = '\\u06BE';\n t['\\uFBAC'] = '\\u06BE';\n t['\\uFBAD'] = '\\u06BE';\n t['\\uFBAE'] = '\\u06D2';\n t['\\uFBAF'] = '\\u06D2';\n t['\\uFBB0'] = '\\u06D3';\n t['\\uFBB1'] = '\\u06D3';\n t['\\uFBD3'] = '\\u06AD';\n t['\\uFBD4'] = '\\u06AD';\n t['\\uFBD5'] = '\\u06AD';\n t['\\uFBD6'] = '\\u06AD';\n t['\\uFBD7'] = '\\u06C7';\n t['\\uFBD8'] = '\\u06C7';\n t['\\uFBD9'] = '\\u06C6';\n t['\\uFBDA'] = '\\u06C6';\n t['\\uFBDB'] = '\\u06C8';\n t['\\uFBDC'] = '\\u06C8';\n t['\\uFBDD'] = '\\u0677';\n t['\\uFBDE'] = '\\u06CB';\n t['\\uFBDF'] = '\\u06CB';\n t['\\uFBE0'] = '\\u06C5';\n t['\\uFBE1'] = '\\u06C5';\n t['\\uFBE2'] = '\\u06C9';\n t['\\uFBE3'] = '\\u06C9';\n t['\\uFBE4'] = '\\u06D0';\n t['\\uFBE5'] = '\\u06D0';\n t['\\uFBE6'] = '\\u06D0';\n t['\\uFBE7'] = '\\u06D0';\n t['\\uFBE8'] = '\\u0649';\n t['\\uFBE9'] = '\\u0649';\n t['\\uFBEA'] = '\\u0626\\u0627';\n t['\\uFBEB'] = '\\u0626\\u0627';\n t['\\uFBEC'] = '\\u0626\\u06D5';\n t['\\uFBED'] = '\\u0626\\u06D5';\n t['\\uFBEE'] = '\\u0626\\u0648';\n t['\\uFBEF'] = '\\u0626\\u0648';\n t['\\uFBF0'] = '\\u0626\\u06C7';\n t['\\uFBF1'] = '\\u0626\\u06C7';\n t['\\uFBF2'] = '\\u0626\\u06C6';\n t['\\uFBF3'] = '\\u0626\\u06C6';\n t['\\uFBF4'] = '\\u0626\\u06C8';\n t['\\uFBF5'] = '\\u0626\\u06C8';\n t['\\uFBF6'] = '\\u0626\\u06D0';\n t['\\uFBF7'] = '\\u0626\\u06D0';\n t['\\uFBF8'] = '\\u0626\\u06D0';\n t['\\uFBF9'] = '\\u0626\\u0649';\n t['\\uFBFA'] = '\\u0626\\u0649';\n t['\\uFBFB'] = '\\u0626\\u0649';\n t['\\uFBFC'] = '\\u06CC';\n t['\\uFBFD'] = '\\u06CC';\n t['\\uFBFE'] = '\\u06CC';\n t['\\uFBFF'] = '\\u06CC';\n t['\\uFC00'] = '\\u0626\\u062C';\n t['\\uFC01'] = '\\u0626\\u062D';\n t['\\uFC02'] = '\\u0626\\u0645';\n t['\\uFC03'] = '\\u0626\\u0649';\n t['\\uFC04'] = '\\u0626\\u064A';\n t['\\uFC05'] = '\\u0628\\u062C';\n t['\\uFC06'] = '\\u0628\\u062D';\n t['\\uFC07'] = '\\u0628\\u062E';\n t['\\uFC08'] = '\\u0628\\u0645';\n t['\\uFC09'] = '\\u0628\\u0649';\n t['\\uFC0A'] = '\\u0628\\u064A';\n t['\\uFC0B'] = '\\u062A\\u062C';\n t['\\uFC0C'] = '\\u062A\\u062D';\n t['\\uFC0D'] = '\\u062A\\u062E';\n t['\\uFC0E'] = '\\u062A\\u0645';\n t['\\uFC0F'] = '\\u062A\\u0649';\n t['\\uFC10'] = '\\u062A\\u064A';\n t['\\uFC11'] = '\\u062B\\u062C';\n t['\\uFC12'] = '\\u062B\\u0645';\n t['\\uFC13'] = '\\u062B\\u0649';\n t['\\uFC14'] = '\\u062B\\u064A';\n t['\\uFC15'] = '\\u062C\\u062D';\n t['\\uFC16'] = '\\u062C\\u0645';\n t['\\uFC17'] = '\\u062D\\u062C';\n t['\\uFC18'] = '\\u062D\\u0645';\n t['\\uFC19'] = '\\u062E\\u062C';\n t['\\uFC1A'] = '\\u062E\\u062D';\n t['\\uFC1B'] = '\\u062E\\u0645';\n t['\\uFC1C'] = '\\u0633\\u062C';\n t['\\uFC1D'] = '\\u0633\\u062D';\n t['\\uFC1E'] = '\\u0633\\u062E';\n t['\\uFC1F'] = '\\u0633\\u0645';\n t['\\uFC20'] = '\\u0635\\u062D';\n t['\\uFC21'] = '\\u0635\\u0645';\n t['\\uFC22'] = '\\u0636\\u062C';\n t['\\uFC23'] = '\\u0636\\u062D';\n t['\\uFC24'] = '\\u0636\\u062E';\n t['\\uFC25'] = '\\u0636\\u0645';\n t['\\uFC26'] = '\\u0637\\u062D';\n t['\\uFC27'] = '\\u0637\\u0645';\n t['\\uFC28'] = '\\u0638\\u0645';\n t['\\uFC29'] = '\\u0639\\u062C';\n t['\\uFC2A'] = '\\u0639\\u0645';\n t['\\uFC2B'] = '\\u063A\\u062C';\n t['\\uFC2C'] = '\\u063A\\u0645';\n t['\\uFC2D'] = '\\u0641\\u062C';\n t['\\uFC2E'] = '\\u0641\\u062D';\n t['\\uFC2F'] = '\\u0641\\u062E';\n t['\\uFC30'] = '\\u0641\\u0645';\n t['\\uFC31'] = '\\u0641\\u0649';\n t['\\uFC32'] = '\\u0641\\u064A';\n t['\\uFC33'] = '\\u0642\\u062D';\n t['\\uFC34'] = '\\u0642\\u0645';\n t['\\uFC35'] = '\\u0642\\u0649';\n t['\\uFC36'] = '\\u0642\\u064A';\n t['\\uFC37'] = '\\u0643\\u0627';\n t['\\uFC38'] = '\\u0643\\u062C';\n t['\\uFC39'] = '\\u0643\\u062D';\n t['\\uFC3A'] = '\\u0643\\u062E';\n t['\\uFC3B'] = '\\u0643\\u0644';\n t['\\uFC3C'] = '\\u0643\\u0645';\n t['\\uFC3D'] = '\\u0643\\u0649';\n t['\\uFC3E'] = '\\u0643\\u064A';\n t['\\uFC3F'] = '\\u0644\\u062C';\n t['\\uFC40'] = '\\u0644\\u062D';\n t['\\uFC41'] = '\\u0644\\u062E';\n t['\\uFC42'] = '\\u0644\\u0645';\n t['\\uFC43'] = '\\u0644\\u0649';\n t['\\uFC44'] = '\\u0644\\u064A';\n t['\\uFC45'] = '\\u0645\\u062C';\n t['\\uFC46'] = '\\u0645\\u062D';\n t['\\uFC47'] = '\\u0645\\u062E';\n t['\\uFC48'] = '\\u0645\\u0645';\n t['\\uFC49'] = '\\u0645\\u0649';\n t['\\uFC4A'] = '\\u0645\\u064A';\n t['\\uFC4B'] = '\\u0646\\u062C';\n t['\\uFC4C'] = '\\u0646\\u062D';\n t['\\uFC4D'] = '\\u0646\\u062E';\n t['\\uFC4E'] = '\\u0646\\u0645';\n t['\\uFC4F'] = '\\u0646\\u0649';\n t['\\uFC50'] = '\\u0646\\u064A';\n t['\\uFC51'] = '\\u0647\\u062C';\n t['\\uFC52'] = '\\u0647\\u0645';\n t['\\uFC53'] = '\\u0647\\u0649';\n t['\\uFC54'] = '\\u0647\\u064A';\n t['\\uFC55'] = '\\u064A\\u062C';\n t['\\uFC56'] = '\\u064A\\u062D';\n t['\\uFC57'] = '\\u064A\\u062E';\n t['\\uFC58'] = '\\u064A\\u0645';\n t['\\uFC59'] = '\\u064A\\u0649';\n t['\\uFC5A'] = '\\u064A\\u064A';\n t['\\uFC5B'] = '\\u0630\\u0670';\n t['\\uFC5C'] = '\\u0631\\u0670';\n t['\\uFC5D'] = '\\u0649\\u0670';\n t['\\uFC5E'] = '\\u0020\\u064C\\u0651';\n t['\\uFC5F'] = '\\u0020\\u064D\\u0651';\n t['\\uFC60'] = '\\u0020\\u064E\\u0651';\n t['\\uFC61'] = '\\u0020\\u064F\\u0651';\n t['\\uFC62'] = '\\u0020\\u0650\\u0651';\n t['\\uFC63'] = '\\u0020\\u0651\\u0670';\n t['\\uFC64'] = '\\u0626\\u0631';\n t['\\uFC65'] = '\\u0626\\u0632';\n t['\\uFC66'] = '\\u0626\\u0645';\n t['\\uFC67'] = '\\u0626\\u0646';\n t['\\uFC68'] = '\\u0626\\u0649';\n t['\\uFC69'] = '\\u0626\\u064A';\n t['\\uFC6A'] = '\\u0628\\u0631';\n t['\\uFC6B'] = '\\u0628\\u0632';\n t['\\uFC6C'] = '\\u0628\\u0645';\n t['\\uFC6D'] = '\\u0628\\u0646';\n t['\\uFC6E'] = '\\u0628\\u0649';\n t['\\uFC6F'] = '\\u0628\\u064A';\n t['\\uFC70'] = '\\u062A\\u0631';\n t['\\uFC71'] = '\\u062A\\u0632';\n t['\\uFC72'] = '\\u062A\\u0645';\n t['\\uFC73'] = '\\u062A\\u0646';\n t['\\uFC74'] = '\\u062A\\u0649';\n t['\\uFC75'] = '\\u062A\\u064A';\n t['\\uFC76'] = '\\u062B\\u0631';\n t['\\uFC77'] = '\\u062B\\u0632';\n t['\\uFC78'] = '\\u062B\\u0645';\n t['\\uFC79'] = '\\u062B\\u0646';\n t['\\uFC7A'] = '\\u062B\\u0649';\n t['\\uFC7B'] = '\\u062B\\u064A';\n t['\\uFC7C'] = '\\u0641\\u0649';\n t['\\uFC7D'] = '\\u0641\\u064A';\n t['\\uFC7E'] = '\\u0642\\u0649';\n t['\\uFC7F'] = '\\u0642\\u064A';\n t['\\uFC80'] = '\\u0643\\u0627';\n t['\\uFC81'] = '\\u0643\\u0644';\n t['\\uFC82'] = '\\u0643\\u0645';\n t['\\uFC83'] = '\\u0643\\u0649';\n t['\\uFC84'] = '\\u0643\\u064A';\n t['\\uFC85'] = '\\u0644\\u0645';\n t['\\uFC86'] = '\\u0644\\u0649';\n t['\\uFC87'] = '\\u0644\\u064A';\n t['\\uFC88'] = '\\u0645\\u0627';\n t['\\uFC89'] = '\\u0645\\u0645';\n t['\\uFC8A'] = '\\u0646\\u0631';\n t['\\uFC8B'] = '\\u0646\\u0632';\n t['\\uFC8C'] = '\\u0646\\u0645';\n t['\\uFC8D'] = '\\u0646\\u0646';\n t['\\uFC8E'] = '\\u0646\\u0649';\n t['\\uFC8F'] = '\\u0646\\u064A';\n t['\\uFC90'] = '\\u0649\\u0670';\n t['\\uFC91'] = '\\u064A\\u0631';\n t['\\uFC92'] = '\\u064A\\u0632';\n t['\\uFC93'] = '\\u064A\\u0645';\n t['\\uFC94'] = '\\u064A\\u0646';\n t['\\uFC95'] = '\\u064A\\u0649';\n t['\\uFC96'] = '\\u064A\\u064A';\n t['\\uFC97'] = '\\u0626\\u062C';\n t['\\uFC98'] = '\\u0626\\u062D';\n t['\\uFC99'] = '\\u0626\\u062E';\n t['\\uFC9A'] = '\\u0626\\u0645';\n t['\\uFC9B'] = '\\u0626\\u0647';\n t['\\uFC9C'] = '\\u0628\\u062C';\n t['\\uFC9D'] = '\\u0628\\u062D';\n t['\\uFC9E'] = '\\u0628\\u062E';\n t['\\uFC9F'] = '\\u0628\\u0645';\n t['\\uFCA0'] = '\\u0628\\u0647';\n t['\\uFCA1'] = '\\u062A\\u062C';\n t['\\uFCA2'] = '\\u062A\\u062D';\n t['\\uFCA3'] = '\\u062A\\u062E';\n t['\\uFCA4'] = '\\u062A\\u0645';\n t['\\uFCA5'] = '\\u062A\\u0647';\n t['\\uFCA6'] = '\\u062B\\u0645';\n t['\\uFCA7'] = '\\u062C\\u062D';\n t['\\uFCA8'] = '\\u062C\\u0645';\n t['\\uFCA9'] = '\\u062D\\u062C';\n t['\\uFCAA'] = '\\u062D\\u0645';\n t['\\uFCAB'] = '\\u062E\\u062C';\n t['\\uFCAC'] = '\\u062E\\u0645';\n t['\\uFCAD'] = '\\u0633\\u062C';\n t['\\uFCAE'] = '\\u0633\\u062D';\n t['\\uFCAF'] = '\\u0633\\u062E';\n t['\\uFCB0'] = '\\u0633\\u0645';\n t['\\uFCB1'] = '\\u0635\\u062D';\n t['\\uFCB2'] = '\\u0635\\u062E';\n t['\\uFCB3'] = '\\u0635\\u0645';\n t['\\uFCB4'] = '\\u0636\\u062C';\n t['\\uFCB5'] = '\\u0636\\u062D';\n t['\\uFCB6'] = '\\u0636\\u062E';\n t['\\uFCB7'] = '\\u0636\\u0645';\n t['\\uFCB8'] = '\\u0637\\u062D';\n t['\\uFCB9'] = '\\u0638\\u0645';\n t['\\uFCBA'] = '\\u0639\\u062C';\n t['\\uFCBB'] = '\\u0639\\u0645';\n t['\\uFCBC'] = '\\u063A\\u062C';\n t['\\uFCBD'] = '\\u063A\\u0645';\n t['\\uFCBE'] = '\\u0641\\u062C';\n t['\\uFCBF'] = '\\u0641\\u062D';\n t['\\uFCC0'] = '\\u0641\\u062E';\n t['\\uFCC1'] = '\\u0641\\u0645';\n t['\\uFCC2'] = '\\u0642\\u062D';\n t['\\uFCC3'] = '\\u0642\\u0645';\n t['\\uFCC4'] = '\\u0643\\u062C';\n t['\\uFCC5'] = '\\u0643\\u062D';\n t['\\uFCC6'] = '\\u0643\\u062E';\n t['\\uFCC7'] = '\\u0643\\u0644';\n t['\\uFCC8'] = '\\u0643\\u0645';\n t['\\uFCC9'] = '\\u0644\\u062C';\n t['\\uFCCA'] = '\\u0644\\u062D';\n t['\\uFCCB'] = '\\u0644\\u062E';\n t['\\uFCCC'] = '\\u0644\\u0645';\n t['\\uFCCD'] = '\\u0644\\u0647';\n t['\\uFCCE'] = '\\u0645\\u062C';\n t['\\uFCCF'] = '\\u0645\\u062D';\n t['\\uFCD0'] = '\\u0645\\u062E';\n t['\\uFCD1'] = '\\u0645\\u0645';\n t['\\uFCD2'] = '\\u0646\\u062C';\n t['\\uFCD3'] = '\\u0646\\u062D';\n t['\\uFCD4'] = '\\u0646\\u062E';\n t['\\uFCD5'] = '\\u0646\\u0645';\n t['\\uFCD6'] = '\\u0646\\u0647';\n t['\\uFCD7'] = '\\u0647\\u062C';\n t['\\uFCD8'] = '\\u0647\\u0645';\n t['\\uFCD9'] = '\\u0647\\u0670';\n t['\\uFCDA'] = '\\u064A\\u062C';\n t['\\uFCDB'] = '\\u064A\\u062D';\n t['\\uFCDC'] = '\\u064A\\u062E';\n t['\\uFCDD'] = '\\u064A\\u0645';\n t['\\uFCDE'] = '\\u064A\\u0647';\n t['\\uFCDF'] = '\\u0626\\u0645';\n t['\\uFCE0'] = '\\u0626\\u0647';\n t['\\uFCE1'] = '\\u0628\\u0645';\n t['\\uFCE2'] = '\\u0628\\u0647';\n t['\\uFCE3'] = '\\u062A\\u0645';\n t['\\uFCE4'] = '\\u062A\\u0647';\n t['\\uFCE5'] = '\\u062B\\u0645';\n t['\\uFCE6'] = '\\u062B\\u0647';\n t['\\uFCE7'] = '\\u0633\\u0645';\n t['\\uFCE8'] = '\\u0633\\u0647';\n t['\\uFCE9'] = '\\u0634\\u0645';\n t['\\uFCEA'] = '\\u0634\\u0647';\n t['\\uFCEB'] = '\\u0643\\u0644';\n t['\\uFCEC'] = '\\u0643\\u0645';\n t['\\uFCED'] = '\\u0644\\u0645';\n t['\\uFCEE'] = '\\u0646\\u0645';\n t['\\uFCEF'] = '\\u0646\\u0647';\n t['\\uFCF0'] = '\\u064A\\u0645';\n t['\\uFCF1'] = '\\u064A\\u0647';\n t['\\uFCF2'] = '\\u0640\\u064E\\u0651';\n t['\\uFCF3'] = '\\u0640\\u064F\\u0651';\n t['\\uFCF4'] = '\\u0640\\u0650\\u0651';\n t['\\uFCF5'] = '\\u0637\\u0649';\n t['\\uFCF6'] = '\\u0637\\u064A';\n t['\\uFCF7'] = '\\u0639\\u0649';\n t['\\uFCF8'] = '\\u0639\\u064A';\n t['\\uFCF9'] = '\\u063A\\u0649';\n t['\\uFCFA'] = '\\u063A\\u064A';\n t['\\uFCFB'] = '\\u0633\\u0649';\n t['\\uFCFC'] = '\\u0633\\u064A';\n t['\\uFCFD'] = '\\u0634\\u0649';\n t['\\uFCFE'] = '\\u0634\\u064A';\n t['\\uFCFF'] = '\\u062D\\u0649';\n t['\\uFD00'] = '\\u062D\\u064A';\n t['\\uFD01'] = '\\u062C\\u0649';\n t['\\uFD02'] = '\\u062C\\u064A';\n t['\\uFD03'] = '\\u062E\\u0649';\n t['\\uFD04'] = '\\u062E\\u064A';\n t['\\uFD05'] = '\\u0635\\u0649';\n t['\\uFD06'] = '\\u0635\\u064A';\n t['\\uFD07'] = '\\u0636\\u0649';\n t['\\uFD08'] = '\\u0636\\u064A';\n t['\\uFD09'] = '\\u0634\\u062C';\n t['\\uFD0A'] = '\\u0634\\u062D';\n t['\\uFD0B'] = '\\u0634\\u062E';\n t['\\uFD0C'] = '\\u0634\\u0645';\n t['\\uFD0D'] = '\\u0634\\u0631';\n t['\\uFD0E'] = '\\u0633\\u0631';\n t['\\uFD0F'] = '\\u0635\\u0631';\n t['\\uFD10'] = '\\u0636\\u0631';\n t['\\uFD11'] = '\\u0637\\u0649';\n t['\\uFD12'] = '\\u0637\\u064A';\n t['\\uFD13'] = '\\u0639\\u0649';\n t['\\uFD14'] = '\\u0639\\u064A';\n t['\\uFD15'] = '\\u063A\\u0649';\n t['\\uFD16'] = '\\u063A\\u064A';\n t['\\uFD17'] = '\\u0633\\u0649';\n t['\\uFD18'] = '\\u0633\\u064A';\n t['\\uFD19'] = '\\u0634\\u0649';\n t['\\uFD1A'] = '\\u0634\\u064A';\n t['\\uFD1B'] = '\\u062D\\u0649';\n t['\\uFD1C'] = '\\u062D\\u064A';\n t['\\uFD1D'] = '\\u062C\\u0649';\n t['\\uFD1E'] = '\\u062C\\u064A';\n t['\\uFD1F'] = '\\u062E\\u0649';\n t['\\uFD20'] = '\\u062E\\u064A';\n t['\\uFD21'] = '\\u0635\\u0649';\n t['\\uFD22'] = '\\u0635\\u064A';\n t['\\uFD23'] = '\\u0636\\u0649';\n t['\\uFD24'] = '\\u0636\\u064A';\n t['\\uFD25'] = '\\u0634\\u062C';\n t['\\uFD26'] = '\\u0634\\u062D';\n t['\\uFD27'] = '\\u0634\\u062E';\n t['\\uFD28'] = '\\u0634\\u0645';\n t['\\uFD29'] = '\\u0634\\u0631';\n t['\\uFD2A'] = '\\u0633\\u0631';\n t['\\uFD2B'] = '\\u0635\\u0631';\n t['\\uFD2C'] = '\\u0636\\u0631';\n t['\\uFD2D'] = '\\u0634\\u062C';\n t['\\uFD2E'] = '\\u0634\\u062D';\n t['\\uFD2F'] = '\\u0634\\u062E';\n t['\\uFD30'] = '\\u0634\\u0645';\n t['\\uFD31'] = '\\u0633\\u0647';\n t['\\uFD32'] = '\\u0634\\u0647';\n t['\\uFD33'] = '\\u0637\\u0645';\n t['\\uFD34'] = '\\u0633\\u062C';\n t['\\uFD35'] = '\\u0633\\u062D';\n t['\\uFD36'] = '\\u0633\\u062E';\n t['\\uFD37'] = '\\u0634\\u062C';\n t['\\uFD38'] = '\\u0634\\u062D';\n t['\\uFD39'] = '\\u0634\\u062E';\n t['\\uFD3A'] = '\\u0637\\u0645';\n t['\\uFD3B'] = '\\u0638\\u0645';\n t['\\uFD3C'] = '\\u0627\\u064B';\n t['\\uFD3D'] = '\\u0627\\u064B';\n t['\\uFD50'] = '\\u062A\\u062C\\u0645';\n t['\\uFD51'] = '\\u062A\\u062D\\u062C';\n t['\\uFD52'] = '\\u062A\\u062D\\u062C';\n t['\\uFD53'] = '\\u062A\\u062D\\u0645';\n t['\\uFD54'] = '\\u062A\\u062E\\u0645';\n t['\\uFD55'] = '\\u062A\\u0645\\u062C';\n t['\\uFD56'] = '\\u062A\\u0645\\u062D';\n t['\\uFD57'] = '\\u062A\\u0645\\u062E';\n t['\\uFD58'] = '\\u062C\\u0645\\u062D';\n t['\\uFD59'] = '\\u062C\\u0645\\u062D';\n t['\\uFD5A'] = '\\u062D\\u0645\\u064A';\n t['\\uFD5B'] = '\\u062D\\u0645\\u0649';\n t['\\uFD5C'] = '\\u0633\\u062D\\u062C';\n t['\\uFD5D'] = '\\u0633\\u062C\\u062D';\n t['\\uFD5E'] = '\\u0633\\u062C\\u0649';\n t['\\uFD5F'] = '\\u0633\\u0645\\u062D';\n t['\\uFD60'] = '\\u0633\\u0645\\u062D';\n t['\\uFD61'] = '\\u0633\\u0645\\u062C';\n t['\\uFD62'] = '\\u0633\\u0645\\u0645';\n t['\\uFD63'] = '\\u0633\\u0645\\u0645';\n t['\\uFD64'] = '\\u0635\\u062D\\u062D';\n t['\\uFD65'] = '\\u0635\\u062D\\u062D';\n t['\\uFD66'] = '\\u0635\\u0645\\u0645';\n t['\\uFD67'] = '\\u0634\\u062D\\u0645';\n t['\\uFD68'] = '\\u0634\\u062D\\u0645';\n t['\\uFD69'] = '\\u0634\\u062C\\u064A';\n t['\\uFD6A'] = '\\u0634\\u0645\\u062E';\n t['\\uFD6B'] = '\\u0634\\u0645\\u062E';\n t['\\uFD6C'] = '\\u0634\\u0645\\u0645';\n t['\\uFD6D'] = '\\u0634\\u0645\\u0645';\n t['\\uFD6E'] = '\\u0636\\u062D\\u0649';\n t['\\uFD6F'] = '\\u0636\\u062E\\u0645';\n t['\\uFD70'] = '\\u0636\\u062E\\u0645';\n t['\\uFD71'] = '\\u0637\\u0645\\u062D';\n t['\\uFD72'] = '\\u0637\\u0645\\u062D';\n t['\\uFD73'] = '\\u0637\\u0645\\u0645';\n t['\\uFD74'] = '\\u0637\\u0645\\u064A';\n t['\\uFD75'] = '\\u0639\\u062C\\u0645';\n t['\\uFD76'] = '\\u0639\\u0645\\u0645';\n t['\\uFD77'] = '\\u0639\\u0645\\u0645';\n t['\\uFD78'] = '\\u0639\\u0645\\u0649';\n t['\\uFD79'] = '\\u063A\\u0645\\u0645';\n t['\\uFD7A'] = '\\u063A\\u0645\\u064A';\n t['\\uFD7B'] = '\\u063A\\u0645\\u0649';\n t['\\uFD7C'] = '\\u0641\\u062E\\u0645';\n t['\\uFD7D'] = '\\u0641\\u062E\\u0645';\n t['\\uFD7E'] = '\\u0642\\u0645\\u062D';\n t['\\uFD7F'] = '\\u0642\\u0645\\u0645';\n t['\\uFD80'] = '\\u0644\\u062D\\u0645';\n t['\\uFD81'] = '\\u0644\\u062D\\u064A';\n t['\\uFD82'] = '\\u0644\\u062D\\u0649';\n t['\\uFD83'] = '\\u0644\\u062C\\u062C';\n t['\\uFD84'] = '\\u0644\\u062C\\u062C';\n t['\\uFD85'] = '\\u0644\\u062E\\u0645';\n t['\\uFD86'] = '\\u0644\\u062E\\u0645';\n t['\\uFD87'] = '\\u0644\\u0645\\u062D';\n t['\\uFD88'] = '\\u0644\\u0645\\u062D';\n t['\\uFD89'] = '\\u0645\\u062D\\u062C';\n t['\\uFD8A'] = '\\u0645\\u062D\\u0645';\n t['\\uFD8B'] = '\\u0645\\u062D\\u064A';\n t['\\uFD8C'] = '\\u0645\\u062C\\u062D';\n t['\\uFD8D'] = '\\u0645\\u062C\\u0645';\n t['\\uFD8E'] = '\\u0645\\u062E\\u062C';\n t['\\uFD8F'] = '\\u0645\\u062E\\u0645';\n t['\\uFD92'] = '\\u0645\\u062C\\u062E';\n t['\\uFD93'] = '\\u0647\\u0645\\u062C';\n t['\\uFD94'] = '\\u0647\\u0645\\u0645';\n t['\\uFD95'] = '\\u0646\\u062D\\u0645';\n t['\\uFD96'] = '\\u0646\\u062D\\u0649';\n t['\\uFD97'] = '\\u0646\\u062C\\u0645';\n t['\\uFD98'] = '\\u0646\\u062C\\u0645';\n t['\\uFD99'] = '\\u0646\\u062C\\u0649';\n t['\\uFD9A'] = '\\u0646\\u0645\\u064A';\n t['\\uFD9B'] = '\\u0646\\u0645\\u0649';\n t['\\uFD9C'] = '\\u064A\\u0645\\u0645';\n t['\\uFD9D'] = '\\u064A\\u0645\\u0645';\n t['\\uFD9E'] = '\\u0628\\u062E\\u064A';\n t['\\uFD9F'] = '\\u062A\\u062C\\u064A';\n t['\\uFDA0'] = '\\u062A\\u062C\\u0649';\n t['\\uFDA1'] = '\\u062A\\u062E\\u064A';\n t['\\uFDA2'] = '\\u062A\\u062E\\u0649';\n t['\\uFDA3'] = '\\u062A\\u0645\\u064A';\n t['\\uFDA4'] = '\\u062A\\u0645\\u0649';\n t['\\uFDA5'] = '\\u062C\\u0645\\u064A';\n t['\\uFDA6'] = '\\u062C\\u062D\\u0649';\n t['\\uFDA7'] = '\\u062C\\u0645\\u0649';\n t['\\uFDA8'] = '\\u0633\\u062E\\u0649';\n t['\\uFDA9'] = '\\u0635\\u062D\\u064A';\n t['\\uFDAA'] = '\\u0634\\u062D\\u064A';\n t['\\uFDAB'] = '\\u0636\\u062D\\u064A';\n t['\\uFDAC'] = '\\u0644\\u062C\\u064A';\n t['\\uFDAD'] = '\\u0644\\u0645\\u064A';\n t['\\uFDAE'] = '\\u064A\\u062D\\u064A';\n t['\\uFDAF'] = '\\u064A\\u062C\\u064A';\n t['\\uFDB0'] = '\\u064A\\u0645\\u064A';\n t['\\uFDB1'] = '\\u0645\\u0645\\u064A';\n t['\\uFDB2'] = '\\u0642\\u0645\\u064A';\n t['\\uFDB3'] = '\\u0646\\u062D\\u064A';\n t['\\uFDB4'] = '\\u0642\\u0645\\u062D';\n t['\\uFDB5'] = '\\u0644\\u062D\\u0645';\n t['\\uFDB6'] = '\\u0639\\u0645\\u064A';\n t['\\uFDB7'] = '\\u0643\\u0645\\u064A';\n t['\\uFDB8'] = '\\u0646\\u062C\\u062D';\n t['\\uFDB9'] = '\\u0645\\u062E\\u064A';\n t['\\uFDBA'] = '\\u0644\\u062C\\u0645';\n t['\\uFDBB'] = '\\u0643\\u0645\\u0645';\n t['\\uFDBC'] = '\\u0644\\u062C\\u0645';\n t['\\uFDBD'] = '\\u0646\\u062C\\u062D';\n t['\\uFDBE'] = '\\u062C\\u062D\\u064A';\n t['\\uFDBF'] = '\\u062D\\u062C\\u064A';\n t['\\uFDC0'] = '\\u0645\\u062C\\u064A';\n t['\\uFDC1'] = '\\u0641\\u0645\\u064A';\n t['\\uFDC2'] = '\\u0628\\u062D\\u064A';\n t['\\uFDC3'] = '\\u0643\\u0645\\u0645';\n t['\\uFDC4'] = '\\u0639\\u062C\\u0645';\n t['\\uFDC5'] = '\\u0635\\u0645\\u0645';\n t['\\uFDC6'] = '\\u0633\\u062E\\u064A';\n t['\\uFDC7'] = '\\u0646\\u062C\\u064A';\n t['\\uFE49'] = '\\u203E';\n t['\\uFE4A'] = '\\u203E';\n t['\\uFE4B'] = '\\u203E';\n t['\\uFE4C'] = '\\u203E';\n t['\\uFE4D'] = '\\u005F';\n t['\\uFE4E'] = '\\u005F';\n t['\\uFE4F'] = '\\u005F';\n t['\\uFE80'] = '\\u0621';\n t['\\uFE81'] = '\\u0622';\n t['\\uFE82'] = '\\u0622';\n t['\\uFE83'] = '\\u0623';\n t['\\uFE84'] = '\\u0623';\n t['\\uFE85'] = '\\u0624';\n t['\\uFE86'] = '\\u0624';\n t['\\uFE87'] = '\\u0625';\n t['\\uFE88'] = '\\u0625';\n t['\\uFE89'] = '\\u0626';\n t['\\uFE8A'] = '\\u0626';\n t['\\uFE8B'] = '\\u0626';\n t['\\uFE8C'] = '\\u0626';\n t['\\uFE8D'] = '\\u0627';\n t['\\uFE8E'] = '\\u0627';\n t['\\uFE8F'] = '\\u0628';\n t['\\uFE90'] = '\\u0628';\n t['\\uFE91'] = '\\u0628';\n t['\\uFE92'] = '\\u0628';\n t['\\uFE93'] = '\\u0629';\n t['\\uFE94'] = '\\u0629';\n t['\\uFE95'] = '\\u062A';\n t['\\uFE96'] = '\\u062A';\n t['\\uFE97'] = '\\u062A';\n t['\\uFE98'] = '\\u062A';\n t['\\uFE99'] = '\\u062B';\n t['\\uFE9A'] = '\\u062B';\n t['\\uFE9B'] = '\\u062B';\n t['\\uFE9C'] = '\\u062B';\n t['\\uFE9D'] = '\\u062C';\n t['\\uFE9E'] = '\\u062C';\n t['\\uFE9F'] = '\\u062C';\n t['\\uFEA0'] = '\\u062C';\n t['\\uFEA1'] = '\\u062D';\n t['\\uFEA2'] = '\\u062D';\n t['\\uFEA3'] = '\\u062D';\n t['\\uFEA4'] = '\\u062D';\n t['\\uFEA5'] = '\\u062E';\n t['\\uFEA6'] = '\\u062E';\n t['\\uFEA7'] = '\\u062E';\n t['\\uFEA8'] = '\\u062E';\n t['\\uFEA9'] = '\\u062F';\n t['\\uFEAA'] = '\\u062F';\n t['\\uFEAB'] = '\\u0630';\n t['\\uFEAC'] = '\\u0630';\n t['\\uFEAD'] = '\\u0631';\n t['\\uFEAE'] = '\\u0631';\n t['\\uFEAF'] = '\\u0632';\n t['\\uFEB0'] = '\\u0632';\n t['\\uFEB1'] = '\\u0633';\n t['\\uFEB2'] = '\\u0633';\n t['\\uFEB3'] = '\\u0633';\n t['\\uFEB4'] = '\\u0633';\n t['\\uFEB5'] = '\\u0634';\n t['\\uFEB6'] = '\\u0634';\n t['\\uFEB7'] = '\\u0634';\n t['\\uFEB8'] = '\\u0634';\n t['\\uFEB9'] = '\\u0635';\n t['\\uFEBA'] = '\\u0635';\n t['\\uFEBB'] = '\\u0635';\n t['\\uFEBC'] = '\\u0635';\n t['\\uFEBD'] = '\\u0636';\n t['\\uFEBE'] = '\\u0636';\n t['\\uFEBF'] = '\\u0636';\n t['\\uFEC0'] = '\\u0636';\n t['\\uFEC1'] = '\\u0637';\n t['\\uFEC2'] = '\\u0637';\n t['\\uFEC3'] = '\\u0637';\n t['\\uFEC4'] = '\\u0637';\n t['\\uFEC5'] = '\\u0638';\n t['\\uFEC6'] = '\\u0638';\n t['\\uFEC7'] = '\\u0638';\n t['\\uFEC8'] = '\\u0638';\n t['\\uFEC9'] = '\\u0639';\n t['\\uFECA'] = '\\u0639';\n t['\\uFECB'] = '\\u0639';\n t['\\uFECC'] = '\\u0639';\n t['\\uFECD'] = '\\u063A';\n t['\\uFECE'] = '\\u063A';\n t['\\uFECF'] = '\\u063A';\n t['\\uFED0'] = '\\u063A';\n t['\\uFED1'] = '\\u0641';\n t['\\uFED2'] = '\\u0641';\n t['\\uFED3'] = '\\u0641';\n t['\\uFED4'] = '\\u0641';\n t['\\uFED5'] = '\\u0642';\n t['\\uFED6'] = '\\u0642';\n t['\\uFED7'] = '\\u0642';\n t['\\uFED8'] = '\\u0642';\n t['\\uFED9'] = '\\u0643';\n t['\\uFEDA'] = '\\u0643';\n t['\\uFEDB'] = '\\u0643';\n t['\\uFEDC'] = '\\u0643';\n t['\\uFEDD'] = '\\u0644';\n t['\\uFEDE'] = '\\u0644';\n t['\\uFEDF'] = '\\u0644';\n t['\\uFEE0'] = '\\u0644';\n t['\\uFEE1'] = '\\u0645';\n t['\\uFEE2'] = '\\u0645';\n t['\\uFEE3'] = '\\u0645';\n t['\\uFEE4'] = '\\u0645';\n t['\\uFEE5'] = '\\u0646';\n t['\\uFEE6'] = '\\u0646';\n t['\\uFEE7'] = '\\u0646';\n t['\\uFEE8'] = '\\u0646';\n t['\\uFEE9'] = '\\u0647';\n t['\\uFEEA'] = '\\u0647';\n t['\\uFEEB'] = '\\u0647';\n t['\\uFEEC'] = '\\u0647';\n t['\\uFEED'] = '\\u0648';\n t['\\uFEEE'] = '\\u0648';\n t['\\uFEEF'] = '\\u0649';\n t['\\uFEF0'] = '\\u0649';\n t['\\uFEF1'] = '\\u064A';\n t['\\uFEF2'] = '\\u064A';\n t['\\uFEF3'] = '\\u064A';\n t['\\uFEF4'] = '\\u064A';\n t['\\uFEF5'] = '\\u0644\\u0622';\n t['\\uFEF6'] = '\\u0644\\u0622';\n t['\\uFEF7'] = '\\u0644\\u0623';\n t['\\uFEF8'] = '\\u0644\\u0623';\n t['\\uFEF9'] = '\\u0644\\u0625';\n t['\\uFEFA'] = '\\u0644\\u0625';\n t['\\uFEFB'] = '\\u0644\\u0627';\n t['\\uFEFC'] = '\\u0644\\u0627';\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n return chars;\n }\n var s = '';\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n s += chars[ii];\n }\n return s;\n}\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontRendererFactory = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(207);\n\nvar _glyphlist = __w_pdfjs_require__(210);\n\nvar _encodings = __w_pdfjs_require__(209);\n\nvar _stream = __w_pdfjs_require__(190);\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 FontRendererFactory = function FontRendererFactoryClosure() {\n function getLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n }\n\n function getUshort(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function parseCmap(data, start, end) {\n var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n var format = getUshort(data, start + offset);\n var ranges, p, i;\n\n if (format === 4) {\n getUshort(data, start + offset + 2);\n var segCount = getUshort(data, start + offset + 6) >> 1;\n p = start + offset + 14;\n ranges = [];\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i] = {\n end: getUshort(data, p)\n };\n }\n\n p += 2;\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].start = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].idDelta = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n var idOffset = getUshort(data, p);\n\n if (idOffset === 0) {\n continue;\n }\n\n ranges[i].ids = [];\n\n for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n ranges[i].ids[j] = getUshort(data, p + idOffset);\n idOffset += 2;\n }\n }\n\n return ranges;\n } else if (format === 12) {\n getLong(data, start + offset + 4);\n var groups = getLong(data, start + offset + 12);\n p = start + offset + 16;\n ranges = [];\n\n for (i = 0; i < groups; i++) {\n ranges.push({\n start: getLong(data, p),\n end: getLong(data, p + 4),\n idDelta: getLong(data, p + 8) - getLong(data, p)\n });\n p += 12;\n }\n\n return ranges;\n }\n\n throw new _util.FormatError(\"unsupported cmap: \".concat(format));\n }\n\n function parseCff(data, start, end, seacAnalysisEnabled) {\n var properties = {};\n var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n var cff = parser.parse();\n return {\n glyphs: cff.charStrings.objects,\n subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n isCFFCIDFont: cff.isCIDFont,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray\n };\n }\n\n function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n var itemSize, itemDecode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n }\n\n var glyphs = [];\n var startOffset = itemDecode(loca, 0);\n\n for (var j = itemSize; j < loca.length; j += itemSize) {\n var endOffset = itemDecode(loca, j);\n glyphs.push(glyf.subarray(startOffset, endOffset));\n startOffset = endOffset;\n }\n\n return glyphs;\n }\n\n function lookupCmap(ranges, unicode) {\n var code = unicode.codePointAt(0),\n gid = 0;\n var l = 0,\n r = ranges.length - 1;\n\n while (l < r) {\n var c = l + r + 1 >> 1;\n\n if (code < ranges[c].start) {\n r = c - 1;\n } else {\n l = c;\n }\n }\n\n if (ranges[l].start <= code && code <= ranges[l].end) {\n gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xFFFF;\n }\n\n return {\n charCode: code,\n glyphId: gid\n };\n }\n\n function compileGlyf(code, cmds, font) {\n function moveTo(x, y) {\n cmds.push({\n cmd: 'moveTo',\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: 'lineTo',\n args: [x, y]\n });\n }\n\n function quadraticCurveTo(xa, ya, x, y) {\n cmds.push({\n cmd: 'quadraticCurveTo',\n args: [xa, ya, x, y]\n });\n }\n\n var i = 0;\n var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n var flags;\n var x = 0,\n y = 0;\n i += 10;\n\n if (numberOfContours < 0) {\n do {\n flags = code[i] << 8 | code[i + 1];\n var glyphIndex = code[i + 2] << 8 | code[i + 3];\n i += 4;\n var arg1, arg2;\n\n if (flags & 0x01) {\n arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n i += 4;\n } else {\n arg1 = code[i++];\n arg2 = code[i++];\n }\n\n if (flags & 0x02) {\n x = arg1;\n y = arg2;\n } else {\n x = 0;\n y = 0;\n }\n\n var scaleX = 1,\n scaleY = 1,\n scale01 = 0,\n scale10 = 0;\n\n if (flags & 0x08) {\n scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n i += 2;\n } else if (flags & 0x40) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n i += 4;\n } else if (flags & 0x80) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n i += 8;\n }\n\n var subglyph = font.glyphs[glyphIndex];\n\n if (subglyph) {\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'transform',\n args: [scaleX, scale01, scale10, scaleY, x, y]\n });\n compileGlyf(subglyph, cmds, font);\n cmds.push({\n cmd: 'restore'\n });\n }\n } while (flags & 0x20);\n } else {\n var endPtsOfContours = [];\n var j, jj;\n\n for (j = 0; j < numberOfContours; j++) {\n endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n i += 2;\n }\n\n var instructionLength = code[i] << 8 | code[i + 1];\n i += 2 + instructionLength;\n var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n var points = [];\n\n while (points.length < numberOfPoints) {\n flags = code[i++];\n var repeat = 1;\n\n if (flags & 0x08) {\n repeat += code[i++];\n }\n\n while (repeat-- > 0) {\n points.push({\n flags: flags\n });\n }\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x12) {\n case 0x00:\n x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x02:\n x -= code[i++];\n break;\n\n case 0x12:\n x += code[i++];\n break;\n }\n\n points[j].x = x;\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x24) {\n case 0x00:\n y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x04:\n y -= code[i++];\n break;\n\n case 0x24:\n y += code[i++];\n break;\n }\n\n points[j].y = y;\n }\n\n var startPoint = 0;\n\n for (i = 0; i < numberOfContours; i++) {\n var endPoint = endPtsOfContours[i];\n var contour = points.slice(startPoint, endPoint + 1);\n\n if (contour[0].flags & 1) {\n contour.push(contour[0]);\n } else if (contour[contour.length - 1].flags & 1) {\n contour.unshift(contour[contour.length - 1]);\n } else {\n var p = {\n flags: 1,\n x: (contour[0].x + contour[contour.length - 1].x) / 2,\n y: (contour[0].y + contour[contour.length - 1].y) / 2\n };\n contour.unshift(p);\n contour.push(p);\n }\n\n moveTo(contour[0].x, contour[0].y);\n\n for (j = 1, jj = contour.length; j < jj; j++) {\n if (contour[j].flags & 1) {\n lineTo(contour[j].x, contour[j].y);\n } else if (contour[j + 1].flags & 1) {\n quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n j++;\n } else {\n quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n }\n }\n\n startPoint = endPoint + 1;\n }\n }\n }\n\n function compileCharString(code, cmds, font, glyphId) {\n var stack = [];\n var x = 0,\n y = 0;\n var stems = 0;\n\n function moveTo(x, y) {\n cmds.push({\n cmd: 'moveTo',\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: 'lineTo',\n args: [x, y]\n });\n }\n\n function bezierCurveTo(x1, y1, x2, y2, x, y) {\n cmds.push({\n cmd: 'bezierCurveTo',\n args: [x1, y1, x2, y2, x, y]\n });\n }\n\n function parse(code) {\n var i = 0;\n\n while (i < code.length) {\n var stackClean = false;\n var v = code[i++];\n var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n\n switch (v) {\n case 1:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 3:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 4:\n y += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n x += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 8:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 10:\n n = stack.pop();\n subrCode = null;\n\n if (font.isCFFCIDFont) {\n var fdIndex = font.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n var fontDict = font.fdArray[fdIndex],\n subrs = void 0;\n\n if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n\n if (subrs) {\n var numSubrs = subrs.length;\n n += numSubrs < 1240 ? 107 : numSubrs < 33900 ? 1131 : 32768;\n subrCode = subrs[n];\n }\n } else {\n (0, _util.warn)('Invalid fd index for glyph index.');\n }\n } else {\n subrCode = font.subrs[n + font.subrsBias];\n }\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 11:\n return;\n\n case 12:\n v = code[i++];\n\n switch (v) {\n case 34:\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y1 = y + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y, xb, y1, x, y1);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y, x, y);\n break;\n\n case 35:\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n stack.pop();\n break;\n\n case 36:\n xa = x + stack.shift();\n y1 = y + stack.shift();\n xb = xa + stack.shift();\n y2 = y1 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y2, x, y2);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y3 = y2 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y2, xb, y3, x, y);\n break;\n\n case 37:\n var x0 = x,\n y0 = y;\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb;\n\n if (Math.abs(x - x0) > Math.abs(y - y0)) {\n x += stack.shift();\n } else {\n y += stack.shift();\n }\n\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n default:\n throw new _util.FormatError(\"unknown operator: 12 \".concat(v));\n }\n\n break;\n\n case 14:\n if (stack.length >= 4) {\n var achar = stack.pop();\n var bchar = stack.pop();\n y = stack.pop();\n x = stack.pop();\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'translate',\n args: [x, y]\n });\n var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n cmds.push({\n cmd: 'restore'\n });\n cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n }\n\n return;\n\n case 18:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 19:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 20:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 21:\n y += stack.pop();\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 22:\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 23:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 24:\n while (stack.length > 2) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n break;\n\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n case 26:\n if (stack.length % 2) {\n x += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 27:\n if (stack.length % 2) {\n y += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb;\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 28:\n stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n i += 2;\n break;\n\n case 29:\n n = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[n];\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 30:\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 31:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n default:\n if (v < 32) {\n throw new _util.FormatError(\"unknown operator: \".concat(v));\n }\n\n if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n stack.push((v - 247) * 256 + code[i++] + 108);\n } else if (v < 255) {\n stack.push(-(v - 251) * 256 - code[i++] - 108);\n } else {\n stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n i += 4;\n }\n\n break;\n }\n\n if (stackClean) {\n stack.length = 0;\n }\n }\n }\n\n parse(code);\n }\n\n var NOOP = [];\n\n var CompiledFont =\n /*#__PURE__*/\n function () {\n function CompiledFont(fontMatrix) {\n _classCallCheck(this, CompiledFont);\n\n if (this.constructor === CompiledFont) {\n (0, _util.unreachable)('Cannot initialize CompiledFont.');\n }\n\n this.fontMatrix = fontMatrix;\n this.compiledGlyphs = Object.create(null);\n this.compiledCharCodeToGlyphId = Object.create(null);\n }\n\n _createClass(CompiledFont, [{\n key: \"getPathJs\",\n value: function getPathJs(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n var fn = this.compiledGlyphs[cmap.glyphId];\n\n if (!fn) {\n fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n this.compiledGlyphs[cmap.glyphId] = fn;\n }\n\n if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n }\n\n return fn;\n }\n }, {\n key: \"compileGlyph\",\n value: function compileGlyph(code, glyphId) {\n if (!code || code.length === 0 || code[0] === 14) {\n return NOOP;\n }\n\n var fontMatrix = this.fontMatrix;\n\n if (this.isCFFCIDFont) {\n var fdIndex = this.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n var fontDict = this.fdArray[fdIndex];\n fontMatrix = fontDict.getByName('FontMatrix') || _util.FONT_IDENTITY_MATRIX;\n } else {\n (0, _util.warn)('Invalid fd index for glyph index.');\n }\n }\n\n var cmds = [];\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'transform',\n args: fontMatrix.slice()\n });\n cmds.push({\n cmd: 'scale',\n args: ['size', '-size']\n });\n this.compileGlyphImpl(code, cmds, glyphId);\n cmds.push({\n cmd: 'restore'\n });\n return cmds;\n }\n }, {\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl() {\n (0, _util.unreachable)('Children classes should implement this.');\n }\n }, {\n key: \"hasBuiltPath\",\n value: function hasBuiltPath(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n }\n }]);\n\n return CompiledFont;\n }();\n\n var TrueTypeCompiled =\n /*#__PURE__*/\n function (_CompiledFont) {\n _inherits(TrueTypeCompiled, _CompiledFont);\n\n function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n var _this;\n\n _classCallCheck(this, TrueTypeCompiled);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(TrueTypeCompiled).call(this, fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]));\n _this.glyphs = glyphs;\n _this.cmap = cmap;\n return _this;\n }\n\n _createClass(TrueTypeCompiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds) {\n compileGlyf(code, cmds, this);\n }\n }]);\n\n return TrueTypeCompiled;\n }(CompiledFont);\n\n var Type2Compiled =\n /*#__PURE__*/\n function (_CompiledFont2) {\n _inherits(Type2Compiled, _CompiledFont2);\n\n function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n var _this2;\n\n _classCallCheck(this, Type2Compiled);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Type2Compiled).call(this, fontMatrix || [0.001, 0, 0, 0.001, 0, 0]));\n _this2.glyphs = cffInfo.glyphs;\n _this2.gsubrs = cffInfo.gsubrs || [];\n _this2.subrs = cffInfo.subrs || [];\n _this2.cmap = cmap;\n _this2.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n _this2.gsubrsBias = _this2.gsubrs.length < 1240 ? 107 : _this2.gsubrs.length < 33900 ? 1131 : 32768;\n _this2.subrsBias = _this2.subrs.length < 1240 ? 107 : _this2.subrs.length < 33900 ? 1131 : 32768;\n _this2.isCFFCIDFont = cffInfo.isCFFCIDFont;\n _this2.fdSelect = cffInfo.fdSelect;\n _this2.fdArray = cffInfo.fdArray;\n return _this2;\n }\n\n _createClass(Type2Compiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds, glyphId) {\n compileCharString(code, cmds, this, glyphId);\n }\n }]);\n\n return Type2Compiled;\n }(CompiledFont);\n\n return {\n create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n var data = new Uint8Array(font.data);\n var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n var numTables = getUshort(data, 4);\n\n for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n var offset = getLong(data, p + 8);\n var length = getLong(data, p + 12);\n\n switch (tag) {\n case 'cmap':\n cmap = parseCmap(data, offset, offset + length);\n break;\n\n case 'glyf':\n glyf = data.subarray(offset, offset + length);\n break;\n\n case 'loca':\n loca = data.subarray(offset, offset + length);\n break;\n\n case 'head':\n unitsPerEm = getUshort(data, offset + 18);\n indexToLocFormat = getUshort(data, offset + 50);\n break;\n\n case 'CFF ':\n cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n break;\n }\n }\n\n if (glyf) {\n var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n }\n\n return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n }\n };\n}();\n\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Type1Parser = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _encodings = __w_pdfjs_require__(209);\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar HINTING_ENABLED = false;\n\nvar Type1CharString = function Type1CharStringClosure() {\n var COMMAND_MAP = {\n 'hstem': [1],\n 'vstem': [3],\n 'vmoveto': [4],\n 'rlineto': [5],\n 'hlineto': [6],\n 'vlineto': [7],\n 'rrcurveto': [8],\n 'callsubr': [10],\n 'flex': [12, 35],\n 'drop': [12, 18],\n 'endchar': [14],\n 'rmoveto': [21],\n 'hmoveto': [22],\n 'vhcurveto': [30],\n 'hvcurveto': [31]\n };\n\n function Type1CharString() {\n this.width = 0;\n this.lsb = 0;\n this.flexing = false;\n this.output = [];\n this.stack = [];\n }\n\n Type1CharString.prototype = {\n convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n var count = encoded.length;\n var error = false;\n var wx, sbx, subrNumber;\n\n for (var i = 0; i < count; i++) {\n var value = encoded[i];\n\n if (value < 32) {\n if (value === 12) {\n value = (value << 8) + encoded[++i];\n }\n\n switch (value) {\n case 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case 3:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case 4:\n if (this.flexing) {\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n var dy = this.stack.pop();\n this.stack.push(0, dy);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n break;\n\n case 5:\n error = this.executeCommand(2, COMMAND_MAP.rlineto);\n break;\n\n case 6:\n error = this.executeCommand(1, COMMAND_MAP.hlineto);\n break;\n\n case 7:\n error = this.executeCommand(1, COMMAND_MAP.vlineto);\n break;\n\n case 8:\n error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n break;\n\n case 9:\n this.stack = [];\n break;\n\n case 10:\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n\n if (!subrs[subrNumber]) {\n error = true;\n break;\n }\n\n error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n break;\n\n case 11:\n return error;\n\n case 13:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n wx = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx);\n error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n break;\n\n case 14:\n this.output.push(COMMAND_MAP.endchar[0]);\n break;\n\n case 21:\n if (this.flexing) {\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n break;\n\n case 22:\n if (this.flexing) {\n this.stack.push(0);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n break;\n\n case 30:\n error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n break;\n\n case 31:\n error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n break;\n\n case (12 << 8) + 0:\n this.stack = [];\n break;\n\n case (12 << 8) + 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case (12 << 8) + 2:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case (12 << 8) + 6:\n if (seacAnalysisEnabled) {\n this.seac = this.stack.splice(-4, 4);\n error = this.executeCommand(0, COMMAND_MAP.endchar);\n } else {\n error = this.executeCommand(4, COMMAND_MAP.endchar);\n }\n\n break;\n\n case (12 << 8) + 7:\n if (this.stack.length < 4) {\n error = true;\n break;\n }\n\n this.stack.pop();\n wx = this.stack.pop();\n var sby = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx, sby);\n error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n break;\n\n case (12 << 8) + 12:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n var num2 = this.stack.pop();\n var num1 = this.stack.pop();\n this.stack.push(num1 / num2);\n break;\n\n case (12 << 8) + 16:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n var numArgs = this.stack.pop();\n\n if (subrNumber === 0 && numArgs === 3) {\n var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n error = this.executeCommand(13, COMMAND_MAP.flex, true);\n this.flexing = false;\n this.stack.push(flexArgs[15], flexArgs[16]);\n } else if (subrNumber === 1 && numArgs === 0) {\n this.flexing = true;\n }\n\n break;\n\n case (12 << 8) + 17:\n break;\n\n case (12 << 8) + 33:\n this.stack = [];\n break;\n\n default:\n (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n break;\n }\n\n if (error) {\n break;\n }\n\n continue;\n } else if (value <= 246) {\n value = value - 139;\n } else if (value <= 250) {\n value = (value - 247) * 256 + encoded[++i] + 108;\n } else if (value <= 254) {\n value = -((value - 251) * 256) - encoded[++i] - 108;\n } else {\n value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n }\n\n this.stack.push(value);\n }\n\n return error;\n },\n executeCommand: function executeCommand(howManyArgs, command, keepStack) {\n var stackLength = this.stack.length;\n\n if (howManyArgs > stackLength) {\n return true;\n }\n\n var start = stackLength - howManyArgs;\n\n for (var i = start; i < stackLength; i++) {\n var value = this.stack[i];\n\n if (Number.isInteger(value)) {\n this.output.push(28, value >> 8 & 0xff, value & 0xff);\n } else {\n value = 65536 * value | 0;\n this.output.push(255, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF);\n }\n }\n\n this.output.push.apply(this.output, command);\n\n if (keepStack) {\n this.stack.splice(start, howManyArgs);\n } else {\n this.stack.length = 0;\n }\n\n return false;\n }\n };\n return Type1CharString;\n}();\n\nvar Type1Parser = function Type1ParserClosure() {\n var EEXEC_ENCRYPT_KEY = 55665;\n var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n function isHexDigit(code) {\n return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n }\n\n function decrypt(data, key, discardNumber) {\n if (discardNumber >= data.length) {\n return new Uint8Array(0);\n }\n\n var r = key | 0,\n c1 = 52845,\n c2 = 22719,\n i,\n j;\n\n for (i = 0; i < discardNumber; i++) {\n r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n var count = data.length - discardNumber;\n var decrypted = new Uint8Array(count);\n\n for (i = discardNumber, j = 0; j < count; i++, j++) {\n var value = data[i];\n decrypted[j] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n return decrypted;\n }\n\n function decryptAscii(data, key, discardNumber) {\n var r = key | 0,\n c1 = 52845,\n c2 = 22719;\n var count = data.length,\n maybeLength = count >>> 1;\n var decrypted = new Uint8Array(maybeLength);\n var i, j;\n\n for (i = 0, j = 0; i < count; i++) {\n var digit1 = data[i];\n\n if (!isHexDigit(digit1)) {\n continue;\n }\n\n i++;\n var digit2;\n\n while (i < count && !isHexDigit(digit2 = data[i])) {\n i++;\n }\n\n if (i < count) {\n var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n decrypted[j++] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n }\n\n return Array.prototype.slice.call(decrypted, discardNumber, j);\n }\n\n function isSpecial(c) {\n return c === 0x2F || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D || c === 0x28 || c === 0x29;\n }\n\n function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n if (encrypted) {\n var data = stream.getBytes();\n var isBinary = !(isHexDigit(data[0]) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]));\n stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n }\n\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n this.stream = stream;\n this.nextChar();\n }\n\n Type1Parser.prototype = {\n readNumberArray: function Type1Parser_readNumberArray() {\n this.getToken();\n var array = [];\n\n while (true) {\n var token = this.getToken();\n\n if (token === null || token === ']' || token === '}') {\n break;\n }\n\n array.push(parseFloat(token || 0));\n }\n\n return array;\n },\n readNumber: function Type1Parser_readNumber() {\n var token = this.getToken();\n return parseFloat(token || 0);\n },\n readInt: function Type1Parser_readInt() {\n var token = this.getToken();\n return parseInt(token || 0, 10) | 0;\n },\n readBoolean: function Type1Parser_readBoolean() {\n var token = this.getToken();\n return token === 'true' ? 1 : 0;\n },\n nextChar: function Type1_nextChar() {\n return this.currentChar = this.stream.getByte();\n },\n getToken: function Type1Parser_getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch === -1) {\n return null;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _util.isSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n if (isSpecial(ch)) {\n this.nextChar();\n return String.fromCharCode(ch);\n }\n\n var token = '';\n\n do {\n token += String.fromCharCode(ch);\n ch = this.nextChar();\n } while (ch >= 0 && !(0, _util.isSpace)(ch) && !isSpecial(ch));\n\n return token;\n },\n readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n if (lenIV === -1) {\n return bytes;\n }\n\n return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n },\n extractFontProgram: function Type1Parser_extractFontProgram(properties) {\n var stream = this.stream;\n var subrs = [],\n charstrings = [];\n var privateData = Object.create(null);\n privateData['lenIV'] = 4;\n var program = {\n subrs: [],\n charstrings: [],\n properties: {\n 'privateData': privateData\n }\n };\n var token, length, data, lenIV, encoded;\n\n while ((token = this.getToken()) !== null) {\n if (token !== '/') {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case 'CharStrings':\n this.getToken();\n this.getToken();\n this.getToken();\n this.getToken();\n\n while (true) {\n token = this.getToken();\n\n if (token === null || token === 'end') {\n break;\n }\n\n if (token !== '/') {\n continue;\n }\n\n var glyph = this.getToken();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData['lenIV'];\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === 'noaccess') {\n this.getToken();\n }\n\n charstrings.push({\n glyph: glyph,\n encoded: encoded\n });\n }\n\n break;\n\n case 'Subrs':\n this.readInt();\n this.getToken();\n\n while (this.getToken() === 'dup') {\n var index = this.readInt();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData['lenIV'];\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === 'noaccess') {\n this.getToken();\n }\n\n subrs[index] = encoded;\n }\n\n break;\n\n case 'BlueValues':\n case 'OtherBlues':\n case 'FamilyBlues':\n case 'FamilyOtherBlues':\n var blueArray = this.readNumberArray();\n\n if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n program.properties.privateData[token] = blueArray;\n }\n\n break;\n\n case 'StemSnapH':\n case 'StemSnapV':\n program.properties.privateData[token] = this.readNumberArray();\n break;\n\n case 'StdHW':\n case 'StdVW':\n program.properties.privateData[token] = this.readNumberArray()[0];\n break;\n\n case 'BlueShift':\n case 'lenIV':\n case 'BlueFuzz':\n case 'BlueScale':\n case 'LanguageGroup':\n case 'ExpansionFactor':\n program.properties.privateData[token] = this.readNumber();\n break;\n\n case 'ForceBold':\n program.properties.privateData[token] = this.readBoolean();\n break;\n }\n }\n\n for (var i = 0; i < charstrings.length; i++) {\n glyph = charstrings[i].glyph;\n encoded = charstrings[i].encoded;\n var charString = new Type1CharString();\n var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n var output = charString.output;\n\n if (error) {\n output = [14];\n }\n\n program.charstrings.push({\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n });\n\n if (properties.builtInEncoding) {\n var _index = properties.builtInEncoding.indexOf(glyph);\n\n if (_index > -1 && properties.widths[_index] === undefined && _index >= properties.firstChar && _index <= properties.lastChar) {\n properties.widths[_index] = charString.width;\n }\n }\n }\n\n return program;\n },\n extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n var token;\n\n while ((token = this.getToken()) !== null) {\n if (token !== '/') {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case 'FontMatrix':\n var matrix = this.readNumberArray();\n properties.fontMatrix = matrix;\n break;\n\n case 'Encoding':\n var encodingArg = this.getToken();\n var encoding;\n\n if (!/^\\d+$/.test(encodingArg)) {\n encoding = (0, _encodings.getEncoding)(encodingArg);\n } else {\n encoding = [];\n var size = parseInt(encodingArg, 10) | 0;\n this.getToken();\n\n for (var j = 0; j < size; j++) {\n token = this.getToken();\n\n while (token !== 'dup' && token !== 'def') {\n token = this.getToken();\n\n if (token === null) {\n return;\n }\n }\n\n if (token === 'def') {\n break;\n }\n\n var index = this.readInt();\n this.getToken();\n var glyph = this.getToken();\n encoding[index] = glyph;\n this.getToken();\n }\n }\n\n properties.builtInEncoding = encoding;\n break;\n\n case 'FontBBox':\n var fontBBox = this.readNumberArray();\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n break;\n }\n }\n }\n };\n return Type1Parser;\n}();\n\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTilingPatternIR = getTilingPatternIR;\nexports.Pattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _colorspace = __w_pdfjs_require__(201);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar ShadingType = {\n FUNCTION_BASED: 1,\n AXIAL: 2,\n RADIAL: 3,\n FREE_FORM_MESH: 4,\n LATTICE_FORM_MESH: 5,\n COONS_PATCH_MESH: 6,\n TENSOR_PATCH_MESH: 7\n};\n\nvar Pattern = function PatternClosure() {\n function Pattern() {\n (0, _util.unreachable)('should not call Pattern constructor');\n }\n\n Pattern.prototype = {\n getPattern: function Pattern_getPattern(ctx) {\n (0, _util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));\n }\n };\n\n Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {\n var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n var type = dict.get('ShadingType');\n\n try {\n switch (type) {\n case ShadingType.AXIAL:\n case ShadingType.RADIAL:\n return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory);\n\n case ShadingType.FREE_FORM_MESH:\n case ShadingType.LATTICE_FORM_MESH:\n case ShadingType.COONS_PATCH_MESH:\n case ShadingType.TENSOR_PATCH_MESH:\n return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);\n\n default:\n throw new _util.FormatError('Unsupported ShadingType: ' + type);\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.shadingPattern\n });\n (0, _util.warn)(ex);\n return new Shadings.Dummy();\n }\n };\n\n return Pattern;\n}();\n\nexports.Pattern = Pattern;\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\n\nShadings.RadialAxial = function RadialAxialClosure() {\n function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {\n this.matrix = matrix;\n this.coordsArr = dict.getArray('Coords');\n this.shadingType = dict.get('ShadingType');\n this.type = 'Pattern';\n var cs = dict.get('ColorSpace', 'CS');\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n var bbox = dict.getArray('BBox');\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var t0 = 0.0,\n t1 = 1.0;\n\n if (dict.has('Domain')) {\n var domainArr = dict.getArray('Domain');\n t0 = domainArr[0];\n t1 = domainArr[1];\n }\n\n var extendStart = false,\n extendEnd = false;\n\n if (dict.has('Extend')) {\n var extendArr = dict.getArray('Extend');\n extendStart = extendArr[0];\n extendEnd = extendArr[1];\n }\n\n if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n var x1 = this.coordsArr[0];\n var y1 = this.coordsArr[1];\n var r1 = this.coordsArr[2];\n var x2 = this.coordsArr[3];\n var y2 = this.coordsArr[4];\n var r2 = this.coordsArr[5];\n var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n\n if (r1 <= r2 + distance && r2 <= r1 + distance) {\n (0, _util.warn)('Unsupported radial gradient.');\n }\n }\n\n this.extendStart = extendStart;\n this.extendEnd = extendEnd;\n var fnObj = dict.get('Function');\n var fn = pdfFunctionFactory.createFromArray(fnObj);\n var NUMBER_OF_SAMPLES = 10;\n var step = (t1 - t0) / NUMBER_OF_SAMPLES;\n var colorStops = this.colorStops = [];\n\n if (t0 >= t1 || step <= 0) {\n (0, _util.info)('Bad shading domain.');\n return;\n }\n\n var color = new Float32Array(cs.numComps),\n ratio = new Float32Array(1);\n var rgbColor;\n\n for (var i = 0; i <= NUMBER_OF_SAMPLES; i++) {\n ratio[0] = t0 + i * step;\n fn(ratio, 0, color, 0);\n rgbColor = cs.getRgb(color, 0);\n\n var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n\n colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);\n }\n\n var background = 'transparent';\n\n if (dict.has('Background')) {\n rgbColor = cs.getRgb(dict.get('Background'), 0);\n background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n }\n\n if (!extendStart) {\n colorStops.unshift([0, background]);\n colorStops[1][0] += Shadings.SMALL_NUMBER;\n }\n\n if (!extendEnd) {\n colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n colorStops.push([1, background]);\n }\n\n this.colorStops = colorStops;\n }\n\n RadialAxial.prototype = {\n getIR: function RadialAxial_getIR() {\n var coordsArr = this.coordsArr;\n var shadingType = this.shadingType;\n var type, p0, p1, r0, r1;\n\n if (shadingType === ShadingType.AXIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[2], coordsArr[3]];\n r0 = null;\n r1 = null;\n type = 'axial';\n } else if (shadingType === ShadingType.RADIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[3], coordsArr[4]];\n r0 = coordsArr[2];\n r1 = coordsArr[5];\n type = 'radial';\n } else {\n (0, _util.unreachable)(\"getPattern type unknown: \".concat(shadingType));\n }\n\n var matrix = this.matrix;\n\n if (matrix) {\n p0 = _util.Util.applyTransform(p0, matrix);\n p1 = _util.Util.applyTransform(p1, matrix);\n\n if (shadingType === ShadingType.RADIAL) {\n var scale = _util.Util.singularValueDecompose2dScale(matrix);\n\n r0 *= scale[0];\n r1 *= scale[1];\n }\n }\n\n return ['RadialAxial', type, this.bbox, this.colorStops, p0, p1, r0, r1];\n }\n };\n return RadialAxial;\n}();\n\nShadings.Mesh = function MeshClosure() {\n function MeshStreamReader(stream, context) {\n this.stream = stream;\n this.context = context;\n this.buffer = 0;\n this.bufferLength = 0;\n var numComps = context.numComps;\n this.tmpCompsBuf = new Float32Array(numComps);\n var csNumComps = context.colorSpace.numComps;\n this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n }\n\n MeshStreamReader.prototype = {\n get hasData() {\n if (this.stream.end) {\n return this.stream.pos < this.stream.end;\n }\n\n if (this.bufferLength > 0) {\n return true;\n }\n\n var nextByte = this.stream.getByte();\n\n if (nextByte < 0) {\n return false;\n }\n\n this.buffer = nextByte;\n this.bufferLength = 8;\n return true;\n },\n\n readBits: function MeshStreamReader_readBits(n) {\n var buffer = this.buffer;\n var bufferLength = this.bufferLength;\n\n if (n === 32) {\n if (bufferLength === 0) {\n return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n }\n\n buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n var nextByte = this.stream.getByte();\n this.buffer = nextByte & (1 << bufferLength) - 1;\n return (buffer << 8 - bufferLength | (nextByte & 0xFF) >> bufferLength) >>> 0;\n }\n\n if (n === 8 && bufferLength === 0) {\n return this.stream.getByte();\n }\n\n while (bufferLength < n) {\n buffer = buffer << 8 | this.stream.getByte();\n bufferLength += 8;\n }\n\n bufferLength -= n;\n this.bufferLength = bufferLength;\n this.buffer = buffer & (1 << bufferLength) - 1;\n return buffer >> bufferLength;\n },\n align: function MeshStreamReader_align() {\n this.buffer = 0;\n this.bufferLength = 0;\n },\n readFlag: function MeshStreamReader_readFlag() {\n return this.readBits(this.context.bitsPerFlag);\n },\n readCoordinate: function MeshStreamReader_readCoordinate() {\n var bitsPerCoordinate = this.context.bitsPerCoordinate;\n var xi = this.readBits(bitsPerCoordinate);\n var yi = this.readBits(bitsPerCoordinate);\n var decode = this.context.decode;\n var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n },\n readComponents: function MeshStreamReader_readComponents() {\n var numComps = this.context.numComps;\n var bitsPerComponent = this.context.bitsPerComponent;\n var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n var decode = this.context.decode;\n var components = this.tmpCompsBuf;\n\n for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n var ci = this.readBits(bitsPerComponent);\n components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n }\n\n var color = this.tmpCsCompsBuf;\n\n if (this.context.colorFn) {\n this.context.colorFn(components, 0, color, 0);\n }\n\n return this.context.colorSpace.getRgb(color, 0);\n }\n };\n\n function decodeType4Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var operators = [];\n var ps = [];\n var verticesLeft = 0;\n\n while (reader.hasData) {\n var f = reader.readFlag();\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n\n if (verticesLeft === 0) {\n if (!(0 <= f && f <= 2)) {\n throw new _util.FormatError('Unknown type4 flag');\n }\n\n switch (f) {\n case 0:\n verticesLeft = 3;\n break;\n\n case 1:\n ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n\n case 2:\n ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n }\n\n operators.push(f);\n }\n\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n verticesLeft--;\n reader.align();\n }\n\n mesh.figures.push({\n type: 'triangles',\n coords: new Int32Array(ps),\n colors: new Int32Array(ps)\n });\n }\n\n function decodeType5Shading(mesh, reader, verticesPerRow) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = [];\n\n while (reader.hasData) {\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n }\n\n mesh.figures.push({\n type: 'lattice',\n coords: new Int32Array(ps),\n colors: new Int32Array(ps),\n verticesPerRow: verticesPerRow\n });\n }\n\n var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n var TRIANGLE_DENSITY = 20;\n\n var getB = function getBClosure() {\n function buildB(count) {\n var lut = [];\n\n for (var i = 0; i <= count; i++) {\n var t = i / count,\n t_ = 1 - t;\n lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n }\n\n return lut;\n }\n\n var cache = [];\n return function getB(count) {\n if (!cache[count]) {\n cache[count] = buildB(count);\n }\n\n return cache[count];\n };\n }();\n\n function buildFigureFromPatch(mesh, index) {\n var figure = mesh.figures[index];\n (0, _util.assert)(figure.type === 'patch', 'Unexpected patch mesh figure');\n var coords = mesh.coords,\n colors = mesh.colors;\n var pi = figure.coords;\n var ci = figure.colors;\n var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n var verticesPerRow = splitXBy + 1;\n var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n var k = 0;\n var cl = new Uint8Array(3),\n cr = new Uint8Array(3);\n var c0 = colors[ci[0]],\n c1 = colors[ci[1]],\n c2 = colors[ci[2]],\n c3 = colors[ci[3]];\n var bRow = getB(splitYBy),\n bCol = getB(splitXBy);\n\n for (var row = 0; row <= splitYBy; row++) {\n cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n for (var col = 0; col <= splitXBy; col++, k++) {\n if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n continue;\n }\n\n var x = 0,\n y = 0;\n var q = 0;\n\n for (var i = 0; i <= 3; i++) {\n for (var j = 0; j <= 3; j++, q++) {\n var m = bRow[row][i] * bCol[col][j];\n x += coords[pi[q]][0] * m;\n y += coords[pi[q]][1] * m;\n }\n }\n\n figureCoords[k] = coords.length;\n coords.push([x, y]);\n figureColors[k] = colors.length;\n var newColor = new Uint8Array(3);\n newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n colors.push(newColor);\n }\n }\n\n figureCoords[0] = pi[0];\n figureColors[0] = ci[0];\n figureCoords[splitXBy] = pi[3];\n figureColors[splitXBy] = ci[1];\n figureCoords[verticesPerRow * splitYBy] = pi[12];\n figureColors[verticesPerRow * splitYBy] = ci[2];\n figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n mesh.figures[index] = {\n type: 'lattice',\n coords: figureCoords,\n colors: figureColors,\n verticesPerRow: verticesPerRow\n };\n }\n\n function decodeType6Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError('Unknown type6 flag');\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n ps[5] = coords.length;\n coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n ps[6] = coords.length;\n coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n ps[9] = coords.length;\n coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n ps[10] = coords.length;\n coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n mesh.figures.push({\n type: 'patch',\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function decodeType7Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError('Unknown type7 flag');\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[9] = pi + 13;\n ps[10] = pi + 14;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[5] = pi + 12;\n ps[6] = pi + 15;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n mesh.figures.push({\n type: 'patch',\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function updateBounds(mesh) {\n var minX = mesh.coords[0][0],\n minY = mesh.coords[0][1],\n maxX = minX,\n maxY = minY;\n\n for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n var x = mesh.coords[i][0],\n y = mesh.coords[i][1];\n minX = minX > x ? x : minX;\n minY = minY > y ? y : minY;\n maxX = maxX < x ? x : maxX;\n maxY = maxY < y ? y : maxY;\n }\n\n mesh.bounds = [minX, minY, maxX, maxY];\n }\n\n function packData(mesh) {\n var i, ii, j, jj;\n var coords = mesh.coords;\n var coordsPacked = new Float32Array(coords.length * 2);\n\n for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n var xy = coords[i];\n coordsPacked[j++] = xy[0];\n coordsPacked[j++] = xy[1];\n }\n\n mesh.coords = coordsPacked;\n var colors = mesh.colors;\n var colorsPacked = new Uint8Array(colors.length * 3);\n\n for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n var c = colors[i];\n colorsPacked[j++] = c[0];\n colorsPacked[j++] = c[1];\n colorsPacked[j++] = c[2];\n }\n\n mesh.colors = colorsPacked;\n var figures = mesh.figures;\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 for (j = 0, jj = ps.length; j < jj; j++) {\n ps[j] *= 2;\n cs[j] *= 3;\n }\n }\n }\n\n function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError('Mesh data is not a stream');\n }\n\n var dict = stream.dict;\n this.matrix = matrix;\n this.shadingType = dict.get('ShadingType');\n this.type = 'Pattern';\n var bbox = dict.getArray('BBox');\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var cs = dict.get('ColorSpace', 'CS');\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n this.background = dict.has('Background') ? cs.getRgb(dict.get('Background'), 0) : null;\n var fnObj = dict.get('Function');\n var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n this.coords = [];\n this.colors = [];\n this.figures = [];\n var decodeContext = {\n bitsPerCoordinate: dict.get('BitsPerCoordinate'),\n bitsPerComponent: dict.get('BitsPerComponent'),\n bitsPerFlag: dict.get('BitsPerFlag'),\n decode: dict.getArray('Decode'),\n colorFn: fn,\n colorSpace: cs,\n numComps: fn ? 1 : cs.numComps\n };\n var reader = new MeshStreamReader(stream, decodeContext);\n var patchMesh = false;\n\n switch (this.shadingType) {\n case ShadingType.FREE_FORM_MESH:\n decodeType4Shading(this, reader);\n break;\n\n case ShadingType.LATTICE_FORM_MESH:\n var verticesPerRow = dict.get('VerticesPerRow') | 0;\n\n if (verticesPerRow < 2) {\n throw new _util.FormatError('Invalid VerticesPerRow');\n }\n\n decodeType5Shading(this, reader, verticesPerRow);\n break;\n\n case ShadingType.COONS_PATCH_MESH:\n decodeType6Shading(this, reader);\n patchMesh = true;\n break;\n\n case ShadingType.TENSOR_PATCH_MESH:\n decodeType7Shading(this, reader);\n patchMesh = true;\n break;\n\n default:\n (0, _util.unreachable)('Unsupported mesh type.');\n break;\n }\n\n if (patchMesh) {\n updateBounds(this);\n\n for (var i = 0, ii = this.figures.length; i < ii; i++) {\n buildFigureFromPatch(this, i);\n }\n }\n\n updateBounds(this);\n packData(this);\n }\n\n Mesh.prototype = {\n getIR: function Mesh_getIR() {\n return ['Mesh', this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n }\n };\n return Mesh;\n}();\n\nShadings.Dummy = function DummyClosure() {\n function Dummy() {\n this.type = 'Pattern';\n }\n\n Dummy.prototype = {\n getIR: function Dummy_getIR() {\n return ['Dummy'];\n }\n };\n return Dummy;\n}();\n\nfunction getTilingPatternIR(operatorList, dict, args) {\n var matrix = dict.getArray('Matrix');\n\n var bbox = _util.Util.normalizeRect(dict.getArray('BBox'));\n\n var xstep = dict.get('XStep');\n var ystep = dict.get('YStep');\n var paintType = dict.get('PaintType');\n var tilingType = dict.get('TilingType');\n\n if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox, \"].\"));\n }\n\n return ['TilingPattern', args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bidi = bidi;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar baseTypes = ['BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'S', 'B', 'S', 'WS', 'B', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'B', 'B', 'S', 'WS', 'ON', 'ON', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'ON', 'ES', 'CS', 'ES', 'CS', 'CS', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'CS', 'ON', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'ON', 'ON', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'CS', 'ON', 'ET', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'L', 'ON', 'ON', 'BN', 'ON', 'ON', 'ET', 'ET', 'EN', 'EN', 'ON', 'L', 'ON', 'ON', 'ON', 'EN', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L'];\nvar arabicTypes = ['AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'ON', 'ON', 'AL', 'ET', 'ET', 'AL', 'CS', 'AL', 'ON', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', '', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'ET', 'AN', 'AN', 'AL', 'AL', 'AL', 'NSM', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AN', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'NSM', 'NSM', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL'];\n\nfunction isOdd(i) {\n return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n for (var j = start, jj = arr.length; j < jj; ++j) {\n if (arr[j] !== value) {\n return j;\n }\n }\n\n return j;\n}\n\nfunction setValues(arr, start, end, value) {\n for (var j = start; j < end; ++j) {\n arr[j] = value;\n }\n}\n\nfunction reverseValues(arr, start, end) {\n for (var i = start, j = end - 1; i < j; ++i, --j) {\n var temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n}\n\nfunction createBidiText(str, isLTR, vertical) {\n return {\n str: str,\n dir: vertical ? 'ttb' : isLTR ? 'ltr' : 'rtl'\n };\n}\n\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n var isLTR = true;\n var strLength = str.length;\n\n if (strLength === 0 || vertical) {\n return createBidiText(str, isLTR, vertical);\n }\n\n chars.length = strLength;\n types.length = strLength;\n var numBidi = 0;\n var i, ii;\n\n for (i = 0; i < strLength; ++i) {\n chars[i] = str.charAt(i);\n var charCode = str.charCodeAt(i);\n var charType = 'L';\n\n if (charCode <= 0x00ff) {\n charType = baseTypes[charCode];\n } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n charType = 'R';\n } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n charType = arabicTypes[charCode & 0xff];\n\n if (!charType) {\n (0, _util.warn)('Bidi: invalid Unicode character ' + charCode.toString(16));\n }\n } else if (0x0700 <= charCode && charCode <= 0x08AC) {\n charType = 'AL';\n }\n\n if (charType === 'R' || charType === 'AL' || charType === 'AN') {\n numBidi++;\n }\n\n types[i] = charType;\n }\n\n if (numBidi === 0) {\n isLTR = true;\n return createBidiText(str, isLTR);\n }\n\n if (startLevel === -1) {\n if (numBidi / strLength < 0.3) {\n isLTR = true;\n startLevel = 0;\n } else {\n isLTR = false;\n startLevel = 1;\n }\n }\n\n var levels = [];\n\n for (i = 0; i < strLength; ++i) {\n levels[i] = startLevel;\n }\n\n var e = isOdd(startLevel) ? 'R' : 'L';\n var sor = e;\n var eor = sor;\n var lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'NSM') {\n types[i] = lastType;\n } else {\n lastType = types[i];\n }\n }\n\n lastType = sor;\n var t;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'EN') {\n types[i] = lastType === 'AL' ? 'AN' : 'EN';\n } else if (t === 'R' || t === 'L' || t === 'AL') {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'AL') {\n types[i] = 'R';\n }\n }\n\n for (i = 1; i < strLength - 1; ++i) {\n if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {\n types[i] = 'EN';\n }\n\n if (types[i] === 'CS' && (types[i - 1] === 'EN' || types[i - 1] === 'AN') && types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'EN') {\n var j;\n\n for (j = i - 1; j >= 0; --j) {\n if (types[j] !== 'ET') {\n break;\n }\n\n types[j] = 'EN';\n }\n\n for (j = i + 1; j < strLength; ++j) {\n if (types[j] !== 'ET') {\n break;\n }\n\n types[j] = 'EN';\n }\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS') {\n types[i] = 'ON';\n }\n }\n\n lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'EN') {\n types[i] = lastType === 'L' ? 'L' : 'EN';\n } else if (t === 'R' || t === 'L') {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'ON') {\n var end = findUnequal(types, i + 1, 'ON');\n var before = sor;\n\n if (i > 0) {\n before = types[i - 1];\n }\n\n var after = eor;\n\n if (end + 1 < strLength) {\n after = types[end + 1];\n }\n\n if (before !== 'L') {\n before = 'R';\n }\n\n if (after !== 'L') {\n after = 'R';\n }\n\n if (before === after) {\n setValues(types, i, end, before);\n }\n\n i = end - 1;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'ON') {\n types[i] = e;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (isEven(levels[i])) {\n if (t === 'R') {\n levels[i] += 1;\n } else if (t === 'AN' || t === 'EN') {\n levels[i] += 2;\n }\n } else {\n if (t === 'L' || t === 'AN' || t === 'EN') {\n levels[i] += 1;\n }\n }\n }\n\n var highestLevel = -1;\n var lowestOddLevel = 99;\n var level;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n level = levels[i];\n\n if (highestLevel < level) {\n highestLevel = level;\n }\n\n if (lowestOddLevel > level && isOdd(level)) {\n lowestOddLevel = level;\n }\n }\n\n for (level = highestLevel; level >= lowestOddLevel; --level) {\n var start = -1;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n if (levels[i] < level) {\n if (start >= 0) {\n reverseValues(chars, start, i);\n start = -1;\n }\n } else if (start < 0) {\n start = i;\n }\n }\n\n if (start >= 0) {\n reverseValues(chars, start, levels.length);\n }\n }\n\n for (i = 0, ii = chars.length; i < ii; ++i) {\n var ch = chars[i];\n\n if (ch === '<' || ch === '>') {\n chars[i] = '';\n }\n }\n\n return createBidiText(chars.join(''), isLTR);\n}\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getMetrics = void 0;\n\nvar _core_utils = __w_pdfjs_require__(186);\n\nvar getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['Courier'] = 600;\n t['Courier-Bold'] = 600;\n t['Courier-BoldOblique'] = 600;\n t['Courier-Oblique'] = 600;\n t['Helvetica'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 278;\n t['quotedbl'] = 355;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 667;\n t['quoteright'] = 222;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 556;\n t['at'] = 1015;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 278;\n t['backslash'] = 278;\n t['bracketright'] = 278;\n t['asciicircum'] = 469;\n t['underscore'] = 556;\n t['quoteleft'] = 222;\n t['a'] = 556;\n t['b'] = 556;\n t['c'] = 500;\n t['d'] = 556;\n t['e'] = 556;\n t['f'] = 278;\n t['g'] = 556;\n t['h'] = 556;\n t['i'] = 222;\n t['j'] = 222;\n t['k'] = 500;\n t['l'] = 222;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 556;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 333;\n t['s'] = 500;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 500;\n t['braceleft'] = 334;\n t['bar'] = 260;\n t['braceright'] = 334;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 191;\n t['quotedblleft'] = 333;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 537;\n t['bullet'] = 350;\n t['quotesinglbase'] = 222;\n t['quotedblbase'] = 333;\n t['quotedblright'] = 333;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 556;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 222;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 667;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 500;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 500;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 222;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 500;\n t['scedilla'] = 500;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 556;\n t['Amacron'] = 667;\n t['rcaron'] = 333;\n t['ccedilla'] = 500;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 643;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 584;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 500;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 260;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 333;\n t['omacron'] = 556;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 222;\n t['tcaron'] = 317;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 222;\n t['Oacute'] = 778;\n t['oacute'] = 556;\n t['amacron'] = 556;\n t['sacute'] = 500;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 556;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 299;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 556;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 556;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 556;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 556;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 556;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 500;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 584;\n t['odieresis'] = 556;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 556;\n t['eth'] = 556;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-Bold'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 333;\n t['quotedbl'] = 474;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 722;\n t['quoteright'] = 278;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 611;\n t['at'] = 975;\n t['A'] = 722;\n t['B'] = 722;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 556;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 584;\n t['underscore'] = 556;\n t['quoteleft'] = 278;\n t['a'] = 556;\n t['b'] = 611;\n t['c'] = 556;\n t['d'] = 611;\n t['e'] = 556;\n t['f'] = 333;\n t['g'] = 611;\n t['h'] = 611;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 889;\n t['n'] = 611;\n t['o'] = 611;\n t['p'] = 611;\n t['q'] = 611;\n t['r'] = 389;\n t['s'] = 556;\n t['t'] = 333;\n t['u'] = 611;\n t['v'] = 556;\n t['w'] = 778;\n t['x'] = 556;\n t['y'] = 556;\n t['z'] = 500;\n t['braceleft'] = 389;\n t['bar'] = 280;\n t['braceright'] = 389;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 238;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 611;\n t['fl'] = 611;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 556;\n t['bullet'] = 350;\n t['quotesinglbase'] = 278;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 611;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 611;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 722;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 556;\n t['scommaaccent'] = 556;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 611;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 556;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 556;\n t['scedilla'] = 556;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 611;\n t['acircumflex'] = 556;\n t['Amacron'] = 722;\n t['rcaron'] = 389;\n t['ccedilla'] = 556;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 743;\n t['Umacron'] = 722;\n t['uring'] = 611;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 584;\n t['uacute'] = 611;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 556;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 556;\n t['nacute'] = 611;\n t['umacron'] = 611;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 280;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 611;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 389;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 611;\n t['amacron'] = 556;\n t['sacute'] = 556;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 611;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 611;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 611;\n t['Eogonek'] = 667;\n t['dcroat'] = 611;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 400;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 611;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 611;\n t['ntilde'] = 611;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 611;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 611;\n t['Ccaron'] = 722;\n t['ugrave'] = 611;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 611;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 556;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 611;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 584;\n t['odieresis'] = 611;\n t['udieresis'] = 611;\n t['notequal'] = 549;\n t['gcommaaccent'] = 611;\n t['eth'] = 611;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 611;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-BoldOblique'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 333;\n t['quotedbl'] = 474;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 722;\n t['quoteright'] = 278;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 611;\n t['at'] = 975;\n t['A'] = 722;\n t['B'] = 722;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 556;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 584;\n t['underscore'] = 556;\n t['quoteleft'] = 278;\n t['a'] = 556;\n t['b'] = 611;\n t['c'] = 556;\n t['d'] = 611;\n t['e'] = 556;\n t['f'] = 333;\n t['g'] = 611;\n t['h'] = 611;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 889;\n t['n'] = 611;\n t['o'] = 611;\n t['p'] = 611;\n t['q'] = 611;\n t['r'] = 389;\n t['s'] = 556;\n t['t'] = 333;\n t['u'] = 611;\n t['v'] = 556;\n t['w'] = 778;\n t['x'] = 556;\n t['y'] = 556;\n t['z'] = 500;\n t['braceleft'] = 389;\n t['bar'] = 280;\n t['braceright'] = 389;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 238;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 611;\n t['fl'] = 611;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 556;\n t['bullet'] = 350;\n t['quotesinglbase'] = 278;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 611;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 611;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 722;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 556;\n t['scommaaccent'] = 556;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 611;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 556;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 556;\n t['scedilla'] = 556;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 611;\n t['acircumflex'] = 556;\n t['Amacron'] = 722;\n t['rcaron'] = 389;\n t['ccedilla'] = 556;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 743;\n t['Umacron'] = 722;\n t['uring'] = 611;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 584;\n t['uacute'] = 611;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 556;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 556;\n t['nacute'] = 611;\n t['umacron'] = 611;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 280;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 611;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 389;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 611;\n t['amacron'] = 556;\n t['sacute'] = 556;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 611;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 611;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 611;\n t['Eogonek'] = 667;\n t['dcroat'] = 611;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 400;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 611;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 611;\n t['ntilde'] = 611;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 611;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 611;\n t['Ccaron'] = 722;\n t['ugrave'] = 611;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 611;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 556;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 611;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 584;\n t['odieresis'] = 611;\n t['udieresis'] = 611;\n t['notequal'] = 549;\n t['gcommaaccent'] = 611;\n t['eth'] = 611;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 611;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-Oblique'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 278;\n t['quotedbl'] = 355;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 667;\n t['quoteright'] = 222;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 556;\n t['at'] = 1015;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 278;\n t['backslash'] = 278;\n t['bracketright'] = 278;\n t['asciicircum'] = 469;\n t['underscore'] = 556;\n t['quoteleft'] = 222;\n t['a'] = 556;\n t['b'] = 556;\n t['c'] = 500;\n t['d'] = 556;\n t['e'] = 556;\n t['f'] = 278;\n t['g'] = 556;\n t['h'] = 556;\n t['i'] = 222;\n t['j'] = 222;\n t['k'] = 500;\n t['l'] = 222;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 556;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 333;\n t['s'] = 500;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 500;\n t['braceleft'] = 334;\n t['bar'] = 260;\n t['braceright'] = 334;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 191;\n t['quotedblleft'] = 333;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 537;\n t['bullet'] = 350;\n t['quotesinglbase'] = 222;\n t['quotedblbase'] = 333;\n t['quotedblright'] = 333;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 556;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 222;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 667;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 500;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 500;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 222;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 500;\n t['scedilla'] = 500;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 556;\n t['Amacron'] = 667;\n t['rcaron'] = 333;\n t['ccedilla'] = 500;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 643;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 584;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 500;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 260;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 333;\n t['omacron'] = 556;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 222;\n t['tcaron'] = 317;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 222;\n t['Oacute'] = 778;\n t['oacute'] = 556;\n t['amacron'] = 556;\n t['sacute'] = 500;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 556;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 299;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 556;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 556;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 556;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 556;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 556;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 500;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 584;\n t['odieresis'] = 556;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 556;\n t['eth'] = 556;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Symbol'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['universal'] = 713;\n t['numbersign'] = 500;\n t['existential'] = 549;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['suchthat'] = 439;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asteriskmath'] = 500;\n t['plus'] = 549;\n t['comma'] = 250;\n t['minus'] = 549;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 549;\n t['equal'] = 549;\n t['greater'] = 549;\n t['question'] = 444;\n t['congruent'] = 549;\n t['Alpha'] = 722;\n t['Beta'] = 667;\n t['Chi'] = 722;\n t['Delta'] = 612;\n t['Epsilon'] = 611;\n t['Phi'] = 763;\n t['Gamma'] = 603;\n t['Eta'] = 722;\n t['Iota'] = 333;\n t['theta1'] = 631;\n t['Kappa'] = 722;\n t['Lambda'] = 686;\n t['Mu'] = 889;\n t['Nu'] = 722;\n t['Omicron'] = 722;\n t['Pi'] = 768;\n t['Theta'] = 741;\n t['Rho'] = 556;\n t['Sigma'] = 592;\n t['Tau'] = 611;\n t['Upsilon'] = 690;\n t['sigma1'] = 439;\n t['Omega'] = 768;\n t['Xi'] = 645;\n t['Psi'] = 795;\n t['Zeta'] = 611;\n t['bracketleft'] = 333;\n t['therefore'] = 863;\n t['bracketright'] = 333;\n t['perpendicular'] = 658;\n t['underscore'] = 500;\n t['radicalex'] = 500;\n t['alpha'] = 631;\n t['beta'] = 549;\n t['chi'] = 549;\n t['delta'] = 494;\n t['epsilon'] = 439;\n t['phi'] = 521;\n t['gamma'] = 411;\n t['eta'] = 603;\n t['iota'] = 329;\n t['phi1'] = 603;\n t['kappa'] = 549;\n t['lambda'] = 549;\n t['mu'] = 576;\n t['nu'] = 521;\n t['omicron'] = 549;\n t['pi'] = 549;\n t['theta'] = 521;\n t['rho'] = 549;\n t['sigma'] = 603;\n t['tau'] = 439;\n t['upsilon'] = 576;\n t['omega1'] = 713;\n t['omega'] = 686;\n t['xi'] = 493;\n t['psi'] = 686;\n t['zeta'] = 494;\n t['braceleft'] = 480;\n t['bar'] = 200;\n t['braceright'] = 480;\n t['similar'] = 549;\n t['Euro'] = 750;\n t['Upsilon1'] = 620;\n t['minute'] = 247;\n t['lessequal'] = 549;\n t['fraction'] = 167;\n t['infinity'] = 713;\n t['florin'] = 500;\n t['club'] = 753;\n t['diamond'] = 753;\n t['heart'] = 753;\n t['spade'] = 753;\n t['arrowboth'] = 1042;\n t['arrowleft'] = 987;\n t['arrowup'] = 603;\n t['arrowright'] = 987;\n t['arrowdown'] = 603;\n t['degree'] = 400;\n t['plusminus'] = 549;\n t['second'] = 411;\n t['greaterequal'] = 549;\n t['multiply'] = 549;\n t['proportional'] = 713;\n t['partialdiff'] = 494;\n t['bullet'] = 460;\n t['divide'] = 549;\n t['notequal'] = 549;\n t['equivalence'] = 549;\n t['approxequal'] = 549;\n t['ellipsis'] = 1000;\n t['arrowvertex'] = 603;\n t['arrowhorizex'] = 1000;\n t['carriagereturn'] = 658;\n t['aleph'] = 823;\n t['Ifraktur'] = 686;\n t['Rfraktur'] = 795;\n t['weierstrass'] = 987;\n t['circlemultiply'] = 768;\n t['circleplus'] = 768;\n t['emptyset'] = 823;\n t['intersection'] = 768;\n t['union'] = 768;\n t['propersuperset'] = 713;\n t['reflexsuperset'] = 713;\n t['notsubset'] = 713;\n t['propersubset'] = 713;\n t['reflexsubset'] = 713;\n t['element'] = 713;\n t['notelement'] = 713;\n t['angle'] = 768;\n t['gradient'] = 713;\n t['registerserif'] = 790;\n t['copyrightserif'] = 790;\n t['trademarkserif'] = 890;\n t['product'] = 823;\n t['radical'] = 549;\n t['dotmath'] = 250;\n t['logicalnot'] = 713;\n t['logicaland'] = 603;\n t['logicalor'] = 603;\n t['arrowdblboth'] = 1042;\n t['arrowdblleft'] = 987;\n t['arrowdblup'] = 603;\n t['arrowdblright'] = 987;\n t['arrowdbldown'] = 603;\n t['lozenge'] = 494;\n t['angleleft'] = 329;\n t['registersans'] = 790;\n t['copyrightsans'] = 790;\n t['trademarksans'] = 786;\n t['summation'] = 713;\n t['parenlefttp'] = 384;\n t['parenleftex'] = 384;\n t['parenleftbt'] = 384;\n t['bracketlefttp'] = 384;\n t['bracketleftex'] = 384;\n t['bracketleftbt'] = 384;\n t['bracelefttp'] = 494;\n t['braceleftmid'] = 494;\n t['braceleftbt'] = 494;\n t['braceex'] = 494;\n t['angleright'] = 329;\n t['integral'] = 274;\n t['integraltp'] = 686;\n t['integralex'] = 686;\n t['integralbt'] = 686;\n t['parenrighttp'] = 384;\n t['parenrightex'] = 384;\n t['parenrightbt'] = 384;\n t['bracketrighttp'] = 384;\n t['bracketrightex'] = 384;\n t['bracketrightbt'] = 384;\n t['bracerighttp'] = 494;\n t['bracerightmid'] = 494;\n t['bracerightbt'] = 494;\n t['apple'] = 790;\n });\n t['Times-Roman'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 408;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 564;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 564;\n t['equal'] = 564;\n t['greater'] = 564;\n t['question'] = 444;\n t['at'] = 921;\n t['A'] = 722;\n t['B'] = 667;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 611;\n t['F'] = 556;\n t['G'] = 722;\n t['H'] = 722;\n t['I'] = 333;\n t['J'] = 389;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 889;\n t['N'] = 722;\n t['O'] = 722;\n t['P'] = 556;\n t['Q'] = 722;\n t['R'] = 667;\n t['S'] = 556;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 722;\n t['W'] = 944;\n t['X'] = 722;\n t['Y'] = 722;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 469;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 444;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 500;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 500;\n t['l'] = 278;\n t['m'] = 778;\n t['n'] = 500;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 333;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 500;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 444;\n t['braceleft'] = 480;\n t['bar'] = 200;\n t['braceright'] = 480;\n t['asciitilde'] = 541;\n t['exclamdown'] = 333;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 180;\n t['quotedblleft'] = 444;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 453;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 444;\n t['quotedblright'] = 444;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 444;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 889;\n t['ordfeminine'] = 276;\n t['Lslash'] = 611;\n t['Oslash'] = 722;\n t['OE'] = 889;\n t['ordmasculine'] = 310;\n t['ae'] = 667;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 500;\n t['Idieresis'] = 333;\n t['eacute'] = 444;\n t['abreve'] = 444;\n t['uhungarumlaut'] = 500;\n t['ecaron'] = 444;\n t['Ydieresis'] = 722;\n t['divide'] = 564;\n t['Yacute'] = 722;\n t['Acircumflex'] = 722;\n t['aacute'] = 444;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 444;\n t['Uacute'] = 722;\n t['uogonek'] = 500;\n t['Edieresis'] = 611;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 760;\n t['Emacron'] = 611;\n t['ccaron'] = 444;\n t['aring'] = 444;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 444;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 667;\n t['atilde'] = 444;\n t['Edotaccent'] = 611;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 667;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 500;\n t['acircumflex'] = 444;\n t['Amacron'] = 722;\n t['rcaron'] = 333;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 556;\n t['Omacron'] = 722;\n t['Racute'] = 667;\n t['Sacute'] = 556;\n t['dcaron'] = 588;\n t['Umacron'] = 722;\n t['uring'] = 500;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 564;\n t['uacute'] = 500;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 611;\n t['adieresis'] = 444;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 500;\n t['umacron'] = 500;\n t['Ncaron'] = 722;\n t['Iacute'] = 333;\n t['plusminus'] = 564;\n t['brokenbar'] = 200;\n t['registered'] = 760;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 333;\n t['summation'] = 600;\n t['Egrave'] = 611;\n t['racute'] = 333;\n t['omacron'] = 500;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 326;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 444;\n t['zacute'] = 444;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 444;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 500;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 611;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 344;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 980;\n t['edotaccent'] = 444;\n t['Igrave'] = 333;\n t['Imacron'] = 333;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 500;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 611;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 500;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 667;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 722;\n t['zdotaccent'] = 444;\n t['Ecaron'] = 611;\n t['Iogonek'] = 333;\n t['kcommaaccent'] = 500;\n t['minus'] = 564;\n t['Icircumflex'] = 333;\n t['ncaron'] = 500;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 564;\n t['odieresis'] = 500;\n t['udieresis'] = 500;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 444;\n t['ncommaaccent'] = 500;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-Bold'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 555;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 1000;\n t['ampersand'] = 833;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 570;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 570;\n t['equal'] = 570;\n t['greater'] = 570;\n t['question'] = 500;\n t['at'] = 930;\n t['A'] = 722;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 778;\n t['I'] = 389;\n t['J'] = 500;\n t['K'] = 778;\n t['L'] = 667;\n t['M'] = 944;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 611;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 556;\n t['T'] = 667;\n t['U'] = 722;\n t['V'] = 722;\n t['W'] = 1000;\n t['X'] = 722;\n t['Y'] = 722;\n t['Z'] = 667;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 581;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 556;\n t['c'] = 444;\n t['d'] = 556;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 556;\n t['i'] = 278;\n t['j'] = 333;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 500;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 444;\n t['s'] = 389;\n t['t'] = 333;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 444;\n t['braceleft'] = 394;\n t['bar'] = 220;\n t['braceright'] = 394;\n t['asciitilde'] = 520;\n t['exclamdown'] = 333;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 278;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 540;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 300;\n t['Lslash'] = 667;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 330;\n t['ae'] = 722;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 556;\n t['Idieresis'] = 389;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 444;\n t['Ydieresis'] = 722;\n t['divide'] = 570;\n t['Yacute'] = 722;\n t['Acircumflex'] = 722;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 747;\n t['Emacron'] = 667;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 667;\n t['Cacute'] = 722;\n t['atilde'] = 500;\n t['Edotaccent'] = 667;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 500;\n t['Amacron'] = 722;\n t['rcaron'] = 444;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 667;\n t['Thorn'] = 611;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 556;\n t['dcaron'] = 672;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 300;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 570;\n t['uacute'] = 556;\n t['Tcaron'] = 667;\n t['partialdiff'] = 494;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 389;\n t['plusminus'] = 570;\n t['brokenbar'] = 220;\n t['registered'] = 747;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 389;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 444;\n t['omacron'] = 500;\n t['Zacute'] = 667;\n t['Zcaron'] = 667;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 416;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 444;\n t['zacute'] = 444;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 300;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 394;\n t['Kcommaaccent'] = 778;\n t['Lacute'] = 667;\n t['trademark'] = 1000;\n t['edotaccent'] = 444;\n t['Igrave'] = 389;\n t['Imacron'] = 389;\n t['Lcaron'] = 667;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 444;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 667;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 444;\n t['Ecaron'] = 667;\n t['Iogonek'] = 389;\n t['kcommaaccent'] = 556;\n t['minus'] = 570;\n t['Icircumflex'] = 389;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 570;\n t['odieresis'] = 500;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 444;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-BoldItalic'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 389;\n t['quotedbl'] = 555;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 570;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 570;\n t['equal'] = 570;\n t['greater'] = 570;\n t['question'] = 500;\n t['at'] = 832;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 667;\n t['G'] = 722;\n t['H'] = 778;\n t['I'] = 389;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 611;\n t['M'] = 889;\n t['N'] = 722;\n t['O'] = 722;\n t['P'] = 611;\n t['Q'] = 722;\n t['R'] = 667;\n t['S'] = 556;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 889;\n t['X'] = 667;\n t['Y'] = 611;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 570;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 556;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 500;\n t['l'] = 278;\n t['m'] = 778;\n t['n'] = 556;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 389;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 444;\n t['w'] = 667;\n t['x'] = 500;\n t['y'] = 444;\n t['z'] = 389;\n t['braceleft'] = 348;\n t['bar'] = 220;\n t['braceright'] = 348;\n t['asciitilde'] = 570;\n t['exclamdown'] = 389;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 278;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 500;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 944;\n t['ordfeminine'] = 266;\n t['Lslash'] = 611;\n t['Oslash'] = 722;\n t['OE'] = 944;\n t['ordmasculine'] = 300;\n t['ae'] = 722;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 500;\n t['Idieresis'] = 389;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 444;\n t['Ydieresis'] = 611;\n t['divide'] = 570;\n t['Yacute'] = 611;\n t['Acircumflex'] = 667;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 444;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 747;\n t['Emacron'] = 667;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 667;\n t['atilde'] = 500;\n t['Edotaccent'] = 667;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 667;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 500;\n t['Amacron'] = 667;\n t['rcaron'] = 389;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 611;\n t['Omacron'] = 722;\n t['Racute'] = 667;\n t['Sacute'] = 556;\n t['dcaron'] = 608;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 570;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 444;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 389;\n t['plusminus'] = 570;\n t['brokenbar'] = 220;\n t['registered'] = 747;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 389;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 500;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 366;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 444;\n t['zacute'] = 389;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 576;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 667;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 382;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 444;\n t['Igrave'] = 389;\n t['Imacron'] = 389;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 556;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 667;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 722;\n t['zdotaccent'] = 389;\n t['Ecaron'] = 667;\n t['Iogonek'] = 389;\n t['kcommaaccent'] = 500;\n t['minus'] = 606;\n t['Icircumflex'] = 389;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 606;\n t['odieresis'] = 500;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 389;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-Italic'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 420;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 675;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 675;\n t['equal'] = 675;\n t['greater'] = 675;\n t['question'] = 500;\n t['at'] = 920;\n t['A'] = 611;\n t['B'] = 611;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 611;\n t['F'] = 611;\n t['G'] = 722;\n t['H'] = 722;\n t['I'] = 333;\n t['J'] = 444;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 667;\n t['O'] = 722;\n t['P'] = 611;\n t['Q'] = 722;\n t['R'] = 611;\n t['S'] = 500;\n t['T'] = 556;\n t['U'] = 722;\n t['V'] = 611;\n t['W'] = 833;\n t['X'] = 611;\n t['Y'] = 556;\n t['Z'] = 556;\n t['bracketleft'] = 389;\n t['backslash'] = 278;\n t['bracketright'] = 389;\n t['asciicircum'] = 422;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 278;\n t['g'] = 500;\n t['h'] = 500;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 444;\n t['l'] = 278;\n t['m'] = 722;\n t['n'] = 500;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 389;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 500;\n t['v'] = 444;\n t['w'] = 667;\n t['x'] = 444;\n t['y'] = 444;\n t['z'] = 389;\n t['braceleft'] = 400;\n t['bar'] = 275;\n t['braceright'] = 400;\n t['asciitilde'] = 541;\n t['exclamdown'] = 389;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 214;\n t['quotedblleft'] = 556;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 523;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 556;\n t['quotedblright'] = 556;\n t['guillemotright'] = 500;\n t['ellipsis'] = 889;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 889;\n t['AE'] = 889;\n t['ordfeminine'] = 276;\n t['Lslash'] = 556;\n t['Oslash'] = 722;\n t['OE'] = 944;\n t['ordmasculine'] = 310;\n t['ae'] = 667;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 667;\n t['germandbls'] = 500;\n t['Idieresis'] = 333;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 500;\n t['ecaron'] = 444;\n t['Ydieresis'] = 556;\n t['divide'] = 675;\n t['Yacute'] = 556;\n t['Acircumflex'] = 611;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 444;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 500;\n t['Edieresis'] = 611;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 760;\n t['Emacron'] = 611;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 667;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 556;\n t['Cacute'] = 667;\n t['atilde'] = 500;\n t['Edotaccent'] = 611;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 611;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 500;\n t['acircumflex'] = 500;\n t['Amacron'] = 611;\n t['rcaron'] = 389;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 556;\n t['Thorn'] = 611;\n t['Omacron'] = 722;\n t['Racute'] = 611;\n t['Sacute'] = 500;\n t['dcaron'] = 544;\n t['Umacron'] = 722;\n t['uring'] = 500;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 611;\n t['Abreve'] = 611;\n t['multiply'] = 675;\n t['uacute'] = 500;\n t['Tcaron'] = 556;\n t['partialdiff'] = 476;\n t['ydieresis'] = 444;\n t['Nacute'] = 667;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 611;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 500;\n t['umacron'] = 500;\n t['Ncaron'] = 667;\n t['Iacute'] = 333;\n t['plusminus'] = 675;\n t['brokenbar'] = 275;\n t['registered'] = 760;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 333;\n t['summation'] = 600;\n t['Egrave'] = 611;\n t['racute'] = 389;\n t['omacron'] = 500;\n t['Zacute'] = 556;\n t['Zcaron'] = 556;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 300;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 611;\n t['Adieresis'] = 611;\n t['egrave'] = 444;\n t['zacute'] = 389;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 500;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 611;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 500;\n t['lcaron'] = 300;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 980;\n t['edotaccent'] = 444;\n t['Igrave'] = 333;\n t['Imacron'] = 333;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 500;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 611;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 500;\n t['Scommaaccent'] = 500;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 500;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 667;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 611;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 611;\n t['Aogonek'] = 611;\n t['Aring'] = 611;\n t['Otilde'] = 722;\n t['zdotaccent'] = 389;\n t['Ecaron'] = 611;\n t['Iogonek'] = 333;\n t['kcommaaccent'] = 444;\n t['minus'] = 675;\n t['Icircumflex'] = 333;\n t['ncaron'] = 500;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 675;\n t['odieresis'] = 500;\n t['udieresis'] = 500;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 389;\n t['ncommaaccent'] = 500;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['ZapfDingbats'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['a1'] = 974;\n t['a2'] = 961;\n t['a202'] = 974;\n t['a3'] = 980;\n t['a4'] = 719;\n t['a5'] = 789;\n t['a119'] = 790;\n t['a118'] = 791;\n t['a117'] = 690;\n t['a11'] = 960;\n t['a12'] = 939;\n t['a13'] = 549;\n t['a14'] = 855;\n t['a15'] = 911;\n t['a16'] = 933;\n t['a105'] = 911;\n t['a17'] = 945;\n t['a18'] = 974;\n t['a19'] = 755;\n t['a20'] = 846;\n t['a21'] = 762;\n t['a22'] = 761;\n t['a23'] = 571;\n t['a24'] = 677;\n t['a25'] = 763;\n t['a26'] = 760;\n t['a27'] = 759;\n t['a28'] = 754;\n t['a6'] = 494;\n t['a7'] = 552;\n t['a8'] = 537;\n t['a9'] = 577;\n t['a10'] = 692;\n t['a29'] = 786;\n t['a30'] = 788;\n t['a31'] = 788;\n t['a32'] = 790;\n t['a33'] = 793;\n t['a34'] = 794;\n t['a35'] = 816;\n t['a36'] = 823;\n t['a37'] = 789;\n t['a38'] = 841;\n t['a39'] = 823;\n t['a40'] = 833;\n t['a41'] = 816;\n t['a42'] = 831;\n t['a43'] = 923;\n t['a44'] = 744;\n t['a45'] = 723;\n t['a46'] = 749;\n t['a47'] = 790;\n t['a48'] = 792;\n t['a49'] = 695;\n t['a50'] = 776;\n t['a51'] = 768;\n t['a52'] = 792;\n t['a53'] = 759;\n t['a54'] = 707;\n t['a55'] = 708;\n t['a56'] = 682;\n t['a57'] = 701;\n t['a58'] = 826;\n t['a59'] = 815;\n t['a60'] = 789;\n t['a61'] = 789;\n t['a62'] = 707;\n t['a63'] = 687;\n t['a64'] = 696;\n t['a65'] = 689;\n t['a66'] = 786;\n t['a67'] = 787;\n t['a68'] = 713;\n t['a69'] = 791;\n t['a70'] = 785;\n t['a71'] = 791;\n t['a72'] = 873;\n t['a73'] = 761;\n t['a74'] = 762;\n t['a203'] = 762;\n t['a75'] = 759;\n t['a204'] = 759;\n t['a76'] = 892;\n t['a77'] = 892;\n t['a78'] = 788;\n t['a79'] = 784;\n t['a81'] = 438;\n t['a82'] = 138;\n t['a83'] = 277;\n t['a84'] = 415;\n t['a97'] = 392;\n t['a98'] = 392;\n t['a99'] = 668;\n t['a100'] = 668;\n t['a89'] = 390;\n t['a90'] = 390;\n t['a93'] = 317;\n t['a94'] = 317;\n t['a91'] = 276;\n t['a92'] = 276;\n t['a205'] = 509;\n t['a85'] = 509;\n t['a206'] = 410;\n t['a86'] = 410;\n t['a87'] = 234;\n t['a88'] = 234;\n t['a95'] = 334;\n t['a96'] = 334;\n t['a101'] = 732;\n t['a102'] = 544;\n t['a103'] = 544;\n t['a104'] = 910;\n t['a106'] = 667;\n t['a107'] = 760;\n t['a108'] = 760;\n t['a112'] = 776;\n t['a111'] = 595;\n t['a110'] = 694;\n t['a109'] = 626;\n t['a120'] = 788;\n t['a121'] = 788;\n t['a122'] = 788;\n t['a123'] = 788;\n t['a124'] = 788;\n t['a125'] = 788;\n t['a126'] = 788;\n t['a127'] = 788;\n t['a128'] = 788;\n t['a129'] = 788;\n t['a130'] = 788;\n t['a131'] = 788;\n t['a132'] = 788;\n t['a133'] = 788;\n t['a134'] = 788;\n t['a135'] = 788;\n t['a136'] = 788;\n t['a137'] = 788;\n t['a138'] = 788;\n t['a139'] = 788;\n t['a140'] = 788;\n t['a141'] = 788;\n t['a142'] = 788;\n t['a143'] = 788;\n t['a144'] = 788;\n t['a145'] = 788;\n t['a146'] = 788;\n t['a147'] = 788;\n t['a148'] = 788;\n t['a149'] = 788;\n t['a150'] = 788;\n t['a151'] = 788;\n t['a152'] = 788;\n t['a153'] = 788;\n t['a154'] = 788;\n t['a155'] = 788;\n t['a156'] = 788;\n t['a157'] = 788;\n t['a158'] = 788;\n t['a159'] = 788;\n t['a160'] = 894;\n t['a161'] = 838;\n t['a163'] = 1016;\n t['a164'] = 458;\n t['a196'] = 748;\n t['a165'] = 924;\n t['a192'] = 748;\n t['a166'] = 918;\n t['a167'] = 927;\n t['a168'] = 928;\n t['a169'] = 928;\n t['a170'] = 834;\n t['a171'] = 873;\n t['a172'] = 828;\n t['a173'] = 924;\n t['a162'] = 924;\n t['a174'] = 917;\n t['a175'] = 930;\n t['a176'] = 931;\n t['a177'] = 463;\n t['a178'] = 883;\n t['a179'] = 836;\n t['a193'] = 836;\n t['a180'] = 867;\n t['a199'] = 867;\n t['a181'] = 696;\n t['a200'] = 696;\n t['a182'] = 874;\n t['a201'] = 874;\n t['a183'] = 760;\n t['a184'] = 946;\n t['a197'] = 771;\n t['a185'] = 865;\n t['a194'] = 771;\n t['a198'] = 888;\n t['a186'] = 967;\n t['a195'] = 888;\n t['a187'] = 831;\n t['a188'] = 873;\n t['a189'] = 927;\n t['a190'] = 970;\n t['a191'] = 918;\n });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPDFFunction = isPDFFunction;\nexports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _ps_parser = __w_pdfjs_require__(219);\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 _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 IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n};\n\nvar PDFFunctionFactory =\n/*#__PURE__*/\nfunction () {\n function PDFFunctionFactory(_ref) {\n var xref = _ref.xref,\n _ref$isEvalSupported = _ref.isEvalSupported,\n isEvalSupported = _ref$isEvalSupported === void 0 ? true : _ref$isEvalSupported;\n\n _classCallCheck(this, PDFFunctionFactory);\n\n this.xref = xref;\n this.isEvalSupported = isEvalSupported !== false;\n }\n\n _createClass(PDFFunctionFactory, [{\n key: \"create\",\n value: function create(fn) {\n return PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn: fn\n });\n }\n }, {\n key: \"createFromArray\",\n value: function createFromArray(fnObj) {\n return PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj: fnObj\n });\n }\n }]);\n\n return PDFFunctionFactory;\n}();\n\nexports.PDFFunctionFactory = PDFFunctionFactory;\n\nfunction toNumberArray(arr) {\n if (!Array.isArray(arr)) {\n return null;\n }\n\n var length = arr.length;\n\n for (var i = 0; i < length; i++) {\n if (typeof arr[i] !== 'number') {\n var result = new Array(length);\n\n for (var _i = 0; _i < length; _i++) {\n result[_i] = +arr[_i];\n }\n\n return result;\n }\n }\n\n return arr;\n}\n\nvar PDFFunction = function PDFFunctionClosure() {\n var CONSTRUCT_SAMPLED = 0;\n var CONSTRUCT_INTERPOLATED = 2;\n var CONSTRUCT_STICHED = 3;\n var CONSTRUCT_POSTSCRIPT = 4;\n return {\n getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n var i, ii;\n var length = 1;\n\n for (i = 0, ii = size.length; i < ii; i++) {\n length *= size[i];\n }\n\n length *= outputSize;\n var array = new Array(length);\n var codeSize = 0;\n var codeBuf = 0;\n var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n var strBytes = stream.getBytes((length * bps + 7) / 8);\n var strIdx = 0;\n\n for (i = 0; i < length; i++) {\n while (codeSize < bps) {\n codeBuf <<= 8;\n codeBuf |= strBytes[strIdx++];\n codeSize += 8;\n }\n\n codeSize -= bps;\n array[i] = (codeBuf >> codeSize) * sampleMul;\n codeBuf &= (1 << codeSize) - 1;\n }\n\n return array;\n },\n getIR: function getIR(_ref2) {\n var xref = _ref2.xref,\n isEvalSupported = _ref2.isEvalSupported,\n fn = _ref2.fn;\n var dict = fn.dict;\n\n if (!dict) {\n dict = fn;\n }\n\n var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n var typeNum = dict.get('FunctionType');\n var typeFn = types[typeNum];\n\n if (!typeFn) {\n throw new _util.FormatError('Unknown type of function');\n }\n\n return typeFn.call(this, {\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn,\n dict: dict\n });\n },\n fromIR: function fromIR(_ref3) {\n var xref = _ref3.xref,\n isEvalSupported = _ref3.isEvalSupported,\n IR = _ref3.IR;\n var type = IR[0];\n\n switch (type) {\n case CONSTRUCT_SAMPLED:\n return this.constructSampledFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_INTERPOLATED:\n return this.constructInterpolatedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_STICHED:\n return this.constructStichedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n default:\n return this.constructPostScriptFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n }\n },\n parse: function parse(_ref4) {\n var xref = _ref4.xref,\n isEvalSupported = _ref4.isEvalSupported,\n fn = _ref4.fn;\n var IR = this.getIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn\n });\n return this.fromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n },\n parseArray: function parseArray(_ref5) {\n var xref = _ref5.xref,\n isEvalSupported = _ref5.isEvalSupported,\n fnObj = _ref5.fnObj;\n\n if (!Array.isArray(fnObj)) {\n return this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fnObj\n });\n }\n\n var fnArray = [];\n\n for (var j = 0, jj = fnObj.length; j < jj; j++) {\n fnArray.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnObj[j])\n }));\n }\n\n return function (src, srcOffset, dest, destOffset) {\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n fnArray[i](src, srcOffset, dest, destOffset + i);\n }\n };\n },\n constructSampled: function constructSampled(_ref6) {\n var xref = _ref6.xref,\n isEvalSupported = _ref6.isEvalSupported,\n fn = _ref6.fn,\n dict = _ref6.dict;\n\n function toMultiArray(arr) {\n var inputLength = arr.length;\n var out = [];\n var index = 0;\n\n for (var i = 0; i < inputLength; i += 2) {\n out[index] = [arr[i], arr[i + 1]];\n ++index;\n }\n\n return out;\n }\n\n var domain = toNumberArray(dict.getArray('Domain'));\n var range = toNumberArray(dict.getArray('Range'));\n\n if (!domain || !range) {\n throw new _util.FormatError('No domain or range');\n }\n\n var inputSize = domain.length / 2;\n var outputSize = range.length / 2;\n domain = toMultiArray(domain);\n range = toMultiArray(range);\n var size = toNumberArray(dict.getArray('Size'));\n var bps = dict.get('BitsPerSample');\n var order = dict.get('Order') || 1;\n\n if (order !== 1) {\n (0, _util.info)('No support for cubic spline interpolation: ' + order);\n }\n\n var encode = toNumberArray(dict.getArray('Encode'));\n\n if (!encode) {\n encode = [];\n\n for (var i = 0; i < inputSize; ++i) {\n encode.push([0, size[i] - 1]);\n }\n } else {\n encode = toMultiArray(encode);\n }\n\n var decode = toNumberArray(dict.getArray('Decode'));\n\n if (!decode) {\n decode = range;\n } else {\n decode = toMultiArray(decode);\n }\n\n var samples = this.getSampleArray(size, outputSize, bps, fn);\n return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n },\n constructSampledFromIR: function constructSampledFromIR(_ref7) {\n var xref = _ref7.xref,\n isEvalSupported = _ref7.isEvalSupported,\n IR = _ref7.IR;\n\n function interpolate(x, xmin, xmax, ymin, ymax) {\n return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n }\n\n return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n var m = IR[1];\n var domain = IR[2];\n var encode = IR[3];\n var decode = IR[4];\n var samples = IR[5];\n var size = IR[6];\n var n = IR[7];\n var range = IR[9];\n var cubeVertices = 1 << m;\n var cubeN = new Float64Array(cubeVertices);\n var cubeVertex = new Uint32Array(cubeVertices);\n var i, j;\n\n for (j = 0; j < cubeVertices; j++) {\n cubeN[j] = 1;\n }\n\n var k = n,\n pos = 1;\n\n for (i = 0; i < m; ++i) {\n var domain_2i = domain[i][0];\n var domain_2i_1 = domain[i][1];\n var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n var size_i = size[i];\n e = Math.min(Math.max(e, 0), size_i - 1);\n var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n var n0 = e0 + 1 - e;\n var n1 = e - e0;\n var offset0 = e0 * k;\n var offset1 = offset0 + k;\n\n for (j = 0; j < cubeVertices; j++) {\n if (j & pos) {\n cubeN[j] *= n1;\n cubeVertex[j] += offset1;\n } else {\n cubeN[j] *= n0;\n cubeVertex[j] += offset0;\n }\n }\n\n k *= size_i;\n pos <<= 1;\n }\n\n for (j = 0; j < n; ++j) {\n var rj = 0;\n\n for (i = 0; i < cubeVertices; i++) {\n rj += samples[cubeVertex[i] + j] * cubeN[i];\n }\n\n rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n }\n };\n },\n constructInterpolated: function constructInterpolated(_ref8) {\n var xref = _ref8.xref,\n isEvalSupported = _ref8.isEvalSupported,\n fn = _ref8.fn,\n dict = _ref8.dict;\n var c0 = toNumberArray(dict.getArray('C0')) || [0];\n var c1 = toNumberArray(dict.getArray('C1')) || [1];\n var n = dict.get('N');\n var length = c0.length;\n var diff = [];\n\n for (var i = 0; i < length; ++i) {\n diff.push(c1[i] - c0[i]);\n }\n\n return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n },\n constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {\n var xref = _ref9.xref,\n isEvalSupported = _ref9.isEvalSupported,\n IR = _ref9.IR;\n var c0 = IR[1];\n var diff = IR[2];\n var n = IR[3];\n var length = diff.length;\n return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n\n for (var j = 0; j < length; ++j) {\n dest[destOffset + j] = c0[j] + x * diff[j];\n }\n };\n },\n constructStiched: function constructStiched(_ref10) {\n var xref = _ref10.xref,\n isEvalSupported = _ref10.isEvalSupported,\n fn = _ref10.fn,\n dict = _ref10.dict;\n var domain = toNumberArray(dict.getArray('Domain'));\n\n if (!domain) {\n throw new _util.FormatError('No domain');\n }\n\n var inputSize = domain.length / 2;\n\n if (inputSize !== 1) {\n throw new _util.FormatError('Bad domain for stiched function');\n }\n\n var fnRefs = dict.get('Functions');\n var fns = [];\n\n for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n fns.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnRefs[i])\n }));\n }\n\n var bounds = toNumberArray(dict.getArray('Bounds'));\n var encode = toNumberArray(dict.getArray('Encode'));\n return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n },\n constructStichedFromIR: function constructStichedFromIR(_ref11) {\n var xref = _ref11.xref,\n isEvalSupported = _ref11.isEvalSupported,\n IR = _ref11.IR;\n var domain = IR[1];\n var bounds = IR[2];\n var encode = IR[3];\n var fns = IR[4];\n var tmpBuf = new Float32Array(1);\n return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n var clip = function constructStichedFromIRClip(v, min, max) {\n if (v > max) {\n v = max;\n } else if (v < min) {\n v = min;\n }\n\n return v;\n };\n\n var v = clip(src[srcOffset], domain[0], domain[1]);\n\n for (var i = 0, ii = bounds.length; i < ii; ++i) {\n if (v < bounds[i]) {\n break;\n }\n }\n\n var dmin = domain[0];\n\n if (i > 0) {\n dmin = bounds[i - 1];\n }\n\n var dmax = domain[1];\n\n if (i < bounds.length) {\n dmax = bounds[i];\n }\n\n var rmin = encode[2 * i];\n var rmax = encode[2 * i + 1];\n tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n fns[i](tmpBuf, 0, dest, destOffset);\n };\n },\n constructPostScript: function constructPostScript(_ref12) {\n var xref = _ref12.xref,\n isEvalSupported = _ref12.isEvalSupported,\n fn = _ref12.fn,\n dict = _ref12.dict;\n var domain = toNumberArray(dict.getArray('Domain'));\n var range = toNumberArray(dict.getArray('Range'));\n\n if (!domain) {\n throw new _util.FormatError('No domain.');\n }\n\n if (!range) {\n throw new _util.FormatError('No range.');\n }\n\n var lexer = new _ps_parser.PostScriptLexer(fn);\n var parser = new _ps_parser.PostScriptParser(lexer);\n var code = parser.parse();\n return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n },\n constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {\n var xref = _ref13.xref,\n isEvalSupported = _ref13.isEvalSupported,\n IR = _ref13.IR;\n var domain = IR[1];\n var range = IR[2];\n var code = IR[3];\n\n if (isEvalSupported && IsEvalSupportedCached.value) {\n var compiled = new PostScriptCompiler().compile(code, domain, range);\n\n if (compiled) {\n return new Function('src', 'srcOffset', 'dest', 'destOffset', compiled);\n }\n }\n\n (0, _util.info)('Unable to compile PS function');\n var numOutputs = range.length >> 1;\n var numInputs = domain.length >> 1;\n var evaluator = new PostScriptEvaluator(code);\n var cache = Object.create(null);\n var MAX_CACHE_SIZE = 2048 * 4;\n var cache_available = MAX_CACHE_SIZE;\n var tmpBuf = new Float32Array(numInputs);\n return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n var i, value;\n var key = '';\n var input = tmpBuf;\n\n for (i = 0; i < numInputs; i++) {\n value = src[srcOffset + i];\n input[i] = value;\n key += value + '_';\n }\n\n var cachedValue = cache[key];\n\n if (cachedValue !== undefined) {\n dest.set(cachedValue, destOffset);\n return;\n }\n\n var output = new Float32Array(numOutputs);\n var stack = evaluator.execute(input);\n var stackIndex = stack.length - numOutputs;\n\n for (i = 0; i < numOutputs; i++) {\n value = stack[stackIndex + i];\n var bound = range[i * 2];\n\n if (value < bound) {\n value = bound;\n } else {\n bound = range[i * 2 + 1];\n\n if (value > bound) {\n value = bound;\n }\n }\n\n output[i] = value;\n }\n\n if (cache_available > 0) {\n cache_available--;\n cache[key] = output;\n }\n\n dest.set(output, destOffset);\n };\n }\n };\n}();\n\nfunction isPDFFunction(v) {\n var fnDict;\n\n if (_typeof(v) !== 'object') {\n return false;\n } else if ((0, _primitives.isDict)(v)) {\n fnDict = v;\n } else if ((0, _primitives.isStream)(v)) {\n fnDict = v.dict;\n } else {\n return false;\n }\n\n return fnDict.has('FunctionType');\n}\n\nvar PostScriptStack = function PostScriptStackClosure() {\n var MAX_STACK_SIZE = 100;\n\n function PostScriptStack(initialStack) {\n this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n }\n\n PostScriptStack.prototype = {\n push: function PostScriptStack_push(value) {\n if (this.stack.length >= MAX_STACK_SIZE) {\n throw new Error('PostScript function stack overflow.');\n }\n\n this.stack.push(value);\n },\n pop: function PostScriptStack_pop() {\n if (this.stack.length <= 0) {\n throw new Error('PostScript function stack underflow.');\n }\n\n return this.stack.pop();\n },\n copy: function PostScriptStack_copy(n) {\n if (this.stack.length + n >= MAX_STACK_SIZE) {\n throw new Error('PostScript function stack overflow.');\n }\n\n var stack = this.stack;\n\n for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n stack.push(stack[i]);\n }\n },\n index: function PostScriptStack_index(n) {\n this.push(this.stack[this.stack.length - n - 1]);\n },\n roll: function PostScriptStack_roll(n, p) {\n var stack = this.stack;\n var l = stack.length - n;\n var r = stack.length - 1,\n c = l + (p - Math.floor(p / n) * n),\n i,\n j,\n t;\n\n for (i = l, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = l, j = c - 1; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = c, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n }\n };\n return PostScriptStack;\n}();\n\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n function PostScriptEvaluator(operators) {\n this.operators = operators;\n }\n\n PostScriptEvaluator.prototype = {\n execute: function PostScriptEvaluator_execute(initialStack) {\n var stack = new PostScriptStack(initialStack);\n var counter = 0;\n var operators = this.operators;\n var length = operators.length;\n var operator, a, b;\n\n while (counter < length) {\n operator = operators[counter++];\n\n if (typeof operator === 'number') {\n stack.push(operator);\n continue;\n }\n\n switch (operator) {\n case 'jz':\n b = stack.pop();\n a = stack.pop();\n\n if (!a) {\n counter = b;\n }\n\n break;\n\n case 'j':\n a = stack.pop();\n counter = a;\n break;\n\n case 'abs':\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n\n case 'add':\n b = stack.pop();\n a = stack.pop();\n stack.push(a + b);\n break;\n\n case 'and':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a && b);\n } else {\n stack.push(a & b);\n }\n\n break;\n\n case 'atan':\n a = stack.pop();\n stack.push(Math.atan(a));\n break;\n\n case 'bitshift':\n b = stack.pop();\n a = stack.pop();\n\n if (a > 0) {\n stack.push(a << b);\n } else {\n stack.push(a >> b);\n }\n\n break;\n\n case 'ceiling':\n a = stack.pop();\n stack.push(Math.ceil(a));\n break;\n\n case 'copy':\n a = stack.pop();\n stack.copy(a);\n break;\n\n case 'cos':\n a = stack.pop();\n stack.push(Math.cos(a));\n break;\n\n case 'cvi':\n a = stack.pop() | 0;\n stack.push(a);\n break;\n\n case 'cvr':\n break;\n\n case 'div':\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b);\n break;\n\n case 'dup':\n stack.copy(1);\n break;\n\n case 'eq':\n b = stack.pop();\n a = stack.pop();\n stack.push(a === b);\n break;\n\n case 'exch':\n stack.roll(2, 1);\n break;\n\n case 'exp':\n b = stack.pop();\n a = stack.pop();\n stack.push(Math.pow(a, b));\n break;\n\n case 'false':\n stack.push(false);\n break;\n\n case 'floor':\n a = stack.pop();\n stack.push(Math.floor(a));\n break;\n\n case 'ge':\n b = stack.pop();\n a = stack.pop();\n stack.push(a >= b);\n break;\n\n case 'gt':\n b = stack.pop();\n a = stack.pop();\n stack.push(a > b);\n break;\n\n case 'idiv':\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b | 0);\n break;\n\n case 'index':\n a = stack.pop();\n stack.index(a);\n break;\n\n case 'le':\n b = stack.pop();\n a = stack.pop();\n stack.push(a <= b);\n break;\n\n case 'ln':\n a = stack.pop();\n stack.push(Math.log(a));\n break;\n\n case 'log':\n a = stack.pop();\n stack.push(Math.log(a) / Math.LN10);\n break;\n\n case 'lt':\n b = stack.pop();\n a = stack.pop();\n stack.push(a < b);\n break;\n\n case 'mod':\n b = stack.pop();\n a = stack.pop();\n stack.push(a % b);\n break;\n\n case 'mul':\n b = stack.pop();\n a = stack.pop();\n stack.push(a * b);\n break;\n\n case 'ne':\n b = stack.pop();\n a = stack.pop();\n stack.push(a !== b);\n break;\n\n case 'neg':\n a = stack.pop();\n stack.push(-a);\n break;\n\n case 'not':\n a = stack.pop();\n\n if ((0, _util.isBool)(a)) {\n stack.push(!a);\n } else {\n stack.push(~a);\n }\n\n break;\n\n case 'or':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a || b);\n } else {\n stack.push(a | b);\n }\n\n break;\n\n case 'pop':\n stack.pop();\n break;\n\n case 'roll':\n b = stack.pop();\n a = stack.pop();\n stack.roll(a, b);\n break;\n\n case 'round':\n a = stack.pop();\n stack.push(Math.round(a));\n break;\n\n case 'sin':\n a = stack.pop();\n stack.push(Math.sin(a));\n break;\n\n case 'sqrt':\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n\n case 'sub':\n b = stack.pop();\n a = stack.pop();\n stack.push(a - b);\n break;\n\n case 'true':\n stack.push(true);\n break;\n\n case 'truncate':\n a = stack.pop();\n a = a < 0 ? Math.ceil(a) : Math.floor(a);\n stack.push(a);\n break;\n\n case 'xor':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a !== b);\n } else {\n stack.push(a ^ b);\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown operator \".concat(operator));\n }\n }\n\n return stack.stack;\n }\n };\n return PostScriptEvaluator;\n}();\n\nexports.PostScriptEvaluator = PostScriptEvaluator;\n\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n function AstNode(type) {\n this.type = type;\n }\n\n AstNode.prototype.visit = function (visitor) {\n (0, _util.unreachable)('abstract method');\n };\n\n function AstArgument(index, min, max) {\n AstNode.call(this, 'args');\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstArgument.prototype = Object.create(AstNode.prototype);\n\n AstArgument.prototype.visit = function (visitor) {\n visitor.visitArgument(this);\n };\n\n function AstLiteral(number) {\n AstNode.call(this, 'literal');\n this.number = number;\n this.min = number;\n this.max = number;\n }\n\n AstLiteral.prototype = Object.create(AstNode.prototype);\n\n AstLiteral.prototype.visit = function (visitor) {\n visitor.visitLiteral(this);\n };\n\n function AstBinaryOperation(op, arg1, arg2, min, max) {\n AstNode.call(this, 'binary');\n this.op = op;\n this.arg1 = arg1;\n this.arg2 = arg2;\n this.min = min;\n this.max = max;\n }\n\n AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n AstBinaryOperation.prototype.visit = function (visitor) {\n visitor.visitBinaryOperation(this);\n };\n\n function AstMin(arg, max) {\n AstNode.call(this, 'max');\n this.arg = arg;\n this.min = arg.min;\n this.max = max;\n }\n\n AstMin.prototype = Object.create(AstNode.prototype);\n\n AstMin.prototype.visit = function (visitor) {\n visitor.visitMin(this);\n };\n\n function AstVariable(index, min, max) {\n AstNode.call(this, 'var');\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstVariable.prototype = Object.create(AstNode.prototype);\n\n AstVariable.prototype.visit = function (visitor) {\n visitor.visitVariable(this);\n };\n\n function AstVariableDefinition(variable, arg) {\n AstNode.call(this, 'definition');\n this.variable = variable;\n this.arg = arg;\n }\n\n AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n AstVariableDefinition.prototype.visit = function (visitor) {\n visitor.visitVariableDefinition(this);\n };\n\n function ExpressionBuilderVisitor() {\n this.parts = [];\n }\n\n ExpressionBuilderVisitor.prototype = {\n visitArgument: function visitArgument(arg) {\n this.parts.push('Math.max(', arg.min, ', Math.min(', arg.max, ', src[srcOffset + ', arg.index, ']))');\n },\n visitVariable: function visitVariable(variable) {\n this.parts.push('v', variable.index);\n },\n visitLiteral: function visitLiteral(literal) {\n this.parts.push(literal.number);\n },\n visitBinaryOperation: function visitBinaryOperation(operation) {\n this.parts.push('(');\n operation.arg1.visit(this);\n this.parts.push(' ', operation.op, ' ');\n operation.arg2.visit(this);\n this.parts.push(')');\n },\n visitVariableDefinition: function visitVariableDefinition(definition) {\n this.parts.push('var ');\n definition.variable.visit(this);\n this.parts.push(' = ');\n definition.arg.visit(this);\n this.parts.push(';');\n },\n visitMin: function visitMin(max) {\n this.parts.push('Math.min(');\n max.arg.visit(this);\n this.parts.push(', ', max.max, ')');\n },\n toString: function toString() {\n return this.parts.join('');\n }\n };\n\n function buildAddOperation(num1, num2) {\n if (num2.type === 'literal' && num2.number === 0) {\n return num1;\n }\n\n if (num1.type === 'literal' && num1.number === 0) {\n return num2;\n }\n\n if (num2.type === 'literal' && num1.type === 'literal') {\n return new AstLiteral(num1.number + num2.number);\n }\n\n return new AstBinaryOperation('+', num1, num2, num1.min + num2.min, num1.max + num2.max);\n }\n\n function buildMulOperation(num1, num2) {\n if (num2.type === 'literal') {\n if (num2.number === 0) {\n return new AstLiteral(0);\n } else if (num2.number === 1) {\n return num1;\n } else if (num1.type === 'literal') {\n return new AstLiteral(num1.number * num2.number);\n }\n }\n\n if (num1.type === 'literal') {\n if (num1.number === 0) {\n return new AstLiteral(0);\n } else if (num1.number === 1) {\n return num2;\n }\n }\n\n var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n return new AstBinaryOperation('*', num1, num2, min, max);\n }\n\n function buildSubOperation(num1, num2) {\n if (num2.type === 'literal') {\n if (num2.number === 0) {\n return num1;\n } else if (num1.type === 'literal') {\n return new AstLiteral(num1.number - num2.number);\n }\n }\n\n if (num2.type === 'binary' && num2.op === '-' && num1.type === 'literal' && num1.number === 1 && num2.arg1.type === 'literal' && num2.arg1.number === 1) {\n return num2.arg2;\n }\n\n return new AstBinaryOperation('-', num1, num2, num1.min - num2.max, num1.max - num2.min);\n }\n\n function buildMinOperation(num1, max) {\n if (num1.min >= max) {\n return new AstLiteral(max);\n } else if (num1.max <= max) {\n return num1;\n }\n\n return new AstMin(num1, max);\n }\n\n function PostScriptCompiler() {}\n\n PostScriptCompiler.prototype = {\n compile: function PostScriptCompiler_compile(code, domain, range) {\n var stack = [];\n var i, ii;\n var instructions = [];\n var inputSize = domain.length >> 1,\n outputSize = range.length >> 1;\n var lastRegister = 0;\n var n, j;\n var num1, num2, ast1, ast2, tmpVar, item;\n\n for (i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n\n for (i = 0, ii = code.length; i < ii; i++) {\n item = code[i];\n\n if (typeof item === 'number') {\n stack.push(new AstLiteral(item));\n continue;\n }\n\n switch (item) {\n case 'add':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildAddOperation(num1, num2));\n break;\n\n case 'cvr':\n if (stack.length < 1) {\n return null;\n }\n\n break;\n\n case 'mul':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildMulOperation(num1, num2));\n break;\n\n case 'sub':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildSubOperation(num1, num2));\n break;\n\n case 'exch':\n if (stack.length < 2) {\n return null;\n }\n\n ast1 = stack.pop();\n ast2 = stack.pop();\n stack.push(ast1, ast2);\n break;\n\n case 'pop':\n if (stack.length < 1) {\n return null;\n }\n\n stack.pop();\n break;\n\n case 'index':\n if (stack.length < 1) {\n return null;\n }\n\n num1 = stack.pop();\n\n if (num1.type !== 'literal') {\n return null;\n }\n\n n = num1.number;\n\n if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n return null;\n }\n\n ast1 = stack[stack.length - n - 1];\n\n if (ast1.type === 'literal' || ast1.type === 'var') {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - n - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case 'dup':\n if (stack.length < 1) {\n return null;\n }\n\n if (typeof code[i + 1] === 'number' && code[i + 2] === 'gt' && code[i + 3] === i + 7 && code[i + 4] === 'jz' && code[i + 5] === 'pop' && code[i + 6] === code[i + 1]) {\n num1 = stack.pop();\n stack.push(buildMinOperation(num1, code[i + 1]));\n i += 6;\n break;\n }\n\n ast1 = stack[stack.length - 1];\n\n if (ast1.type === 'literal' || ast1.type === 'var') {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case 'roll':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n\n if (num2.type !== 'literal' || num1.type !== 'literal') {\n return null;\n }\n\n j = num2.number;\n n = num1.number;\n\n if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n return null;\n }\n\n j = (j % n + n) % n;\n\n if (j === 0) {\n break;\n }\n\n Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n break;\n\n default:\n return null;\n }\n }\n\n if (stack.length !== outputSize) {\n return null;\n }\n\n var result = [];\n instructions.forEach(function (instruction) {\n var statementBuilder = new ExpressionBuilderVisitor();\n instruction.visit(statementBuilder);\n result.push(statementBuilder.toString());\n });\n stack.forEach(function (expr, i) {\n var statementBuilder = new ExpressionBuilderVisitor();\n expr.visit(statementBuilder);\n var min = range[i * 2],\n max = range[i * 2 + 1];\n var out = [statementBuilder.toString()];\n\n if (min > expr.min) {\n out.unshift('Math.max(', min, ', ');\n out.push(')');\n }\n\n if (max < expr.max) {\n out.unshift('Math.min(', max, ', ');\n out.push(')');\n }\n\n out.unshift('dest[destOffset + ', i, '] = ');\n out.push(';');\n result.push(out.join(''));\n });\n return result.join('\\n');\n }\n };\n return PostScriptCompiler;\n}();\n\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\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 PostScriptParser =\n/*#__PURE__*/\nfunction () {\n function PostScriptParser(lexer) {\n _classCallCheck(this, PostScriptParser);\n\n this.lexer = lexer;\n this.operators = [];\n this.token = null;\n this.prev = null;\n }\n\n _createClass(PostScriptParser, [{\n key: \"nextToken\",\n value: function nextToken() {\n this.prev = this.token;\n this.token = this.lexer.getToken();\n }\n }, {\n key: \"accept\",\n value: function accept(type) {\n if (this.token.type === type) {\n this.nextToken();\n return true;\n }\n\n return false;\n }\n }, {\n key: \"expect\",\n value: function expect(type) {\n if (this.accept(type)) {\n return true;\n }\n\n throw new _util.FormatError(\"Unexpected symbol: found \".concat(this.token.type, \" expected \").concat(type, \".\"));\n }\n }, {\n key: \"parse\",\n value: function parse() {\n this.nextToken();\n this.expect(PostScriptTokenTypes.LBRACE);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n return this.operators;\n }\n }, {\n key: \"parseBlock\",\n value: function parseBlock() {\n while (true) {\n if (this.accept(PostScriptTokenTypes.NUMBER)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n this.parseCondition();\n } else {\n return;\n }\n }\n }\n }, {\n key: \"parseCondition\",\n value: function parseCondition() {\n var conditionLocation = this.operators.length;\n this.operators.push(null, null);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n\n if (this.accept(PostScriptTokenTypes.IF)) {\n this.operators[conditionLocation] = this.operators.length;\n this.operators[conditionLocation + 1] = 'jz';\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n var jumpLocation = this.operators.length;\n this.operators.push(null, null);\n var endOfTrue = this.operators.length;\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n this.expect(PostScriptTokenTypes.IFELSE);\n this.operators[jumpLocation] = this.operators.length;\n this.operators[jumpLocation + 1] = 'j';\n this.operators[conditionLocation] = endOfTrue;\n this.operators[conditionLocation + 1] = 'jz';\n } else {\n throw new _util.FormatError('PS Function: error parsing conditional.');\n }\n }\n }]);\n\n return PostScriptParser;\n}();\n\nexports.PostScriptParser = PostScriptParser;\nvar PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n};\n\nvar PostScriptToken = function PostScriptTokenClosure() {\n var opCache = Object.create(null);\n\n var PostScriptToken =\n /*#__PURE__*/\n function () {\n function PostScriptToken(type, value) {\n _classCallCheck(this, PostScriptToken);\n\n this.type = type;\n this.value = value;\n }\n\n _createClass(PostScriptToken, null, [{\n key: \"getOperator\",\n value: function getOperator(op) {\n var opValue = opCache[op];\n\n if (opValue) {\n return opValue;\n }\n\n return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n }\n }, {\n key: \"LBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, 'LBRACE', new PostScriptToken(PostScriptTokenTypes.LBRACE, '{'));\n }\n }, {\n key: \"RBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, 'RBRACE', new PostScriptToken(PostScriptTokenTypes.RBRACE, '}'));\n }\n }, {\n key: \"IF\",\n get: function get() {\n return (0, _util.shadow)(this, 'IF', new PostScriptToken(PostScriptTokenTypes.IF, 'IF'));\n }\n }, {\n key: \"IFELSE\",\n get: function get() {\n return (0, _util.shadow)(this, 'IFELSE', new PostScriptToken(PostScriptTokenTypes.IFELSE, 'IFELSE'));\n }\n }]);\n\n return PostScriptToken;\n }();\n\n return PostScriptToken;\n}();\n\nvar PostScriptLexer =\n/*#__PURE__*/\nfunction () {\n function PostScriptLexer(stream) {\n _classCallCheck(this, PostScriptLexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n }\n\n _createClass(PostScriptLexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"getToken\",\n value: function getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _util.isSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2B:\n case 0x2D:\n case 0x2E:\n return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n\n case 0x7B:\n this.nextChar();\n return PostScriptToken.LBRACE;\n\n case 0x7D:\n this.nextChar();\n return PostScriptToken.RBRACE;\n }\n\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5A || ch >= 0x61 && ch <= 0x7A)) {\n strBuf.push(String.fromCharCode(ch));\n }\n\n var str = strBuf.join('');\n\n switch (str.toLowerCase()) {\n case 'if':\n return PostScriptToken.IF;\n\n case 'ifelse':\n return PostScriptToken.IFELSE;\n\n default:\n return PostScriptToken.getOperator(str);\n }\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39 || ch === 0x2D || ch === 0x2E) {\n strBuf.push(String.fromCharCode(ch));\n } else {\n break;\n }\n }\n\n var value = parseFloat(strBuf.join(''));\n\n if (isNaN(value)) {\n throw new _util.FormatError(\"Invalid floating point number: \".concat(value));\n }\n\n return value;\n }\n }]);\n\n return PostScriptLexer;\n}();\n\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SEED = 0xc3d2e1f0;\nvar MASK_HIGH = 0xffff0000;\nvar MASK_LOW = 0xffff;\n\nvar MurmurHash3_64 =\n/*#__PURE__*/\nfunction () {\n function MurmurHash3_64(seed) {\n _classCallCheck(this, MurmurHash3_64);\n\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n _createClass(MurmurHash3_64, [{\n key: \"update\",\n value: function update(input) {\n var data, length;\n\n if ((0, _util.isString)(input)) {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (var i = 0, ii = input.length; i < ii; i++) {\n var code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input;\n length = data.byteLength;\n } else {\n throw new Error('Wrong data format in MurmurHash3_64_update. ' + 'Input must be a string or array.');\n }\n\n var blockCounts = length >> 2;\n var tailLength = length - blockCounts * 4;\n var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n var k1 = 0,\n k2 = 0;\n var h1 = this.h1,\n h2 = this.h2;\n var C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n var C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (var _i = 0; _i < blockCounts; _i++) {\n if (_i & 1) {\n k1 = dataUint32[_i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[_i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n }, {\n key: \"hexdigest\",\n value: function hexdigest() {\n var h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n var hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, '0') + hex2.padStart(8, '0');\n }\n }]);\n\n return MurmurHash3_64;\n}();\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NativeImageDecoder = void 0;\n\nvar _colorspace = __w_pdfjs_require__(201);\n\nvar _jpeg_stream = __w_pdfjs_require__(196);\n\nvar _stream = __w_pdfjs_require__(190);\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 NativeImageDecoder =\n/*#__PURE__*/\nfunction () {\n function NativeImageDecoder(_ref) {\n var xref = _ref.xref,\n resources = _ref.resources,\n handler = _ref.handler,\n _ref$forceDataSchema = _ref.forceDataSchema,\n forceDataSchema = _ref$forceDataSchema === void 0 ? false : _ref$forceDataSchema,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n _classCallCheck(this, NativeImageDecoder);\n\n this.xref = xref;\n this.resources = resources;\n this.handler = handler;\n this.forceDataSchema = forceDataSchema;\n this.pdfFunctionFactory = pdfFunctionFactory;\n }\n\n _createClass(NativeImageDecoder, [{\n key: \"canDecode\",\n value: function canDecode(image) {\n return image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, this.resources, this.pdfFunctionFactory);\n }\n }, {\n key: \"decode\",\n value: function decode(image) {\n var dict = image.dict;\n var colorSpace = dict.get('ColorSpace', 'CS');\n colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, this.resources, this.pdfFunctionFactory);\n return this.handler.sendWithPromise('JpegDecode', [image.getIR(this.forceDataSchema), colorSpace.numComps]).then(function (_ref2) {\n var data = _ref2.data,\n width = _ref2.width,\n height = _ref2.height;\n return new _stream.Stream(data, 0, data.length, dict);\n });\n }\n }], [{\n key: \"isSupported\",\n value: function isSupported(image, xref, res, pdfFunctionFactory) {\n var dict = image.dict;\n\n if (dict.has('DecodeParms') || dict.has('DP')) {\n return false;\n }\n\n var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);\n\n return (cs.name === 'DeviceGray' || cs.name === 'DeviceRGB') && cs.isDefaultDecode(dict.getArray('Decode', 'D'));\n }\n }, {\n key: \"isDecodable\",\n value: function isDecodable(image, xref, res, pdfFunctionFactory) {\n var dict = image.dict;\n\n if (dict.has('DecodeParms') || dict.has('DP')) {\n return false;\n }\n\n var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);\n\n var bpc = dict.get('BitsPerComponent', 'BPC') || 1;\n return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray('Decode', 'D'), bpc);\n }\n }]);\n\n return NativeImageDecoder;\n}();\n\nexports.NativeImageDecoder = NativeImageDecoder;\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(183);\n\nvar _colorspace = __w_pdfjs_require__(201);\n\nvar _stream = __w_pdfjs_require__(190);\n\nvar _jpeg_stream = __w_pdfjs_require__(196);\n\nvar _jpx = __w_pdfjs_require__(199);\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\nvar PDFImage = function PDFImageClosure() {\n function handleImageData(image, nativeDecoder) {\n if (nativeDecoder && nativeDecoder.canDecode(image)) {\n return nativeDecoder.decode(image)[\"catch\"](function (reason) {\n (0, _util.warn)('Native image decoding failed -- trying to recover: ' + (reason && reason.message));\n return image;\n });\n }\n\n return Promise.resolve(image);\n }\n\n function decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n return value < 0 ? 0 : value > max ? max : value;\n }\n\n function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n var length = w2 * h2;\n var dest = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var i,\n j,\n py,\n newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1;\n\n for (i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio);\n }\n\n for (i = 0; i < h2; i++) {\n py = Math.floor(i * yRatio) * w1Scanline;\n\n for (j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex];\n }\n }\n\n return dest;\n }\n\n function PDFImage(_ref) {\n var xref = _ref.xref,\n res = _ref.res,\n image = _ref.image,\n _ref$isInline = _ref.isInline,\n isInline = _ref$isInline === void 0 ? false : _ref$isInline,\n _ref$smask = _ref.smask,\n smask = _ref$smask === void 0 ? null : _ref$smask,\n _ref$mask = _ref.mask,\n mask = _ref$mask === void 0 ? null : _ref$mask,\n _ref$isMask = _ref.isMask,\n isMask = _ref$isMask === void 0 ? false : _ref$isMask,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n this.image = image;\n var dict = image.dict;\n var filter = dict.get('Filter');\n\n if ((0, _primitives.isName)(filter)) {\n switch (filter.name) {\n case 'JPXDecode':\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parseImageProperties(image.stream);\n image.stream.reset();\n image.width = jpxImage.width;\n image.height = jpxImage.height;\n image.bitsPerComponent = jpxImage.bitsPerComponent;\n image.numComps = jpxImage.componentsCount;\n break;\n\n case 'JBIG2Decode':\n image.bitsPerComponent = 1;\n image.numComps = 1;\n break;\n }\n }\n\n var width = dict.get('Width', 'W');\n var height = dict.get('Height', 'H');\n\n if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n (0, _util.warn)('PDFImage - using the Width/Height of the image data, ' + 'rather than the image dictionary.');\n width = image.width;\n height = image.height;\n }\n\n if (width < 1 || height < 1) {\n throw new _util.FormatError(\"Invalid image width: \".concat(width, \" or \") + \"height: \".concat(height));\n }\n\n this.width = width;\n this.height = height;\n this.interpolate = dict.get('Interpolate', 'I') || false;\n this.imageMask = dict.get('ImageMask', 'IM') || false;\n this.matte = dict.get('Matte') || false;\n var bitsPerComponent = image.bitsPerComponent;\n\n if (!bitsPerComponent) {\n bitsPerComponent = dict.get('BitsPerComponent', 'BPC');\n\n if (!bitsPerComponent) {\n if (this.imageMask) {\n bitsPerComponent = 1;\n } else {\n throw new _util.FormatError(\"Bits per component missing in image: \".concat(this.imageMask));\n }\n }\n }\n\n this.bpc = bitsPerComponent;\n\n if (!this.imageMask) {\n var colorSpace = dict.get('ColorSpace', 'CS');\n\n if (!colorSpace) {\n (0, _util.info)('JPX images (which do not require color spaces)');\n\n switch (image.numComps) {\n case 1:\n colorSpace = _primitives.Name.get('DeviceGray');\n break;\n\n case 3:\n colorSpace = _primitives.Name.get('DeviceRGB');\n break;\n\n case 4:\n colorSpace = _primitives.Name.get('DeviceCMYK');\n break;\n\n default:\n throw new Error(\"JPX images with \".concat(image.numComps, \" \") + 'color components not supported.');\n }\n }\n\n var resources = isInline ? res : null;\n this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, resources, pdfFunctionFactory);\n this.numComps = this.colorSpace.numComps;\n }\n\n this.decode = dict.getArray('Decode', 'D');\n this.needsDecode = false;\n\n if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n this.needsDecode = true;\n var max = (1 << bitsPerComponent) - 1;\n this.decodeCoefficients = [];\n this.decodeAddends = [];\n var isIndexed = this.colorSpace && this.colorSpace.name === 'Indexed';\n\n for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n var dmin = this.decode[i];\n var dmax = this.decode[i + 1];\n this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n }\n }\n\n if (smask) {\n this.smask = new PDFImage({\n xref: xref,\n res: res,\n image: smask,\n isInline: isInline,\n pdfFunctionFactory: pdfFunctionFactory\n });\n } else if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n var maskDict = mask.dict,\n imageMask = maskDict.get('ImageMask', 'IM');\n\n if (!imageMask) {\n (0, _util.warn)('Ignoring /Mask in image without /ImageMask.');\n } else {\n this.mask = new PDFImage({\n xref: xref,\n res: res,\n image: mask,\n isInline: isInline,\n isMask: true,\n pdfFunctionFactory: pdfFunctionFactory\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n\n PDFImage.buildImage = function (_ref2) {\n var handler = _ref2.handler,\n xref = _ref2.xref,\n res = _ref2.res,\n image = _ref2.image,\n _ref2$isInline = _ref2.isInline,\n isInline = _ref2$isInline === void 0 ? false : _ref2$isInline,\n _ref2$nativeDecoder = _ref2.nativeDecoder,\n nativeDecoder = _ref2$nativeDecoder === void 0 ? null : _ref2$nativeDecoder,\n pdfFunctionFactory = _ref2.pdfFunctionFactory;\n var imagePromise = handleImageData(image, nativeDecoder);\n var smaskPromise;\n var maskPromise;\n var smask = image.dict.get('SMask');\n var mask = image.dict.get('Mask');\n\n if (smask) {\n smaskPromise = handleImageData(smask, nativeDecoder);\n maskPromise = Promise.resolve(null);\n } else {\n smaskPromise = Promise.resolve(null);\n\n if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n maskPromise = handleImageData(mask, nativeDecoder);\n } else if (Array.isArray(mask)) {\n maskPromise = Promise.resolve(mask);\n } else {\n (0, _util.warn)('Unsupported mask format.');\n maskPromise = Promise.resolve(null);\n }\n } else {\n maskPromise = Promise.resolve(null);\n }\n }\n\n return Promise.all([imagePromise, smaskPromise, maskPromise]).then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 3),\n imageData = _ref4[0],\n smaskData = _ref4[1],\n maskData = _ref4[2];\n\n return new PDFImage({\n xref: xref,\n res: res,\n image: imageData,\n isInline: isInline,\n smask: smaskData,\n mask: maskData,\n pdfFunctionFactory: pdfFunctionFactory\n });\n });\n };\n\n PDFImage.createMask = function (_ref5) {\n var imgArray = _ref5.imgArray,\n width = _ref5.width,\n height = _ref5.height,\n imageIsFromDecodeStream = _ref5.imageIsFromDecodeStream,\n inverseDecode = _ref5.inverseDecode;\n var computedLength = (width + 7 >> 3) * height;\n var actualLength = imgArray.byteLength;\n var haveFullData = computedLength === actualLength;\n var data, i;\n\n if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n data = imgArray;\n } else if (!inverseDecode) {\n data = new Uint8ClampedArray(actualLength);\n data.set(imgArray);\n } else {\n data = new Uint8ClampedArray(computedLength);\n data.set(imgArray);\n\n for (i = actualLength; i < computedLength; i++) {\n data[i] = 0xff;\n }\n }\n\n if (inverseDecode) {\n for (i = 0; i < actualLength; i++) {\n data[i] ^= 0xFF;\n }\n }\n\n return {\n data: data,\n width: width,\n height: height\n };\n };\n\n PDFImage.prototype = {\n get drawWidth() {\n return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n },\n\n get drawHeight() {\n return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n },\n\n decodeBuffer: function decodeBuffer(buffer) {\n var bpc = this.bpc;\n var numComps = this.numComps;\n var decodeAddends = this.decodeAddends;\n var decodeCoefficients = this.decodeCoefficients;\n var max = (1 << bpc) - 1;\n var i, ii;\n\n if (bpc === 1) {\n for (i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = +!buffer[i];\n }\n\n return;\n }\n\n var index = 0;\n\n for (i = 0, ii = this.width * this.height; i < ii; i++) {\n for (var j = 0; j < numComps; j++) {\n buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n index++;\n }\n }\n },\n getComponents: function getComponents(buffer) {\n var bpc = this.bpc;\n\n if (bpc === 8) {\n return buffer;\n }\n\n var width = this.width;\n var height = this.height;\n var numComps = this.numComps;\n var length = width * height * numComps;\n var bufferPos = 0;\n var output = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);\n var rowComps = width * numComps;\n var max = (1 << bpc) - 1;\n var i = 0,\n ii,\n buf;\n\n if (bpc === 1) {\n var mask, loop1End, loop2End;\n\n for (var j = 0; j < height; j++) {\n loop1End = i + (rowComps & ~7);\n loop2End = i + rowComps;\n\n while (i < loop1End) {\n buf = buffer[bufferPos++];\n output[i] = buf >> 7 & 1;\n output[i + 1] = buf >> 6 & 1;\n output[i + 2] = buf >> 5 & 1;\n output[i + 3] = buf >> 4 & 1;\n output[i + 4] = buf >> 3 & 1;\n output[i + 5] = buf >> 2 & 1;\n output[i + 6] = buf >> 1 & 1;\n output[i + 7] = buf & 1;\n i += 8;\n }\n\n if (i < loop2End) {\n buf = buffer[bufferPos++];\n mask = 128;\n\n while (i < loop2End) {\n output[i++] = +!!(buf & mask);\n mask >>= 1;\n }\n }\n }\n } else {\n var bits = 0;\n buf = 0;\n\n for (i = 0, ii = length; i < ii; ++i) {\n if (i % rowComps === 0) {\n buf = 0;\n bits = 0;\n }\n\n while (bits < bpc) {\n buf = buf << 8 | buffer[bufferPos++];\n bits += 8;\n }\n\n var remainingBits = bits - bpc;\n var value = buf >> remainingBits;\n output[i] = value < 0 ? 0 : value > max ? max : value;\n buf = buf & (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n\n return output;\n },\n fillOpacity: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n var smask = this.smask;\n var mask = this.mask;\n var alphaBuf, sw, sh, i, ii, j;\n\n if (smask) {\n sw = smask.width;\n sh = smask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n smask.fillGrayBuffer(alphaBuf);\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n }\n } else if (mask) {\n if (mask instanceof PDFImage) {\n sw = mask.width;\n sh = mask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n mask.numComps = 1;\n mask.fillGrayBuffer(alphaBuf);\n\n for (i = 0, ii = sw * sh; i < ii; ++i) {\n alphaBuf[i] = 255 - alphaBuf[i];\n }\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n }\n } else if (Array.isArray(mask)) {\n alphaBuf = new Uint8ClampedArray(width * height);\n var numComps = this.numComps;\n\n for (i = 0, ii = width * height; i < ii; ++i) {\n var opacity = 0;\n var imageOffset = i * numComps;\n\n for (j = 0; j < numComps; ++j) {\n var color = image[imageOffset + j];\n var maskOffset = j * 2;\n\n if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n opacity = 255;\n break;\n }\n }\n\n alphaBuf[i] = opacity;\n }\n } else {\n throw new _util.FormatError('Unknown mask format.');\n }\n }\n\n if (alphaBuf) {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = alphaBuf[i];\n }\n } else {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = 255;\n }\n }\n },\n undoPreblend: function undoPreblend(buffer, width, height) {\n var matte = this.smask && this.smask.matte;\n\n if (!matte) {\n return;\n }\n\n var matteRgb = this.colorSpace.getRgb(matte, 0);\n var matteR = matteRgb[0];\n var matteG = matteRgb[1];\n var matteB = matteRgb[2];\n var length = width * height * 4;\n\n for (var i = 0; i < length; i += 4) {\n var alpha = buffer[i + 3];\n\n if (alpha === 0) {\n buffer[i] = 255;\n buffer[i + 1] = 255;\n buffer[i + 2] = 255;\n continue;\n }\n\n var k = 255 / alpha;\n buffer[i] = (buffer[i] - matteR) * k + matteR;\n buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n }\n },\n createImageData: function createImageData() {\n var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var drawWidth = this.drawWidth;\n var drawHeight = this.drawHeight;\n var imgData = {\n width: drawWidth,\n height: drawHeight,\n kind: 0,\n data: null\n };\n var numComps = this.numComps;\n var originalWidth = this.width;\n var originalHeight = this.height;\n var bpc = this.bpc;\n var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n var imgArray;\n\n if (!forceRGBA) {\n var kind;\n\n if (this.colorSpace.name === 'DeviceGray' && bpc === 1) {\n kind = _util.ImageKind.GRAYSCALE_1BPP;\n } else if (this.colorSpace.name === 'DeviceRGB' && bpc === 8 && !this.needsDecode) {\n kind = _util.ImageKind.RGB_24BPP;\n }\n\n if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n imgData.kind = kind;\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n\n if (this.image instanceof _stream.DecodeStream) {\n imgData.data = imgArray;\n } else {\n var newArray = new Uint8ClampedArray(imgArray.length);\n newArray.set(imgArray);\n imgData.data = newArray;\n }\n\n if (this.needsDecode) {\n (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, 'PDFImage.createImageData: The image must be grayscale.');\n var buffer = imgData.data;\n\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] ^= 0xff;\n }\n }\n\n return imgData;\n }\n\n if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {\n var imageLength = originalHeight * rowBytes;\n\n switch (this.colorSpace.name) {\n case 'DeviceGray':\n imageLength *= 3;\n\n case 'DeviceRGB':\n case 'DeviceCMYK':\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);\n return imgData;\n }\n }\n }\n\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n var comps = this.getComponents(imgArray);\n var alpha01, maybeUndoPreblend;\n\n if (!forceRGBA && !this.smask && !this.mask) {\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n alpha01 = 0;\n maybeUndoPreblend = false;\n } else {\n imgData.kind = _util.ImageKind.RGBA_32BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n alpha01 = 1;\n maybeUndoPreblend = true;\n this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n\n if (maybeUndoPreblend) {\n this.undoPreblend(imgData.data, drawWidth, actualHeight);\n }\n\n return imgData;\n },\n fillGrayBuffer: function fillGrayBuffer(buffer) {\n var numComps = this.numComps;\n\n if (numComps !== 1) {\n throw new _util.FormatError(\"Reading gray scale from a color image: \".concat(numComps));\n }\n\n var width = this.width;\n var height = this.height;\n var bpc = this.bpc;\n var rowBytes = width * numComps * bpc + 7 >> 3;\n var imgArray = this.getImageBytes(height * rowBytes);\n var comps = this.getComponents(imgArray);\n var i, length;\n\n if (bpc === 1) {\n length = width * height;\n\n if (this.needsDecode) {\n for (i = 0; i < length; ++i) {\n buffer[i] = comps[i] - 1 & 255;\n }\n } else {\n for (i = 0; i < length; ++i) {\n buffer[i] = -comps[i] & 255;\n }\n }\n\n return;\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n length = width * height;\n var scale = 255 / ((1 << bpc) - 1);\n\n for (i = 0; i < length; ++i) {\n buffer[i] = scale * comps[i];\n }\n },\n getImageBytes: function getImageBytes(length, drawWidth, drawHeight) {\n var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this.image.reset();\n this.image.drawWidth = drawWidth || this.width;\n this.image.drawHeight = drawHeight || this.height;\n this.image.forceRGB = !!forceRGB;\n return this.image.getBytes(length, true);\n }\n };\n return PDFImage;\n}();\n\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = MessageHandler;\n\nvar _util = __w_pdfjs_require__(5);\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/* 224 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFWorkerStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFWorkerStream =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStream(msgHandler) {\n _classCallCheck(this, PDFWorkerStream);\n\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFWorkerStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\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 PDFWorkerStream;\n}();\n\nexports.PDFWorkerStream = PDFWorkerStream;\n\nvar PDFWorkerStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStreamReader(msgHandler) {\n var _this = this;\n\n _classCallCheck(this, PDFWorkerStreamReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\n this._contentLength = null;\n this._isRangeSupported = false;\n this._isStreamingSupported = false;\n\n var readableStream = this._msgHandler.sendWithStream('GetReader');\n\n this._reader = readableStream.getReader();\n this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then(function (data) {\n _this._isStreamingSupported = data.isStreamingSupported;\n _this._isRangeSupported = data.isRangeSupported;\n _this._contentLength = data.contentLength;\n });\n }\n\n _createClass(PDFWorkerStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var _ref, value, done;\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._reader.read();\n\n case 2:\n _ref = _context.sent;\n value = _ref.value;\n done = _ref.done;\n\n if (!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 return _context.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\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._reader.cancel(reason);\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }]);\n\n return PDFWorkerStreamReader;\n}();\n\nvar PDFWorkerStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n _classCallCheck(this, PDFWorkerStreamRangeReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\n\n var readableStream = this._msgHandler.sendWithStream('GetRangeReader', {\n begin: begin,\n end: end\n });\n\n this._reader = readableStream.getReader();\n }\n\n _createClass(PDFWorkerStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var _ref2, value, done;\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._reader.read();\n\n case 2:\n _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n return _context2.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\n\n case 8:\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._reader.cancel(reason);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFWorkerStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.worker.js.map"],"sourceRoot":""}