yanchengPowerSupply/dist/c44800fbcd8dfc798ce9.worker...

1 line
3.2 MiB
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/process/browser.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","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","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","read","buffer","offset","isLE","mLen","nBytes","e","eLen","eMax","eBias","nBits","NaN","Infinity","Math","pow","write","rt","abs","isNaN","floor","log","LN2","root","factory","this","__w_pdfjs_require__","_worker","WorkerMessageHandler","WorkerTask","_regenerator","_interopRequireDefault","_util","_primitives","_pdf_manager","_writer","_is_node","_message_handler","_worker_stream","_core_utils","obj","_createForOfIteratorHelper","allowArrayLike","it","iterator","isArray","_unsupportedIterableToArray","F","done","_e2","f","TypeError","err","normalCompletion","didErr","step","next","_e3","_toArray","_arrayWithHoles","_iterableToArray","_nonIterableRest","iter","from","_slicedToArray","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","constructor","test","arr2","_arr","_n","_d","_e","undefined","_s","_i","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_createClass","protoProps","staticProps","terminated","_capability","createPromiseCapability","promise","handler","port","testMessageProcessed","on","data","supportTransfers","postMessageTransfers","send","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","workerVersion","concat","enumerableProperties","docId","docBaseUrl","workerHandlerName","MessageHandler","ensureNotTerminated","startWorkerTask","task","finishWorkerTask","finish","splice","loadDocument","_x","_loadDocument","mark","_callee","recoveryMode","_yield$Promise$all","_yield$Promise$all2","numPages","fingerprint","wrap","_context","prev","ensureDoc","all","sent","abrupt","stop","getPdfManager","evaluatorOptions","newPdfManager","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","_ref","arrayByteLength","total","max","cancelAllRequests","setupDoc","onSuccess","doc","pdfInfo","onFailure","PasswordException","sendWithPromise","_ref2","updatePassword","pdfManagerReady","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","XRefParseException","requestLoadedStream","onLoadedStream","maxImageSize","disableFontFace","ignoreErrors","isEvalSupported","fontExtraProperties","terminate","AbortException","stream","bytes","getPage","pageIndex","page","ensure","_ref3","_ref4","rotate","ref","userUnit","view","_ref5","pageRef","Ref","ensureCatalog","id","ensureXRef","_ref6","intent","getAnnotationsData","_ref7","annotationStorage","filename","promises","document","pdfDocument","_loop","save","_ref8","_step","_ref9","refs","newRefs","_iterator","filter","x","reduce","a","b","xref","newXrefInfo","trailer","_info","xrefInfo","forEach","isString","stringToPDFString","rootRef","getRaw","encrypt","newRef","getNewRef","infoRef","fileIds","startXRef","resetNewRef","incrementalUpdate","sink","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorListInfo","close","featureId","UNSUPPORTED_FEATURES","errorOperatorList","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","fontFallback","cleanup","waitOn","cleanupPromise","clearPrimitiveCaches","finished","destroy","setup","isMessagePort","maybePort","postMessage","window","isNodeJS","initializeFromPort","_typeof","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","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","PromiseImpl","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","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","assert","bytesToString","escapeString","getModificationDate","isArrayBuffer","isArrayEqual","isBool","isNum","isSameOrigin","createValidAbsoluteUrl","removeNullCharacters","shadow","string32","stringToBytes","stringToUTF8String","utf8StringToString","unreachable","IsEvalSupportedCached","IsLittleEndianCached","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","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","NONE","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","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","level","Number","isInteger","msg","console","cond","baseUrl","otherUrl","base","URL","origin","other","_isValidProtocol","url","protocol","absoluteUrl","prop","_BaseException","_super","_this","_BaseException2","_super2","details","_this2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","status","_this3","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","min","chunk","subarray","resultLength","pos","item","itemLength","set","isLittleEndian","buffer8","view32","Uint32Array","rgbBuf","g","m1","m2","xt","yt","p1","applyTransform","p2","p3","p4","v","transpose","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","every","element","index","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","capability","isSettled","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","_pdfjsCompatibilityChecked","hasDOM","userAgent","navigator","isIE","btoa","chars","Buffer","atob","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","title","startsWith","endsWith","includes","assign","fromEntries","log2","allSettled","isReadableStreamSupported","ReadableStream","controller","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","padEnd","process","versions","nw","electron","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","isObject","PREFERRED_STRING","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","uid","IS_PURE","version","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","style","display","appendChild","src","contentWindow","open","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","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","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","j","ARRAY_ITERATOR","kind","Arguments","iterate","k","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","list","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","fetch","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","defer","channel","IS_IOS","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","match","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","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","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","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","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","callback","body","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","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","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","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","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","previous","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","some","originalArray","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","$padEnd","$values","TO_ENTRIES","$entries","isEOF","isCmd","isDict","isName","isRef","isRefsEqual","isStream","RefSetCache","RefSet","Name","Dict","Cmd","default","nameCache","nameValue","_clearCache","cmdCache","cmd","cmdValue","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","getAsync","fetchAsync","getArray","getKeys","getRawValues","empty","merge","dictArray","_ref$mergeSubDicts","mergeSubDicts","mergedDict","dict","_Object$entries","_Object$entries$_i","_step2","_iterator2","_dict","_Object$entries2","_Object$entries2$_i","_value","_step3","_iterator3","_step3$value","_step4","subDict","_iterator4","_dict2","_Object$entries3","_Object$entries3$_i","_value2","refCache","refValue","_set","aliasRef","_step5","_iterator5","v1","v2","getBytes","_chunked_stream","_document","_stream","BasePdfManager","catalog","manuallyTriggered","_ensure","_x2","_x3","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","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","numChunksLoaded","beginChunk","endChunk","curChunk","ensureByte","b0","getByte","forceClamped","strEnd","ensureRange","_subarray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","allChunksLoaded","subStream","currRequestId","_chunksNeededByRequest","_requestsByChunk","_promisesByRequest","_loadedStreamCapability","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","hasChunk","chunksToRequest","_chunk","requestIds","groupedChunksToRequest","groupChunks","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","range","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","loadedRequests","nextEmptyChunk","lastChunk","_loadedRequests","_requestId","_step6","_iterator6","getLookupTableFactory","getInheritableProperty","toRomanNumerals","readInt8","readUint16","readUint32","isWhiteSpace","XRefEntryException","initializer","_ref$getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","ch","Page","_obj","_annotation","_crypto","_parser","_operator_list","_evaluator","DEFAULT_USER_UNIT","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","globalIdFactory","fontCache","builtInCMapCache","globalImageCache","resourcesPromise","idCounters","_localIdFactory","_globalIdFactory","_class","box","_getInheritableProperty","streams","fetchIfRef","StreamsSequenceStream","NullStream","partialEvaluator","PartialEvaluator","idFactory","_parsedAnnotations","annotations","newRefsPromises","objectLoader","ObjectLoader","resources","load","contentStreamPromise","loadResources","dataPromises","pageListPromise","contentStream","opList","OperatorList","transparency","hasBlendModes","operatorList","pageOpList","totalLength","opListPromises","opLists","addOp","addOpList","getTextContent","annotationsData","_getBoundingBox","mediaBox","cropBox","intersect","_this4","parsedAnnotations","annotationPromises","annotationRef","AnnotationFactory","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","FINGERPRINT_FIRST_BYTES","EMPTY_FINGERPRINT","PDF_HEADER_VERSION_REGEXP","signature","limit","backwards","signatureLength","scanBytes","peekBytes","scanLength","signatureEnd","_pos","_j","XRef","_pagePromises","_version","_class2","parse","Catalog","moveStart","MAX_PDF_VERSION_LENGTH","substring","setStartXRef","fields","_this5","recursionDepth","RECURSION_LIMIT","field","_hasOnlyDocumentSignatures","isSignature","isInvisible","linearization","objectNumberFirst","pageKidsCountCache","put","getPageDict","_this6","pageFirst","_getLinearizationPage","_ref10","_ref11","_this7","_ref12","_cleanup","_args2","Linearization","startXRefLength","skip","formInfo","hasAcroForm","hasXfa","acroForm","xfa","isEmpty","hasFields","sigFlags","hasOnlyDocumentSignatures","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","infoDict","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","customValue","Custom","idArray","calculateMD5","getByteRange","fingerprintBuf","hex","FileSpec","_colorspace","_image_utils","fetchDestination","_catDict","getCatalogObj","GlobalImageCache","items","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","flags","color","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","permissions","config","contentGroupRefs","parseOnOff","onParsed","parseOrder","nestedLevels","order","parsedOrderRefs","nestedOrder","parseNestedOrder","hiddenGroups","groupRef","MAX_NESTED_LEVELS","nestedName","creator","off","groups","destinationId","_readDests","NameTree","pageLabels","prefix","numberTree","NumberTree","nums","currentLabel","currentIndex","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","character","charBuf","jj","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","visitedNodes","currentPageIndex","currentNode","kids","_ret","pagesBeforeRef","kidRef","parentRef","kidPromises","kid","_args","streamRef","encryptMetadata","subtype","pagesObj","_readDocumentOutline","_readPermissions","defaultConfig","groupsData","groupRefs","group","_readOptionalContentConfig","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","openAction","attachments","nameTree","fs","serializable","appendIfJavaScriptDict","jsDict","js","addDefaultProtocolToUrl","tryConvertUrlEncoding","actionType","actionName","urlDict","remoteDest","namedAction","jsAction","URL_OPEN_METHODS","regex","jsUrl","xrefstms","_cacheMap","stats","streamTypes","fontTypes","_newRefNum","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","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","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_num","fetchIfRefAsync","NameOrNumberTree","_type","_ii","kidsOrEntries","MAX_LEVELS","limits","_l","_r","_m","currentKey","_m2","mm","_currentKey","_NameOrNumberTree","_NameOrNumberTree2","contentAvailable","pickPlatformItem","_filename","contentRef","fileObj","mayHaveChildren","addChildren","_step7","_iterator7","rawValue","refSet","_walk","_callee4","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","_i4","_ii2","_context4","getBaseStreams","requestRanges","_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","knownCommands","nextObj","peekObj","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","TILDE","tildePos","maybeEI","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","SCAN_BLOCK_LENGTH","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","_hexStringNumWarn","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","MAX_HEX_STRING_NUM_WARN","firstDigit","secondDigit","isFirstHex","_hexStringWarn","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","getHints","hintsLength","hints","hint","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","arrayBuffer","getInt32","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","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","block","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","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","ArithmeticDecoder","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","collectiveWidth","patterns","patternBitmap","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","_codeLength","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","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","maybeScanLines","blockRow","precision","round","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","blockOffset","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuRow","mcuCol","blockCol","h","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","partialMsg","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","currentPos","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","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","lastComponentScaleX","xScaleBlockOffset","mask3LSB","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","_ref3$forceRGB","_ref3$isSourcePDF","rgbData","grayColor","_isColorConversionNeeded","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","top","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","LL","LH","HL","HH","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","_component","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","scale","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","valueReady","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","included","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","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","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","_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","encryptString","strLen","pad","crypto","getRandomValues","_data","buf","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","localColorSpaceCache","parsedColorSpace","csName","csRef","localColorSpace","getByRef","_localColorSpace","getByName","_parseAsync","cs","_ref$resources","pdfFunctionFactory","_parse","_cache","parseAsync","_ref2$resources","cachedColorSpace","getCached","gray","cmyk","PatternCS","colorSpaces","resourcesCS","baseCS","whitePoint","blackPoint","CalGrayCS","matrix","CalRGBCS","alt","altCS","hiVal","IndexedCS","tintFn","AlternateCS","LabCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","getOutputLength","_ColorSpace2","_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","_super8","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","_super9","LocalGStateCache","LocalFunctionCache","LocalColorSpaceCache","LocalImageCache","BaseLocalCache","onlyRefs","_nameRefMap","_imageMap","_imageCache","_BaseLocalCache","_BaseLocalCache2","_BaseLocalCache3","_BaseLocalCache4","_refCache","pageIndexSet","NUM_PAGES_THRESHOLD","MAX_IMAGES_TO_CACHE","onlyData","getQuadPoints","MarkupAnnotation","AnnotationBorderStyle","Annotation","_get","receiver","_superPropBase","createObjId","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","_save","_isViewable","_isPrintable","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","allZeros","validNumber","radius","_Annotation","rawIRT","inReplyTo","replyType","setCreationDate","creationDate","hasPopup","_Annotation2","annotationType","fieldName","_constructFieldName","fieldValue","_decodeFormValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","loopDict","formValue","_hasText","_getAppearance","_save2","AP","originalTransform","newTransform","bufferOriginal","bufferNew","writeDict","_getAppearance2","isPassword","defaultPadding","hPadding","totalHeight","fontInfo","_fontInfo","fontName","fontSize","descent","vPadding","alignment","renderedText","_getFontData","_computeFontSize","textAlignment","comb","_getCombAppearance","multiLine","_getMultilineAppearance","_renderText","_getFontData2","initialState","clone","_x10","_x11","em","charsToGlyphs","capHeight","fontRegex","text","glyphs","glyph","toFixed","_WidgetAnnotation","maximumLength","combWidth","renderedComb","_splitLine","padding","whitespace","lastSpacePos","startChunk","charWidth","_WidgetAnnotation2","checkedAppearance","uncheckedAppearance","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","savedAppearance","_save3","_callee5","_context5","_saveCheckbox","_saveRadioButton","_x12","_x13","_x14","_saveCheckbox2","_callee6","_context6","exportValue","_x15","_x16","_x17","_saveRadioButton2","_callee7","parentBuffer","parentTransform","_context7","buttonValue","_x18","_x19","_x20","customAppearance","normalAppearance","exportValues","fieldParent","fieldParentValue","_WidgetAnnotation3","option","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_this8","DEFAULT_ICON_SIZE","stateModel","_Annotation3","_this9","_Annotation4","_this10","parentItem","parentSubtype","parentType","rawParent","parentId","parentFlags","_MarkupAnnotation2","_this11","_MarkupAnnotation3","_super10","_this12","lineCoordinates","_MarkupAnnotation4","_super11","_this13","_MarkupAnnotation5","_super12","_this14","_MarkupAnnotation6","_super13","_this15","rawVertices","vertices","_PolylineAnnotation","_super14","_this16","_MarkupAnnotation7","_super15","_this17","_MarkupAnnotation8","_super16","_this18","originalInkLists","inkLists","_MarkupAnnotation9","_super17","_this19","_MarkupAnnotation10","_super18","_this20","_MarkupAnnotation11","_super19","_this21","_MarkupAnnotation12","_super20","_this22","_MarkupAnnotation13","_super21","_this23","_MarkupAnnotation14","_super22","_this24","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","firstTransformArg1","firstTransformArg2","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","getIR","transfers","cached","_transfers","writeValue","writeStream","writeArray","numberToString","roundedValue","writeInt","writeString","computeMD5","filesize","time","md5Buffer","md5BufferLen","_Object$values","_md5Buffer","originalData","baseOffset","refForXrefTable","xrefTableData","indexes","maxOffset","md5","offsetSize","sizes","structSize","tableLength","bufferLen","footer","_xrefTableData","_xrefTableData$_i","objOffset","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_function","_bidi","_glyphlist","_metrics","_murmurhash","_image","DefaultPartialEvaluatorOptions","freeze","PatternType","TILING","SHADING","deferred","normalizeBlendMode","parsingArray","maybeBM","TimeSlotManager","checked","CHECK_TIME_EVERY","endTime","TIME_SLOT_DURATION_MS","_ref$options","parsingType3Font","_fetchBuiltInCMapBound","fetchBuiltInCMap","newOptions","newEvaluator","nodes","graphicStates","graphicState","bm","xObjects","xObject","xResources","_fetchBuiltInCMap","readableStream","sendWithStream","pump","compressionType","_buildFormXObject","xobj","optionalContent","groupOptions","groupSubtype","colorSpace","parseMarkedContentProps","isolated","knockout","parseColorSpace","backdrop","buildFormXObject","cacheGlobally","_buildPaintImageXObject","image","_ref3$isInline","isInline","localImageCache","imageRef","bitStrideLength","imgArray","softMask","SMALL_IMAGE_DIMENSIONS","imageObj","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","res","_pdfFunctionFactory","createImageData","getDocId","shouldCache","buildImage","_sendImgData","addPageIndex","setData","buildPaintImageXObject","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","tr","transferArray","transferMaps","numFns","numEffectfulFns","patternDict","tilingOpList","patternResources","getTilingPatternIR","tilingPatternIR","fontArgs","fontRef","loadFont","isType3Font","loadType3Data","type3Dependencies","TranslatedFont","ErrorFont","extraProperties","isAddToPathSet","textRenderingMode","fillColorSpace","buildFontPaths","_setGState","gState","localGStateCache","gStateRef","isSimpleGState","gStateObj","gStateKeys","handleSetFont","handleSMask","handleTransferFunction","errorFont","fontRes","fallbackFontDict","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","putAlias","createFontId","translateFont","fontType","xrefFontStats","fontFile3","getFontType","parsingText","lastIndex","opArgs","_handleColorN","patternName","typeNum","shading","handleTilingType","Pattern","parseShading","handleColorN","_parseMarkedContentProps","contentProperties","optionalContentType","optionalContentGroups","groupIds","expression","ocg","policy","_ref6$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","localImage","resolveXObject","rejectXObject","_localImage","globalImage","_localImage2","ensureStateFont","handleText","combinedGlyphs","arrLength","arrItem","_cachedColorSpace","strokeColorSpace","shadingRes","patternIR","localGStateObj","resolveGState","rejectGState","extGState","buildPath","_ref7$stateManager","_ref7$normalizeWhites","_ref7$combineTextItem","_ref7$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","emptyXObjectCache","emptyGStateCache","ensureTextContentItem","fontFamily","fallbackName","ascent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","runBidiTransform","textChunk","bidiResult","bidi","dir","buildTextContentItem","glyphWidth","vmetric","glyphUnicode","unicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","isSpace","wordSpacing","addFakeSpaces","tx","ty","w0","translateTextMatrix","fakeSpaces","flushTextContentItem","enqueueChunk","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","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","builtToUnicode","readCidToGidMap","forceGlyphs","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","_charcode","_glyphName","codeStr","_buildSimpleFontToUnicode","getUnicodeForGlyph","baseEncoding","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","cmapObj","cmap","getMap","charCode","glyphsData","glyphID","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","fontNameWoStyle","getSerifFonts","monospace","stdFontMap","getStdFontMap","lookupName","Metrics","getMetrics","isSerifFont","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","extractDataStructures","newProperties","Font","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","fixedPitch","xHeight","italicAngle","cidEncoding","extractWidths","PDFFunctionFactory","fontChar","renderer","hasBuiltPath","getPathJs","accent","_ref8$extraProperties","_extraProperties","type3Loaded","exportData","glyphCacheValues","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcOperatorList","_loop2","glyphStream","_step8","_iterator8","dummyOperatorList","stateStack","old","txDiff","tyDiff","denominator","opMap","nonProcessedArgs","_numInvalidPathOPS","getOPMap","numArgs","variableArgs","J","ri","gs","Q","cm","re","W","BT","ET","Tc","Tw","Tz","TL","Tf","Tr","Ts","Td","TD","Tm","Tj","TJ","d0","CS","SC","SCN","sc","scn","RG","rg","sh","BI","ID","EI","Do","MP","DP","BMC","BDC","EMC","BX","EX","BM","BD","fa","fal","fals","nu","nul","opSpec","argsLength","MAX_INVALID_PATH_OPS","preprocessCommand","CMap","BUILT_IN_CMAPS","MAX_MAP_RANGE","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","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","EXPORT_DATA_PROPERTIES","EXPORT_DATA_EXTRA_PROPERTIES","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","missingFile","glyphCache","toFontChar","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","FontRendererFactory","exportDataProperties","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","_charCode","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","_charCode2","isIdentityUnicode","unicodeCharCode","getDingbatsGlyphsUnicode","_GlyphMapForStandardFonts","_charCode3","VALID_TABLES","readTables","hhea","hmtx","maxp","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","xLength","yLength","xyLength","glyphDataLength","sanitizeHead","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeGlyphLocations","loca","isGlyphLocationsLong","maxSizeOfInstructions","itemSize","itemDecode","itemEncode","numGlyphsOut","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","locaEntries","missingGlyphs","writeOffset","simpleGlyph","firstEntryLength","readPostScriptTable","propertiesObj","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","foldTTTable","checkInvalidFunctions","maxFunctionDefs","sanitizeTTPrograms","fpgm","prep","cvt","cvtData","ttcData","isTrueType","isComposite","maxZones","glyphsInfo","metricsOverride","isCidToGidMapEmpty","cmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","_charCode4","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","_i5","charstring","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","getHeaderBlock","suggestedLength","headerBytes","headerBytesLength","EEXEC_SIGNATURE","streamStartPos","getEexecBlock","eexecBytes","PFB_HEADER_SIZE","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","headerBlockParser","Type1Parser","extractFontHeader","eexecBlock","eexecBlockParser","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","_glyphId","charstringsLen","_charCode5","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","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","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetStart","offsetEnd","Type","cffDict","setByKey","callDepth","stackSize","validationCommand","subrNumber","parseCharString","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","parentDict","privateOffset","emptyPrivateDictionary","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","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","valueLength","layout","_CFFDict","createTables","_CFFDict2","glyphIndex","CFFOffsetTracker","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","setEntryLocation","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeInteger","encodeFloat","EncodeFloatRegExp","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","encodeNumber","isTracking","track","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","getSID","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","MacExpertEncoding","encodingName","AE","AEacute","AEmacron","AEsmall","Aacute","Aacutesmall","Abreve","Abreveacute","Abrevecyrillic","Abrevedotbelow","Abrevegrave","Abrevehookabove","Abrevetilde","Acaron","Acircle","Acircumflex","Acircumflexacute","Acircumflexdotbelow","Acircumflexgrave","Acircumflexhookabove","Acircumflexsmall","Acircumflextilde","Acute","Acutesmall","Acyrillic","Adblgrave","Adieresis","Adieresiscyrillic","Adieresismacron","Adieresissmall","Adotbelow","Adotmacron","Agrave","Agravesmall","Ahookabove","Aiecyrillic","Ainvertedbreve","Alpha","Alphatonos","Amacron","Amonospace","Aogonek","Aring","Aringacute","Aringbelow","Aringsmall","Asmall","Atilde","Atildesmall","Aybarmenian","Bcircle","Bdotaccent","Bdotbelow","Becyrillic","Benarmenian","Beta","Bhook","Blinebelow","Bmonospace","Brevesmall","Bsmall","Btopbar","Caarmenian","Cacute","Caron","Caronsmall","Ccaron","Ccedilla","Ccedillaacute","Ccedillasmall","Ccircle","Ccircumflex","Cdot","Cdotaccent","Cedillasmall","Chaarmenian","Cheabkhasiancyrillic","Checyrillic","Chedescenderabkhasiancyrillic","Chedescendercyrillic","Chedieresiscyrillic","Cheharmenian","Chekhakassiancyrillic","Cheverticalstrokecyrillic","Chi","Chook","Circumflexsmall","Cmonospace","Coarmenian","Csmall","D","DZ","DZcaron","Daarmenian","Dafrican","Dcaron","Dcedilla","Dcircle","Dcircumflexbelow","Dcroat","Ddotaccent","Ddotbelow","Decyrillic","Deicoptic","Delta","Deltagreek","Dhook","Dieresis","DieresisAcute","DieresisGrave","Dieresissmall","Digammagreek","Djecyrillic","Dlinebelow","Dmonospace","Dotaccentsmall","Dslash","Dsmall","Dtopbar","Dz","Dzcaron","Dzeabkhasiancyrillic","Dzecyrillic","Dzhecyrillic","Eacute","Eacutesmall","Ebreve","Ecaron","Ecedillabreve","Echarmenian","Ecircle","Ecircumflex","Ecircumflexacute","Ecircumflexbelow","Ecircumflexdotbelow","Ecircumflexgrave","Ecircumflexhookabove","Ecircumflexsmall","Ecircumflextilde","Ecyrillic","Edblgrave","Edieresis","Edieresissmall","Edot","Edotaccent","Edotbelow","Efcyrillic","Egrave","Egravesmall","Eharmenian","Ehookabove","Eightroman","Einvertedbreve","Eiotifiedcyrillic","Elcyrillic","Elevenroman","Emacron","Emacronacute","Emacrongrave","Emcyrillic","Emonospace","Encyrillic","Endescendercyrillic","Eng","Enghecyrillic","Enhookcyrillic","Eogonek","Eopen","Epsilon","Epsilontonos","Ercyrillic","Ereversed","Ereversedcyrillic","Escyrillic","Esdescendercyrillic","Esh","Esmall","Eta","Etarmenian","Etatonos","Eth","Ethsmall","Etilde","Etildebelow","Euro","Ezh","Ezhcaron","Ezhreversed","Fcircle","Fdotaccent","Feharmenian","Feicoptic","Fhook","Fitacyrillic","Fiveroman","Fmonospace","Fourroman","Fsmall","GBsquare","Gacute","Gamma","Gammaafrican","Gangiacoptic","Gbreve","Gcaron","Gcedilla","Gcircle","Gcircumflex","Gcommaaccent","Gdot","Gdotaccent","Gecyrillic","Ghadarmenian","Ghemiddlehookcyrillic","Ghestrokecyrillic","Gheupturncyrillic","Ghook","Gimarmenian","Gjecyrillic","Gmacron","Gmonospace","Grave","Gravesmall","Gsmall","Gsmallhook","Gstroke","H","H18533","H18543","H18551","H22073","HPsquare","Haabkhasiancyrillic","Hadescendercyrillic","Hardsigncyrillic","Hbar","Hbrevebelow","Hcedilla","Hcircle","Hcircumflex","Hdieresis","Hdotaccent","Hdotbelow","Hmonospace","Hoarmenian","Horicoptic","Hsmall","Hungarumlaut","Hungarumlautsmall","Hzsquare","IAcyrillic","IJ","IUcyrillic","Iacute","Iacutesmall","Ibreve","Icaron","Icircle","Icircumflex","Icircumflexsmall","Icyrillic","Idblgrave","Idieresis","Idieresisacute","Idieresiscyrillic","Idieresissmall","Idot","Idotaccent","Idotbelow","Iebrevecyrillic","Iecyrillic","Ifraktur","Igrave","Igravesmall","Ihookabove","Iicyrillic","Iinvertedbreve","Iishortcyrillic","Imacron","Imacroncyrillic","Imonospace","Iniarmenian","Iocyrillic","Iogonek","Iota","Iotaafrican","Iotadieresis","Iotatonos","Ismall","Istroke","Itilde","Itildebelow","Izhitsacyrillic","Izhitsadblgravecyrillic","Jaarmenian","Jcircle","Jcircumflex","Jecyrillic","Jheharmenian","Jmonospace","Jsmall","KBsquare","KKsquare","Kabashkircyrillic","Kacute","Kacyrillic","Kadescendercyrillic","Kahookcyrillic","Kappa","Kastrokecyrillic","Kaverticalstrokecyrillic","Kcaron","Kcedilla","Kcircle","Kcommaaccent","Kdotbelow","Keharmenian","Kenarmenian","Khacyrillic","Kheicoptic","Khook","Kjecyrillic","Klinebelow","Kmonospace","Koppacyrillic","Koppagreek","Ksicyrillic","Ksmall","LJ","Lacute","Lambda","Lcaron","Lcedilla","Lcircle","Lcircumflexbelow","Lcommaaccent","Ldot","Ldotaccent","Ldotbelow","Ldotbelowmacron","Liwnarmenian","Lj","Ljecyrillic","Llinebelow","Lmonospace","Lslash","Lslashsmall","Lsmall","MBsquare","Macron","Macronsmall","Macute","Mcircle","Mdotaccent","Mdotbelow","Menarmenian","Mmonospace","Msmall","Mturned","Mu","NJ","Nacute","Ncaron","Ncedilla","Ncircle","Ncircumflexbelow","Ncommaaccent","Ndotaccent","Ndotbelow","Nhookleft","Nineroman","Nj","Njecyrillic","Nlinebelow","Nmonospace","Nowarmenian","Nsmall","Ntilde","Ntildesmall","Nu","OE","OEsmall","Oacute","Oacutesmall","Obarredcyrillic","Obarreddieresiscyrillic","Obreve","Ocaron","Ocenteredtilde","Ocircle","Ocircumflex","Ocircumflexacute","Ocircumflexdotbelow","Ocircumflexgrave","Ocircumflexhookabove","Ocircumflexsmall","Ocircumflextilde","Ocyrillic","Odblacute","Odblgrave","Odieresis","Odieresiscyrillic","Odieresissmall","Odotbelow","Ogoneksmall","Ograve","Ogravesmall","Oharmenian","Ohm","Ohookabove","Ohorn","Ohornacute","Ohorndotbelow","Ohorngrave","Ohornhookabove","Ohorntilde","Ohungarumlaut","Oi","Oinvertedbreve","Omacron","Omacronacute","Omacrongrave","Omega","Omegacyrillic","Omegagreek","Omegaroundcyrillic","Omegatitlocyrillic","Omegatonos","Omicron","Omicrontonos","Omonospace","Oneroman","Oogonek","Oogonekmacron","Oopen","Oslash","Oslashacute","Oslashsmall","Osmall","Ostrokeacute","Otcyrillic","Otilde","Otildeacute","Otildedieresis","Otildesmall","Pacute","Pcircle","Pdotaccent","Pecyrillic","Peharmenian","Pemiddlehookcyrillic","Phi","Phook","Pi","Piwrarmenian","Pmonospace","Psi","Psicyrillic","Psmall","Qcircle","Qmonospace","Qsmall","R","Raarmenian","Racute","Rcaron","Rcedilla","Rcircle","Rcommaaccent","Rdblgrave","Rdotaccent","Rdotbelow","Rdotbelowmacron","Reharmenian","Rfraktur","Rho","Ringsmall","Rinvertedbreve","Rlinebelow","Rmonospace","Rsmall","Rsmallinverted","Rsmallinvertedsuperior","SF010000","SF020000","SF030000","SF040000","SF050000","SF060000","SF070000","SF080000","SF090000","SF100000","SF110000","SF190000","SF200000","SF210000","SF220000","SF230000","SF240000","SF250000","SF260000","SF270000","SF280000","SF360000","SF370000","SF380000","SF390000","SF400000","SF410000","SF420000","SF430000","SF440000","SF450000","SF460000","SF470000","SF480000","SF490000","SF500000","SF510000","SF520000","SF530000","SF540000","Sacute","Sacutedotaccent","Sampigreek","Scaron","Scarondotaccent","Scaronsmall","Scedilla","Schwa","Schwacyrillic","Schwadieresiscyrillic","Scircle","Scircumflex","Scommaaccent","Sdotaccent","Sdotbelow","Sdotbelowdotaccent","Seharmenian","Sevenroman","Shaarmenian","Shacyrillic","Shchacyrillic","Sheicoptic","Shhacyrillic","Shimacoptic","Sigma","Sixroman","Smonospace","Softsigncyrillic","Ssmall","Stigmagreek","Tau","Tbar","Tcaron","Tcedilla","Tcircle","Tcircumflexbelow","Tcommaaccent","Tdotaccent","Tdotbelow","Tecyrillic","Tedescendercyrillic","Tenroman","Tetsecyrillic","Theta","Thook","Thorn","Thornsmall","Threeroman","Tildesmall","Tiwnarmenian","Tlinebelow","Tmonospace","Toarmenian","Tonefive","Tonesix","Tonetwo","Tretroflexhook","Tsecyrillic","Tshecyrillic","Tsmall","Twelveroman","Tworoman","U","Uacute","Uacutesmall","Ubreve","Ucaron","Ucircle","Ucircumflex","Ucircumflexbelow","Ucircumflexsmall","Ucyrillic","Udblacute","Udblgrave","Udieresis","Udieresisacute","Udieresisbelow","Udieresiscaron","Udieresiscyrillic","Udieresisgrave","Udieresismacron","Udieresissmall","Udotbelow","Ugrave","Ugravesmall","Uhookabove","Uhorn","Uhornacute","Uhorndotbelow","Uhorngrave","Uhornhookabove","Uhorntilde","Uhungarumlaut","Uhungarumlautcyrillic","Uinvertedbreve","Ukcyrillic","Umacron","Umacroncyrillic","Umacrondieresis","Umonospace","Uogonek","Upsilon","Upsilon1","Upsilonacutehooksymbolgreek","Upsilonafrican","Upsilondieresis","Upsilondieresishooksymbolgreek","Upsilonhooksymbol","Upsilontonos","Uring","Ushortcyrillic","Usmall","Ustraightcyrillic","Ustraightstrokecyrillic","Utilde","Utildeacute","Utildebelow","Vcircle","Vdotbelow","Vecyrillic","Vewarmenian","Vhook","Vmonospace","Voarmenian","Vsmall","Vtilde","Wacute","Wcircle","Wcircumflex","Wdieresis","Wdotaccent","Wdotbelow","Wgrave","Wmonospace","Wsmall","Xcircle","Xdieresis","Xdotaccent","Xeharmenian","Xi","Xmonospace","Xsmall","Yacute","Yacutesmall","Yatcyrillic","Ycircle","Ycircumflex","Ydieresis","Ydieresissmall","Ydotaccent","Ydotbelow","Yericyrillic","Yerudieresiscyrillic","Ygrave","Yhook","Yhookabove","Yiarmenian","Yicyrillic","Yiwnarmenian","Ymonospace","Ysmall","Ytilde","Yusbigcyrillic","Yusbigiotifiedcyrillic","Yuslittlecyrillic","Yuslittleiotifiedcyrillic","Zaarmenian","Zacute","Zcaron","Zcaronsmall","Zcircle","Zcircumflex","Zdot","Zdotaccent","Zdotbelow","Zecyrillic","Zedescendercyrillic","Zedieresiscyrillic","Zeta","Zhearmenian","Zhebrevecyrillic","Zhecyrillic","Zhedescendercyrillic","Zhedieresiscyrillic","Zlinebelow","Zmonospace","Zsmall","Zstroke","aabengali","aacute","aadeva","aagujarati","aagurmukhi","aamatragurmukhi","aarusquare","aavowelsignbengali","aavowelsigndeva","aavowelsigngujarati","abbreviationmarkarmenian","abbreviationsigndeva","abengali","abopomofo","abreve","abreveacute","abrevecyrillic","abrevedotbelow","abrevegrave","abrevehookabove","abrevetilde","acaron","acircle","acircumflex","acircumflexacute","acircumflexdotbelow","acircumflexgrave","acircumflexhookabove","acircumflextilde","acute","acutebelowcmb","acutecmb","acutecomb","acutedeva","acutelowmod","acutetonecmb","acyrillic","adblgrave","addakgurmukhi","adeva","adieresis","adieresiscyrillic","adieresismacron","adotbelow","adotmacron","ae","aeacute","aekorean","aemacron","afii00208","afii08941","afii10017","afii10018","afii10019","afii10020","afii10021","afii10022","afii10023","afii10024","afii10025","afii10026","afii10027","afii10028","afii10029","afii10030","afii10031","afii10032","afii10033","afii10034","afii10035","afii10036","afii10037","afii10038","afii10039","afii10040","afii10041","afii10042","afii10043","afii10044","afii10045","afii10046","afii10047","afii10048","afii10049","afii10050","afii10051","afii10052","afii10053","afii10054","afii10055","afii10056","afii10057","afii10058","afii10059","afii10060","afii10061","afii10062","afii10063","afii10064","afii10065","afii10066","afii10067","afii10068","afii10069","afii10070","afii10071","afii10072","afii10073","afii10074","afii10075","afii10076","afii10077","afii10078","afii10079","afii10080","afii10081","afii10082","afii10083","afii10084","afii10085","afii10086","afii10087","afii10088","afii10089","afii10090","afii10091","afii10092","afii10093","afii10094","afii10095","afii10096","afii10097","afii10098","afii10099","afii10100","afii10101","afii10102","afii10103","afii10104","afii10105","afii10106","afii10107","afii10108","afii10109","afii10110","afii10145","afii10146","afii10147","afii10148","afii10192","afii10193","afii10194","afii10195","afii10196","afii10831","afii10832","afii10846","afii299","afii300","afii301","afii57381","afii57388","afii57392","afii57393","afii57394","afii57395","afii57396","afii57397","afii57398","afii57399","afii57400","afii57401","afii57403","afii57407","afii57409","afii57410","afii57411","afii57412","afii57413","afii57414","afii57415","afii57416","afii57417","afii57418","afii57419","afii57420","afii57421","afii57422","afii57423","afii57424","afii57425","afii57426","afii57427","afii57428","afii57429","afii57430","afii57431","afii57432","afii57433","afii57434","afii57440","afii57441","afii57442","afii57443","afii57444","afii57445","afii57446","afii57448","afii57449","afii57450","afii57451","afii57452","afii57453","afii57454","afii57455","afii57456","afii57457","afii57458","afii57470","afii57505","afii57506","afii57507","afii57508","afii57509","afii57511","afii57512","afii57513","afii57514","afii57519","afii57534","afii57636","afii57645","afii57658","afii57664","afii57665","afii57666","afii57667","afii57668","afii57669","afii57670","afii57671","afii57672","afii57673","afii57674","afii57675","afii57676","afii57677","afii57678","afii57679","afii57680","afii57681","afii57682","afii57683","afii57684","afii57685","afii57686","afii57687","afii57688","afii57689","afii57690","afii57694","afii57695","afii57700","afii57705","afii57716","afii57717","afii57718","afii57723","afii57793","afii57794","afii57795","afii57796","afii57797","afii57798","afii57799","afii57800","afii57801","afii57802","afii57803","afii57804","afii57806","afii57807","afii57839","afii57841","afii57842","afii57929","afii61248","afii61289","afii61352","afii61573","afii61574","afii61575","afii61664","afii63167","afii64937","agrave","agujarati","agurmukhi","ahiragana","ahookabove","aibengali","aibopomofo","aideva","aiecyrillic","aigujarati","aigurmukhi","aimatragurmukhi","ainarabic","ainfinalarabic","aininitialarabic","ainmedialarabic","ainvertedbreve","aivowelsignbengali","aivowelsigndeva","aivowelsigngujarati","akatakana","akatakanahalfwidth","akorean","alef","alefarabic","alefdageshhebrew","aleffinalarabic","alefhamzaabovearabic","alefhamzaabovefinalarabic","alefhamzabelowarabic","alefhamzabelowfinalarabic","alefhebrew","aleflamedhebrew","alefmaddaabovearabic","alefmaddaabovefinalarabic","alefmaksuraarabic","alefmaksurafinalarabic","alefmaksurainitialarabic","alefmaksuramedialarabic","alefpatahhebrew","alefqamatshebrew","aleph","allequal","alphatonos","amacron","amonospace","ampersand","ampersandmonospace","ampersandsmall","amsquare","anbopomofo","angbopomofo","angbracketleft","angbracketright","angkhankhuthai","anglebracketleft","anglebracketleftvertical","anglebracketright","anglebracketrightvertical","angleleft","angleright","angstrom","anoteleia","anudattadeva","anusvarabengali","anusvaradeva","anusvaragujarati","aogonek","apaatosquare","aparen","apostrophearmenian","apostrophemod","apple","approaches","approxequal","approxequalorimage","approximatelyequal","araeaekorean","araeakorean","arc","arighthalfring","aring","aringacute","aringbelow","arrowboth","arrowdashdown","arrowdashleft","arrowdashright","arrowdashup","arrowdblboth","arrowdbldown","arrowdblleft","arrowdblright","arrowdblup","arrowdown","arrowdownleft","arrowdownright","arrowdownwhite","arrowheaddownmod","arrowheadleftmod","arrowheadrightmod","arrowheadupmod","arrowhorizex","arrowleft","arrowleftdbl","arrowleftdblstroke","arrowleftoverright","arrowleftwhite","arrowright","arrowrightdblstroke","arrowrightheavy","arrowrightoverleft","arrowrightwhite","arrowtableft","arrowtabright","arrowup","arrowupdn","arrowupdnbse","arrowupdownbase","arrowupleft","arrowupleftofdown","arrowupright","arrowupwhite","arrowvertex","asciicircum","asciicircummonospace","asciitilde","asciitildemonospace","ascript","ascriptturned","asmallhiragana","asmallkatakana","asmallkatakanahalfwidth","asterisk","asteriskaltonearabic","asteriskarabic","asteriskmath","asteriskmonospace","asterisksmall","asterism","asuperior","asymptoticallyequal","atilde","atmonospace","atsmall","aturned","aubengali","aubopomofo","audeva","augujarati","augurmukhi","aulengthmarkbengali","aumatragurmukhi","auvowelsignbengali","auvowelsigndeva","auvowelsigngujarati","avagrahadeva","aybarmenian","ayin","ayinaltonehebrew","ayinhebrew","babengali","backslash","backslashmonospace","badeva","bagujarati","bagurmukhi","bahiragana","bahtthai","bakatakana","bar","barmonospace","bbopomofo","bcircle","bdotaccent","bdotbelow","beamedsixteenthnotes","because","becyrillic","beharabic","behfinalarabic","behinitialarabic","behiragana","behmedialarabic","behmeeminitialarabic","behmeemisolatedarabic","behnoonfinalarabic","bekatakana","benarmenian","bet","betasymbolgreek","betdagesh","betdageshhebrew","bethebrew","betrafehebrew","bhabengali","bhadeva","bhagujarati","bhagurmukhi","bhook","bihiragana","bikatakana","bilabialclick","bindigurmukhi","birusquare","blackcircle","blackdiamond","blackdownpointingtriangle","blackleftpointingpointer","blackleftpointingtriangle","blacklenticularbracketleft","blacklenticularbracketleftvertical","blacklenticularbracketright","blacklenticularbracketrightvertical","blacklowerlefttriangle","blacklowerrighttriangle","blackrectangle","blackrightpointingpointer","blackrightpointingtriangle","blacksmallsquare","blacksmilingface","blacksquare","blackstar","blackupperlefttriangle","blackupperrighttriangle","blackuppointingsmalltriangle","blackuppointingtriangle","blank","blinebelow","bmonospace","bobaimaithai","bohiragana","bokatakana","bparen","bqsquare","braceex","braceleft","braceleftbt","braceleftmid","braceleftmonospace","braceleftsmall","bracelefttp","braceleftvertical","braceright","bracerightbt","bracerightmid","bracerightmonospace","bracerightsmall","bracerighttp","bracerightvertical","bracketleft","bracketleftbt","bracketleftex","bracketleftmonospace","bracketlefttp","bracketright","bracketrightbt","bracketrightex","bracketrightmonospace","bracketrighttp","breve","brevebelowcmb","brevecmb","breveinvertedbelowcmb","breveinvertedcmb","breveinverteddoublecmb","bridgebelowcmb","bridgeinvertedbelowcmb","brokenbar","bstroke","bsuperior","btopbar","buhiragana","bukatakana","bullet","bulletinverse","bulletoperator","bullseye","caarmenian","cabengali","cacute","cadeva","cagujarati","cagurmukhi","calsquare","candrabindubengali","candrabinducmb","candrabindudeva","candrabindugujarati","capslock","careof","caron","caronbelowcmb","caroncmb","carriagereturn","cbopomofo","ccaron","ccedilla","ccedillaacute","ccircle","ccircumflex","ccurl","cdot","cdotaccent","cdsquare","cedilla","cedillacmb","cent","centigrade","centinferior","centmonospace","centoldstyle","centsuperior","chaarmenian","chabengali","chadeva","chagujarati","chagurmukhi","chbopomofo","cheabkhasiancyrillic","checkmark","checyrillic","chedescenderabkhasiancyrillic","chedescendercyrillic","chedieresiscyrillic","cheharmenian","chekhakassiancyrillic","cheverticalstrokecyrillic","chi","chieuchacirclekorean","chieuchaparenkorean","chieuchcirclekorean","chieuchkorean","chieuchparenkorean","chochangthai","chochanthai","chochingthai","chochoethai","chook","cieucacirclekorean","cieucaparenkorean","cieuccirclekorean","cieuckorean","cieucparenkorean","cieucuparenkorean","circle","circlecopyrt","circlemultiply","circleot","circleplus","circlepostalmark","circlewithlefthalfblack","circlewithrighthalfblack","circumflex","circumflexbelowcmb","circumflexcmb","clickalveolar","clickdental","clicklateral","clickretroflex","club","clubsuitblack","clubsuitwhite","cmcubedsquare","cmonospace","cmsquaredsquare","coarmenian","colon","colonmonetary","colonmonospace","colonsign","colonsmall","colontriangularhalfmod","colontriangularmod","comma","commaabovecmb","commaaboverightcmb","commaaccent","commaarabic","commaarmenian","commainferior","commamonospace","commareversedabovecmb","commareversedmod","commasmall","commasuperior","commaturnedabovecmb","commaturnedmod","compass","congruent","contourintegral","control","controlACK","controlBEL","controlBS","controlCAN","controlCR","controlDC1","controlDC2","controlDC3","controlDC4","controlDEL","controlDLE","controlEM","controlENQ","controlEOT","controlESC","controlETB","controlETX","controlFF","controlFS","controlGS","controlHT","controlLF","controlNAK","controlNULL","controlRS","controlSI","controlSO","controlSOT","controlSTX","controlSUB","controlSYN","controlUS","controlVT","copyrightsans","copyrightserif","cornerbracketleft","cornerbracketlefthalfwidth","cornerbracketleftvertical","cornerbracketright","cornerbracketrighthalfwidth","cornerbracketrightvertical","corporationsquare","cosquare","coverkgsquare","cparen","cruzeiro","cstretched","curlyand","curlyor","currency","cyrBreve","cyrFlex","cyrbreve","cyrflex","daarmenian","dabengali","dadarabic","dadeva","dadfinalarabic","dadinitialarabic","dadmedialarabic","dagesh","dageshhebrew","dagger","daggerdbl","dagujarati","dagurmukhi","dahiragana","dakatakana","dalarabic","dalet","daletdagesh","daletdageshhebrew","dalethebrew","dalfinalarabic","dammaarabic","dammalowarabic","dammatanaltonearabic","dammatanarabic","danda","dargahebrew","dargalefthebrew","dasiapneumatacyrilliccmb","dblGrave","dblanglebracketleft","dblanglebracketleftvertical","dblanglebracketright","dblanglebracketrightvertical","dblarchinvertedbelowcmb","dblarrowleft","dblarrowright","dbldanda","dblgrave","dblgravecmb","dblintegral","dbllowline","dbllowlinecmb","dbloverlinecmb","dblprimemod","dblverticalbar","dblverticallineabovecmb","dbopomofo","dbsquare","dcaron","dcedilla","dcircle","dcircumflexbelow","dcroat","ddabengali","ddadeva","ddagujarati","ddagurmukhi","ddalarabic","ddalfinalarabic","dddhadeva","ddhabengali","ddhadeva","ddhagujarati","ddhagurmukhi","ddotaccent","ddotbelow","decimalseparatorarabic","decimalseparatorpersian","decyrillic","degree","dehihebrew","dehiragana","deicoptic","dekatakana","deleteleft","deleteright","deltaturned","denominatorminusonenumeratorbengali","dezh","dhabengali","dhadeva","dhagujarati","dhagurmukhi","dhook","dialytikatonos","dialytikatonoscmb","diamond","diamondsuitwhite","dieresis","dieresisacute","dieresisbelowcmb","dieresiscmb","dieresisgrave","dieresistonos","dihiragana","dikatakana","dittomark","divide","divides","divisionslash","djecyrillic","dkshade","dlinebelow","dlsquare","dmacron","dmonospace","dnblock","dochadathai","dodekthai","dohiragana","dokatakana","dollar","dollarinferior","dollarmonospace","dollaroldstyle","dollarsmall","dollarsuperior","dong","dorusquare","dotaccent","dotaccentcmb","dotbelowcmb","dotbelowcomb","dotkatakana","dotlessi","dotlessj","dotlessjstrokehook","dotmath","dottedcircle","doubleyodpatah","doubleyodpatahhebrew","downtackbelowcmb","downtackmod","dparen","dsuperior","dtail","dtopbar","duhiragana","dukatakana","dz","dzaltone","dzcaron","dzcurl","dzeabkhasiancyrillic","dzecyrillic","dzhecyrillic","eacute","earth","ebengali","ebopomofo","ebreve","ecandradeva","ecandragujarati","ecandravowelsigndeva","ecandravowelsigngujarati","ecaron","ecedillabreve","echarmenian","echyiwnarmenian","ecircle","ecircumflex","ecircumflexacute","ecircumflexbelow","ecircumflexdotbelow","ecircumflexgrave","ecircumflexhookabove","ecircumflextilde","ecyrillic","edblgrave","edeva","edieresis","edot","edotaccent","edotbelow","eegurmukhi","eematragurmukhi","efcyrillic","egrave","egujarati","eharmenian","ehbopomofo","ehiragana","ehookabove","eibopomofo","eight","eightarabic","eightbengali","eightcircle","eightcircleinversesansserif","eightdeva","eighteencircle","eighteenparen","eighteenperiod","eightgujarati","eightgurmukhi","eighthackarabic","eighthangzhou","eighthnotebeamed","eightideographicparen","eightinferior","eightmonospace","eightoldstyle","eightparen","eightperiod","eightpersian","eightroman","eightsuperior","eightthai","einvertedbreve","eiotifiedcyrillic","ekatakana","ekatakanahalfwidth","ekonkargurmukhi","ekorean","elcyrillic","elevencircle","elevenparen","elevenperiod","elevenroman","ellipsis","ellipsisvertical","emacron","emacronacute","emacrongrave","emcyrillic","emdash","emdashvertical","emonospace","emphasismarkarmenian","emptyset","enbopomofo","encyrillic","endash","endashvertical","endescendercyrillic","eng","engbopomofo","enghecyrillic","enhookcyrillic","enspace","eogonek","eokorean","eopen","eopenclosed","eopenreversed","eopenreversedclosed","eopenreversedhook","eparen","epsilontonos","equal","equalmonospace","equalsmall","equalsuperior","equivalence","erbopomofo","ercyrillic","ereversed","ereversedcyrillic","escyrillic","esdescendercyrillic","esh","eshcurl","eshortdeva","eshortvowelsigndeva","eshreversedloop","eshsquatreversed","esmallhiragana","esmallkatakana","esmallkatakanahalfwidth","estimated","esuperior","eta","etarmenian","etatonos","eth","etilde","etildebelow","etnahtafoukhhebrew","etnahtafoukhlefthebrew","etnahtahebrew","etnahtalefthebrew","eturned","eukorean","euro","evowelsignbengali","evowelsigndeva","evowelsigngujarati","exclam","exclamarmenian","exclamdbl","exclamdown","exclamdownsmall","exclammonospace","exclamsmall","existential","ezh","ezhcaron","ezhcurl","ezhreversed","ezhtail","fadeva","fagurmukhi","fahrenheit","fathaarabic","fathalowarabic","fathatanarabic","fbopomofo","fcircle","fdotaccent","feharabic","feharmenian","fehfinalarabic","fehinitialarabic","fehmedialarabic","feicoptic","female","ff","f_f","ffi","ffl","fi","fifteencircle","fifteenparen","fifteenperiod","figuredash","filledbox","filledrect","finalkaf","finalkafdagesh","finalkafdageshhebrew","finalkafhebrew","finalmem","finalmemhebrew","finalnun","finalnunhebrew","finalpe","finalpehebrew","finaltsadi","finaltsadihebrew","firsttonechinese","fisheye","fitacyrillic","five","fivearabic","fivebengali","fivecircle","fivecircleinversesansserif","fivedeva","fiveeighths","fivegujarati","fivegurmukhi","fivehackarabic","fivehangzhou","fiveideographicparen","fiveinferior","fivemonospace","fiveoldstyle","fiveparen","fiveperiod","fivepersian","fiveroman","fivesuperior","fivethai","fl","florin","fmonospace","fmsquare","fofanthai","fofathai","fongmanthai","forall","four","fourarabic","fourbengali","fourcircle","fourcircleinversesansserif","fourdeva","fourgujarati","fourgurmukhi","fourhackarabic","fourhangzhou","fourideographicparen","fourinferior","fourmonospace","fournumeratorbengali","fouroldstyle","fourparen","fourperiod","fourpersian","fourroman","foursuperior","fourteencircle","fourteenparen","fourteenperiod","fourthai","fourthtonechinese","fparen","fraction","franc","gabengali","gacute","gadeva","gafarabic","gaffinalarabic","gafinitialarabic","gafmedialarabic","gagujarati","gagurmukhi","gahiragana","gakatakana","gammalatinsmall","gammasuperior","gangiacoptic","gbopomofo","gbreve","gcaron","gcedilla","gcircle","gcircumflex","gcommaaccent","gdot","gdotaccent","gecyrillic","gehiragana","gekatakana","geometricallyequal","gereshaccenthebrew","gereshhebrew","gereshmuqdamhebrew","germandbls","gershayimaccenthebrew","gershayimhebrew","getamark","ghabengali","ghadarmenian","ghadeva","ghagujarati","ghagurmukhi","ghainarabic","ghainfinalarabic","ghaininitialarabic","ghainmedialarabic","ghemiddlehookcyrillic","ghestrokecyrillic","gheupturncyrillic","ghhadeva","ghhagurmukhi","ghook","ghzsquare","gihiragana","gikatakana","gimarmenian","gimel","gimeldagesh","gimeldageshhebrew","gimelhebrew","gjecyrillic","glottalinvertedstroke","glottalstop","glottalstopinverted","glottalstopmod","glottalstopreversed","glottalstopreversedmod","glottalstopreversedsuperior","glottalstopstroke","glottalstopstrokereversed","gmacron","gmonospace","gohiragana","gokatakana","gparen","gpasquare","gradient","grave","gravebelowcmb","gravecmb","gravecomb","gravedeva","gravelowmod","gravemonospace","gravetonecmb","greater","greaterequal","greaterequalorless","greatermonospace","greaterorequivalent","greaterorless","greateroverequal","greatersmall","gscript","gstroke","guhiragana","guillemotleft","guillemotright","guilsinglleft","guilsinglright","gukatakana","guramusquare","gysquare","haabkhasiancyrillic","haaltonearabic","habengali","hadescendercyrillic","hadeva","hagujarati","hagurmukhi","haharabic","hahfinalarabic","hahinitialarabic","hahiragana","hahmedialarabic","haitusquare","hakatakana","hakatakanahalfwidth","halantgurmukhi","hamzaarabic","hamzalowarabic","hangulfiller","hardsigncyrillic","harpoonleftbarbup","harpoonrightbarbup","hasquare","hatafpatah","hatafpatah16","hatafpatah23","hatafpatah2f","hatafpatahhebrew","hatafpatahnarrowhebrew","hatafpatahquarterhebrew","hatafpatahwidehebrew","hatafqamats","hatafqamats1b","hatafqamats28","hatafqamats34","hatafqamatshebrew","hatafqamatsnarrowhebrew","hatafqamatsquarterhebrew","hatafqamatswidehebrew","hatafsegol","hatafsegol17","hatafsegol24","hatafsegol30","hatafsegolhebrew","hatafsegolnarrowhebrew","hatafsegolquarterhebrew","hatafsegolwidehebrew","hbar","hbopomofo","hbrevebelow","hcedilla","hcircle","hcircumflex","hdieresis","hdotaccent","hdotbelow","he","heart","heartsuitblack","heartsuitwhite","hedagesh","hedageshhebrew","hehaltonearabic","heharabic","hehebrew","hehfinalaltonearabic","hehfinalalttwoarabic","hehfinalarabic","hehhamzaabovefinalarabic","hehhamzaaboveisolatedarabic","hehinitialaltonearabic","hehinitialarabic","hehiragana","hehmedialaltonearabic","hehmedialarabic","heiseierasquare","hekatakana","hekatakanahalfwidth","hekutaarusquare","henghook","herutusquare","het","hethebrew","hhook","hhooksuperior","hieuhacirclekorean","hieuhaparenkorean","hieuhcirclekorean","hieuhkorean","hieuhparenkorean","hihiragana","hikatakana","hikatakanahalfwidth","hiriq","hiriq14","hiriq21","hiriq2d","hiriqhebrew","hiriqnarrowhebrew","hiriqquarterhebrew","hiriqwidehebrew","hlinebelow","hmonospace","hoarmenian","hohipthai","hohiragana","hokatakana","hokatakanahalfwidth","holam","holam19","holam26","holam32","holamhebrew","holamnarrowhebrew","holamquarterhebrew","holamwidehebrew","honokhukthai","hookabovecomb","hookcmb","hookpalatalizedbelowcmb","hookretroflexbelowcmb","hoonsquare","horicoptic","horizontalbar","horncmb","hotsprings","house","hparen","hsuperior","hturned","huhiragana","huiitosquare","hukatakana","hukatakanahalfwidth","hungarumlaut","hungarumlautcmb","hv","hyphen","hypheninferior","hyphenmonospace","hyphensmall","hyphensuperior","hyphentwo","iacute","iacyrillic","ibengali","ibopomofo","ibreve","icaron","icircle","icircumflex","icyrillic","idblgrave","ideographearthcircle","ideographfirecircle","ideographicallianceparen","ideographiccallparen","ideographiccentrecircle","ideographicclose","ideographiccomma","ideographiccommaleft","ideographiccongratulationparen","ideographiccorrectcircle","ideographicearthparen","ideographicenterpriseparen","ideographicexcellentcircle","ideographicfestivalparen","ideographicfinancialcircle","ideographicfinancialparen","ideographicfireparen","ideographichaveparen","ideographichighcircle","ideographiciterationmark","ideographiclaborcircle","ideographiclaborparen","ideographicleftcircle","ideographiclowcircle","ideographicmedicinecircle","ideographicmetalparen","ideographicmoonparen","ideographicnameparen","ideographicperiod","ideographicprintcircle","ideographicreachparen","ideographicrepresentparen","ideographicresourceparen","ideographicrightcircle","ideographicsecretcircle","ideographicselfparen","ideographicsocietyparen","ideographicspace","ideographicspecialparen","ideographicstockparen","ideographicstudyparen","ideographicsunparen","ideographicsuperviseparen","ideographicwaterparen","ideographicwoodparen","ideographiczero","ideographmetalcircle","ideographmooncircle","ideographnamecircle","ideographsuncircle","ideographwatercircle","ideographwoodcircle","ideva","idieresis","idieresisacute","idieresiscyrillic","idotbelow","iebrevecyrillic","iecyrillic","ieungacirclekorean","ieungaparenkorean","ieungcirclekorean","ieungkorean","ieungparenkorean","igrave","igujarati","igurmukhi","ihiragana","ihookabove","iibengali","iicyrillic","iideva","iigujarati","iigurmukhi","iimatragurmukhi","iinvertedbreve","iishortcyrillic","iivowelsignbengali","iivowelsigndeva","iivowelsigngujarati","ij","ikatakana","ikatakanahalfwidth","ikorean","ilde","iluyhebrew","imacron","imacroncyrillic","imageorapproximatelyequal","imatragurmukhi","imonospace","increment","infinity","iniarmenian","integral","integralbottom","integralbt","integralex","integraltop","integraltp","intersection","intisquare","invbullet","invcircle","invsmileface","iocyrillic","iogonek","iota","iotadieresis","iotadieresistonos","iotalatin","iotatonos","iparen","irigurmukhi","ismallhiragana","ismallkatakana","ismallkatakanahalfwidth","issharbengali","istroke","isuperior","iterationhiragana","iterationkatakana","itilde","itildebelow","iubopomofo","iucyrillic","ivowelsignbengali","ivowelsigndeva","ivowelsigngujarati","izhitsacyrillic","izhitsadblgravecyrillic","jaarmenian","jabengali","jadeva","jagujarati","jagurmukhi","jbopomofo","jcaron","jcircle","jcircumflex","jcrossedtail","jdotlessstroke","jecyrillic","jeemarabic","jeemfinalarabic","jeeminitialarabic","jeemmedialarabic","jeharabic","jehfinalarabic","jhabengali","jhadeva","jhagujarati","jhagurmukhi","jheharmenian","jis","jmonospace","jparen","jsuperior","kabashkircyrillic","kabengali","kacute","kacyrillic","kadescendercyrillic","kadeva","kaf","kafarabic","kafdagesh","kafdageshhebrew","kaffinalarabic","kafhebrew","kafinitialarabic","kafmedialarabic","kafrafehebrew","kagujarati","kagurmukhi","kahiragana","kahookcyrillic","kakatakana","kakatakanahalfwidth","kappa","kappasymbolgreek","kapyeounmieumkorean","kapyeounphieuphkorean","kapyeounpieupkorean","kapyeounssangpieupkorean","karoriisquare","kashidaautoarabic","kashidaautonosidebearingarabic","kasmallkatakana","kasquare","kasraarabic","kasratanarabic","kastrokecyrillic","katahiraprolongmarkhalfwidth","kaverticalstrokecyrillic","kbopomofo","kcalsquare","kcaron","kcedilla","kcircle","kcommaaccent","kdotbelow","keharmenian","kehiragana","kekatakana","kekatakanahalfwidth","kenarmenian","kesmallkatakana","kgreenlandic","khabengali","khacyrillic","khadeva","khagujarati","khagurmukhi","khaharabic","khahfinalarabic","khahinitialarabic","khahmedialarabic","kheicoptic","khhadeva","khhagurmukhi","khieukhacirclekorean","khieukhaparenkorean","khieukhcirclekorean","khieukhkorean","khieukhparenkorean","khokhaithai","khokhonthai","khokhuatthai","khokhwaithai","khomutthai","khook","khorakhangthai","khzsquare","kihiragana","kikatakana","kikatakanahalfwidth","kiroguramusquare","kiromeetorusquare","kirosquare","kiyeokacirclekorean","kiyeokaparenkorean","kiyeokcirclekorean","kiyeokkorean","kiyeokparenkorean","kiyeoksioskorean","kjecyrillic","klinebelow","klsquare","kmcubedsquare","kmonospace","kmsquaredsquare","kohiragana","kohmsquare","kokaithai","kokatakana","kokatakanahalfwidth","kooposquare","koppacyrillic","koreanstandardsymbol","koroniscmb","kparen","kpasquare","ksicyrillic","ktsquare","kturned","kuhiragana","kukatakana","kukatakanahalfwidth","kvsquare","kwsquare","labengali","lacute","ladeva","lagujarati","lagurmukhi","lakkhangyaothai","lamaleffinalarabic","lamalefhamzaabovefinalarabic","lamalefhamzaaboveisolatedarabic","lamalefhamzabelowfinalarabic","lamalefhamzabelowisolatedarabic","lamalefisolatedarabic","lamalefmaddaabovefinalarabic","lamalefmaddaaboveisolatedarabic","lamarabic","lambda","lambdastroke","lamed","lameddagesh","lameddageshhebrew","lamedhebrew","lamfinalarabic","lamhahinitialarabic","laminitialarabic","lamjeeminitialarabic","lamkhahinitialarabic","lamlamhehisolatedarabic","lammedialarabic","lammeemhahinitialarabic","lammeeminitialarabic","largecircle","lbar","lbelt","lbopomofo","lcaron","lcedilla","lcircle","lcircumflexbelow","lcommaaccent","ldot","ldotaccent","ldotbelow","ldotbelowmacron","leftangleabovecmb","lefttackbelowcmb","less","lessequal","lessequalorgreater","lessmonospace","lessorequivalent","lessorgreater","lessoverequal","lesssmall","lezh","lfblock","lhookretroflex","lira","liwnarmenian","lj","ljecyrillic","lladeva","llagujarati","llinebelow","llladeva","llvocalicbengali","llvocalicdeva","llvocalicvowelsignbengali","llvocalicvowelsigndeva","lmiddletilde","lmonospace","lmsquare","lochulathai","logicaland","logicalnot","logicalnotreversed","logicalor","lolingthai","longs","lowlinecenterline","lowlinecmb","lowlinedashed","lozenge","lparen","lslash","lsquare","lsuperior","ltshade","luthai","lvocalicbengali","lvocalicdeva","lvocalicvowelsignbengali","lvocalicvowelsigndeva","lxsquare","mabengali","macron","macronbelowcmb","macroncmb","macronlowmod","macronmonospace","macute","madeva","magujarati","magurmukhi","mahapakhhebrew","mahapakhlefthebrew","mahiragana","maichattawalowleftthai","maichattawalowrightthai","maichattawathai","maichattawaupperleftthai","maieklowleftthai","maieklowrightthai","maiekthai","maiekupperleftthai","maihanakatleftthai","maihanakatthai","maitaikhuleftthai","maitaikhuthai","maitholowleftthai","maitholowrightthai","maithothai","maithoupperleftthai","maitrilowleftthai","maitrilowrightthai","maitrithai","maitriupperleftthai","maiyamokthai","makatakana","makatakanahalfwidth","male","mansyonsquare","maqafhebrew","mars","masoracirclehebrew","masquare","mbopomofo","mbsquare","mcircle","mcubedsquare","mdotaccent","mdotbelow","meemarabic","meemfinalarabic","meeminitialarabic","meemmedialarabic","meemmeeminitialarabic","meemmeemisolatedarabic","meetorusquare","mehiragana","meizierasquare","mekatakana","mekatakanahalfwidth","mem","memdagesh","memdageshhebrew","memhebrew","menarmenian","merkhahebrew","merkhakefulahebrew","merkhakefulalefthebrew","merkhalefthebrew","mhook","mhzsquare","middledotkatakanahalfwidth","middot","mieumacirclekorean","mieumaparenkorean","mieumcirclekorean","mieumkorean","mieumpansioskorean","mieumparenkorean","mieumpieupkorean","mieumsioskorean","mihiragana","mikatakana","mikatakanahalfwidth","minus","minusbelowcmb","minuscircle","minusmod","minusplus","minute","miribaarusquare","mirisquare","mlonglegturned","mlsquare","mmcubedsquare","mmonospace","mmsquaredsquare","mohiragana","mohmsquare","mokatakana","mokatakanahalfwidth","molsquare","momathai","moverssquare","moverssquaredsquare","mparen","mpasquare","mssquare","msuperior","mturned","mu1","muasquare","muchgreater","muchless","mufsquare","mugreek","mugsquare","muhiragana","mukatakana","mukatakanahalfwidth","mulsquare","multiply","mumsquare","munahhebrew","munahlefthebrew","musicalnote","musicalnotedbl","musicflatsign","musicsharpsign","mussquare","muvsquare","muwsquare","mvmegasquare","mvsquare","mwmegasquare","mwsquare","nabengali","nabla","nacute","nadeva","nagujarati","nagurmukhi","nahiragana","nakatakana","nakatakanahalfwidth","napostrophe","nasquare","nbopomofo","nbspace","ncaron","ncedilla","ncircle","ncircumflexbelow","ncommaaccent","ndotaccent","ndotbelow","nehiragana","nekatakana","nekatakanahalfwidth","newsheqelsign","nfsquare","ngabengali","ngadeva","ngagujarati","ngagurmukhi","ngonguthai","nhiragana","nhookleft","nhookretroflex","nieunacirclekorean","nieunaparenkorean","nieuncieuckorean","nieuncirclekorean","nieunhieuhkorean","nieunkorean","nieunpansioskorean","nieunparenkorean","nieunsioskorean","nieuntikeutkorean","nihiragana","nikatakana","nikatakanahalfwidth","nikhahitleftthai","nikhahitthai","nine","ninearabic","ninebengali","ninecircle","ninecircleinversesansserif","ninedeva","ninegujarati","ninegurmukhi","ninehackarabic","ninehangzhou","nineideographicparen","nineinferior","ninemonospace","nineoldstyle","nineparen","nineperiod","ninepersian","nineroman","ninesuperior","nineteencircle","nineteenparen","nineteenperiod","ninethai","nj","njecyrillic","nkatakana","nkatakanahalfwidth","nlegrightlong","nlinebelow","nmonospace","nmsquare","nnabengali","nnadeva","nnagujarati","nnagurmukhi","nnnadeva","nohiragana","nokatakana","nokatakanahalfwidth","nonbreakingspace","nonenthai","nonuthai","noonarabic","noonfinalarabic","noonghunnaarabic","noonghunnafinalarabic","nooninitialarabic","noonjeeminitialarabic","noonjeemisolatedarabic","noonmedialarabic","noonmeeminitialarabic","noonmeemisolatedarabic","noonnoonfinalarabic","notcontains","notelement","notelementof","notequal","notgreater","notgreaternorequal","notgreaternorless","notidentical","notless","notlessnorequal","notparallel","notprecedes","notsubset","notsucceeds","notsuperset","nowarmenian","nparen","nssquare","nsuperior","ntilde","nuhiragana","nukatakana","nukatakanahalfwidth","nuktabengali","nuktadeva","nuktagujarati","nuktagurmukhi","numbersign","numbersignmonospace","numbersignsmall","numeralsigngreek","numeralsignlowergreek","numero","nun","nundagesh","nundageshhebrew","nunhebrew","nvsquare","nwsquare","nyabengali","nyadeva","nyagujarati","nyagurmukhi","oacute","oangthai","obarred","obarredcyrillic","obarreddieresiscyrillic","obengali","obopomofo","obreve","ocandradeva","ocandragujarati","ocandravowelsigndeva","ocandravowelsigngujarati","ocaron","ocircle","ocircumflex","ocircumflexacute","ocircumflexdotbelow","ocircumflexgrave","ocircumflexhookabove","ocircumflextilde","ocyrillic","odblacute","odblgrave","odeva","odieresis","odieresiscyrillic","odotbelow","oe","oekorean","ogonek","ogonekcmb","ograve","ogujarati","oharmenian","ohiragana","ohookabove","ohorn","ohornacute","ohorndotbelow","ohorngrave","ohornhookabove","ohorntilde","ohungarumlaut","oi","oinvertedbreve","okatakana","okatakanahalfwidth","okorean","olehebrew","omacron","omacronacute","omacrongrave","omdeva","omega","omega1","omegacyrillic","omegalatinclosed","omegaroundcyrillic","omegatitlocyrillic","omegatonos","omgujarati","omicron","omicrontonos","omonospace","one","onearabic","onebengali","onecircle","onecircleinversesansserif","onedeva","onedotenleader","oneeighth","onefitted","onegujarati","onegurmukhi","onehackarabic","onehalf","onehangzhou","oneideographicparen","oneinferior","onemonospace","onenumeratorbengali","oneoldstyle","oneparen","oneperiod","onepersian","onequarter","oneroman","onesuperior","onethai","onethird","oogonek","oogonekmacron","oogurmukhi","oomatragurmukhi","oopen","oparen","openbullet","ordfeminine","ordmasculine","orthogonal","oshortdeva","oshortvowelsigndeva","oslash","oslashacute","osmallhiragana","osmallkatakana","osmallkatakanahalfwidth","ostrokeacute","osuperior","otcyrillic","otilde","otildeacute","otildedieresis","oubopomofo","overline","overlinecenterline","overlinecmb","overlinedashed","overlinedblwavy","overlinewavy","overscore","ovowelsignbengali","ovowelsigndeva","ovowelsigngujarati","paampssquare","paasentosquare","pabengali","pacute","padeva","pagedown","pageup","pagujarati","pagurmukhi","pahiragana","paiyannoithai","pakatakana","palatalizationcyrilliccmb","palochkacyrillic","pansioskorean","paragraph","parallel","parenleft","parenleftaltonearabic","parenleftbt","parenleftex","parenleftinferior","parenleftmonospace","parenleftsmall","parenleftsuperior","parenlefttp","parenleftvertical","parenright","parenrightaltonearabic","parenrightbt","parenrightex","parenrightinferior","parenrightmonospace","parenrightsmall","parenrightsuperior","parenrighttp","parenrightvertical","partialdiff","paseqhebrew","pashtahebrew","pasquare","patah","patah11","patah1d","patah2a","patahhebrew","patahnarrowhebrew","patahquarterhebrew","patahwidehebrew","pazerhebrew","pbopomofo","pcircle","pdotaccent","pe","pecyrillic","pedagesh","pedageshhebrew","peezisquare","pefinaldageshhebrew","peharabic","peharmenian","pehebrew","pehfinalarabic","pehinitialarabic","pehiragana","pehmedialarabic","pekatakana","pemiddlehookcyrillic","perafehebrew","percent","percentarabic","percentmonospace","percentsmall","period","periodarmenian","periodcentered","periodhalfwidth","periodinferior","periodmonospace","periodsmall","periodsuperior","perispomenigreekcmb","perpendicular","perthousand","peseta","pfsquare","phabengali","phadeva","phagujarati","phagurmukhi","phi","phi1","phieuphacirclekorean","phieuphaparenkorean","phieuphcirclekorean","phieuphkorean","phieuphparenkorean","philatin","phinthuthai","phisymbolgreek","phook","phophanthai","phophungthai","phosamphaothai","pieupacirclekorean","pieupaparenkorean","pieupcieuckorean","pieupcirclekorean","pieupkiyeokkorean","pieupkorean","pieupparenkorean","pieupsioskiyeokkorean","pieupsioskorean","pieupsiostikeutkorean","pieupthieuthkorean","pieuptikeutkorean","pihiragana","pikatakana","pisymbolgreek","piwrarmenian","plusbelowcmb","pluscircle","plusminus","plusmod","plusmonospace","plussmall","plussuperior","pmonospace","pmsquare","pohiragana","pointingindexdownwhite","pointingindexleftwhite","pointingindexrightwhite","pointingindexupwhite","pokatakana","poplathai","postalmark","postalmarkface","pparen","precedes","prescription","primemod","primereversed","product","projective","prolongedkana","propellor","propersubset","propersuperset","proportion","proportional","psi","psicyrillic","psilipneumatacyrilliccmb","pssquare","puhiragana","pukatakana","pvsquare","pwsquare","qadeva","qadmahebrew","qafarabic","qaffinalarabic","qafinitialarabic","qafmedialarabic","qamats","qamats10","qamats1a","qamats1c","qamats27","qamats29","qamats33","qamatsde","qamatshebrew","qamatsnarrowhebrew","qamatsqatanhebrew","qamatsqatannarrowhebrew","qamatsqatanquarterhebrew","qamatsqatanwidehebrew","qamatsquarterhebrew","qamatswidehebrew","qarneyparahebrew","qbopomofo","qcircle","qhook","qmonospace","qof","qofdagesh","qofdageshhebrew","qofhebrew","qparen","quarternote","qubuts","qubuts18","qubuts25","qubuts31","qubutshebrew","qubutsnarrowhebrew","qubutsquarterhebrew","qubutswidehebrew","question","questionarabic","questionarmenian","questiondown","questiondownsmall","questiongreek","questionmonospace","questionsmall","quotedbl","quotedblbase","quotedblleft","quotedblmonospace","quotedblprime","quotedblprimereversed","quotedblright","quoteleft","quoteleftreversed","quotereversed","quoteright","quoterightn","quotesinglbase","quotesingle","quotesinglemonospace","raarmenian","rabengali","racute","radeva","radical","radicalex","radoverssquare","radoverssquaredsquare","radsquare","rafe","rafehebrew","ragujarati","ragurmukhi","rahiragana","rakatakana","rakatakanahalfwidth","ralowerdiagonalbengali","ramiddlediagonalbengali","ramshorn","ratio","rbopomofo","rcaron","rcedilla","rcircle","rcommaaccent","rdblgrave","rdotaccent","rdotbelow","rdotbelowmacron","referencemark","reflexsubset","reflexsuperset","registered","registersans","registerserif","reharabic","reharmenian","rehfinalarabic","rehiragana","rekatakana","rekatakanahalfwidth","resh","reshdageshhebrew","reshhebrew","reversedtilde","reviahebrew","reviamugrashhebrew","revlogicalnot","rfishhook","rfishhookreversed","rhabengali","rhadeva","rho","rhook","rhookturned","rhookturnedsuperior","rhosymbolgreek","rhotichookmod","rieulacirclekorean","rieulaparenkorean","rieulcirclekorean","rieulhieuhkorean","rieulkiyeokkorean","rieulkiyeoksioskorean","rieulkorean","rieulmieumkorean","rieulpansioskorean","rieulparenkorean","rieulphieuphkorean","rieulpieupkorean","rieulpieupsioskorean","rieulsioskorean","rieulthieuthkorean","rieultikeutkorean","rieulyeorinhieuhkorean","rightangle","righttackbelowcmb","righttriangle","rihiragana","rikatakana","rikatakanahalfwidth","ring","ringbelowcmb","ringcmb","ringhalfleft","ringhalfleftarmenian","ringhalfleftbelowcmb","ringhalfleftcentered","ringhalfright","ringhalfrightbelowcmb","ringhalfrightcentered","rinvertedbreve","rittorusquare","rlinebelow","rlongleg","rlonglegturned","rmonospace","rohiragana","rokatakana","rokatakanahalfwidth","roruathai","rparen","rrabengali","rradeva","rragurmukhi","rreharabic","rrehfinalarabic","rrvocalicbengali","rrvocalicdeva","rrvocalicgujarati","rrvocalicvowelsignbengali","rrvocalicvowelsigndeva","rrvocalicvowelsigngujarati","rsuperior","rtblock","rturned","rturnedsuperior","ruhiragana","rukatakana","rukatakanahalfwidth","rupeemarkbengali","rupeesignbengali","rupiah","ruthai","rvocalicbengali","rvocalicdeva","rvocalicgujarati","rvocalicvowelsignbengali","rvocalicvowelsigndeva","rvocalicvowelsigngujarati","sabengali","sacute","sacutedotaccent","sadarabic","sadeva","sadfinalarabic","sadinitialarabic","sadmedialarabic","sagujarati","sagurmukhi","sahiragana","sakatakana","sakatakanahalfwidth","sallallahoualayhewasallamarabic","samekh","samekhdagesh","samekhdageshhebrew","samekhhebrew","saraaathai","saraaethai","saraaimaimalaithai","saraaimaimuanthai","saraamthai","saraathai","saraethai","saraiileftthai","saraiithai","saraileftthai","saraithai","saraothai","saraueeleftthai","saraueethai","saraueleftthai","sarauethai","sarauthai","sarauuthai","sbopomofo","scaron","scarondotaccent","scedilla","schwa","schwacyrillic","schwadieresiscyrillic","schwahook","scircle","scircumflex","scommaaccent","sdotaccent","sdotbelow","sdotbelowdotaccent","seagullbelowcmb","secondtonechinese","section","seenarabic","seenfinalarabic","seeninitialarabic","seenmedialarabic","segol","segol13","segol1f","segol2c","segolhebrew","segolnarrowhebrew","segolquarterhebrew","segoltahebrew","segolwidehebrew","seharmenian","sehiragana","sekatakana","sekatakanahalfwidth","semicolon","semicolonarabic","semicolonmonospace","semicolonsmall","semivoicedmarkkana","semivoicedmarkkanahalfwidth","sentisquare","sentosquare","seven","sevenarabic","sevenbengali","sevencircle","sevencircleinversesansserif","sevendeva","seveneighths","sevengujarati","sevengurmukhi","sevenhackarabic","sevenhangzhou","sevenideographicparen","seveninferior","sevenmonospace","sevenoldstyle","sevenparen","sevenperiod","sevenpersian","sevenroman","sevensuperior","seventeencircle","seventeenparen","seventeenperiod","seventhai","sfthyphen","shaarmenian","shabengali","shacyrillic","shaddaarabic","shaddadammaarabic","shaddadammatanarabic","shaddafathaarabic","shaddakasraarabic","shaddakasratanarabic","shade","shadedark","shadelight","shademedium","shadeva","shagujarati","shagurmukhi","shalshelethebrew","shbopomofo","shchacyrillic","sheenarabic","sheenfinalarabic","sheeninitialarabic","sheenmedialarabic","sheicoptic","sheqel","sheqelhebrew","sheva","sheva115","sheva15","sheva22","sheva2e","shevahebrew","shevanarrowhebrew","shevaquarterhebrew","shevawidehebrew","shhacyrillic","shimacoptic","shin","shindagesh","shindageshhebrew","shindageshshindot","shindageshshindothebrew","shindageshsindot","shindageshsindothebrew","shindothebrew","shinhebrew","shinshindot","shinshindothebrew","shinsindot","shinsindothebrew","shook","sigma1","sigmafinal","sigmalunatesymbolgreek","sihiragana","sikatakana","sikatakanahalfwidth","siluqhebrew","siluqlefthebrew","similar","sindothebrew","siosacirclekorean","siosaparenkorean","sioscieuckorean","sioscirclekorean","sioskiyeokkorean","sioskorean","siosnieunkorean","siosparenkorean","siospieupkorean","siostikeutkorean","six","sixarabic","sixbengali","sixcircle","sixcircleinversesansserif","sixdeva","sixgujarati","sixgurmukhi","sixhackarabic","sixhangzhou","sixideographicparen","sixinferior","sixmonospace","sixoldstyle","sixparen","sixperiod","sixpersian","sixroman","sixsuperior","sixteencircle","sixteencurrencydenominatorbengali","sixteenparen","sixteenperiod","sixthai","slash","slashmonospace","slong","slongdotaccent","smileface","smonospace","sofpasuqhebrew","softhyphen","softsigncyrillic","sohiragana","sokatakana","sokatakanahalfwidth","soliduslongoverlaycmb","solidusshortoverlaycmb","sorusithai","sosalathai","sosothai","sosuathai","spacehackarabic","spade","spadesuitblack","spadesuitwhite","sparen","squarebelowcmb","squarecc","squarecm","squarediagonalcrosshatchfill","squarehorizontalfill","squarekg","squarekm","squarekmcapital","squareln","squarelog","squaremg","squaremil","squaremm","squaremsquared","squareorthogonalcrosshatchfill","squareupperlefttolowerrightfill","squareupperrighttolowerleftfill","squareverticalfill","squarewhitewithsmallblack","srsquare","ssabengali","ssadeva","ssagujarati","ssangcieuckorean","ssanghieuhkorean","ssangieungkorean","ssangkiyeokkorean","ssangnieunkorean","ssangpieupkorean","ssangsioskorean","ssangtikeutkorean","ssuperior","sterling","sterlingmonospace","strokelongoverlaycmb","strokeshortoverlaycmb","subset","subsetnotequal","subsetorequal","succeeds","suchthat","suhiragana","sukatakana","sukatakanahalfwidth","sukunarabic","summation","sun","superset","supersetnotequal","supersetorequal","svsquare","syouwaerasquare","tabengali","tackdown","tackleft","tadeva","tagujarati","tagurmukhi","taharabic","tahfinalarabic","tahinitialarabic","tahiragana","tahmedialarabic","taisyouerasquare","takatakana","takatakanahalfwidth","tatweelarabic","tau","tav","tavdages","tavdagesh","tavdageshhebrew","tavhebrew","tbar","tbopomofo","tcaron","tccurl","tcedilla","tcheharabic","tchehfinalarabic","tchehinitialarabic","tchehmedialarabic","tcircle","tcircumflexbelow","tcommaaccent","tdieresis","tdotaccent","tdotbelow","tecyrillic","tedescendercyrillic","teharabic","tehfinalarabic","tehhahinitialarabic","tehhahisolatedarabic","tehinitialarabic","tehiragana","tehjeeminitialarabic","tehjeemisolatedarabic","tehmarbutaarabic","tehmarbutafinalarabic","tehmedialarabic","tehmeeminitialarabic","tehmeemisolatedarabic","tehnoonfinalarabic","tekatakana","tekatakanahalfwidth","telephone","telephoneblack","telishagedolahebrew","telishaqetanahebrew","tencircle","tenideographicparen","tenparen","tenperiod","tenroman","tesh","tet","tetdagesh","tetdageshhebrew","tethebrew","tetsecyrillic","tevirhebrew","tevirlefthebrew","thabengali","thadeva","thagujarati","thagurmukhi","thalarabic","thalfinalarabic","thanthakhatlowleftthai","thanthakhatlowrightthai","thanthakhatthai","thanthakhatupperleftthai","theharabic","thehfinalarabic","thehinitialarabic","thehmedialarabic","thereexists","therefore","theta","theta1","thetasymbolgreek","thieuthacirclekorean","thieuthaparenkorean","thieuthcirclekorean","thieuthkorean","thieuthparenkorean","thirteencircle","thirteenparen","thirteenperiod","thonangmonthothai","thook","thophuthaothai","thorn","thothahanthai","thothanthai","thothongthai","thothungthai","thousandcyrillic","thousandsseparatorarabic","thousandsseparatorpersian","three","threearabic","threebengali","threecircle","threecircleinversesansserif","threedeva","threeeighths","threegujarati","threegurmukhi","threehackarabic","threehangzhou","threeideographicparen","threeinferior","threemonospace","threenumeratorbengali","threeoldstyle","threeparen","threeperiod","threepersian","threequarters","threequartersemdash","threeroman","threesuperior","threethai","thzsquare","tihiragana","tikatakana","tikatakanahalfwidth","tikeutacirclekorean","tikeutaparenkorean","tikeutcirclekorean","tikeutkorean","tikeutparenkorean","tilde","tildebelowcmb","tildecmb","tildecomb","tildedoublecmb","tildeoperator","tildeoverlaycmb","tildeverticalcmb","timescircle","tipehahebrew","tipehalefthebrew","tippigurmukhi","titlocyrilliccmb","tiwnarmenian","tlinebelow","tmonospace","toarmenian","tohiragana","tokatakana","tokatakanahalfwidth","tonebarextrahighmod","tonebarextralowmod","tonebarhighmod","tonebarlowmod","tonebarmidmod","tonefive","tonesix","tonetwo","tonos","tonsquare","topatakthai","tortoiseshellbracketleft","tortoiseshellbracketleftsmall","tortoiseshellbracketleftvertical","tortoiseshellbracketright","tortoiseshellbracketrightsmall","tortoiseshellbracketrightvertical","totaothai","tpalatalhook","tparen","trademark","trademarksans","trademarkserif","tretroflexhook","triagdn","triaglf","triagrt","triagup","ts","tsadi","tsadidagesh","tsadidageshhebrew","tsadihebrew","tsecyrillic","tsere","tsere12","tsere1e","tsere2b","tserehebrew","tserenarrowhebrew","tserequarterhebrew","tserewidehebrew","tshecyrillic","tsuperior","ttabengali","ttadeva","ttagujarati","ttagurmukhi","tteharabic","ttehfinalarabic","ttehinitialarabic","ttehmedialarabic","tthabengali","tthadeva","tthagujarati","tthagurmukhi","tturned","tuhiragana","tukatakana","tukatakanahalfwidth","tusmallhiragana","tusmallkatakana","tusmallkatakanahalfwidth","twelvecircle","twelveparen","twelveperiod","twelveroman","twentycircle","twentyhangzhou","twentyparen","twentyperiod","two","twoarabic","twobengali","twocircle","twocircleinversesansserif","twodeva","twodotenleader","twodotleader","twodotleadervertical","twogujarati","twogurmukhi","twohackarabic","twohangzhou","twoideographicparen","twoinferior","twomonospace","twonumeratorbengali","twooldstyle","twoparen","twoperiod","twopersian","tworoman","twostroke","twosuperior","twothai","twothirds","uacute","ubar","ubengali","ubopomofo","ubreve","ucaron","ucircle","ucircumflex","ucircumflexbelow","ucyrillic","udattadeva","udblacute","udblgrave","udeva","udieresis","udieresisacute","udieresisbelow","udieresiscaron","udieresiscyrillic","udieresisgrave","udieresismacron","udotbelow","ugrave","ugujarati","ugurmukhi","uhiragana","uhookabove","uhorn","uhornacute","uhorndotbelow","uhorngrave","uhornhookabove","uhorntilde","uhungarumlaut","uhungarumlautcyrillic","uinvertedbreve","ukatakana","ukatakanahalfwidth","ukcyrillic","ukorean","umacron","umacroncyrillic","umacrondieresis","umatragurmukhi","umonospace","underscore","underscoredbl","underscoremonospace","underscorevertical","underscorewavy","union","universal","uogonek","uparen","upblock","upperdothebrew","upsilon","upsilondieresis","upsilondieresistonos","upsilonlatin","upsilontonos","uptackbelowcmb","uptackmod","uragurmukhi","uring","ushortcyrillic","usmallhiragana","usmallkatakana","usmallkatakanahalfwidth","ustraightcyrillic","ustraightstrokecyrillic","utilde","utildeacute","utildebelow","uubengali","uudeva","uugujarati","uugurmukhi","uumatragurmukhi","uuvowelsignbengali","uuvowelsigndeva","uuvowelsigngujarati","uvowelsignbengali","uvowelsigndeva","uvowelsigngujarati","vadeva","vagujarati","vagurmukhi","vakatakana","vav","vavdagesh","vavdagesh65","vavdageshhebrew","vavhebrew","vavholam","vavholamhebrew","vavvavhebrew","vavyodhebrew","vcircle","vdotbelow","vecyrillic","veharabic","vehfinalarabic","vehinitialarabic","vehmedialarabic","vekatakana","venus","verticalbar","verticallineabovecmb","verticallinebelowcmb","verticallinelowmod","verticallinemod","vewarmenian","vhook","vikatakana","viramabengali","viramadeva","viramagujarati","visargabengali","visargadeva","visargagujarati","vmonospace","voarmenian","voicediterationhiragana","voicediterationkatakana","voicedmarkkana","voicedmarkkanahalfwidth","vokatakana","vparen","vtilde","vturned","vuhiragana","vukatakana","wacute","waekorean","wahiragana","wakatakana","wakatakanahalfwidth","wakorean","wasmallhiragana","wasmallkatakana","wattosquare","wavedash","wavyunderscorevertical","wawarabic","wawfinalarabic","wawhamzaabovearabic","wawhamzaabovefinalarabic","wbsquare","wcircle","wcircumflex","wdieresis","wdotaccent","wdotbelow","wehiragana","weierstrass","wekatakana","wekorean","weokorean","wgrave","whitebullet","whitecircle","whitecircleinverse","whitecornerbracketleft","whitecornerbracketleftvertical","whitecornerbracketright","whitecornerbracketrightvertical","whitediamond","whitediamondcontainingblacksmalldiamond","whitedownpointingsmalltriangle","whitedownpointingtriangle","whiteleftpointingsmalltriangle","whiteleftpointingtriangle","whitelenticularbracketleft","whitelenticularbracketright","whiterightpointingsmalltriangle","whiterightpointingtriangle","whitesmallsquare","whitesmilingface","whitesquare","whitestar","whitetelephone","whitetortoiseshellbracketleft","whitetortoiseshellbracketright","whiteuppointingsmalltriangle","whiteuppointingtriangle","wihiragana","wikatakana","wikorean","wmonospace","wohiragana","wokatakana","wokatakanahalfwidth","won","wonmonospace","wowaenthai","wparen","wring","wsuperior","wturned","wynn","xabovecmb","xbopomofo","xcircle","xdieresis","xdotaccent","xeharmenian","xi","xmonospace","xparen","xsuperior","yaadosquare","yabengali","yacute","yadeva","yaekorean","yagujarati","yagurmukhi","yahiragana","yakatakana","yakatakanahalfwidth","yakorean","yamakkanthai","yasmallhiragana","yasmallkatakana","yasmallkatakanahalfwidth","yatcyrillic","ycircle","ycircumflex","ydieresis","ydotaccent","ydotbelow","yeharabic","yehbarreearabic","yehbarreefinalarabic","yehfinalarabic","yehhamzaabovearabic","yehhamzaabovefinalarabic","yehhamzaaboveinitialarabic","yehhamzaabovemedialarabic","yehinitialarabic","yehmedialarabic","yehmeeminitialarabic","yehmeemisolatedarabic","yehnoonfinalarabic","yehthreedotsbelowarabic","yekorean","yen","yenmonospace","yeokorean","yeorinhieuhkorean","yerahbenyomohebrew","yerahbenyomolefthebrew","yericyrillic","yerudieresiscyrillic","yesieungkorean","yesieungpansioskorean","yesieungsioskorean","yetivhebrew","ygrave","yhook","yhookabove","yiarmenian","yicyrillic","yikorean","yinyang","yiwnarmenian","ymonospace","yod","yoddagesh","yoddageshhebrew","yodhebrew","yodyodhebrew","yodyodpatahhebrew","yohiragana","yoikorean","yokatakana","yokatakanahalfwidth","yokorean","yosmallhiragana","yosmallkatakana","yosmallkatakanahalfwidth","yotgreek","yoyaekorean","yoyakorean","yoyakthai","yoyingthai","yparen","ypogegrammeni","ypogegrammenigreekcmb","yr","yring","ysuperior","ytilde","yturned","yuhiragana","yuikorean","yukatakana","yukatakanahalfwidth","yukorean","yusbigcyrillic","yusbigiotifiedcyrillic","yuslittlecyrillic","yuslittleiotifiedcyrillic","yusmallhiragana","yusmallkatakana","yusmallkatakanahalfwidth","yuyekorean","yuyeokorean","yyabengali","yyadeva","zaarmenian","zacute","zadeva","zagurmukhi","zaharabic","zahfinalarabic","zahinitialarabic","zahiragana","zahmedialarabic","zainarabic","zainfinalarabic","zakatakana","zaqefgadolhebrew","zaqefqatanhebrew","zarqahebrew","zayin","zayindagesh","zayindageshhebrew","zayinhebrew","zbopomofo","zcaron","zcircle","zcircumflex","zcurl","zdot","zdotaccent","zdotbelow","zecyrillic","zedescendercyrillic","zedieresiscyrillic","zehiragana","zekatakana","zero","zeroarabic","zerobengali","zerodeva","zerogujarati","zerogurmukhi","zerohackarabic","zeroinferior","zeromonospace","zerooldstyle","zeropersian","zerosuperior","zerothai","zerowidthjoiner","zerowidthnonjoiner","zerowidthspace","zeta","zhbopomofo","zhearmenian","zhebrevecyrillic","zhecyrillic","zhedescendercyrillic","zhedieresiscyrillic","zihiragana","zikatakana","zinorhebrew","zlinebelow","zmonospace","zohiragana","zokatakana","zparen","zretroflexhook","zstroke","zuhiragana","zukatakana","angbracketleftbig","angbracketleftBig","angbracketleftbigg","angbracketleftBigg","angbracketrightBig","angbracketrightbig","angbracketrightBigg","angbracketrightbigg","arrowhookleft","arrowhookright","arrowlefttophalf","arrowleftbothalf","arrownortheast","arrownorthwest","arrowrighttophalf","arrowrightbothalf","arrowsoutheast","arrowsouthwest","backslashbig","backslashBig","backslashBigg","backslashbigg","bardbl","bracehtipdownleft","bracehtipdownright","bracehtipupleft","bracehtipupright","braceleftBig","braceleftbig","braceleftbigg","braceleftBigg","bracerightBig","bracerightbig","bracerightbigg","bracerightBigg","bracketleftbig","bracketleftBig","bracketleftbigg","bracketleftBigg","bracketrightBig","bracketrightbig","bracketrightbigg","bracketrightBigg","ceilingleftbig","ceilingleftBig","ceilingleftBigg","ceilingleftbigg","ceilingrightbig","ceilingrightBig","ceilingrightbigg","ceilingrightBigg","circledotdisplay","circledottext","circlemultiplydisplay","circlemultiplytext","circleplusdisplay","circleplustext","contintegraldisplay","contintegraltext","coproductdisplay","coproducttext","floorleftBig","floorleftbig","floorleftbigg","floorleftBigg","floorrightbig","floorrightBig","floorrightBigg","floorrightbigg","hatwide","hatwider","hatwidest","intercal","integraldisplay","integraltext","intersectiondisplay","intersectiontext","logicalanddisplay","logicalandtext","logicalordisplay","logicalortext","parenleftBig","parenleftbig","parenleftBigg","parenleftbigg","parenrightBig","parenrightbig","parenrightBigg","parenrightbigg","prime","productdisplay","producttext","radicalbig","radicalBig","radicalBigg","radicalbigg","radicalbt","radicaltp","radicalvertex","slashbig","slashBig","slashBigg","slashbigg","summationdisplay","summationtext","tildewide","tildewider","tildewidest","uniondisplay","unionmultidisplay","unionmultitext","unionsqdisplay","unionsqtext","uniontext","vextenddouble","vextendsingle","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","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","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","ArialNarrow","ArialBlack","Arial","ArialMT","CourierNew","CourierNewPSMT","Helvetica","TimesNewRoman","TimesNewRomanPS","TimesNewRomanPSMT","Calibri","CenturyGothic","ComicSansMS","LucidaConsole","NuptialScript","SegoeUISymbol","Wingdings","Albertus","Aldus","Alexandria","Algerian","Antiqua","Apex","Arno","Aster","Aurora","Baskerville","Bell","Bembo","Benguiat","Bodoni","Bookman","Calisto","Calvert","Capitals","Cambria","Cartier","Caslon","Catull","Centaur","Chaparral","Cheltenham","Clarendon","Clearface","Cochin","Colonna","Constantia","Corona","Ecotype","Egyptienne","Elephant","Excelsior","Fairfield","Folkard","Footlight","FreeSerif","Garamond","Gentium","Georgia","Gloucester","Granjon","Heather","Hercules","Hiroshige","Imprint","Janson","Joanna","Korinna","Lexicon","Literaturnaya","Lucida","Melior","Memphis","Miller","Minion","Modern","Palatino","Perpetua","Plantin","Playbill","Renault","Requiem","Rockwell","Roman","Sabon","Scala","Seagull","Sistina","Souvenir","STIX","Sylfaen","Times","Trajan","Utopia","Versailles","Wanted","Weiss","Windsor","XITS","Dingbats","ZapfDingbats","getSpecialPUASymbols","hexStr","nameLen","toUpperCase","UnicodeRanges","isRTLRangeFor","charsLength","getLong","getUshort","getSubroutineBias","numSubrs","parseCmap","idDelta","idOffset","parseCff","gsubrs","isCFFCIDFont","parseGlyfTable","lookupCmap","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","instructionLength","numberOfPoints","points","startPoint","contour","compileCharString","charStringCode","bezierCurveTo","stems","xb","yb","y3","subrCode","stackClean","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","Type2Compiled","_CompiledFont2","cffInfo","HINTING_ENABLED","Type1CharString","COMMAND_MAP","hstem","vstem","vmoveto","rlineto","hlineto","vlineto","rrcurveto","callsubr","flex","drop","endchar","rmoveto","hmoveto","vhcurveto","hvcurveto","lsb","flexing","wx","sbx","executeCommand","dy","asb","sby","num2","num1","flexArgs","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","charStringObject","_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","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","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","PostScriptCompiler","PostScriptEvaluator","_ps_parser","_ref$isEvalSupported","_localFunctionCache","cachedFunction","parsedFunction","PDFFunction","parseArray","fnRef","localFunction","toNumberArray","CONSTRUCT_SAMPLED","CONSTRUCT_INTERPOLATED","CONSTRUCT_STICHED","CONSTRUCT_POSTSCRIPT","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","constructSampled","constructInterpolated","constructStiched","constructPostScript","typeFn","fromIR","IR","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","samples","interpolate","xmin","xmax","ymin","ymax","cubeVertices","cubeN","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","fnRefs","fns","dmin","dmax","rmin","rmax","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","baseTypes","arabicTypes","isOdd","isEven","findUnequal","setValues","reverseValues","createBidiText","isLTR","startLevel","strLength","numBidi","charType","sor","eor","lastType","before","after","highestLevel","lowestOddLevel","Courier","SEED","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","maskDict","bufferPos","rowComps","loop1End","loop2End","remainingBits","rgbaBuf","alphaBuf","sw","fillGrayBuffer","opacity","imageOffset","maskOffset","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","getComponents","fillOpacity","decodeBuffer","fillRgb","undoPreblend","_buildImage","_ref2$isInline","imageData","smaskData","maskData","computedLength","haveFullData","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","readers","_isRangeSupported","_isStreamingSupported","_headersReady","_read","_yield$this$_reader$r","_read2","_yield$this$_reader$r2","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","actual","fromArrayLike","isBuffer","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","valLength","readUInt16BE","foundIndex","hexWrite","parsed","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","ret","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","trim","units","leadSurrogate","byteArray","hi","lo","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","Item","browser","env","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask"],"mappings":"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S,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,SAClSqqD,EAAkB,CAAC,IAAIrqD,WAAW,CAAC,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,KAAS,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,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,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C,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,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ACtB/sF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,EAAG,GACF,CACDhtF,GAAI,EACJgtF,EAAG,GACF,CACDhtF,GAAI,EACJgtF,EAAG,GACF,CACDhtF,GAAI,EACJgtF,EAAG,IACD,CAAC,CACHhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,EAAG,GACF,CACDhtF,GAAI,EACJgtF,EAAG,GACF,CACDhtF,GAAI,EACJgtF,EAAG,IACD,CAAC,CACHhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,EAAG,GACF,CACDhtF,GAAI,EACJgtF,EAAG,IACD,CAAC,CACHhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,GAAI,EACJgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF,EAAG,EACHgtF,GAAI,GACH,CACDhtF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Y,GACX,CACDH,GAAI,KACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,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,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M,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,KACphDsD,KAAKs0H,OAAS,IAAI53H,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,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAA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AAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,QAAS,KAAM,KAAM,OAAQ,KAAM,KAAM,KAAM,OAAQ,OAAQ,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,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,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,GAAI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,GAAI,OAAQ,OAAQ,O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,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,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,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,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,QAEZpB,EAAQstK,4BAA8B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O,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CACC4qE,MAAO,KACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,MACP5qE,IAAK,OAEN,CACC4qE,MAAO,KACP5qE,IAAK,MAEN,CA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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,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,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,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,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,K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","file":"c44800fbcd8dfc798ce9.worker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_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, __webpack_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__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_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__webpack_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__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_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__webpack_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) __webpack_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__webpack_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__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"b4a5\");\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf.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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"WorkerMessageHandler\", {\n enumerable: true,\n get: function get() {\n return _worker.WorkerMessageHandler;\n }\n});\n\nvar _worker = __w_pdfjs_require__(1);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.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__(202);\n\nvar _pdf_manager = __w_pdfjs_require__(203);\n\nvar _writer = __w_pdfjs_require__(224);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(243);\n\nvar _worker_stream = __w_pdfjs_require__(244);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\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 WorkerTask = /*#__PURE__*/function () {\n function WorkerTask(name) {\n _classCallCheck(this, WorkerTask);\n\n this.name = name;\n this.terminated = false;\n this._capability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(WorkerTask, [{\n key: \"finish\",\n value: function finish() {\n this._capability.resolve();\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this.terminated = true;\n }\n }, {\n key: \"ensureNotTerminated\",\n value: function ensureNotTerminated() {\n if (this.terminated) {\n throw new Error(\"Worker task was terminated\");\n }\n }\n }, {\n key: \"finished\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return WorkerTask;\n}();\n\nexports.WorkerTask = WorkerTask;\n\nvar WorkerMessageHandler = /*#__PURE__*/function () {\n function WorkerMessageHandler() {\n _classCallCheck(this, WorkerMessageHandler);\n }\n\n _createClass(WorkerMessageHandler, null, [{\n key: \"setup\",\n value: 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 }, {\n key: \"createDocumentHandler\",\n value: 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.6.347';\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 enumerableProperties = [];\n\n for (var property in []) {\n enumerableProperties.push(property);\n }\n\n if (enumerableProperties.length) {\n throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \" + enumerableProperties.join(\", \") + \"; thus breaking e.g. `for...in` iteration of `Array`s.\");\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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(recoveryMode) {\n var _yield$Promise$all, _yield$Promise$all2, 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 _yield$Promise$all = _context.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n numPages = _yield$Promise$all2[0];\n fingerprint = _yield$Promise$all2[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 newPdfManager;\n var source = data.source;\n\n if (source.data) {\n try {\n newPdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(newPdfManager);\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 newPdfManager = 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 newPdfManager.sendProgressiveData(cachedChunks[i]);\n }\n\n cachedChunks = [];\n pdfManagerCapability.resolve(newPdfManager);\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 newPdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(newPdfManager);\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(_ref) {\n var value = _ref.value,\n done = _ref.done;\n\n try {\n ensureNotTerminated();\n\n if (done) {\n if (!newPdfManager) {\n flushChunks();\n }\n\n cancelXHRs = null;\n return;\n }\n\n loaded += (0, _util.arrayByteLength)(value);\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 (newPdfManager) {\n newPdfManager.sendProgressiveData(value);\n } else {\n cachedChunks.push(value);\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(ex) {\n ensureNotTerminated();\n\n if (ex instanceof _util.PasswordException) {\n var task = new WorkerTask(\"PasswordException: response \".concat(ex.code));\n startWorkerTask(task);\n handler.sendWithPromise(\"PasswordRequest\", ex).then(function (_ref2) {\n var password = _ref2.password;\n finishWorkerTask(task);\n pdfManager.updatePassword(password);\n pdfManagerReady();\n })[\"catch\"](function () {\n finishWorkerTask(task);\n handler.send(\"DocException\", ex);\n });\n } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {\n handler.send(\"DocException\", ex);\n } else {\n handler.send(\"DocException\", new _util.UnknownErrorException(ex.message, ex.toString()));\n }\n }\n\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function (reason) {\n ensureNotTerminated();\n\n if (!(reason instanceof _core_utils.XRefParseException)) {\n onFailure(reason);\n return;\n }\n\n pdfManager.requestLoadedStream();\n pdfManager.onLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n });\n }\n\n ensureNotTerminated();\n var evaluatorOptions = {\n maxImageSize: data.maxImageSize,\n disableFontFace: data.disableFontFace,\n ignoreErrors: data.ignoreErrors,\n isEvalSupported: data.isEvalSupported,\n fontExtraProperties: data.fontExtraProperties\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 (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 4),\n rotate = _ref4[0],\n ref = _ref4[1],\n userUnit = _ref4[2],\n view = _ref4[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(_ref5) {\n var ref = _ref5.ref;\n\n var pageRef = _primitives.Ref.get(ref.num, ref.gen);\n\n return pdfManager.ensureCatalog(\"getPageIndex\", [pageRef]);\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(\"GetOpenAction\", function (data) {\n return pdfManager.ensureCatalog(\"openAction\");\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(\"GetOptionalContentConfig\", function (data) {\n return pdfManager.ensureCatalog(\"optionalContentConfig\");\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.ensureXRef(\"stats\");\n });\n handler.on(\"GetAnnotations\", function (_ref6) {\n var pageIndex = _ref6.pageIndex,\n intent = _ref6.intent;\n return pdfManager.getPage(pageIndex).then(function (page) {\n return page.getAnnotationsData(intent);\n });\n });\n handler.on(\"SaveDocument\", function (_ref7) {\n var numPages = _ref7.numPages,\n annotationStorage = _ref7.annotationStorage,\n filename = _ref7.filename;\n pdfManager.requestLoadedStream();\n var promises = [pdfManager.onLoadedStream()];\n var document = pdfManager.pdfDocument;\n\n var _loop = function _loop(pageIndex) {\n promises.push(pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"Save: page \".concat(pageIndex));\n return page.save(handler, task, annotationStorage);\n }));\n };\n\n for (var pageIndex = 0; pageIndex < numPages; pageIndex++) {\n _loop(pageIndex);\n }\n\n return Promise.all(promises).then(function (_ref8) {\n var _ref9 = _toArray(_ref8),\n stream = _ref9[0],\n refs = _ref9.slice(1);\n\n var newRefs = [];\n\n var _iterator = _createForOfIteratorHelper(refs),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var ref = _step.value;\n newRefs = ref.filter(function (x) {\n return x !== null;\n }).reduce(function (a, b) {\n return a.concat(b);\n }, newRefs);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (newRefs.length === 0) {\n return stream.bytes;\n }\n\n var xref = document.xref;\n var newXrefInfo = Object.create(null);\n\n if (xref.trailer) {\n var _info = Object.create(null);\n\n var xrefInfo = xref.trailer.get(\"Info\") || null;\n\n if (xrefInfo) {\n xrefInfo.forEach(function (key, value) {\n if ((0, _util.isString)(key) && (0, _util.isString)(value)) {\n _info[key] = (0, _util.stringToPDFString)(value);\n }\n });\n }\n\n newXrefInfo = {\n rootRef: xref.trailer.getRaw(\"Root\") || null,\n encrypt: xref.trailer.getRaw(\"Encrypt\") || null,\n newRef: xref.getNewRef(),\n infoRef: xref.trailer.getRaw(\"Info\") || null,\n info: _info,\n fileIds: xref.trailer.getRaw(\"ID\") || null,\n startXRef: document.startXRef,\n filename: filename\n };\n }\n\n xref.resetNewRef();\n return (0, _writer.incrementalUpdate)(stream.bytes, newXrefInfo, newRefs);\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 annotationStorage: data.annotationStorage\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.errorOperatorList\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(true);\n });\n handler.on(\"Terminate\", function wphTerminate(data) {\n terminated = true;\n var waitOn = [];\n\n if (pdfManager) {\n pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n var cleanupPromise = pdfManager.cleanup();\n waitOn.push(cleanupPromise);\n pdfManager = null;\n } else {\n (0, _primitives.clearPrimitiveCaches)();\n }\n\n if (cancelXHRs) {\n cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));\n }\n\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 }, {\n key: \"initializeFromPort\",\n value: 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 }]);\n\n return WorkerMessageHandler;\n}();\n\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n}\n\nif (typeof window === \"undefined\" && !_is_node.isNodeJS && 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) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(6);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.apply(this, arguments);\n }\n\n return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction getModificationDate() {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(Date.now());\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), (date.getUTCDate() + 1).toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.atob = function (input) {\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (div.classList.contains(\"testOne\") === true && div.classList.contains(\"testTwo\") === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || _is_node.isNodeJS) {\n return;\n }\n\n var div = document.createElement(\"div\");\n\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n\n __w_pdfjs_require__(101);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(105);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(107);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(109);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(112);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(117);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(138);\n })();\n\n (function checkReadableStream() {\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(145).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(146);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(155);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(161);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(163);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(165);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(190);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(195);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(197);\n })();\n\n (function checkObjectEntries() {\n if (Object.entries) {\n return;\n }\n\n Object.entries = __w_pdfjs_require__(200);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {\n }\n }\n return false;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n}, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\n$({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n}, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n});\n$({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n}, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size)\n return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(103);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar iterate = __w_pdfjs_require__(104);\nvar createProperty = __w_pdfjs_require__(93);\n$({\n target: 'Object',\n stat: true\n}, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, undefined, true);\n return obj;\n }\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar log = Math.log;\nvar LN2 = Math.LN2;\n$({\n target: 'Math',\n stat: true\n}, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(108);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(110);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(111);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(113);\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(114);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(115);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(136);\n__w_pdfjs_require__(137);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(119);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(121);\nvar ArrayIteratorMethods = __w_pdfjs_require__(102);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(125);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(126);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(104);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar task = __w_pdfjs_require__(127).set;\nvar microtask = __w_pdfjs_require__(130);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar hostReportErrors = __w_pdfjs_require__(133);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n }, { unsafe: true });\n if (typeof $fetch == 'function')\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(128);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(127).set;\nvar IS_IOS = __w_pdfjs_require__(128);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(132);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(129);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar iterate = __w_pdfjs_require__(104);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(123);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(144);\n__w_pdfjs_require__(142);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(126);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(141);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(142);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure)\n throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url))\n return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(102);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(126);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(143);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\n }\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\n }\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\n }\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\n }\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex)\n entries.push(entry);\n }\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n }\n function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n }\n function MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\n };\n }\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }();\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n WritableStreamDefaultController.prototype.error = function (e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }();\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return promiseRejectedWith(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return promiseRejectedWith(e);\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n }();\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\n };\n }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n }();\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n }();\n var TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n }();\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar iterate = __w_pdfjs_require__(104);\nvar anInstance = __w_pdfjs_require__(126);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(151);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(150);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(124);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(125);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(149).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(124);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(124);\nvar getWeakData = __w_pdfjs_require__(149).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar ArrayIterationModule = __w_pdfjs_require__(158);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar push = [].push;\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n};\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(160);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\n$({\n target: 'String',\n proto: true\n}, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n$({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n}, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n return elements.join('');\n }\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(170);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\n__w_pdfjs_require__(188);\n__w_pdfjs_require__(189);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(169);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n$({\n target: 'Array',\n proto: true,\n forced: FORCED\n}, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(171);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(158).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key))\n result.push(key);\n });\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n$({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\n USE_SETTER = false;\n }\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n}, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n$({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n}, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n}, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineProperty = __w_pdfjs_require__(27).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol))\n return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(191);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(192).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(193);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(192).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(198);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(199).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(201);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.entries;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $entries = __w_pdfjs_require__(199).entries;\n$({\n target: 'Object',\n stat: true\n}, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.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) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction 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\n get size() {\n return Object.keys(this._map).length;\n },\n\n get: function get(key1, key2, key3) {\n var value = this._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n\n if (value === undefined && 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 getAsync(key1, key2, key3) {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\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 && key2 !== undefined) {\n value = _this._map[key2];\n\n if (value === undefined && 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);\n }))();\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 getRawValues: function Dict_getRawValues() {\n return Object.values(this._map);\n },\n set: function Dict_set(key, value) {\n this._map[key] = value;\n },\n has: function Dict_has(key) {\n return this._map[key] !== undefined;\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 (_ref) {\n var xref = _ref.xref,\n dictArray = _ref.dictArray,\n _ref$mergeSubDicts = _ref.mergeSubDicts,\n mergeSubDicts = _ref$mergeSubDicts === void 0 ? false : _ref$mergeSubDicts;\n var mergedDict = new Dict(xref);\n\n if (!mergeSubDicts) {\n var _iterator = _createForOfIteratorHelper(dictArray),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var dict = _step.value;\n\n if (!(dict instanceof Dict)) {\n continue;\n }\n\n for (var _i = 0, _Object$entries = Object.entries(dict._map); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n\n if (mergedDict._map[key] === undefined) {\n mergedDict._map[key] = value;\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return mergedDict.size > 0 ? mergedDict : Dict.empty;\n }\n\n var properties = new Map();\n\n var _iterator2 = _createForOfIteratorHelper(dictArray),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _dict = _step2.value;\n\n if (!(_dict instanceof Dict)) {\n continue;\n }\n\n for (var _i2 = 0, _Object$entries2 = Object.entries(_dict._map); _i2 < _Object$entries2.length; _i2++) {\n var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),\n _key = _Object$entries2$_i[0],\n _value = _Object$entries2$_i[1];\n\n var property = properties.get(_key);\n\n if (property === undefined) {\n property = [];\n properties.set(_key, property);\n }\n\n property.push(_value);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var _iterator3 = _createForOfIteratorHelper(properties),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _slicedToArray(_step3.value, 2),\n name = _step3$value[0],\n values = _step3$value[1];\n\n if (values.length === 1 || !(values[0] instanceof Dict)) {\n mergedDict._map[name] = values[0];\n continue;\n }\n\n var subDict = new Dict(xref);\n\n var _iterator4 = _createForOfIteratorHelper(values),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _dict2 = _step4.value;\n\n if (!(_dict2 instanceof Dict)) {\n continue;\n }\n\n for (var _i3 = 0, _Object$entries3 = Object.entries(_dict2._map); _i3 < _Object$entries3.length; _i3++) {\n var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2),\n _key2 = _Object$entries3$_i[0],\n _value2 = _Object$entries3$_i[1];\n\n if (subDict._map[_key2] === undefined) {\n subDict._map[_key2] = _value2;\n }\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n if (subDict.size > 0) {\n mergedDict._map[name] = subDict;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n properties.clear();\n return mergedDict.size > 0 ? mergedDict : Dict.empty;\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 = /*#__PURE__*/function () {\n function RefSet() {\n _classCallCheck(this, RefSet);\n\n this._set = new Set();\n }\n\n _createClass(RefSet, [{\n key: \"has\",\n value: function has(ref) {\n return this._set.has(ref.toString());\n }\n }, {\n key: \"put\",\n value: function put(ref) {\n this._set.add(ref.toString());\n }\n }, {\n key: \"remove\",\n value: function remove(ref) {\n this._set[\"delete\"](ref.toString());\n }\n }]);\n\n return RefSet;\n}();\n\nexports.RefSet = RefSet;\n\nvar RefSetCache = /*#__PURE__*/function () {\n function RefSetCache() {\n _classCallCheck(this, RefSetCache);\n\n this._map = new Map();\n }\n\n _createClass(RefSetCache, [{\n key: \"get\",\n value: function get(ref) {\n return this._map.get(ref.toString());\n }\n }, {\n key: \"has\",\n value: function has(ref) {\n return this._map.has(ref.toString());\n }\n }, {\n key: \"put\",\n value: function put(ref, obj) {\n this._map.set(ref.toString(), obj);\n }\n }, {\n key: \"putAlias\",\n value: function putAlias(ref, aliasRef) {\n this._map.set(ref.toString(), this.get(aliasRef));\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var _iterator5 = _createForOfIteratorHelper(this._map.values()),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var value = _step5.value;\n callback(value);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._map.clear();\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._map.size;\n }\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/* 203 */\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__(204);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _document = __w_pdfjs_require__(206);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BasePdfManager = /*#__PURE__*/function () {\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 var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return this.pdfDocument.cleanup(manuallyTriggered);\n }\n }, {\n key: \"ensure\",\n value: function () {\n var _ensure = _asyncToGenerator( /*#__PURE__*/_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 = /*#__PURE__*/function (_BasePdfManager) {\n _inherits(LocalPdfManager, _BasePdfManager);\n\n var _super = _createSuper(LocalPdfManager);\n\n function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n var _this;\n\n _classCallCheck(this, LocalPdfManager);\n\n _this = _super.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( /*#__PURE__*/_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 = /*#__PURE__*/function (_BasePdfManager2) {\n _inherits(NetworkPdfManager, _BasePdfManager2);\n\n var _super2 = _createSuper(NetworkPdfManager);\n\n function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n var _this2;\n\n _classCallCheck(this, NetworkPdfManager);\n\n _this2 = _super2.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( /*#__PURE__*/_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/* 204 */\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__(205);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ChunkedStream = /*#__PURE__*/function () {\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 = new Set();\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.has(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 this._loadedChunks.add(curChunk);\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 this._loadedChunks.add(curChunk);\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.has(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.has(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.has(chunk)) {\n return chunk;\n }\n }\n\n return null;\n }\n }, {\n key: \"hasChunk\",\n value: function hasChunk(chunk) {\n return this._loadedChunks.has(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\n if (peekedByte !== -1) {\n this.pos--;\n }\n\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.has(chunk)) {\n missingChunks.push(chunk);\n }\n }\n\n return missingChunks;\n };\n\n ChunkedStreamSubstream.prototype.allChunksLoaded = function () {\n if (this.numChunksLoaded === this.numChunks) {\n return true;\n }\n\n return this.getMissingChunks().length === 0;\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: \"numChunksLoaded\",\n get: function get() {\n return this._loadedChunks.size;\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 = /*#__PURE__*/function () {\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 = new Map();\n this._requestsByChunk = new Map();\n this._promisesByRequest = new Map();\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 _this2 = this;\n\n var requestId = this.currRequestId++;\n var chunksNeeded = new Set();\n\n this._chunksNeededByRequest.set(requestId, chunksNeeded);\n\n var _iterator = _createForOfIteratorHelper(chunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n\n if (!this.stream.hasChunk(chunk)) {\n chunksNeeded.add(chunk);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (chunksNeeded.size === 0) {\n return Promise.resolve();\n }\n\n var capability = (0, _util.createPromiseCapability)();\n\n this._promisesByRequest.set(requestId, capability);\n\n var chunksToRequest = [];\n\n var _iterator2 = _createForOfIteratorHelper(chunksNeeded),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _chunk = _step2.value;\n\n var requestIds = this._requestsByChunk.get(_chunk);\n\n if (!requestIds) {\n requestIds = [];\n\n this._requestsByChunk.set(_chunk, requestIds);\n\n chunksToRequest.push(_chunk);\n }\n\n requestIds.push(requestId);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n if (chunksToRequest.length > 0) {\n var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n\n var _iterator3 = _createForOfIteratorHelper(groupedChunksToRequest),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var groupedChunk = _step3.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 _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return capability.promise[\"catch\"](function (reason) {\n if (_this2.aborted) {\n return;\n }\n\n throw reason;\n });\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\n var _iterator4 = _createForOfIteratorHelper(ranges),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var range = _step4.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 _iterator4.e(err);\n } finally {\n _iterator4.f();\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 curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n var requestIds = this._requestsByChunk.get(curChunk);\n\n if (!requestIds) {\n continue;\n }\n\n this._requestsByChunk[\"delete\"](curChunk);\n\n var _iterator5 = _createForOfIteratorHelper(requestIds),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var requestId = _step5.value;\n\n var chunksNeeded = this._chunksNeededByRequest.get(requestId);\n\n if (chunksNeeded.has(curChunk)) {\n chunksNeeded[\"delete\"](curChunk);\n }\n\n if (chunksNeeded.size > 0) {\n continue;\n }\n\n loadedRequests.push(requestId);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n\n if (!this.disableAutoFetch && this._requestsByChunk.size === 0) {\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\n var capability = this._promisesByRequest.get(_requestId);\n\n this._promisesByRequest[\"delete\"](_requestId);\n\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 var _iterator6 = _createForOfIteratorHelper(this._promisesByRequest.values()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var capability = _step6.value;\n capability.reject(reason);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n }]);\n\n return ChunkedStreamManager;\n}();\n\nexports.ChunkedStreamManager = ChunkedStreamManager;\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.getLookupTableFactory = getLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.toRomanNumerals = toRomanNumerals;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.isWhiteSpace = isWhiteSpace;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\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 = /*#__PURE__*/function (_BaseException) {\n _inherits(MissingDataException, _BaseException);\n\n var _super = _createSuper(MissingDataException);\n\n function MissingDataException(begin, end) {\n var _this;\n\n _classCallCheck(this, MissingDataException);\n\n _this = _super.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 = /*#__PURE__*/function (_BaseException2) {\n _inherits(XRefEntryException, _BaseException2);\n\n var _super2 = _createSuper(XRefEntryException);\n\n function XRefEntryException() {\n _classCallCheck(this, XRefEntryException);\n\n return _super2.apply(this, arguments);\n }\n\n return XRefEntryException;\n}(_util.BaseException);\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = /*#__PURE__*/function (_BaseException3) {\n _inherits(XRefParseException, _BaseException3);\n\n var _super3 = _createSuper(XRefParseException);\n\n function XRefParseException() {\n _classCallCheck(this, XRefParseException);\n\n return _super3.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 romanBuf = [];\n var pos;\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\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n return data[offset] << 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 isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\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.PDFDocument = exports.Page = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(207);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _annotation = __w_pdfjs_require__(222);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _evaluator = __w_pdfjs_require__(225);\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 _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_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 = /*#__PURE__*/function () {\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 globalIdFactory = _ref.globalIdFactory,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n globalImageCache = _ref.globalImageCache;\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.globalImageCache = globalImageCache;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n var idCounters = {\n obj: 0\n };\n\n this._localIdFactory = /*#__PURE__*/function (_globalIdFactory) {\n _inherits(_class, _globalIdFactory);\n\n var _super = _createSuper(_class);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(_class, null, [{\n key: \"createObjId\",\n value: function createObjId() {\n return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n }\n }]);\n\n return _class;\n }(globalIdFactory);\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({\n xref: this.xref,\n dictArray: value\n });\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\n var _iterator = _createForOfIteratorHelper(content),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var subStream = _step.value;\n streams.push(xref.fetchIfRef(subStream));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n stream = new _stream.StreamsSequenceStream(streams);\n } else if ((0, _primitives.isStream)(content)) {\n stream = content;\n } else {\n stream = new _stream.NullStream();\n }\n\n return stream;\n }\n }, {\n key: \"save\",\n value: function save(handler, task, annotationStorage) {\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler: handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n globalImageCache: this.globalImageCache,\n options: this.evaluatorOptions\n });\n return this._parsedAnnotations.then(function (annotations) {\n var newRefsPromises = [];\n\n var _iterator2 = _createForOfIteratorHelper(annotations),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var annotation = _step2.value;\n\n if (!isAnnotationRenderable(annotation, \"print\")) {\n continue;\n }\n\n newRefsPromises.push(annotation.save(partialEvaluator, task, annotationStorage)[\"catch\"](function (reason) {\n (0, _util.warn)(\"save - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n return null;\n }));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return Promise.all(newRefsPromises);\n });\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 annotationStorage = _ref2.annotationStorage;\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._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n globalImageCache: this.globalImageCache,\n options: this.evaluatorOptions\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);\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\n var _iterator3 = _createForOfIteratorHelper(annotations),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var annotation = _step3.value;\n\n if (isAnnotationRenderable(annotation, intent)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms, annotationStorage)[\"catch\"](function (reason) {\n (0, _util.warn)(\"getOperatorList - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n return null;\n }));\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return Promise.all(opListPromises).then(function (opLists) {\n pageOpList.addOp(_util.OPS.beginAnnotations, []);\n\n var _iterator4 = _createForOfIteratorHelper(opLists),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var opList = _step4.value;\n pageOpList.addOpList(opList);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\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._localIdFactory,\n fontCache: _this3.fontCache,\n builtInCMapCache: _this3.builtInCMapCache,\n globalImageCache: _this3.globalImageCache,\n options: _this3.evaluatorOptions\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 annotationPromises = [];\n\n var _iterator5 = _createForOfIteratorHelper(_this4.annotations),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var annotationRef = _step5.value;\n annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRef, _this4.pdfManager, _this4._localIdFactory)[\"catch\"](function (reason) {\n (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return Promise.all(annotationPromises).then(function (annotations) {\n return annotations.filter(function (annotation) {\n return !!annotation;\n });\n });\n });\n return (0, _util.shadow)(this, \"_parsedAnnotations\", parsedAnnotations);\n }\n }]);\n\n return Page;\n}();\n\nexports.Page = Page;\nvar PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\nvar STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\nvar ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\nvar FINGERPRINT_FIRST_BYTES = 1024;\nvar EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\nvar PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\nfunction find(stream, signature) {\n var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1024;\n var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var signatureLength = signature.length;\n var scanBytes = stream.peekBytes(limit);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n return false;\n }\n\n if (backwards) {\n var signatureEnd = signatureLength - 1;\n var pos = scanBytes.length - 1;\n\n while (pos >= signatureEnd) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos - signatureEnd;\n return true;\n }\n\n pos--;\n }\n } else {\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 true;\n }\n\n _pos++;\n }\n }\n\n return false;\n}\n\nvar PDFDocument = /*#__PURE__*/function () {\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 _stream.Stream(arg);\n } else {\n throw new Error(\"PDFDocument: Unknown argument type\");\n }\n\n if (stream.length <= 0) {\n throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");\n }\n\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _obj.XRef(stream, pdfManager);\n this._pagePromises = [];\n this._version = null;\n var idCounters = {\n font: 0\n };\n\n this._globalIdFactory = /*#__PURE__*/function () {\n function _class2() {\n _classCallCheck(this, _class2);\n }\n\n _createClass(_class2, null, [{\n key: \"getDocId\",\n value: function getDocId() {\n return \"g_\".concat(pdfManager.docId);\n }\n }, {\n key: \"createFontId\",\n value: function createFontId() {\n return \"f\".concat(++idCounters.font);\n }\n }, {\n key: \"createObjId\",\n value: function createObjId() {\n (0, _util.unreachable)(\"Abstract method `createObjId` called.\");\n }\n }]);\n\n return _class2;\n }();\n }\n\n _createClass(PDFDocument, [{\n key: \"parse\",\n value: function parse(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n\n if (this.catalog.version) {\n this._version = this.catalog.version;\n }\n }\n }, {\n key: \"checkHeader\",\n value: function checkHeader() {\n var stream = this.stream;\n stream.reset();\n\n if (!find(stream, PDF_HEADER_SIGNATURE)) {\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._version) {\n this._version = version.substring(5);\n }\n }\n }, {\n key: \"parseStartXRef\",\n value: function parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n }, {\n key: \"_hasOnlyDocumentSignatures\",\n value: function _hasOnlyDocumentSignatures(fields) {\n var _this5 = this;\n\n var recursionDepth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var RECURSION_LIMIT = 10;\n return fields.every(function (field) {\n field = _this5.xref.fetchIfRef(field);\n\n if (field.has(\"Kids\")) {\n if (++recursionDepth > RECURSION_LIMIT) {\n (0, _util.warn)(\"_hasOnlyDocumentSignatures: maximum recursion depth reached\");\n return false;\n }\n\n return _this5._hasOnlyDocumentSignatures(field.get(\"Kids\"), recursionDepth);\n }\n\n var isSignature = (0, _primitives.isName)(field.get(\"FT\"), \"Sig\");\n var rectangle = field.get(\"Rect\");\n var isInvisible = Array.isArray(rectangle) && rectangle.every(function (value) {\n return value === 0;\n });\n return isSignature && isInvisible;\n });\n }\n }, {\n key: \"_getLinearizationPage\",\n value: function _getLinearizationPage(pageIndex) {\n var catalog = this.catalog,\n linearization = this.linearization;\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 _this6 = 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: _this6.pdfManager,\n xref: _this6.xref,\n pageIndex: pageIndex,\n pageDict: pageDict,\n ref: ref,\n globalIdFactory: _this6._globalIdFactory,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n globalImageCache: catalog.globalImageCache\n });\n });\n }\n }, {\n key: \"checkFirstPage\",\n value: function checkFirstPage() {\n var _this7 = this;\n\n return this.getPage(0)[\"catch\"]( /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(reason) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(reason instanceof _core_utils.XRefEntryException)) {\n _context.next = 5;\n break;\n }\n\n _this7._pagePromises.length = 0;\n _context.next = 4;\n return _this7.cleanup();\n\n case 4:\n throw new _core_utils.XRefParseException();\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref12.apply(this, arguments);\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 () {\n var _cleanup = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var manuallyTriggered,\n _args2 = arguments;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n manuallyTriggered = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;\n return _context2.abrupt(\"return\", this.catalog ? this.catalog.cleanup(manuallyTriggered) : (0, _primitives.clearPrimitiveCaches)());\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function cleanup() {\n return _cleanup.apply(this, arguments);\n }\n\n return 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_SIGNATURE)) {\n startXRef = stream.pos + 6 - stream.start;\n }\n } else {\n var step = 1024;\n var startXRefLength = STARTXREF_SIGNATURE.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_SIGNATURE, step, true);\n }\n\n if (found) {\n stream.skip(9);\n var ch;\n\n do {\n ch = stream.getByte();\n } while ((0, _core_utils.isWhiteSpace)(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: \"formInfo\",\n get: function get() {\n var formInfo = {\n hasAcroForm: false,\n hasXfa: false\n };\n var acroForm = this.catalog.acroForm;\n\n if (!acroForm) {\n return (0, _util.shadow)(this, \"formInfo\", formInfo);\n }\n\n try {\n var xfa = acroForm.get(\"XFA\");\n var hasXfa = Array.isArray(xfa) && xfa.length > 0 || (0, _primitives.isStream)(xfa) && !xfa.isEmpty;\n formInfo.hasXfa = hasXfa;\n var fields = acroForm.get(\"Fields\");\n var hasFields = Array.isArray(fields) && fields.length > 0;\n var sigFlags = acroForm.get(\"SigFlags\");\n\n var hasOnlyDocumentSignatures = !!(sigFlags & 0x1) && this._hasOnlyDocumentSignatures(fields);\n\n formInfo.hasAcroForm = hasFields && !hasOnlyDocumentSignatures;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch form information.\");\n }\n\n return (0, _util.shadow)(this, \"formInfo\", formInfo);\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 version = this._version;\n\n if (typeof version !== \"string\" || !PDF_HEADER_VERSION_REGEXP.test(version)) {\n (0, _util.warn)(\"Invalid PDF header version number: \".concat(version));\n version = null;\n }\n\n var docInfo = {\n PDFFormatVersion: version,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: this.formInfo.hasAcroForm,\n IsXFAPresent: this.formInfo.hasXfa,\n IsCollectionPresent: !!this.catalog.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 _iterator6 = _createForOfIteratorHelper(infoDict.getKeys()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var key = _step6.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 _iterator6.e(err);\n } finally {\n _iterator6.f();\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/* 207 */\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__(202);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get(\"D\") : dest;\n}\n\nvar Catalog = /*#__PURE__*/function () {\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.globalImageCache = new _image_utils.GlobalImageCache();\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: \"_readOptionalContentConfig\",\n value: function _readOptionalContentConfig(config, contentGroupRefs) {\n function parseOnOff(refs) {\n var onParsed = [];\n\n if (Array.isArray(refs)) {\n var _iterator = _createForOfIteratorHelper(refs),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var value = _step.value;\n\n if (!(0, _primitives.isRef)(value)) {\n continue;\n }\n\n if (contentGroupRefs.includes(value)) {\n onParsed.push(value.toString());\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return onParsed;\n }\n\n function parseOrder(refs) {\n var nestedLevels = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!Array.isArray(refs)) {\n return null;\n }\n\n var order = [];\n\n var _iterator2 = _createForOfIteratorHelper(refs),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var value = _step2.value;\n\n if ((0, _primitives.isRef)(value) && contentGroupRefs.includes(value)) {\n parsedOrderRefs.put(value);\n order.push(value.toString());\n continue;\n }\n\n var nestedOrder = parseNestedOrder(value, nestedLevels);\n\n if (nestedOrder) {\n order.push(nestedOrder);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n if (nestedLevels > 0) {\n return order;\n }\n\n var hiddenGroups = [];\n\n var _iterator3 = _createForOfIteratorHelper(contentGroupRefs),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var groupRef = _step3.value;\n\n if (parsedOrderRefs.has(groupRef)) {\n continue;\n }\n\n hiddenGroups.push(groupRef.toString());\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n if (hiddenGroups.length) {\n order.push({\n name: null,\n order: hiddenGroups\n });\n }\n\n return order;\n }\n\n function parseNestedOrder(ref, nestedLevels) {\n if (++nestedLevels > MAX_NESTED_LEVELS) {\n (0, _util.warn)(\"parseNestedOrder - reached MAX_NESTED_LEVELS.\");\n return null;\n }\n\n var value = xref.fetchIfRef(ref);\n\n if (!Array.isArray(value)) {\n return null;\n }\n\n var nestedName = xref.fetchIfRef(value[0]);\n\n if (typeof nestedName !== \"string\") {\n return null;\n }\n\n var nestedOrder = parseOrder(value.slice(1), nestedLevels);\n\n if (!nestedOrder || !nestedOrder.length) {\n return null;\n }\n\n return {\n name: (0, _util.stringToPDFString)(nestedName),\n order: nestedOrder\n };\n }\n\n var xref = this.xref,\n parsedOrderRefs = new _primitives.RefSet(),\n MAX_NESTED_LEVELS = 10;\n return {\n name: (0, _util.isString)(config.get(\"Name\")) ? (0, _util.stringToPDFString)(config.get(\"Name\")) : null,\n creator: (0, _util.isString)(config.get(\"Creator\")) ? (0, _util.stringToPDFString)(config.get(\"Creator\")) : null,\n baseState: (0, _primitives.isName)(config.get(\"BaseState\")) ? config.get(\"BaseState\").name : null,\n on: parseOnOff(config.get(\"ON\")),\n off: parseOnOff(config.get(\"OFF\")),\n order: parseOrder(config.get(\"Order\")),\n groups: null\n };\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 _iterator4 = _createForOfIteratorHelper(translatedFonts),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var translatedFont = _step4.value;\n\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var _this = this;\n\n var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n (0, _primitives.clearPrimitiveCaches)();\n this.globalImageCache.clear(manuallyTriggered);\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 var _iterator5 = _createForOfIteratorHelper(translatedFonts),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var dict = _step5.value.dict;\n delete dict.translated;\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\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 visitedNodes = new _primitives.RefSet();\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 if (visitedNodes.has(currentNode)) {\n capability.reject(new _util.FormatError(\"Pages tree contains circular reference.\"));\n return {\n v: void 0\n };\n }\n\n visitedNodes.put(currentNode);\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 if (_ret === \"continue\") continue;\n if (_typeof(_ret) === \"object\") return _ret.v;\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 (obj) {\n if (!(0, _primitives.isDict)(obj)) {\n throw new _util.FormatError(\"Kid node must be a dictionary.\");\n }\n\n if (obj.has(\"Count\")) {\n total += obj.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: \"version\",\n get: function get() {\n var version = this._catDict.get(\"Version\");\n\n if (!(0, _primitives.isName)(version)) {\n return (0, _util.shadow)(this, \"version\", null);\n }\n\n return (0, _util.shadow)(this, \"version\", version.name);\n }\n }, {\n key: \"collection\",\n get: function get() {\n var collection = null;\n\n try {\n var obj = this._catDict.get(\"Collection\");\n\n if ((0, _primitives.isDict)(obj) && obj.size > 0) {\n collection = obj;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch Collection entry; assuming no collection is present.\");\n }\n\n return (0, _util.shadow)(this, \"collection\", collection);\n }\n }, {\n key: \"acroForm\",\n get: function get() {\n var acroForm = null;\n\n try {\n var obj = this._catDict.get(\"AcroForm\");\n\n if ((0, _primitives.isDict)(obj) && obj.size > 0) {\n acroForm = obj;\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 forms are present.\");\n }\n\n return (0, _util.shadow)(this, \"acroForm\", acroForm);\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: \"optionalContentConfig\",\n get: function get() {\n var config = null;\n\n try {\n var properties = this._catDict.get(\"OCProperties\");\n\n if (!properties) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var defaultConfig = properties.get(\"D\");\n\n if (!defaultConfig) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var groupsData = properties.get(\"OCGs\");\n\n if (!Array.isArray(groupsData)) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var groups = [];\n var groupRefs = [];\n\n var _iterator6 = _createForOfIteratorHelper(groupsData),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var groupRef = _step6.value;\n\n if (!(0, _primitives.isRef)(groupRef)) {\n continue;\n }\n\n groupRefs.push(groupRef);\n var group = this.xref.fetchIfRef(groupRef);\n groups.push({\n id: groupRef.toString(),\n name: (0, _util.isString)(group.get(\"Name\")) ? (0, _util.stringToPDFString)(group.get(\"Name\")) : null,\n intent: (0, _util.isString)(group.get(\"Intent\")) ? (0, _util.stringToPDFString)(group.get(\"Intent\")) : null\n });\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n config = this._readOptionalContentConfig(defaultConfig, groupRefs);\n config.groups = groups;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read optional content config: \".concat(ex));\n }\n\n return (0, _util.shadow)(this, \"optionalContentConfig\", config);\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\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\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\n var obj = this._catDict.get(\"ViewerPreferences\");\n\n var prefs = 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 if (typeof value !== \"boolean\") {\n throw new _util.FormatError(\"viewerPreferences - expected a boolean value for: \".concat(key));\n }\n\n prefValue = value;\n }\n\n if (prefValue !== undefined) {\n if (!prefs) {\n prefs = Object.create(null);\n }\n\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: \"openAction\",\n get: function get() {\n var obj = this._catDict.get(\"OpenAction\");\n\n var openAction = 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 action: null\n };\n Catalog.parseDestDictionary({\n destDict: destDict,\n resultObj: resultObj\n });\n\n if (Array.isArray(resultObj.dest)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = resultObj.dest;\n } else if (resultObj.action) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.action = resultObj.action;\n }\n } else if (Array.isArray(obj)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = obj;\n }\n\n return (0, _util.shadow)(this, \"openAction\", openAction);\n }\n }, {\n key: \"attachments\",\n get: function get() {\n var obj = this._catDict.get(\"Names\");\n\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\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 openAction = this._catDict.get(\"OpenAction\");\n\n if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get(\"S\"), \"JavaScript\")) {\n appendIfJavaScriptDict(openAction);\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 this._newRefNum = null;\n }\n\n XRef.prototype = {\n getNewRef: function XRef_getNewRef() {\n if (this._newRefNum === null) {\n this._newRefNum = this.entries.length;\n }\n\n return _primitives.Ref.get(this._newRefNum++, 0);\n },\n resetNewRef: function XRef_resetNewRef() {\n this._newRefNum = null;\n },\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 (!this.entries[num] || this.entries[num].gen === gen) {\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 var cacheEntry = this._cacheMap.get(num);\n\n if (cacheEntry !== undefined) {\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 (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 nums = new Array(n);\n\n for (var i = 0; i < n; ++i) {\n var 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 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 nums[i] = num;\n }\n\n var entries = new Array(n);\n\n for (var _i2 = 0; _i2 < n; ++_i2) {\n var obj = parser.getObj();\n entries[_i2] = obj;\n\n if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === \"endobj\") {\n parser.shift();\n }\n\n if ((0, _primitives.isStream)(obj)) {\n continue;\n }\n\n var _num = nums[_i2],\n entry = this.entries[_num];\n\n if (entry && entry.offset === tableOffset && entry.gen === _i2) {\n this._cacheMap.set(_num, obj);\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 fetchIfRefAsync(obj, suppressEncryption) {\n var _this3 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(obj instanceof _primitives.Ref)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", _this3.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);\n }))();\n },\n fetchAsync: function fetchAsync(ref, suppressEncryption) {\n var _this4 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n return _context2.abrupt(\"return\", _this4.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 _this4.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);\n\n case 10:\n return _context2.abrupt(\"return\", _this4.fetchAsync(ref, suppressEncryption));\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 4]]);\n }))();\n },\n getCatalogObj: function XRef_getCatalogObj() {\n return this.root;\n }\n };\n return XRef;\n}();\n\nexports.XRef = XRef;\n\nvar NameOrNumberTree = /*#__PURE__*/function () {\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 _i3 = 0, _ii = entries.length; _i3 < _ii; _i3 += 2) {\n dict[xref.fetchIfRef(entries[_i3])] = xref.fetchIfRef(entries[_i3 + 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 = /*#__PURE__*/function (_NameOrNumberTree) {\n _inherits(NameTree, _NameOrNumberTree);\n\n var _super = _createSuper(NameTree);\n\n function NameTree(root, xref) {\n _classCallCheck(this, NameTree);\n\n return _super.call(this, root, xref, \"Names\");\n }\n\n return NameTree;\n}(NameOrNumberTree);\n\nvar NumberTree = /*#__PURE__*/function (_NameOrNumberTree2) {\n _inherits(NumberTree, _NameOrNumberTree2);\n\n var _super2 = _createSuper(NumberTree);\n\n function NumberTree(root, xref) {\n _classCallCheck(this, NumberTree);\n\n return _super2.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 value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || (0, _primitives.isStream)(value);\n }\n\n function addChildren(node, nodesToVisit) {\n if (node instanceof _primitives.Dict) {\n node = node.getRawValues();\n } else if ((0, _primitives.isStream)(node)) {\n node = node.dict.getRawValues();\n } else if (!Array.isArray(node)) {\n return;\n }\n\n var _iterator7 = _createForOfIteratorHelper(node),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var rawValue = _step7.value;\n\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\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 }\n\n ObjectLoader.prototype = {\n load: function load() {\n var _this5 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n var keys, dict, nodesToVisit, i, ii, rawValue;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(!_this5.xref.stream.allChunksLoaded || _this5.xref.stream.allChunksLoaded())) {\n _context3.next = 2;\n break;\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 2:\n keys = _this5.keys, dict = _this5.dict;\n _this5.refSet = new _primitives.RefSet();\n nodesToVisit = [];\n\n for (i = 0, ii = keys.length; i < ii; i++) {\n rawValue = dict.getRaw(keys[i]);\n\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n\n return _context3.abrupt(\"return\", _this5._walk(nodesToVisit));\n\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n _walk: function _walk(nodesToVisit) {\n var _this6 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n var nodesToRevisit, pendingRequests, currentNode, baseStreams, foundMissingData, i, ii, stream, _i4, _ii2, node;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n nodesToRevisit = [];\n pendingRequests = [];\n\n case 2:\n if (!nodesToVisit.length) {\n _context4.next = 22;\n break;\n }\n\n currentNode = nodesToVisit.pop();\n\n if (!(currentNode instanceof _primitives.Ref)) {\n _context4.next = 18;\n break;\n }\n\n if (!_this6.refSet.has(currentNode)) {\n _context4.next = 7;\n break;\n }\n\n return _context4.abrupt(\"continue\", 2);\n\n case 7:\n _context4.prev = 7;\n\n _this6.refSet.put(currentNode);\n\n currentNode = _this6.xref.fetch(currentNode);\n _context4.next = 18;\n break;\n\n case 12:\n _context4.prev = 12;\n _context4.t0 = _context4[\"catch\"](7);\n\n if (_context4.t0 instanceof _core_utils.MissingDataException) {\n _context4.next = 16;\n break;\n }\n\n throw _context4.t0;\n\n case 16:\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: _context4.t0.begin,\n end: _context4.t0.end\n });\n\n case 18:\n if (currentNode && currentNode.getBaseStreams) {\n baseStreams = currentNode.getBaseStreams();\n foundMissingData = false;\n\n for (i = 0, ii = baseStreams.length; i < ii; i++) {\n stream = baseStreams[i];\n\n if (stream.allChunksLoaded && !stream.allChunksLoaded()) {\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 _context4.next = 2;\n break;\n\n case 22:\n if (!pendingRequests.length) {\n _context4.next = 27;\n break;\n }\n\n _context4.next = 25;\n return _this6.xref.stream.manager.requestRanges(pendingRequests);\n\n case 25:\n for (_i4 = 0, _ii2 = nodesToRevisit.length; _i4 < _ii2; _i4++) {\n node = nodesToRevisit[_i4];\n\n if (node instanceof _primitives.Ref) {\n _this6.refSet.remove(node);\n }\n }\n\n return _context4.abrupt(\"return\", _this6._walk(nodesToRevisit));\n\n case 27:\n _this6.refSet = null;\n return _context4.abrupt(\"return\", undefined);\n\n case 29:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[7, 12]]);\n }))();\n }\n };\n return ObjectLoader;\n}();\n\nexports.ObjectLoader = ObjectLoader;\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.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _ccitt_stream = __w_pdfjs_require__(210);\n\nvar _jbig2_stream = __w_pdfjs_require__(212);\n\nvar _jpeg_stream = __w_pdfjs_require__(215);\n\nvar _jpx_stream = __w_pdfjs_require__(217);\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 = /*#__PURE__*/function () {\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 NUL = 0x0;\n var lexer = this.lexer,\n startPos = stream.pos,\n n = 10;\n var 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, \"findDefaultInlineStreamEnd - invalid state.\");\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 continue;\n }\n\n if (lexer.knownCommands) {\n var nextObj = lexer.peekObj();\n\n if (nextObj instanceof _primitives.Cmd && !lexer.knownCommands[nextObj.cmd]) {\n state = 0;\n }\n } else {\n (0, _util.warn)(\"findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.\");\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, _core_utils.isWhiteSpace)(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 var foundEOI = false,\n b,\n markerLength;\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 var 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 var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE) {\n var tildePos = stream.pos;\n ch = stream.peekByte();\n\n while ((0, _core_utils.isWhiteSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n\n if (ch === GT) {\n stream.skip();\n break;\n }\n\n if (stream.pos > tildePos) {\n var maybeEI = stream.peekBytes(2);\n\n if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {\n break;\n }\n }\n }\n }\n\n var 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 var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n\n var 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, _core_utils.isWhiteSpace)(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 = /*#__PURE__*/function () {\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._hexStringNumWarn = 0;\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, _core_utils.isWhiteSpace)(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 (ch >= 0x30 && 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: \"_hexStringWarn\",\n value: function _hexStringWarn(ch) {\n var MAX_HEX_STRING_NUM_WARN = 5;\n\n if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n (0, _util.warn)(\"getHexString - ignoring additional invalid characters.\");\n return;\n }\n\n if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n return;\n }\n\n (0, _util.warn)(\"getHexString - ignoring invalid character: \".concat(ch));\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 this._hexStringNumWarn = 0;\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 this._hexStringWarn(ch);\n\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n\n if (secondDigit === -1) {\n this._hexStringWarn(ch);\n\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: \"peekObj\",\n value: function peekObj() {\n var streamPos = this.stream.pos,\n currentChar = this.currentChar,\n beginInlineImagePos = this.beginInlineImagePos;\n var nextObj;\n\n try {\n nextObj = this.getObj();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"peekObj: \".concat(ex));\n }\n\n this.stream.pos = streamPos;\n this.currentChar = currentChar;\n this.beginInlineImagePos = beginInlineImagePos;\n return nextObj;\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 = /*#__PURE__*/function () {\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/* 209 */\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__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar 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\n if (peekedByte !== -1) {\n this.pos--;\n }\n\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\n if (peekedByte !== -1) {\n this.pos--;\n }\n\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 end = bufferLength + blockLen;\n buffer = this.ensureBuffer(end);\n this.bufferLength = end;\n\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n var block = str.getBytes(blockLen);\n buffer.set(block, bufferLength);\n\n if (block.length < blockLen) {\n this.eof = true;\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, _core_utils.isWhiteSpace)(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, _core_utils.isWhiteSpace)(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/* 210 */\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__(202);\n\nvar _ccitt = __w_pdfjs_require__(211);\n\nvar _stream = __w_pdfjs_require__(209);\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/* 211 */\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/* 212 */\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__(202);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _jbig = __w_pdfjs_require__(213);\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/* 213 */\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 _core_utils = __w_pdfjs_require__(205);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(214);\n\nvar _ccitt = __w_pdfjs_require__(211);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Jbig2Error = /*#__PURE__*/function (_BaseException) {\n _inherits(Jbig2Error, _BaseException);\n\n var _super = _createSuper(Jbig2Error);\n\n function Jbig2Error(msg) {\n _classCallCheck(this, Jbig2Error);\n\n return _super.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\n if (sign === 0) {\n return value;\n } else if (value > 0) {\n return -value;\n }\n\n return 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, _core_utils.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\n for (var i = 0; i <= maxPatternIndex; i++) {\n var patternBitmap = [];\n var xMin = patternWidth * i;\n var xMax = xMin + patternWidth;\n\n for (var y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n patterns.push(patternBitmap);\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, _core_utils.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 var mmrInput, 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, _core_utils.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, _core_utils.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 = 4;\n\n if (segmentHeader.number <= 256) {\n referredToSegmentNumberSize = 1;\n } else if (segmentHeader.number <= 65536) {\n referredToSegmentNumberSize = 2;\n }\n\n var referredTo = [];\n var i, ii;\n\n for (i = 0; i < referredToCount; i++) {\n var number = void 0;\n\n if (referredToSegmentNumberSize === 1) {\n number = data[position];\n } else if (referredToSegmentNumberSize === 2) {\n number = (0, _core_utils.readUint16)(data, position);\n } else {\n number = (0, _core_utils.readUint32)(data, position);\n }\n\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, _core_utils.readUint32)(data, position);\n position += 4;\n }\n\n segmentHeader.length = (0, _core_utils.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, _core_utils.readUint32)(data, start),\n height: (0, _core_utils.readUint32)(data, start + 4),\n x: (0, _core_utils.readUint32)(data, start + 8),\n y: (0, _core_utils.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, _core_utils.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, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.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, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.refinementAt = at;\n }\n\n dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n textRegion.refinementAt = at;\n }\n\n textRegion.numberOfSymbolInstances = (0, _core_utils.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, _core_utils.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, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _core_utils.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, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.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, _core_utils.readUint32)(data, position),\n height: (0, _core_utils.readUint32)(data, position + 4),\n resolutionX: (0, _core_utils.readUint32)(data, position + 8),\n resolutionY: (0, _core_utils.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, _core_utils.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 end = data.length;\n var position = 0;\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, _core_utils.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, _core_utils.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\n for (var i = 0, ii = lines.length; i < ii; i++) {\n var 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 var prefixLengthMax = 0;\n\n for (var 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 (var _i2 = 0; _i2 < linesLength; _i2++) {\n histogram[lines[_i2].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, _core_utils.readUint32)(data, start + 1) & 0xffffffff;\n var highestValue = (0, _core_utils.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 for (var i = 0, ii = lines.length; i < ii; 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\n for (var i = 0, ii = referredTo.length; i < ii; i++) {\n var 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\n for (var i = 0; i <= 34; i++) {\n var 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 (var _i3 = 0; _i3 < numberOfSymbols;) {\n var _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 (_i3 === 0) {\n throw new Jbig2Error(\"no previous value in symbol ID table\");\n }\n\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[_i3 - 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([_i3, repeatedLength, 0, 0]));\n _i3++;\n }\n } else {\n codes.push(new HuffmanLine([_i3, _codeLength, 0, 0]));\n _i3++;\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\n for (var y = 0; y < height; y++) {\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var 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 var currentByte,\n eof = false;\n\n for (var y = 0; y < height; y++) {\n var row = new Uint8Array(width);\n bitmap.push(row);\n var shift = -1;\n\n for (var 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/* 214 */\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 = /*#__PURE__*/function () {\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/* 215 */\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 _stream = __w_pdfjs_require__(209);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _jpg = __w_pdfjs_require__(216);\n\nvar _util = __w_pdfjs_require__(5);\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 return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\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.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpegError = /*#__PURE__*/function (_BaseException) {\n _inherits(JpegError, _BaseException);\n\n var _super = _createSuper(JpegError);\n\n function JpegError(msg) {\n _classCallCheck(this, JpegError);\n\n return _super.call(this, \"JPEG error: \".concat(msg));\n }\n\n return JpegError;\n}(_util.BaseException);\n\nvar DNLMarkerError = /*#__PURE__*/function (_BaseException2) {\n _inherits(DNLMarkerError, _BaseException2);\n\n var _super2 = _createSuper(DNLMarkerError);\n\n function DNLMarkerError(message, scanLines) {\n var _this;\n\n _classCallCheck(this, DNLMarkerError);\n\n _this = _super2.call(this, message);\n _this.scanLines = scanLines;\n return _this;\n }\n\n return DNLMarkerError;\n}(_util.BaseException);\n\nvar EOIMarkerError = /*#__PURE__*/function (_BaseException3) {\n _inherits(EOIMarkerError, _BaseException3);\n\n var _super3 = _createSuper(EOIMarkerError);\n\n function EOIMarkerError() {\n _classCallCheck(this, EOIMarkerError);\n\n return _super3.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 var 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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 if (parseDNLMarker) {\n var maybeScanLines = blockRow * (frame.precision === 8 ? 8 : 0);\n\n if (maybeScanLines > 0 && Math.round(frame.scanLines / maybeScanLines) >= 10) {\n throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \" + \"possibly caused by incorrect `scanLines` parameter\", maybeScanLines);\n }\n }\n\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 switch (_typeof(node)) {\n case \"number\":\n return node;\n\n case \"object\":\n continue;\n }\n\n throw new JpegError(\"invalid huffman sequence\");\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, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[blockOffset] = 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[blockOffset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[blockOffset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, blockOffset) {\n component.blockData[blockOffset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n\n function decodeACFirst(component, blockOffset) {\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[blockOffset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n\n function decodeACSuccessive(component, blockOffset) {\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 = blockOffset + 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 var blockRow = 0;\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = mcu / mcusPerLine | 0;\n var mcuCol = mcu % mcusPerLine;\n blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n function decodeBlock(component, decode, mcu) {\n blockRow = mcu / component.blocksPerLine | 0;\n var blockCol = mcu % component.blocksPerLine;\n var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\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 if (mcuToRead > 0) {\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\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n\n if (!fileMarker) {\n break;\n }\n\n if (fileMarker.invalid) {\n var partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n (0, _util.warn)(\"decodeScan - \".concat(partialMsg, \" MCU data, current marker is: \").concat(fileMarker.invalid));\n offset = fileMarker.offset;\n }\n\n if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n offset += 2;\n } else {\n break;\n }\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\n if (t < -2040) {\n t = 0;\n } else if (t >= 2024) {\n t = 255;\n } else {\n t = t + 2056 >> 4;\n }\n\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\n if (p0 < 16) {\n p0 = 0;\n } else if (p0 >= 4080) {\n p0 = 255;\n } else {\n p0 >>= 4;\n }\n\n if (p1 < 16) {\n p1 = 0;\n } else if (p1 >= 4080) {\n p1 = 255;\n } else {\n p1 >>= 4;\n }\n\n if (p2 < 16) {\n p2 = 0;\n } else if (p2 >= 4080) {\n p2 = 255;\n } else {\n p2 >>= 4;\n }\n\n if (p3 < 16) {\n p3 = 0;\n } else if (p3 >= 4080) {\n p3 = 255;\n } else {\n p3 >>= 4;\n }\n\n if (p4 < 16) {\n p4 = 0;\n } else if (p4 >= 4080) {\n p4 = 255;\n } else {\n p4 >>= 4;\n }\n\n if (p5 < 16) {\n p5 = 0;\n } else if (p5 >= 4080) {\n p5 = 255;\n } else {\n p5 >>= 4;\n }\n\n if (p6 < 16) {\n p6 = 0;\n } else if (p6 >= 4080) {\n p6 = 255;\n } else {\n p6 >>= 4;\n }\n\n if (p7 < 16) {\n p7 = 0;\n } else if (p7 >= 4080) {\n p7 = 255;\n } else {\n p7 >>= 4;\n }\n\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 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 = (0, _core_utils.readUint16)(data, 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 = (0, _core_utils.readUint16)(data, newPos);\n\n while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n if (++newPos >= maxPos) {\n return null;\n }\n\n newMarker = (0, _core_utils.readUint16)(data, 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 readDataBlock() {\n var length = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n if (fileMarker !== 0xffd8) {\n throw new JpegError(\"SOI not found\");\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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] = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 offset += 2;\n frame = {};\n frame.extended = fileMarker === 0xffc1;\n frame.progressive = fileMarker === 0xffc2;\n frame.precision = data[offset++];\n var sofScanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 offset += 2;\n resetInterval = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n break;\n\n case 0xffda:\n var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n offset += 2;\n var selectorsCount = data[offset++];\n var components = [],\n component;\n\n for (i = 0; i < selectorsCount; i++) {\n var index = data[offset++];\n var componentIndex = frame.componentIds[index];\n component = frame.components[componentIndex];\n component.index = index;\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 var nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);\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 - 1) {\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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 index: component.index,\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 var lastComponentScaleX;\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 if (componentScaleX !== lastComponentScaleX) {\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n\n lastComponentScaleX = componentScaleX;\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 } else if (this.components[0].index === 0x52 && this.components[1].index === 0x47 && this.components[2].index === 0x42) {\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\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i];\n m = data[i + 1];\n y = data[i + 2];\n k = data[i + 3];\n data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 0.7364883807733168);\n data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\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/* 217 */\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__(209);\n\nvar _jpx = __w_pdfjs_require__(218);\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/* 218 */\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 _core_utils = __w_pdfjs_require__(205);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(214);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpxError = /*#__PURE__*/function (_BaseException) {\n _inherits(JpxError, _BaseException);\n\n var _super = _createSuper(JpxError);\n\n function JpxError(msg) {\n _classCallCheck(this, JpxError);\n\n return _super.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, _core_utils.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, _core_utils.readUint32)(data, position);\n var tbox = (0, _core_utils.readUint32)(data, position + 4);\n position += headerSize;\n\n if (lbox === 1) {\n lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.readUint16)(data, position);\n var siz = {};\n siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);\n siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);\n siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);\n siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);\n siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);\n siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);\n var componentsCount = (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.readUint16)(data, position);\n tile = {};\n tile.index = (0, _core_utils.readUint16)(data, position + 2);\n tile.length = (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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 var contextLabelTable;\n\n if (subband === \"HH\") {\n contextLabelTable = HHContextLabel;\n } else if (subband === \"HL\") {\n contextLabelTable = HLContextLabel;\n } else {\n contextLabelTable = LLAndLHContextsLabel;\n }\n\n this.contextLabelTable = contextLabelTable;\n var coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n var coefficentsMagnitude;\n\n if (mb > 14) {\n coefficentsMagnitude = new Uint32Array(coefficientCount);\n } else if (mb > 6) {\n coefficentsMagnitude = new Uint16Array(coefficientCount);\n } else {\n coefficentsMagnitude = new Uint8Array(coefficientCount);\n }\n\n this.coefficentsMagnitude = coefficentsMagnitude;\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/* 219 */\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__(202);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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 ARCFourCipher.prototype.encrypt = 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 encrypt: function NullCipher_encrypt(data) {\n return data;\n }\n };\n return NullCipher;\n}();\n\nvar AESBaseCipher = /*#__PURE__*/function () {\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 var 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 var 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 = /*#__PURE__*/function (_AESBaseCipher) {\n _inherits(AES128Cipher, _AESBaseCipher);\n\n var _super = _createSuper(AES128Cipher);\n\n function AES128Cipher(key) {\n var _this;\n\n _classCallCheck(this, AES128Cipher);\n\n _this = _super.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 = /*#__PURE__*/function (_AESBaseCipher2) {\n _inherits(AES256Cipher, _AESBaseCipher2);\n\n var _super2 = _createSuper(AES256Cipher);\n\n function AES256Cipher(key) {\n var _this2;\n\n _classCallCheck(this, AES256Cipher);\n\n _this2 = _super2.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 encryptString: function CipherTransform_encryptString(s) {\n var cipher = new this.StringCipherConstructor();\n\n if (cipher instanceof AESBaseCipher) {\n var strLen = s.length;\n var pad = 16 - strLen % 16;\n\n if (pad !== 16) {\n s = s.padEnd(16 * Math.ceil(strLen / 16), String.fromCharCode(pad));\n }\n\n var iv = new Uint8Array(16);\n\n if (typeof crypto !== \"undefined\") {\n crypto.getRandomValues(iv);\n } else {\n for (var i = 0; i < 16; i++) {\n iv[i] = Math.floor(256 * Math.random());\n }\n }\n\n var _data = (0, _util.stringToBytes)(s);\n\n _data = cipher.encrypt(_data, iv);\n var buf = new Uint8Array(16 + _data.length);\n buf.set(iv);\n buf.set(_data, 16);\n return (0, _util.bytesToString)(buf);\n }\n\n var data = (0, _util.stringToBytes)(s);\n data = cipher.encrypt(data);\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/* 220 */\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 _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\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 = /*#__PURE__*/function () {\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: \"_cache\",\n value: function _cache(cacheKey, xref, localColorSpaceCache, parsedColorSpace) {\n if (!localColorSpaceCache) {\n throw new Error('ColorSpace._cache - expected \"localColorSpaceCache\" argument.');\n }\n\n if (!parsedColorSpace) {\n throw new Error('ColorSpace._cache - expected \"parsedColorSpace\" argument.');\n }\n\n var csName, csRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n csRef = cacheKey;\n cacheKey = xref.fetch(cacheKey);\n }\n\n if (cacheKey instanceof _primitives.Name) {\n csName = cacheKey.name;\n }\n\n if (csName || csRef) {\n localColorSpaceCache.set(csName, csRef, parsedColorSpace);\n }\n }\n }, {\n key: \"getCached\",\n value: function getCached(cacheKey, xref, localColorSpaceCache) {\n if (!localColorSpaceCache) {\n throw new Error('ColorSpace.getCached - expected \"localColorSpaceCache\" argument.');\n }\n\n if (cacheKey instanceof _primitives.Ref) {\n var localColorSpace = localColorSpaceCache.getByRef(cacheKey);\n\n if (localColorSpace) {\n return localColorSpace;\n }\n\n try {\n cacheKey = xref.fetch(cacheKey);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n }\n\n if (cacheKey instanceof _primitives.Name) {\n var _localColorSpace = localColorSpaceCache.getByName(cacheKey.name);\n\n if (_localColorSpace) {\n return _localColorSpace;\n }\n }\n\n return null;\n }\n }, {\n key: \"parseAsync\",\n value: function () {\n var _parseAsync = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var cs, xref, _ref$resources, resources, pdfFunctionFactory, localColorSpaceCache, parsedColorSpace;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cs = _ref.cs, xref = _ref.xref, _ref$resources = _ref.resources, resources = _ref$resources === void 0 ? null : _ref$resources, pdfFunctionFactory = _ref.pdfFunctionFactory, localColorSpaceCache = _ref.localColorSpaceCache;\n parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n\n this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n\n return _context.abrupt(\"return\", parsedColorSpace);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function parseAsync(_x) {\n return _parseAsync.apply(this, arguments);\n }\n\n return parseAsync;\n }()\n }, {\n key: \"parse\",\n value: function parse(_ref2) {\n var cs = _ref2.cs,\n xref = _ref2.xref,\n _ref2$resources = _ref2.resources,\n resources = _ref2$resources === void 0 ? null : _ref2$resources,\n pdfFunctionFactory = _ref2.pdfFunctionFactory,\n localColorSpaceCache = _ref2.localColorSpaceCache;\n var cachedColorSpace = this.getCached(cs, xref, localColorSpaceCache);\n\n if (cachedColorSpace) {\n return cachedColorSpace;\n }\n\n var parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n\n this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n\n return parsedColorSpace;\n }\n }, {\n key: \"_parse\",\n value: function _parse(cs, xref) {\n var resources = 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 this.singletons.gray;\n\n case \"DeviceRGB\":\n case \"RGB\":\n return this.singletons.rgb;\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return this.singletons.cmyk;\n\n case \"Pattern\":\n return new PatternCS(null);\n\n default:\n if ((0, _primitives.isDict)(resources)) {\n var colorSpaces = resources.get(\"ColorSpace\");\n\n if ((0, _primitives.isDict)(colorSpaces)) {\n var resourcesCS = colorSpaces.get(cs.name);\n\n if (resourcesCS) {\n if ((0, _primitives.isName)(resourcesCS)) {\n return this._parse(resourcesCS, xref, resources, pdfFunctionFactory);\n }\n\n cs = resourcesCS;\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 params, numComps, baseCS, whitePoint, blackPoint, gamma;\n\n switch (mode) {\n case \"DeviceGray\":\n case \"G\":\n return this.singletons.gray;\n\n case \"DeviceRGB\":\n case \"RGB\":\n return this.singletons.rgb;\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return this.singletons.cmyk;\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 new 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 new 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 var alt = dict.get(\"Alternate\");\n\n if (alt) {\n var altCS = this._parse(alt, xref, resources, pdfFunctionFactory);\n\n if (altCS.numComps === numComps) {\n return altCS;\n }\n\n (0, _util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n }\n\n if (numComps === 1) {\n return this.singletons.gray;\n } else if (numComps === 3) {\n return this.singletons.rgb;\n } else if (numComps === 4) {\n return this.singletons.cmyk;\n }\n\n break;\n\n case \"Pattern\":\n baseCS = cs[1] || null;\n\n if (baseCS) {\n baseCS = this._parse(baseCS, xref, resources, pdfFunctionFactory);\n }\n\n return new PatternCS(baseCS);\n\n case \"Indexed\":\n case \"I\":\n baseCS = this._parse(cs[1], xref, resources, pdfFunctionFactory);\n var hiVal = xref.fetchIfRef(cs[2]) + 1;\n var lookup = xref.fetchIfRef(cs[3]);\n return new IndexedCS(baseCS, 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 baseCS = this._parse(cs[2], xref, resources, pdfFunctionFactory);\n var tintFn = pdfFunctionFactory.create(cs[3]);\n return new AlternateCS(numComps, baseCS, 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 new LabCS(whitePoint, blackPoint, range);\n\n default:\n throw new _util.FormatError(\"Unimplemented ColorSpace object: \".concat(mode));\n }\n }\n\n throw new _util.FormatError(\"Unrecognized ColorSpace 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 = /*#__PURE__*/function (_ColorSpace) {\n _inherits(AlternateCS, _ColorSpace);\n\n var _super = _createSuper(AlternateCS);\n\n function AlternateCS(numComps, base, tintFn) {\n var _this;\n\n _classCallCheck(this, AlternateCS);\n\n _this = _super.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 = /*#__PURE__*/function (_ColorSpace2) {\n _inherits(PatternCS, _ColorSpace2);\n\n var _super2 = _createSuper(PatternCS);\n\n function PatternCS(baseCS) {\n var _this2;\n\n _classCallCheck(this, PatternCS);\n\n _this2 = _super2.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 = /*#__PURE__*/function (_ColorSpace3) {\n _inherits(IndexedCS, _ColorSpace3);\n\n var _super3 = _createSuper(IndexedCS);\n\n function IndexedCS(base, highVal, lookup) {\n var _this3;\n\n _classCallCheck(this, IndexedCS);\n\n _this3 = _super3.call(this, \"Indexed\", 1);\n _this3.base = base;\n _this3.highVal = highVal;\n var length = base.numComps * highVal;\n _this3.lookup = new Uint8Array(length);\n\n if ((0, _primitives.isStream)(lookup)) {\n var bytes = lookup.getBytes(length);\n\n _this3.lookup.set(bytes);\n } else if (typeof lookup === \"string\") {\n for (var i = 0; i < length; ++i) {\n _this3.lookup[i] = lookup.charCodeAt(i) & 0xff;\n }\n } else {\n throw new _util.FormatError(\"IndexedCS - 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 = /*#__PURE__*/function (_ColorSpace4) {\n _inherits(DeviceGrayCS, _ColorSpace4);\n\n var _super4 = _createSuper(DeviceGrayCS);\n\n function DeviceGrayCS() {\n _classCallCheck(this, DeviceGrayCS);\n\n return _super4.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 = /*#__PURE__*/function (_ColorSpace5) {\n _inherits(DeviceRgbCS, _ColorSpace5);\n\n var _super5 = _createSuper(DeviceRgbCS);\n\n function DeviceRgbCS() {\n _classCallCheck(this, DeviceRgbCS);\n\n return _super5.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 = /*#__PURE__*/function (_ColorSpace6) {\n _inherits(DeviceCmykCS, _ColorSpace6);\n\n var _super6 = _createSuper(DeviceCmykCS);\n\n function DeviceCmykCS() {\n _classCallCheck(this, DeviceCmykCS);\n\n return _super6.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 = /*#__PURE__*/function (_ColorSpace7) {\n _inherits(CalGrayCS, _ColorSpace7);\n\n var _super7 = _createSuper(CalGrayCS);\n\n function CalGrayCS(whitePoint, blackPoint, gamma) {\n var _this4;\n\n _classCallCheck(this, CalGrayCS);\n\n _this4 = _super7.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 if (color >= 0.99554525) {\n return 1;\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 = A === 1 ? 1 : Math.pow(A, cs.GR);\n var BGG = B === 1 ? 1 : Math.pow(B, cs.GG);\n var CGB = C === 1 ? 1 : 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 = /*#__PURE__*/function (_ColorSpace8) {\n _inherits(CalRGBCS, _ColorSpace8);\n\n var _super8 = _createSuper(CalRGBCS);\n\n function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n var _this5;\n\n _classCallCheck(this, CalRGBCS);\n\n _this5 = _super8.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 if (as > cs.amax) {\n as = cs.amax;\n } else if (as < cs.amin) {\n as = cs.amin;\n }\n\n if (bs > cs.bmax) {\n bs = cs.bmax;\n } else if (bs < cs.bmin) {\n bs = cs.bmin;\n }\n\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.617 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n b = X * 0.072 + Y * -0.229 + 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.204 + Z * 1.057;\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 = /*#__PURE__*/function (_ColorSpace9) {\n _inherits(LabCS, _ColorSpace9);\n\n var _super9 = _createSuper(LabCS);\n\n function LabCS(whitePoint, blackPoint, range) {\n var _this6;\n\n _classCallCheck(this, LabCS);\n\n _this6 = _super9.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/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalImageCache = exports.LocalGStateCache = exports.LocalFunctionCache = exports.LocalColorSpaceCache = exports.LocalImageCache = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseLocalCache = /*#__PURE__*/function () {\n function BaseLocalCache(options) {\n _classCallCheck(this, BaseLocalCache);\n\n if (this.constructor === BaseLocalCache) {\n (0, _util.unreachable)(\"Cannot initialize BaseLocalCache.\");\n }\n\n if (!options || !options.onlyRefs) {\n this._nameRefMap = new Map();\n this._imageMap = new Map();\n }\n\n this._imageCache = new _primitives.RefSetCache();\n }\n\n _createClass(BaseLocalCache, [{\n key: \"getByName\",\n value: function getByName(name) {\n var ref = this._nameRefMap.get(name);\n\n if (ref) {\n return this.getByRef(ref);\n }\n\n return this._imageMap.get(name) || null;\n }\n }, {\n key: \"getByRef\",\n value: function getByRef(ref) {\n return this._imageCache.get(ref) || null;\n }\n }, {\n key: \"set\",\n value: function set(name, ref, data) {\n (0, _util.unreachable)(\"Abstract method `set` called.\");\n }\n }]);\n\n return BaseLocalCache;\n}();\n\nvar LocalImageCache = /*#__PURE__*/function (_BaseLocalCache) {\n _inherits(LocalImageCache, _BaseLocalCache);\n\n var _super = _createSuper(LocalImageCache);\n\n function LocalImageCache() {\n _classCallCheck(this, LocalImageCache);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(LocalImageCache, [{\n key: \"set\",\n value: function set(name) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name) {\n throw new Error('LocalImageCache.set - expected \"name\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._nameRefMap.set(name, ref);\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalImageCache;\n}(BaseLocalCache);\n\nexports.LocalImageCache = LocalImageCache;\n\nvar LocalColorSpaceCache = /*#__PURE__*/function (_BaseLocalCache2) {\n _inherits(LocalColorSpaceCache, _BaseLocalCache2);\n\n var _super2 = _createSuper(LocalColorSpaceCache);\n\n function LocalColorSpaceCache() {\n _classCallCheck(this, LocalColorSpaceCache);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(LocalColorSpaceCache, [{\n key: \"set\",\n value: function set() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name && !ref) {\n throw new Error('LocalColorSpaceCache.set - expected \"name\" and/or \"ref\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n if (name) {\n this._nameRefMap.set(name, ref);\n }\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalColorSpaceCache;\n}(BaseLocalCache);\n\nexports.LocalColorSpaceCache = LocalColorSpaceCache;\n\nvar LocalFunctionCache = /*#__PURE__*/function (_BaseLocalCache3) {\n _inherits(LocalFunctionCache, _BaseLocalCache3);\n\n var _super3 = _createSuper(LocalFunctionCache);\n\n function LocalFunctionCache(options) {\n _classCallCheck(this, LocalFunctionCache);\n\n return _super3.call(this, {\n onlyRefs: true\n });\n }\n\n _createClass(LocalFunctionCache, [{\n key: \"getByName\",\n value: function getByName(name) {\n (0, _util.unreachable)(\"Should not call `getByName` method.\");\n }\n }, {\n key: \"set\",\n value: function set() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var ref = arguments.length > 1 ? arguments[1] : undefined;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!ref) {\n throw new Error('LocalFunctionCache.set - expected \"ref\" argument.');\n }\n\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._imageCache.put(ref, data);\n }\n }]);\n\n return LocalFunctionCache;\n}(BaseLocalCache);\n\nexports.LocalFunctionCache = LocalFunctionCache;\n\nvar LocalGStateCache = /*#__PURE__*/function (_BaseLocalCache4) {\n _inherits(LocalGStateCache, _BaseLocalCache4);\n\n var _super4 = _createSuper(LocalGStateCache);\n\n function LocalGStateCache() {\n _classCallCheck(this, LocalGStateCache);\n\n return _super4.apply(this, arguments);\n }\n\n _createClass(LocalGStateCache, [{\n key: \"set\",\n value: function set(name) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name) {\n throw new Error('LocalGStateCache.set - expected \"name\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._nameRefMap.set(name, ref);\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalGStateCache;\n}(BaseLocalCache);\n\nexports.LocalGStateCache = LocalGStateCache;\n\nvar GlobalImageCache = /*#__PURE__*/function () {\n _createClass(GlobalImageCache, null, [{\n key: \"NUM_PAGES_THRESHOLD\",\n get: function get() {\n return (0, _util.shadow)(this, \"NUM_PAGES_THRESHOLD\", 2);\n }\n }, {\n key: \"MAX_IMAGES_TO_CACHE\",\n get: function get() {\n return (0, _util.shadow)(this, \"MAX_IMAGES_TO_CACHE\", 10);\n }\n }]);\n\n function GlobalImageCache() {\n _classCallCheck(this, GlobalImageCache);\n\n this._refCache = new _primitives.RefSetCache();\n this._imageCache = new _primitives.RefSetCache();\n }\n\n _createClass(GlobalImageCache, [{\n key: \"shouldCache\",\n value: function shouldCache(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n var numPages = pageIndexSet ? pageIndexSet.size + (pageIndexSet.has(pageIndex) ? 0 : 1) : 1;\n\n if (numPages < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return false;\n }\n\n if (!this._imageCache.has(ref) && this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"addPageIndex\",\n value: function addPageIndex(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n if (!pageIndexSet) {\n pageIndexSet = new Set();\n\n this._refCache.put(ref, pageIndexSet);\n }\n\n pageIndexSet.add(pageIndex);\n }\n }, {\n key: \"getData\",\n value: function getData(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n if (!pageIndexSet) {\n return null;\n }\n\n if (pageIndexSet.size < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return null;\n }\n\n if (!this._imageCache.has(ref)) {\n return null;\n }\n\n pageIndexSet.add(pageIndex);\n return this._imageCache.get(ref);\n }\n }, {\n key: \"setData\",\n value: function setData(ref, data) {\n if (!this._refCache.has(ref)) {\n throw new Error('GlobalImageCache.setData - expected \"addPageIndex\" to have been called.');\n }\n\n if (this._imageCache.has(ref)) {\n return;\n }\n\n if (this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n (0, _util.info)(\"GlobalImageCache.setData - ignoring image above MAX_IMAGES_TO_CACHE.\");\n return;\n }\n\n this._imageCache.put(ref, data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var onlyData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!onlyData) {\n this._refCache.clear();\n }\n\n this._imageCache.clear();\n }\n }]);\n\n return GlobalImageCache;\n}();\n\nexports.GlobalImageCache = GlobalImageCache;\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.getQuadPoints = getQuadPoints;\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(207);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _writer = __w_pdfjs_require__(224);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction 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) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationFactory = /*#__PURE__*/function () {\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 var _this = this;\n\n return pdfManager.ensureCatalog(\"acroForm\").then(function (acroForm) {\n return pdfManager.ensure(_this, \"_create\", [xref, ref, pdfManager, idFactory, acroForm]);\n });\n }\n }, {\n key: \"_create\",\n value: function _create(xref, ref, pdfManager, idFactory, acroForm) {\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 ref: ref,\n dict: dict,\n subtype: subtype,\n id: id,\n pdfManager: pdfManager,\n acroForm: acroForm instanceof _primitives.Dict ? acroForm : _primitives.Dict.empty\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 = /*#__PURE__*/function () {\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, annotationStorage) {\n if (!this.appearance) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n var appearance = this.appearance;\n var data = this.data;\n var appearanceDict = 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: appearance,\n task: task,\n resources: resources,\n operatorList: opList\n }).then(function () {\n opList.addOp(_util.OPS.endAnnotation, []);\n appearance.reset();\n return opList;\n });\n });\n }\n }, {\n key: \"save\",\n value: function () {\n var _save = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(evaluator, task, annotationStorage) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", null);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function save(_x, _x2, _x3) {\n return _save.apply(this, arguments);\n }\n\n return save;\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 = /*#__PURE__*/function () {\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\n var _iterator = _createForOfIteratorHelper(dashArray),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\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 _iterator.e(err);\n } finally {\n _iterator.f();\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 = /*#__PURE__*/function (_Annotation) {\n _inherits(MarkupAnnotation, _Annotation);\n\n var _super = _createSuper(MarkupAnnotation);\n\n function MarkupAnnotation(parameters) {\n var _this2;\n\n _classCallCheck(this, MarkupAnnotation);\n\n _this2 = _super.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 = /*#__PURE__*/function (_Annotation2) {\n _inherits(WidgetAnnotation, _Annotation2);\n\n var _super2 = _createSuper(WidgetAnnotation);\n\n function WidgetAnnotation(params) {\n var _this3;\n\n _classCallCheck(this, WidgetAnnotation);\n\n _this3 = _super2.call(this, params);\n var dict = params.dict;\n var data = _this3.data;\n _this3.ref = params.ref;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = _this3._constructFieldName(dict);\n var fieldValue = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"V\",\n getArray: true\n });\n data.fieldValue = _this3._decodeFormValue(fieldValue);\n data.alternativeText = (0, _util.stringToPDFString)(dict.get(\"TU\") || \"\");\n data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"DA\"\n }) || params.acroForm.get(\"DA\") || \"\";\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 }) || params.acroForm.get(\"DR\") || _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: \"_decodeFormValue\",\n value: function _decodeFormValue(formValue) {\n if (Array.isArray(formValue)) {\n return formValue.filter(function (item) {\n return (0, _util.isString)(item);\n }).map(function (item) {\n return (0, _util.stringToPDFString)(item);\n });\n } else if ((0, _primitives.isName)(formValue)) {\n return (0, _util.stringToPDFString)(formValue.name);\n } else if ((0, _util.isString)(formValue)) {\n return (0, _util.stringToPDFString)(formValue);\n }\n\n return null;\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, annotationStorage) {\n var _this4 = this;\n\n if (renderForms) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n if (!this._hasText) {\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n }\n\n return this._getAppearance(evaluator, task, annotationStorage).then(function (content) {\n if (_this4.appearance && content === null) {\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", _this4).call(_this4, evaluator, task, renderForms, annotationStorage);\n }\n\n var operatorList = new _operator_list.OperatorList();\n\n if (!_this4.data.defaultAppearance || content === null) {\n return operatorList;\n }\n\n var matrix = [1, 0, 0, 1, 0, 0];\n var bbox = [0, 0, _this4.data.rect[2] - _this4.data.rect[0], _this4.data.rect[3] - _this4.data.rect[1]];\n var transform = getTransformMatrix(_this4.data.rect, bbox, matrix);\n operatorList.addOp(_util.OPS.beginAnnotation, [_this4.data.rect, transform, matrix]);\n var stream = new _stream.StringStream(content);\n return evaluator.getOperatorList({\n stream: stream,\n task: task,\n resources: _this4.fieldResources,\n operatorList: operatorList\n }).then(function () {\n operatorList.addOp(_util.OPS.endAnnotation, []);\n return operatorList;\n });\n });\n }\n }, {\n key: \"save\",\n value: function () {\n var _save2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(evaluator, task, annotationStorage) {\n var appearance, dict, bbox, newRef, AP, value, encrypt, originalTransform, newTransform, appearanceDict, bufferOriginal, bufferNew;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this.data.fieldValue === annotationStorage[this.data.id])) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 2:\n _context2.next = 4;\n return this._getAppearance(evaluator, task, annotationStorage);\n\n case 4:\n appearance = _context2.sent;\n\n if (!(appearance === null)) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 7:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context2.next = 10;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 10:\n bbox = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]];\n newRef = evaluator.xref.getNewRef();\n AP = new _primitives.Dict(evaluator.xref);\n AP.set(\"N\", newRef);\n value = annotationStorage[this.data.id];\n encrypt = evaluator.xref.encrypt;\n originalTransform = null;\n newTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n newTransform = encrypt.createCipherTransform(newRef.num, newRef.gen);\n appearance = newTransform.encryptString(appearance);\n }\n\n dict.set(\"V\", value);\n dict.set(\"AP\", AP);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n appearanceDict = new _primitives.Dict(evaluator.xref);\n appearanceDict.set(\"Length\", appearance.length);\n appearanceDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceDict.set(\"Resources\", this.fieldResources);\n appearanceDict.set(\"BBox\", bbox);\n bufferOriginal = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, bufferOriginal, originalTransform);\n bufferOriginal.push(\"\\nendobj\\n\");\n bufferNew = [\"\".concat(newRef.num, \" \").concat(newRef.gen, \" obj\\n\")];\n (0, _writer.writeDict)(appearanceDict, bufferNew, newTransform);\n bufferNew.push(\" stream\\n\");\n bufferNew.push(appearance);\n bufferNew.push(\"\\nendstream\\nendobj\\n\");\n return _context2.abrupt(\"return\", [{\n ref: this.ref,\n data: bufferOriginal.join(\"\")\n }, {\n ref: newRef,\n data: bufferNew.join(\"\")\n }]);\n\n case 36:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function save(_x4, _x5, _x6) {\n return _save2.apply(this, arguments);\n }\n\n return save;\n }()\n }, {\n key: \"_getAppearance\",\n value: function () {\n var _getAppearance2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(evaluator, task, annotationStorage) {\n var isPassword, value, defaultPadding, hPadding, totalHeight, totalWidth, fontInfo, _fontInfo, font, fontName, fontSize, descent, vPadding, defaultAppearance, alignment, renderedText;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n isPassword = this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD);\n\n if (!(!annotationStorage || isPassword)) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", null);\n\n case 3:\n value = annotationStorage[this.data.id];\n\n if (!(value === \"\")) {\n _context3.next = 6;\n break;\n }\n\n return _context3.abrupt(\"return\", \"\");\n\n case 6:\n defaultPadding = 2;\n hPadding = defaultPadding;\n totalHeight = this.data.rect[3] - this.data.rect[1];\n totalWidth = this.data.rect[2] - this.data.rect[0];\n _context3.next = 12;\n return this._getFontData(evaluator, task);\n\n case 12:\n fontInfo = _context3.sent;\n _fontInfo = _slicedToArray(fontInfo, 2), font = _fontInfo[0], fontName = _fontInfo[1];\n fontSize = fontInfo[2];\n fontSize = this._computeFontSize(font, fontName, fontSize, totalHeight);\n descent = font.descent;\n\n if (isNaN(descent)) {\n descent = 0;\n }\n\n vPadding = defaultPadding + Math.abs(descent) * fontSize;\n defaultAppearance = this.data.defaultAppearance;\n alignment = this.data.textAlignment;\n\n if (!this.data.comb) {\n _context3.next = 23;\n break;\n }\n\n return _context3.abrupt(\"return\", this._getCombAppearance(defaultAppearance, value, totalWidth, hPadding, vPadding));\n\n case 23:\n if (!this.data.multiLine) {\n _context3.next = 25;\n break;\n }\n\n return _context3.abrupt(\"return\", this._getMultilineAppearance(defaultAppearance, value, font, fontSize, totalWidth, totalHeight, alignment, hPadding, vPadding));\n\n case 25:\n if (!(alignment === 0 || alignment > 2)) {\n _context3.next = 27;\n break;\n }\n\n return _context3.abrupt(\"return\", \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 \".concat(hPadding, \" \").concat(vPadding, \" Tm (\").concat((0, _util.escapeString)(value), \") Tj\") + \" ET Q EMC\");\n\n case 27:\n renderedText = this._renderText(value, font, fontSize, totalWidth, alignment, hPadding, vPadding);\n return _context3.abrupt(\"return\", \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 0 0 Tm \".concat(renderedText) + \" ET Q EMC\");\n\n case 29:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _getAppearance(_x7, _x8, _x9) {\n return _getAppearance2.apply(this, arguments);\n }\n\n return _getAppearance;\n }()\n }, {\n key: \"_getFontData\",\n value: function () {\n var _getFontData2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(evaluator, task) {\n var operatorList, initialState;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n operatorList = new _operator_list.OperatorList();\n initialState = {\n fontSize: 0,\n font: null,\n fontName: null,\n clone: function clone() {\n return this;\n }\n };\n _context4.next = 4;\n return evaluator.getOperatorList({\n stream: new _stream.StringStream(this.data.defaultAppearance),\n task: task,\n resources: this.fieldResources,\n operatorList: operatorList,\n initialState: initialState\n });\n\n case 4:\n return _context4.abrupt(\"return\", [initialState.font, initialState.fontName, initialState.fontSize]);\n\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _getFontData(_x10, _x11) {\n return _getFontData2.apply(this, arguments);\n }\n\n return _getFontData;\n }()\n }, {\n key: \"_computeFontSize\",\n value: function _computeFontSize(font, fontName, fontSize, height) {\n if (fontSize === null || fontSize === 0) {\n var em = font.charsToGlyphs(\"M\", true)[0].width / 1000;\n var capHeight = 0.7 * em;\n fontSize = Math.max(1, Math.floor(height / (1.5 * capHeight)));\n var fontRegex = new RegExp(\"/\".concat(fontName, \"\\\\s+[0-9.]+\\\\s+Tf\"));\n\n if (this.data.defaultAppearance.search(fontRegex) === -1) {\n fontRegex = new RegExp(\"/\".concat(fontName, \"\\\\s+Tf\"));\n }\n\n this.data.defaultAppearance = this.data.defaultAppearance.replace(fontRegex, \"/\".concat(fontName, \" \").concat(fontSize, \" Tf\"));\n }\n\n return fontSize;\n }\n }, {\n key: \"_renderText\",\n value: function _renderText(text, font, fontSize, totalWidth, alignment, hPadding, vPadding) {\n var glyphs = font.charsToGlyphs(text);\n var scale = fontSize / 1000;\n var width = 0;\n\n var _iterator2 = _createForOfIteratorHelper(glyphs),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var glyph = _step2.value;\n width += glyph.width * scale;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var shift;\n\n if (alignment === 1) {\n shift = (totalWidth - width) / 2;\n } else if (alignment === 2) {\n shift = totalWidth - width - hPadding;\n } else {\n shift = hPadding;\n }\n\n shift = shift.toFixed(2);\n vPadding = vPadding.toFixed(2);\n return \"\".concat(shift, \" \").concat(vPadding, \" Td (\").concat((0, _util.escapeString)(text), \") Tj\");\n }\n }]);\n\n return WidgetAnnotation;\n}(Annotation);\n\nvar TextWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation) {\n _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n var _super3 = _createSuper(TextWidgetAnnotation);\n\n function TextWidgetAnnotation(params) {\n var _this5;\n\n _classCallCheck(this, TextWidgetAnnotation);\n\n _this5 = _super3.call(this, params);\n _this5._hasText = true;\n var dict = params.dict;\n\n if (!(0, _util.isString)(_this5.data.fieldValue)) {\n _this5.data.fieldValue = \"\";\n }\n\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 _this5.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 _this5.data.maxLen = maximumLength;\n _this5.data.multiLine = _this5.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n _this5.data.comb = _this5.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this5.data.maxLen !== null;\n return _this5;\n }\n\n _createClass(TextWidgetAnnotation, [{\n key: \"_getCombAppearance\",\n value: function _getCombAppearance(defaultAppearance, text, width, hPadding, vPadding) {\n var combWidth = (width / this.data.maxLen).toFixed(2);\n var buf = [];\n\n var _iterator3 = _createForOfIteratorHelper(text),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var character = _step3.value;\n buf.push(\"(\".concat((0, _util.escapeString)(character), \") Tj\"));\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var renderedComb = buf.join(\" \".concat(combWidth, \" 0 Td \"));\n return \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 \".concat(hPadding, \" \").concat(vPadding, \" Tm \").concat(renderedComb) + \" ET Q EMC\";\n }\n }, {\n key: \"_getMultilineAppearance\",\n value: function _getMultilineAppearance(defaultAppearance, text, font, fontSize, width, height, alignment, hPadding, vPadding) {\n var lines = text.split(/\\r\\n|\\r|\\n/);\n var buf = [];\n var totalWidth = width - 2 * hPadding;\n\n var _iterator4 = _createForOfIteratorHelper(lines),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var line = _step4.value;\n\n var chunks = this._splitLine(line, font, fontSize, totalWidth);\n\n var _iterator5 = _createForOfIteratorHelper(chunks),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var chunk = _step5.value;\n var padding = buf.length === 0 ? hPadding : 0;\n buf.push(this._renderText(chunk, font, fontSize, width, alignment, padding, -fontSize));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n var renderedText = buf.join(\"\\n\");\n return \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 0 \".concat(height, \" Tm \").concat(renderedText) + \" ET Q EMC\";\n }\n }, {\n key: \"_splitLine\",\n value: function _splitLine(line, font, fontSize, width) {\n if (line.length <= 1) {\n return [line];\n }\n\n var scale = fontSize / 1000;\n var whitespace = font.charsToGlyphs(\" \", true)[0].width * scale;\n var chunks = [];\n var lastSpacePos = -1,\n startChunk = 0,\n currentWidth = 0;\n\n for (var i = 0, ii = line.length; i < ii; i++) {\n var character = line.charAt(i);\n\n if (character === \" \") {\n if (currentWidth + whitespace > width) {\n chunks.push(line.substring(startChunk, i));\n startChunk = i;\n currentWidth = whitespace;\n lastSpacePos = -1;\n } else {\n currentWidth += whitespace;\n lastSpacePos = i;\n }\n } else {\n var charWidth = font.charsToGlyphs(character, false)[0].width * scale;\n\n if (currentWidth + charWidth > width) {\n if (lastSpacePos !== -1) {\n chunks.push(line.substring(startChunk, lastSpacePos + 1));\n startChunk = i = lastSpacePos + 1;\n lastSpacePos = -1;\n currentWidth = 0;\n } else {\n chunks.push(line.substring(startChunk, i));\n startChunk = i;\n currentWidth = charWidth;\n }\n } else {\n currentWidth += charWidth;\n }\n }\n }\n\n if (startChunk < line.length) {\n chunks.push(line.substring(startChunk, line.length));\n }\n\n return chunks;\n }\n }]);\n\n return TextWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ButtonWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation2) {\n _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n var _super4 = _createSuper(ButtonWidgetAnnotation);\n\n function ButtonWidgetAnnotation(params) {\n var _this6;\n\n _classCallCheck(this, ButtonWidgetAnnotation);\n\n _this6 = _super4.call(this, params);\n _this6.checkedAppearance = null;\n _this6.uncheckedAppearance = null;\n _this6.data.checkBox = !_this6.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this6.data.radioButton = _this6.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this6.data.pushButton = _this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (_this6.data.checkBox) {\n _this6._processCheckBox(params);\n } else if (_this6.data.radioButton) {\n _this6._processRadioButton(params);\n } else if (_this6.data.pushButton) {\n _this6._processPushButton(params);\n } else {\n (0, _util.warn)(\"Invalid field flags for button widget annotation\");\n }\n\n return _this6;\n }\n\n _createClass(ButtonWidgetAnnotation, [{\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms, annotationStorage) {\n if (this.data.pushButton) {\n return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, false, annotationStorage);\n }\n\n if (annotationStorage) {\n var value = annotationStorage[this.data.id] || false;\n var appearance;\n\n if (value) {\n appearance = this.checkedAppearance;\n } else {\n appearance = this.uncheckedAppearance;\n }\n\n if (appearance) {\n var savedAppearance = this.appearance;\n this.appearance = appearance;\n\n var operatorList = _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n\n this.appearance = savedAppearance;\n return operatorList;\n }\n\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n }\n }, {\n key: \"save\",\n value: function () {\n var _save3 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(evaluator, task, annotationStorage) {\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!this.data.checkBox) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt(\"return\", this._saveCheckbox(evaluator, task, annotationStorage));\n\n case 2:\n if (!this.data.radioButton) {\n _context5.next = 4;\n break;\n }\n\n return _context5.abrupt(\"return\", this._saveRadioButton(evaluator, task, annotationStorage));\n\n case 4:\n return _context5.abrupt(\"return\", _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"save\", this).call(this, evaluator, task, annotationStorage));\n\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function save(_x12, _x13, _x14) {\n return _save3.apply(this, arguments);\n }\n\n return save;\n }()\n }, {\n key: \"_saveCheckbox\",\n value: function () {\n var _saveCheckbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6(evaluator, task, annotationStorage) {\n var defaultValue, value, dict, name, encrypt, originalTransform, buffer;\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n defaultValue = this.data.fieldValue && this.data.fieldValue !== \"Off\";\n value = annotationStorage[this.data.id];\n\n if (!(defaultValue === value)) {\n _context6.next = 4;\n break;\n }\n\n return _context6.abrupt(\"return\", null);\n\n case 4:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context6.next = 7;\n break;\n }\n\n return _context6.abrupt(\"return\", null);\n\n case 7:\n name = _primitives.Name.get(value ? this.data.exportValue : \"Off\");\n dict.set(\"V\", name);\n dict.set(\"AS\", name);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n encrypt = evaluator.xref.encrypt;\n originalTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n }\n\n buffer = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, buffer, originalTransform);\n buffer.push(\"\\nendobj\\n\");\n return _context6.abrupt(\"return\", [{\n ref: this.ref,\n data: buffer.join(\"\")\n }]);\n\n case 18:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _saveCheckbox(_x15, _x16, _x17) {\n return _saveCheckbox2.apply(this, arguments);\n }\n\n return _saveCheckbox;\n }()\n }, {\n key: \"_saveRadioButton\",\n value: function () {\n var _saveRadioButton2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee7(evaluator, task, annotationStorage) {\n var defaultValue, value, dict, name, parentBuffer, encrypt, parent, parentTransform, originalTransform, buffer, newRefs;\n return _regenerator[\"default\"].wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n defaultValue = this.data.fieldValue === this.data.buttonValue;\n value = annotationStorage[this.data.id];\n\n if (!(defaultValue === value)) {\n _context7.next = 4;\n break;\n }\n\n return _context7.abrupt(\"return\", null);\n\n case 4:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context7.next = 7;\n break;\n }\n\n return _context7.abrupt(\"return\", null);\n\n case 7:\n name = _primitives.Name.get(value ? this.data.buttonValue : \"Off\");\n parentBuffer = null;\n encrypt = evaluator.xref.encrypt;\n\n if (value) {\n if ((0, _primitives.isRef)(this.parent)) {\n parent = evaluator.xref.fetch(this.parent);\n parentTransform = null;\n\n if (encrypt) {\n parentTransform = encrypt.createCipherTransform(this.parent.num, this.parent.gen);\n }\n\n parent.set(\"V\", name);\n parentBuffer = [\"\".concat(this.parent.num, \" \").concat(this.parent.gen, \" obj\\n\")];\n (0, _writer.writeDict)(parent, parentBuffer, parentTransform);\n parentBuffer.push(\"\\nendobj\\n\");\n } else if ((0, _primitives.isDict)(this.parent)) {\n this.parent.set(\"V\", name);\n }\n }\n\n dict.set(\"AS\", name);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n originalTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n }\n\n buffer = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, buffer, originalTransform);\n buffer.push(\"\\nendobj\\n\");\n newRefs = [{\n ref: this.ref,\n data: buffer.join(\"\")\n }];\n\n if (parentBuffer !== null) {\n newRefs.push({\n ref: this.parent,\n data: parentBuffer.join(\"\")\n });\n }\n\n return _context7.abrupt(\"return\", newRefs);\n\n case 21:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _saveRadioButton(_x18, _x19, _x20) {\n return _saveRadioButton2.apply(this, arguments);\n }\n\n return _saveRadioButton;\n }()\n }, {\n key: \"_processCheckBox\",\n value: function _processCheckBox(params) {\n var customAppearance = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(customAppearance)) {\n return;\n }\n\n var normalAppearance = customAppearance.get(\"N\");\n\n if (!(0, _primitives.isDict)(normalAppearance)) {\n return;\n }\n\n var exportValues = normalAppearance.getKeys();\n\n if (!exportValues.includes(\"Off\")) {\n exportValues.push(\"Off\");\n }\n\n if (exportValues.length !== 2) {\n return;\n }\n\n this.data.exportValue = exportValues[0] === \"Off\" ? exportValues[1] : exportValues[0];\n this.checkedAppearance = normalAppearance.get(this.data.exportValue);\n this.uncheckedAppearance = normalAppearance.get(\"Off\") || null;\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.parent = params.dict.getRaw(\"Parent\");\n this.data.fieldValue = this._decodeFormValue(fieldParentValue);\n }\n }\n\n var appearanceStates = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearance = appearanceStates.get(\"N\");\n\n if (!(0, _primitives.isDict)(normalAppearance)) {\n return;\n }\n\n var _iterator6 = _createForOfIteratorHelper(normalAppearance.getKeys()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var key = _step6.value;\n\n if (key !== \"Off\") {\n this.data.buttonValue = key;\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n this.checkedAppearance = normalAppearance.get(this.data.buttonValue);\n this.uncheckedAppearance = normalAppearance.get(\"Off\") || null;\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 = /*#__PURE__*/function (_WidgetAnnotation3) {\n _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n var _super5 = _createSuper(ChoiceWidgetAnnotation);\n\n function ChoiceWidgetAnnotation(params) {\n var _this7;\n\n _classCallCheck(this, ChoiceWidgetAnnotation);\n\n _this7 = _super5.call(this, params);\n _this7.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 _this7.data.options[i] = {\n exportValue: _this7._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[0]) : option),\n displayValue: _this7._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n\n if ((0, _util.isString)(_this7.data.fieldValue)) {\n _this7.data.fieldValue = [_this7.data.fieldValue];\n } else if (!_this7.data.fieldValue) {\n _this7.data.fieldValue = [];\n }\n\n _this7.data.combo = _this7.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n _this7.data.multiSelect = _this7.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n _this7._hasText = true;\n return _this7;\n }\n\n return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation = /*#__PURE__*/function (_MarkupAnnotation) {\n _inherits(TextAnnotation, _MarkupAnnotation);\n\n var _super6 = _createSuper(TextAnnotation);\n\n function TextAnnotation(parameters) {\n var _this8;\n\n _classCallCheck(this, TextAnnotation);\n\n var DEFAULT_ICON_SIZE = 22;\n _this8 = _super6.call(this, parameters);\n var dict = parameters.dict;\n _this8.data.annotationType = _util.AnnotationType.TEXT;\n\n if (_this8.data.hasAppearance) {\n _this8.data.name = \"NoIcon\";\n } else {\n _this8.data.rect[1] = _this8.data.rect[3] - DEFAULT_ICON_SIZE;\n _this8.data.rect[2] = _this8.data.rect[0] + DEFAULT_ICON_SIZE;\n _this8.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n }\n\n if (dict.has(\"State\")) {\n _this8.data.state = dict.get(\"State\") || null;\n _this8.data.stateModel = dict.get(\"StateModel\") || null;\n } else {\n _this8.data.state = null;\n _this8.data.stateModel = null;\n }\n\n return _this8;\n }\n\n return TextAnnotation;\n}(MarkupAnnotation);\n\nvar LinkAnnotation = /*#__PURE__*/function (_Annotation3) {\n _inherits(LinkAnnotation, _Annotation3);\n\n var _super7 = _createSuper(LinkAnnotation);\n\n function LinkAnnotation(params) {\n var _this9;\n\n _classCallCheck(this, LinkAnnotation);\n\n _this9 = _super7.call(this, params);\n _this9.data.annotationType = _util.AnnotationType.LINK;\n var quadPoints = getQuadPoints(params.dict, _this9.rectangle);\n\n if (quadPoints) {\n _this9.data.quadPoints = quadPoints;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: _this9.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n\n return _this9;\n }\n\n return LinkAnnotation;\n}(Annotation);\n\nvar PopupAnnotation = /*#__PURE__*/function (_Annotation4) {\n _inherits(PopupAnnotation, _Annotation4);\n\n var _super8 = _createSuper(PopupAnnotation);\n\n function PopupAnnotation(parameters) {\n var _this10;\n\n _classCallCheck(this, PopupAnnotation);\n\n _this10 = _super8.call(this, parameters);\n _this10.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(_this10);\n }\n\n var parentSubtype = parentItem.get(\"Subtype\");\n _this10.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n var rawParent = parameters.dict.getRaw(\"Parent\");\n _this10.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 _this10.data.modificationDate = null;\n } else {\n _this10.setModificationDate(parentItem.get(\"M\"));\n\n _this10.data.modificationDate = _this10.modificationDate;\n }\n\n if (!parentItem.has(\"C\")) {\n _this10.data.color = null;\n } else {\n _this10.setColor(parentItem.getArray(\"C\"));\n\n _this10.data.color = _this10.color;\n }\n\n if (!_this10.viewable) {\n var parentFlags = parentItem.get(\"F\");\n\n if (_this10._isViewable(parentFlags)) {\n _this10.setFlags(parentFlags);\n }\n }\n\n _this10.data.title = (0, _util.stringToPDFString)(parentItem.get(\"T\") || \"\");\n _this10.data.contents = (0, _util.stringToPDFString)(parentItem.get(\"Contents\") || \"\");\n return _this10;\n }\n\n return PopupAnnotation;\n}(Annotation);\n\nvar FreeTextAnnotation = /*#__PURE__*/function (_MarkupAnnotation2) {\n _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n var _super9 = _createSuper(FreeTextAnnotation);\n\n function FreeTextAnnotation(parameters) {\n var _this11;\n\n _classCallCheck(this, FreeTextAnnotation);\n\n _this11 = _super9.call(this, parameters);\n _this11.data.annotationType = _util.AnnotationType.FREETEXT;\n return _this11;\n }\n\n return FreeTextAnnotation;\n}(MarkupAnnotation);\n\nvar LineAnnotation = /*#__PURE__*/function (_MarkupAnnotation3) {\n _inherits(LineAnnotation, _MarkupAnnotation3);\n\n var _super10 = _createSuper(LineAnnotation);\n\n function LineAnnotation(parameters) {\n var _this12;\n\n _classCallCheck(this, LineAnnotation);\n\n _this12 = _super10.call(this, parameters);\n _this12.data.annotationType = _util.AnnotationType.LINE;\n _this12.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray(\"L\"));\n return _this12;\n }\n\n return LineAnnotation;\n}(MarkupAnnotation);\n\nvar SquareAnnotation = /*#__PURE__*/function (_MarkupAnnotation4) {\n _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n var _super11 = _createSuper(SquareAnnotation);\n\n function SquareAnnotation(parameters) {\n var _this13;\n\n _classCallCheck(this, SquareAnnotation);\n\n _this13 = _super11.call(this, parameters);\n _this13.data.annotationType = _util.AnnotationType.SQUARE;\n return _this13;\n }\n\n return SquareAnnotation;\n}(MarkupAnnotation);\n\nvar CircleAnnotation = /*#__PURE__*/function (_MarkupAnnotation5) {\n _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n var _super12 = _createSuper(CircleAnnotation);\n\n function CircleAnnotation(parameters) {\n var _this14;\n\n _classCallCheck(this, CircleAnnotation);\n\n _this14 = _super12.call(this, parameters);\n _this14.data.annotationType = _util.AnnotationType.CIRCLE;\n return _this14;\n }\n\n return CircleAnnotation;\n}(MarkupAnnotation);\n\nvar PolylineAnnotation = /*#__PURE__*/function (_MarkupAnnotation6) {\n _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n var _super13 = _createSuper(PolylineAnnotation);\n\n function PolylineAnnotation(parameters) {\n var _this15;\n\n _classCallCheck(this, PolylineAnnotation);\n\n _this15 = _super13.call(this, parameters);\n _this15.data.annotationType = _util.AnnotationType.POLYLINE;\n var rawVertices = parameters.dict.getArray(\"Vertices\");\n _this15.data.vertices = [];\n\n for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n _this15.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n\n return _this15;\n }\n\n return PolylineAnnotation;\n}(MarkupAnnotation);\n\nvar PolygonAnnotation = /*#__PURE__*/function (_PolylineAnnotation) {\n _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n var _super14 = _createSuper(PolygonAnnotation);\n\n function PolygonAnnotation(parameters) {\n var _this16;\n\n _classCallCheck(this, PolygonAnnotation);\n\n _this16 = _super14.call(this, parameters);\n _this16.data.annotationType = _util.AnnotationType.POLYGON;\n return _this16;\n }\n\n return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar CaretAnnotation = /*#__PURE__*/function (_MarkupAnnotation7) {\n _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n var _super15 = _createSuper(CaretAnnotation);\n\n function CaretAnnotation(parameters) {\n var _this17;\n\n _classCallCheck(this, CaretAnnotation);\n\n _this17 = _super15.call(this, parameters);\n _this17.data.annotationType = _util.AnnotationType.CARET;\n return _this17;\n }\n\n return CaretAnnotation;\n}(MarkupAnnotation);\n\nvar InkAnnotation = /*#__PURE__*/function (_MarkupAnnotation8) {\n _inherits(InkAnnotation, _MarkupAnnotation8);\n\n var _super16 = _createSuper(InkAnnotation);\n\n function InkAnnotation(parameters) {\n var _this18;\n\n _classCallCheck(this, InkAnnotation);\n\n _this18 = _super16.call(this, parameters);\n _this18.data.annotationType = _util.AnnotationType.INK;\n var xref = parameters.xref;\n var originalInkLists = parameters.dict.getArray(\"InkList\");\n _this18.data.inkLists = [];\n\n for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n _this18.data.inkLists.push([]);\n\n for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n _this18.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 _this18;\n }\n\n return InkAnnotation;\n}(MarkupAnnotation);\n\nvar HighlightAnnotation = /*#__PURE__*/function (_MarkupAnnotation9) {\n _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n var _super17 = _createSuper(HighlightAnnotation);\n\n function HighlightAnnotation(parameters) {\n var _this19;\n\n _classCallCheck(this, HighlightAnnotation);\n\n _this19 = _super17.call(this, parameters);\n _this19.data.annotationType = _util.AnnotationType.HIGHLIGHT;\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 HighlightAnnotation;\n}(MarkupAnnotation);\n\nvar UnderlineAnnotation = /*#__PURE__*/function (_MarkupAnnotation10) {\n _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n var _super18 = _createSuper(UnderlineAnnotation);\n\n function UnderlineAnnotation(parameters) {\n var _this20;\n\n _classCallCheck(this, UnderlineAnnotation);\n\n _this20 = _super18.call(this, parameters);\n _this20.data.annotationType = _util.AnnotationType.UNDERLINE;\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 UnderlineAnnotation;\n}(MarkupAnnotation);\n\nvar SquigglyAnnotation = /*#__PURE__*/function (_MarkupAnnotation11) {\n _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n var _super19 = _createSuper(SquigglyAnnotation);\n\n function SquigglyAnnotation(parameters) {\n var _this21;\n\n _classCallCheck(this, SquigglyAnnotation);\n\n _this21 = _super19.call(this, parameters);\n _this21.data.annotationType = _util.AnnotationType.SQUIGGLY;\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 SquigglyAnnotation;\n}(MarkupAnnotation);\n\nvar StrikeOutAnnotation = /*#__PURE__*/function (_MarkupAnnotation12) {\n _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n var _super20 = _createSuper(StrikeOutAnnotation);\n\n function StrikeOutAnnotation(parameters) {\n var _this22;\n\n _classCallCheck(this, StrikeOutAnnotation);\n\n _this22 = _super20.call(this, parameters);\n _this22.data.annotationType = _util.AnnotationType.STRIKEOUT;\n var quadPoints = getQuadPoints(parameters.dict, _this22.rectangle);\n\n if (quadPoints) {\n _this22.data.quadPoints = quadPoints;\n }\n\n return _this22;\n }\n\n return StrikeOutAnnotation;\n}(MarkupAnnotation);\n\nvar StampAnnotation = /*#__PURE__*/function (_MarkupAnnotation13) {\n _inherits(StampAnnotation, _MarkupAnnotation13);\n\n var _super21 = _createSuper(StampAnnotation);\n\n function StampAnnotation(parameters) {\n var _this23;\n\n _classCallCheck(this, StampAnnotation);\n\n _this23 = _super21.call(this, parameters);\n _this23.data.annotationType = _util.AnnotationType.STAMP;\n return _this23;\n }\n\n return StampAnnotation;\n}(MarkupAnnotation);\n\nvar FileAttachmentAnnotation = /*#__PURE__*/function (_MarkupAnnotation14) {\n _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n var _super22 = _createSuper(FileAttachmentAnnotation);\n\n function FileAttachmentAnnotation(parameters) {\n var _this24;\n\n _classCallCheck(this, FileAttachmentAnnotation);\n\n _this24 = _super22.call(this, parameters);\n var file = new _obj.FileSpec(parameters.dict.get(\"FS\"), parameters.xref);\n _this24.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n _this24.data.file = file.serializable;\n return _this24;\n }\n\n return FileAttachmentAnnotation;\n}(MarkupAnnotation);\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.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\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 var firstTransformArg0 = argsArray[iFirstTransform][0],\n firstTransformArg1 = argsArray[iFirstTransform][1],\n firstTransformArg2 = argsArray[iFirstTransform][2],\n firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (firstTransformArg1 === firstTransformArg2) {\n isSameImage = true;\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] !== firstTransformArg1 || transformArgs[2] !== firstTransformArg2 || 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, firstTransformArg1, firstTransformArg2, 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) {\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 = new Set();\n this._totalLength = 0;\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 (this.dependencies.has(dependency)) {\n return;\n }\n\n this.dependencies.add(dependency);\n this.addOp(_util.OPS.dependency, [dependency]);\n },\n addDependencies: function addDependencies(dependencies) {\n var _iterator = _createForOfIteratorHelper(dependencies),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var dependency = _step.value;\n this.addDependency(dependency);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n addOpList: function addOpList(opList) {\n if (!(opList instanceof OperatorList)) {\n (0, _util.warn)('addOpList - ignoring invalid \"opList\" parameter.');\n return;\n }\n\n var _iterator2 = _createForOfIteratorHelper(opList.dependencies),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var dependency = _step2.value;\n this.dependencies.add(dependency);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\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.clear();\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/* 224 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.writeDict = writeDict;\nexports.incrementalUpdate = incrementalUpdate;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction writeDict(dict, buffer, transform) {\n buffer.push(\"<<\");\n\n var _iterator = _createForOfIteratorHelper(dict.getKeys()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var key = _step.value;\n buffer.push(\" /\".concat(key, \" \"));\n writeValue(dict.getRaw(key), buffer, transform);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n buffer.push(\">>\");\n}\n\nfunction writeStream(stream, buffer, transform) {\n writeDict(stream.dict, buffer, transform);\n buffer.push(\" stream\\n\");\n var string = (0, _util.bytesToString)(stream.getBytes());\n\n if (transform !== null) {\n string = transform.encryptString(string);\n }\n\n buffer.push(string);\n buffer.push(\"\\nendstream\\n\");\n}\n\nfunction writeArray(array, buffer, transform) {\n buffer.push(\"[\");\n var first = true;\n\n var _iterator2 = _createForOfIteratorHelper(array),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var val = _step2.value;\n\n if (!first) {\n buffer.push(\" \");\n } else {\n first = false;\n }\n\n writeValue(val, buffer, transform);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n buffer.push(\"]\");\n}\n\nfunction numberToString(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var roundedValue = Math.round(value * 100);\n\n if (roundedValue % 100 === 0) {\n return (roundedValue / 100).toString();\n }\n\n if (roundedValue % 10 === 0) {\n return value.toFixed(1);\n }\n\n return value.toFixed(2);\n}\n\nfunction writeValue(value, buffer, transform) {\n if ((0, _primitives.isName)(value)) {\n buffer.push(\"/\".concat(value.name));\n } else if ((0, _primitives.isRef)(value)) {\n buffer.push(\"\".concat(value.num, \" \").concat(value.gen, \" R\"));\n } else if (Array.isArray(value)) {\n writeArray(value, buffer, transform);\n } else if (typeof value === \"string\") {\n if (transform !== null) {\n value = transform.encryptString(value);\n }\n\n buffer.push(\"(\".concat((0, _util.escapeString)(value), \")\"));\n } else if (typeof value === \"number\") {\n buffer.push(numberToString(value));\n } else if ((0, _primitives.isDict)(value)) {\n writeDict(value, buffer, transform);\n } else if ((0, _primitives.isStream)(value)) {\n writeStream(value, buffer, transform);\n }\n}\n\nfunction writeInt(number, size, offset, buffer) {\n for (var i = size + offset - 1; i > offset - 1; i--) {\n buffer[i] = number & 0xff;\n number >>= 8;\n }\n\n return offset + size;\n}\n\nfunction writeString(string, offset, buffer) {\n for (var i = 0, len = string.length; i < len; i++) {\n buffer[offset + i] = string.charCodeAt(i) & 0xff;\n }\n}\n\nfunction computeMD5(filesize, xrefInfo) {\n var time = Math.floor(Date.now() / 1000);\n var filename = xrefInfo.filename || \"\";\n var md5Buffer = [time.toString(), filename, filesize.toString()];\n var md5BufferLen = md5Buffer.reduce(function (a, str) {\n return a + str.length;\n }, 0);\n\n for (var _i = 0, _Object$values = Object.values(xrefInfo.info); _i < _Object$values.length; _i++) {\n var value = _Object$values[_i];\n md5Buffer.push(value);\n md5BufferLen += value.length;\n }\n\n var array = new Uint8Array(md5BufferLen);\n var offset = 0;\n\n for (var _i2 = 0, _md5Buffer = md5Buffer; _i2 < _md5Buffer.length; _i2++) {\n var str = _md5Buffer[_i2];\n writeString(str, offset, array);\n offset += str.length;\n }\n\n return (0, _util.bytesToString)((0, _crypto.calculateMD5)(array));\n}\n\nfunction incrementalUpdate(originalData, xrefInfo, newRefs) {\n var newXref = new _primitives.Dict(null);\n var refForXrefTable = xrefInfo.newRef;\n var buffer, baseOffset;\n var lastByte = originalData[originalData.length - 1];\n\n if (lastByte === 0x0a || lastByte === 0x0d) {\n buffer = [];\n baseOffset = originalData.length;\n } else {\n buffer = [\"\\n\"];\n baseOffset = originalData.length + 1;\n }\n\n newXref.set(\"Size\", refForXrefTable.num + 1);\n newXref.set(\"Prev\", xrefInfo.startXRef);\n newXref.set(\"Type\", _primitives.Name.get(\"XRef\"));\n\n if (xrefInfo.rootRef !== null) {\n newXref.set(\"Root\", xrefInfo.rootRef);\n }\n\n if (xrefInfo.infoRef !== null) {\n newXref.set(\"Info\", xrefInfo.infoRef);\n }\n\n if (xrefInfo.encrypt !== null) {\n newXref.set(\"Encrypt\", xrefInfo.encrypt);\n }\n\n newRefs.push({\n ref: refForXrefTable,\n data: \"\"\n });\n newRefs = newRefs.sort(function (a, b) {\n return a.ref.num - b.ref.num;\n });\n var xrefTableData = [[0, 1, 0xffff]];\n var indexes = [0, 1];\n var maxOffset = 0;\n\n var _iterator3 = _createForOfIteratorHelper(newRefs),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _step3.value,\n ref = _step3$value.ref,\n data = _step3$value.data;\n maxOffset = Math.max(maxOffset, baseOffset);\n xrefTableData.push([1, baseOffset, Math.min(ref.gen, 0xffff)]);\n baseOffset += data.length;\n indexes.push(ref.num);\n indexes.push(1);\n buffer.push(data);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n newXref.set(\"Index\", indexes);\n\n if (xrefInfo.fileIds.length !== 0) {\n var md5 = computeMD5(baseOffset, xrefInfo);\n newXref.set(\"ID\", [xrefInfo.fileIds[0], md5]);\n }\n\n var offsetSize = Math.ceil(Math.log2(maxOffset) / 8);\n var sizes = [1, offsetSize, 2];\n var structSize = sizes[0] + sizes[1] + sizes[2];\n var tableLength = structSize * xrefTableData.length;\n newXref.set(\"W\", sizes);\n newXref.set(\"Length\", tableLength);\n buffer.push(\"\".concat(refForXrefTable.num, \" \").concat(refForXrefTable.gen, \" obj\\n\"));\n writeDict(newXref, buffer, null);\n buffer.push(\" stream\\n\");\n var bufferLen = buffer.reduce(function (a, str) {\n return a + str.length;\n }, 0);\n var footer = \"\\nendstream\\nendobj\\nstartxref\\n\".concat(baseOffset, \"\\n%%EOF\\n\");\n var array = new Uint8Array(originalData.length + bufferLen + tableLength + footer.length);\n array.set(originalData);\n var offset = originalData.length;\n\n var _iterator4 = _createForOfIteratorHelper(buffer),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var str = _step4.value;\n writeString(str, offset, array);\n offset += str.length;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n for (var _i3 = 0, _xrefTableData = xrefTableData; _i3 < _xrefTableData.length; _i3++) {\n var _xrefTableData$_i = _slicedToArray(_xrefTableData[_i3], 3),\n type = _xrefTableData$_i[0],\n objOffset = _xrefTableData$_i[1],\n gen = _xrefTableData$_i[2];\n\n offset = writeInt(type, sizes[0], offset, array);\n offset = writeInt(objOffset, sizes[1], offset, array);\n offset = writeInt(gen, sizes[2], offset, array);\n }\n\n writeString(footer, offset, array);\n return array;\n}\n\n/***/ }),\n/* 225 */\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__(226);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _fonts = __w_pdfjs_require__(227);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _unicode = __w_pdfjs_require__(233);\n\nvar _standard_fonts = __w_pdfjs_require__(232);\n\nvar _pattern = __w_pdfjs_require__(236);\n\nvar _function = __w_pdfjs_require__(237);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nvar _bidi = __w_pdfjs_require__(239);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _metrics = __w_pdfjs_require__(240);\n\nvar _murmurhash = __w_pdfjs_require__(241);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _image = __w_pdfjs_require__(242);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DefaultPartialEvaluatorOptions = Object.freeze({\n maxImageSize: -1,\n disableFontFace: false,\n ignoreErrors: false,\n isEvalSupported: true,\n fontExtraProperties: false\n});\nvar PatternType = {\n TILING: 1,\n SHADING: 2\n};\nvar deferred = Promise.resolve();\n\nfunction normalizeBlendMode(value) {\n var parsingArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (Array.isArray(value)) {\n for (var i = 0, ii = value.length; i < ii; i++) {\n var maybeBM = normalizeBlendMode(value[i], true);\n\n if (maybeBM) {\n return maybeBM;\n }\n }\n\n (0, _util.warn)(\"Unsupported blend mode Array: \".concat(value));\n return \"source-over\";\n }\n\n if (!(0, _primitives.isName)(value)) {\n if (parsingArray) {\n return null;\n }\n\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 if (parsingArray) {\n return null;\n }\n\n (0, _util.warn)(\"Unsupported blend mode: \".concat(value.name));\n return \"source-over\";\n}\n\nvar TimeSlotManager = /*#__PURE__*/function () {\n _createClass(TimeSlotManager, null, [{\n key: \"TIME_SLOT_DURATION_MS\",\n get: function get() {\n return (0, _util.shadow)(this, \"TIME_SLOT_DURATION_MS\", 20);\n }\n }, {\n key: \"CHECK_TIME_EVERY\",\n get: function get() {\n return (0, _util.shadow)(this, \"CHECK_TIME_EVERY\", 100);\n }\n }]);\n\n function TimeSlotManager() {\n _classCallCheck(this, TimeSlotManager);\n\n this.reset();\n }\n\n _createClass(TimeSlotManager, [{\n key: \"check\",\n value: function check() {\n if (++this.checked < TimeSlotManager.CHECK_TIME_EVERY) {\n return false;\n }\n\n this.checked = 0;\n return this.endTime <= Date.now();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.endTime = Date.now() + TimeSlotManager.TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n }]);\n\n return TimeSlotManager;\n}();\n\nvar PartialEvaluator = /*#__PURE__*/function () {\n function PartialEvaluator(_ref) {\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 globalImageCache = _ref.globalImageCache,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? null : _ref$options;\n\n _classCallCheck(this, PartialEvaluator);\n\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.globalImageCache = globalImageCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.parsingType3Font = false;\n this._fetchBuiltInCMapBound = this.fetchBuiltInCMap.bind(this);\n }\n\n _createClass(PartialEvaluator, [{\n key: \"clone\",\n value: 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 }, {\n key: \"hasBlendModes\",\n value: function hasBlendModes(resources) {\n if (!(resources instanceof _primitives.Dict)) {\n return false;\n }\n\n var processed = new _primitives.RefSet();\n\n if (resources.objId) {\n processed.put(resources.objId);\n }\n\n var nodes = [resources],\n xref = this.xref;\n\n while (nodes.length) {\n var node = nodes.shift();\n var graphicStates = node.get(\"ExtGState\");\n\n if (graphicStates instanceof _primitives.Dict) {\n var _iterator = _createForOfIteratorHelper(graphicStates.getRawValues()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var graphicState = _step.value;\n\n if (graphicState instanceof _primitives.Ref) {\n if (processed.has(graphicState)) {\n continue;\n }\n\n try {\n graphicState = xref.fetch(graphicState);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n processed.put(graphicState);\n (0, _util.info)(\"hasBlendModes - ignoring ExtGState: \\\"\".concat(ex, \"\\\".\"));\n continue;\n }\n }\n\n if (!(graphicState instanceof _primitives.Dict)) {\n continue;\n }\n\n if (graphicState.objId) {\n processed.put(graphicState.objId);\n }\n\n var bm = graphicState.get(\"BM\");\n\n if (bm instanceof _primitives.Name) {\n if (bm.name !== \"Normal\") {\n return true;\n }\n\n continue;\n }\n\n if (bm !== undefined && Array.isArray(bm)) {\n var _iterator2 = _createForOfIteratorHelper(bm),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var element = _step2.value;\n\n if (element instanceof _primitives.Name && element.name !== \"Normal\") {\n return true;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n var xObjects = node.get(\"XObject\");\n\n if (!(xObjects instanceof _primitives.Dict)) {\n continue;\n }\n\n var _iterator3 = _createForOfIteratorHelper(xObjects.getRawValues()),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var xObject = _step3.value;\n\n if (xObject instanceof _primitives.Ref) {\n if (processed.has(xObject)) {\n continue;\n }\n\n try {\n xObject = xref.fetch(xObject);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n processed.put(xObject);\n (0, _util.info)(\"hasBlendModes - ignoring XObject: \\\"\".concat(ex, \"\\\".\"));\n continue;\n }\n }\n\n if (!(0, _primitives.isStream)(xObject)) {\n continue;\n }\n\n if (xObject.dict.objId) {\n processed.put(xObject.dict.objId);\n }\n\n var xResources = xObject.dict.get(\"Resources\");\n\n if (!(xResources instanceof _primitives.Dict)) {\n continue;\n }\n\n if (xResources.objId && processed.has(xResources.objId)) {\n continue;\n }\n\n nodes.push(xResources);\n\n if (xResources.objId) {\n processed.put(xResources.objId);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return false;\n }\n }, {\n key: \"fetchBuiltInCMap\",\n value: function () {\n var _fetchBuiltInCMap = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(name) {\n var cachedData, readableStream, reader, data;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cachedData = this.builtInCMapCache.get(name);\n\n if (!cachedData) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", cachedData);\n\n case 3:\n readableStream = this.handler.sendWithStream(\"FetchBuiltInCMap\", {\n name: name\n });\n reader = readableStream.getReader();\n _context.next = 7;\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n return;\n }\n\n resolve(value);\n pump();\n }, reject);\n }\n\n pump();\n });\n\n case 7:\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 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetchBuiltInCMap(_x) {\n return _fetchBuiltInCMap.apply(this, arguments);\n }\n\n return fetchBuiltInCMap;\n }()\n }, {\n key: \"buildFormXObject\",\n value: function () {\n var _buildFormXObject = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(resources, xobj, smask, operatorList, task, initialState, localColorSpaceCache) {\n var dict, matrix, bbox, optionalContent, group, groupOptions, groupSubtype, colorSpace, cs, cachedColorSpace;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n dict = xobj.dict;\n matrix = dict.getArray(\"Matrix\");\n 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 optionalContent = null;\n\n if (!dict.has(\"OC\")) {\n _context2.next = 10;\n break;\n }\n\n _context2.next = 8;\n return this.parseMarkedContentProps(dict.get(\"OC\"), resources);\n\n case 8:\n optionalContent = _context2.sent;\n operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", optionalContent]);\n\n case 10:\n group = dict.get(\"Group\");\n\n if (!group) {\n _context2.next = 30;\n break;\n }\n\n groupOptions = {\n matrix: matrix,\n bbox: bbox,\n smask: smask,\n isolated: false,\n knockout: false\n };\n groupSubtype = group.get(\"S\");\n colorSpace = null;\n\n if (!(0, _primitives.isName)(groupSubtype, \"Transparency\")) {\n _context2.next = 28;\n break;\n }\n\n groupOptions.isolated = group.get(\"I\") || false;\n groupOptions.knockout = group.get(\"K\") || false;\n\n if (!group.has(\"CS\")) {\n _context2.next = 28;\n break;\n }\n\n cs = group.getRaw(\"CS\");\n cachedColorSpace = _colorspace.ColorSpace.getCached(cs, this.xref, localColorSpaceCache);\n\n if (!cachedColorSpace) {\n _context2.next = 25;\n break;\n }\n\n colorSpace = cachedColorSpace;\n _context2.next = 28;\n break;\n\n case 25:\n _context2.next = 27;\n return this.parseColorSpace({\n cs: cs,\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n });\n\n case 27:\n colorSpace = _context2.sent;\n\n case 28:\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 case 30:\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n return _context2.abrupt(\"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 if (optionalContent) {\n operatorList.addOp(_util.OPS.endMarkedContent, []);\n }\n }));\n\n case 32:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function buildFormXObject(_x2, _x3, _x4, _x5, _x6, _x7, _x8) {\n return _buildFormXObject.apply(this, arguments);\n }\n\n return buildFormXObject;\n }()\n }, {\n key: \"_sendImgData\",\n value: function _sendImgData(objId, imgData) {\n var cacheGlobally = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var transfers = imgData ? [imgData.data.buffer] : null;\n\n if (this.parsingType3Font || cacheGlobally) {\n return this.handler.send(\"commonobj\", [objId, \"Image\", imgData], transfers);\n }\n\n return this.handler.send(\"obj\", [objId, this.pageIndex, \"Image\", imgData], transfers);\n }\n }, {\n key: \"buildPaintImageXObject\",\n value: function () {\n var _buildPaintImageXObject = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(_ref3) {\n var _this = this;\n\n var resources, image, _ref3$isInline, isInline, operatorList, cacheKey, localImageCache, localColorSpaceCache, dict, imageRef, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, objId, cacheGlobally;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n resources = _ref3.resources, image = _ref3.image, _ref3$isInline = _ref3.isInline, isInline = _ref3$isInline === void 0 ? false : _ref3$isInline, operatorList = _ref3.operatorList, cacheKey = _ref3.cacheKey, localImageCache = _ref3.localImageCache, localColorSpaceCache = _ref3.localColorSpaceCache;\n dict = image.dict;\n imageRef = dict.objId;\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 _context3.next = 8;\n break;\n }\n\n (0, _util.warn)(\"Image dimensions are missing, or not numbers.\");\n return _context3.abrupt(\"return\", undefined);\n\n case 8:\n maxImageSize = this.options.maxImageSize;\n\n if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n _context3.next = 12;\n break;\n }\n\n (0, _util.warn)(\"Image exceeded maximum allowed size and was removed.\");\n return _context3.abrupt(\"return\", undefined);\n\n case 12:\n imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n\n if (!imageMask) {\n _context3.next = 25;\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 localImageCache.set(cacheKey, imageRef, {\n fn: _util.OPS.paintImageMaskXObject,\n args: args\n });\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 25:\n softMask = dict.get(\"SMask\", \"SM\") || false;\n mask = dict.get(\"Mask\") || false;\n SMALL_IMAGE_DIMENSIONS = 200;\n\n if (!(isInline && !softMask && !mask && w + h < SMALL_IMAGE_DIMENSIONS)) {\n _context3.next = 33;\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 localColorSpaceCache: localColorSpaceCache\n });\n imgData = imageObj.createImageData(true);\n operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n return _context3.abrupt(\"return\", undefined);\n\n case 33:\n objId = \"img_\".concat(this.idFactory.createObjId()), cacheGlobally = false;\n\n if (this.parsingType3Font) {\n objId = \"\".concat(this.idFactory.getDocId(), \"_type3_\").concat(objId);\n } else if (imageRef) {\n cacheGlobally = this.globalImageCache.shouldCache(imageRef, this.pageIndex);\n\n if (cacheGlobally) {\n objId = \"\".concat(this.idFactory.getDocId(), \"_\").concat(objId);\n }\n }\n\n operatorList.addDependency(objId);\n args = [objId, w, h];\n\n _image.PDFImage.buildImage({\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (imageObj) {\n imgData = imageObj.createImageData(false);\n return _this._sendImgData(objId, imgData, cacheGlobally);\n })[\"catch\"](function (reason) {\n (0, _util.warn)(\"Unable to decode image \\\"\".concat(objId, \"\\\": \\\"\").concat(reason, \"\\\".\"));\n return _this._sendImgData(objId, null, cacheGlobally);\n });\n\n operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n if (cacheKey) {\n localImageCache.set(cacheKey, imageRef, {\n fn: _util.OPS.paintImageXObject,\n args: args\n });\n\n if (imageRef) {\n (0, _util.assert)(!isInline, \"Cannot cache an inline image globally.\");\n this.globalImageCache.addPageIndex(imageRef, this.pageIndex);\n\n if (cacheGlobally) {\n this.globalImageCache.setData(imageRef, {\n objId: objId,\n fn: _util.OPS.paintImageXObject,\n args: args\n });\n }\n }\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 41:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function buildPaintImageXObject(_x9) {\n return _buildPaintImageXObject.apply(this, arguments);\n }\n\n return buildPaintImageXObject;\n }()\n }, {\n key: \"handleSMask\",\n value: function handleSMask(smask, resources, operatorList, task, stateManager, localColorSpaceCache) {\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\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(), localColorSpaceCache);\n }\n }, {\n key: \"handleTransferFunction\",\n value: function handleTransferFunction(tr) {\n var transferArray;\n\n if (Array.isArray(tr)) {\n transferArray = tr;\n } else if ((0, _function.isPDFFunction)(tr)) {\n transferArray = [tr];\n } else {\n return null;\n }\n\n var transferMaps = [];\n var numFns = 0,\n numEffectfulFns = 0;\n\n var _iterator4 = _createForOfIteratorHelper(transferArray),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var entry = _step4.value;\n var transferObj = this.xref.fetchIfRef(entry);\n numFns++;\n\n if ((0, _primitives.isName)(transferObj, \"Identity\")) {\n transferMaps.push(null);\n continue;\n } else if (!(0, _function.isPDFFunction)(transferObj)) {\n return null;\n }\n\n var transferFn = this._pdfFunctionFactory.create(transferObj);\n\n var transferMap = new Uint8Array(256),\n tmp = new Float32Array(1);\n\n for (var j = 0; j < 256; j++) {\n tmp[0] = j / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[j] = tmp[0] * 255 | 0;\n }\n\n transferMaps.push(transferMap);\n numEffectfulFns++;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n if (!(numFns === 1 || numFns === 4)) {\n return null;\n }\n\n if (numEffectfulFns === 0) {\n return null;\n }\n\n return transferMaps;\n }\n }, {\n key: \"handleTilingType\",\n value: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n var _this2 = this;\n\n var tilingOpList = new _operator_list.OperatorList();\n\n var patternResources = _primitives.Dict.merge({\n xref: this.xref,\n dictArray: [patternDict.get(\"Resources\"), resources]\n });\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 (_this2.options.ignoreErrors) {\n _this2.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorTilingPattern\n });\n\n (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"handleSetFont\",\n value: function handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n var _this3 = this;\n\n var fontName,\n fontSize = 0;\n\n if (fontArgs) {\n fontArgs = fontArgs.slice();\n fontName = fontArgs[0].name;\n fontSize = fontArgs[1];\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(_this3, resources, task).then(function () {\n operatorList.addDependencies(translated.type3Dependencies);\n return translated;\n })[\"catch\"](function (reason) {\n _this3.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadType3\n });\n\n return new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(\"Type3 font load error: \".concat(reason)),\n dict: translated.font,\n extraProperties: _this3.options.fontExtraProperties\n });\n });\n }).then(function (translated) {\n state.font = translated.font;\n state.fontSize = fontSize;\n state.fontName = fontName;\n translated.send(_this3.handler);\n return translated.loadedName;\n });\n }\n }, {\n key: \"handleText\",\n value: 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 }, {\n key: \"ensureStateFont\",\n value: function ensureStateFont(state) {\n if (state.font) {\n return;\n }\n\n var reason = new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontState\n });\n (0, _util.warn)(\"ensureStateFont: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }\n }, {\n key: \"setGState\",\n value: function () {\n var _setGState = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(_ref4) {\n var _this4 = this;\n\n var resources, gState, operatorList, cacheKey, task, stateManager, localGStateCache, localColorSpaceCache, gStateRef, isSimpleGState, gStateObj, gStateKeys, promise, _loop, i, ii;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n resources = _ref4.resources, gState = _ref4.gState, operatorList = _ref4.operatorList, cacheKey = _ref4.cacheKey, task = _ref4.task, stateManager = _ref4.stateManager, localGStateCache = _ref4.localGStateCache, localColorSpaceCache = _ref4.localColorSpaceCache;\n gStateRef = gState.objId;\n isSimpleGState = true;\n gStateObj = [];\n gStateKeys = gState.getKeys();\n promise = Promise.resolve();\n\n _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 isSimpleGState = false;\n promise = promise.then(function () {\n return _this4.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 isSimpleGState = false;\n promise = promise.then(function () {\n return _this4.handleSMask(value, resources, operatorList, task, stateManager, localColorSpaceCache);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)(\"Unsupported SMask type\");\n }\n\n break;\n\n case \"TR\":\n var transferMaps = _this4.handleTransferFunction(value);\n\n gStateObj.push([key, transferMaps]);\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 \"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 (i = 0, ii = gStateKeys.length; i < ii; i++) {\n _loop();\n }\n\n return _context4.abrupt(\"return\", promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n\n if (isSimpleGState) {\n localGStateCache.set(cacheKey, gStateRef, gStateObj);\n }\n }));\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function setGState(_x10) {\n return _setGState.apply(this, arguments);\n }\n\n return setGState;\n }()\n }, {\n key: \"loadFont\",\n value: function loadFont(fontName, font, resources) {\n var _this5 = this;\n\n var errorFont = function errorFont() {\n return Promise.resolve(new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(\"Font \\\"\".concat(fontName, \"\\\" is not available.\")),\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n };\n\n var fontRef,\n xref = this.xref;\n\n if (font) {\n if (!(0, _primitives.isRef)(font)) {\n throw new _util.FormatError('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 }\n }\n\n if (!fontRef) {\n var partialMsg = \"Font \\\"\".concat(fontName || font && font.toString(), \"\\\" is not available\");\n\n if (!this.options.ignoreErrors && !this.parsingType3Font) {\n (0, _util.warn)(\"\".concat(partialMsg, \".\"));\n return errorFont();\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontMissing\n });\n (0, _util.warn)(\"\".concat(partialMsg, \" -- attempting to fallback to a default font.\"));\n fontRef = PartialEvaluator.fallbackFontDict;\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 = \"f\".concat(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: this.idFactory.createFontId()\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.createFontId();\n }\n\n this.fontCache.put(\"id_\".concat(fontID), fontCapability.promise);\n }\n\n (0, _util.assert)(fontID && fontID.startsWith(\"f\"), 'The \"fontID\" must be (correctly) defined.');\n font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_\").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({\n loadedName: font.loadedName,\n font: translatedFont,\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n })[\"catch\"](function (reason) {\n _this5.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontTranslate\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({\n loadedName: font.loadedName,\n font: new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason),\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n });\n return fontCapability.promise;\n }\n }, {\n key: \"buildPath\",\n value: 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 }, {\n key: \"parseColorSpace\",\n value: function parseColorSpace(_ref5) {\n var _this6 = this;\n\n var cs = _ref5.cs,\n resources = _ref5.resources,\n localColorSpaceCache = _ref5.localColorSpaceCache;\n return _colorspace.ColorSpace.parseAsync({\n cs: cs,\n xref: this.xref,\n resources: resources,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (_this6.options.ignoreErrors) {\n _this6.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorColorSpace\n });\n\n (0, _util.warn)(\"parseColorSpace - ignoring ColorSpace: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"handleColorN\",\n value: function () {\n var _handleColorN = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(operatorList, fn, args, cs, patterns, resources, task, localColorSpaceCache) {\n var patternName, pattern, dict, typeNum, color, shading, matrix;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n patternName = args[args.length - 1];\n\n if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {\n _context5.next = 16;\n break;\n }\n\n dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n typeNum = dict.get(\"PatternType\");\n\n if (!(typeNum === PatternType.TILING)) {\n _context5.next = 9;\n break;\n }\n\n color = cs.base ? cs.base.getRgb(args, 0) : null;\n return _context5.abrupt(\"return\", this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));\n\n case 9:\n if (!(typeNum === PatternType.SHADING)) {\n _context5.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, localColorSpaceCache);\n operatorList.addOp(fn, pattern.getIR());\n return _context5.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 _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function handleColorN(_x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18) {\n return _handleColorN.apply(this, arguments);\n }\n\n return handleColorN;\n }()\n }, {\n key: \"parseMarkedContentProps\",\n value: function () {\n var _parseMarkedContentProps = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6(contentProperties, resources) {\n var optionalContent, properties, optionalContentType, optionalContentGroups, groupIds, expression;\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!(0, _primitives.isName)(contentProperties)) {\n _context6.next = 5;\n break;\n }\n\n properties = resources.get(\"Properties\");\n optionalContent = properties.get(contentProperties.name);\n _context6.next = 10;\n break;\n\n case 5:\n if (!(0, _primitives.isDict)(contentProperties)) {\n _context6.next = 9;\n break;\n }\n\n optionalContent = contentProperties;\n _context6.next = 10;\n break;\n\n case 9:\n throw new _util.FormatError(\"Optional content properties malformed.\");\n\n case 10:\n optionalContentType = optionalContent.get(\"Type\").name;\n\n if (!(optionalContentType === \"OCG\")) {\n _context6.next = 15;\n break;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n id: optionalContent.objId\n });\n\n case 15:\n if (!(optionalContentType === \"OCMD\")) {\n _context6.next = 27;\n break;\n }\n\n optionalContentGroups = optionalContent.get(\"OCGs\");\n\n if (!(Array.isArray(optionalContentGroups) || (0, _primitives.isDict)(optionalContentGroups))) {\n _context6.next = 25;\n break;\n }\n\n groupIds = [];\n\n if (Array.isArray(optionalContentGroups)) {\n optionalContent.get(\"OCGs\").forEach(function (ocg) {\n groupIds.push(ocg.toString());\n });\n } else {\n groupIds.push(optionalContentGroups.objId);\n }\n\n expression = null;\n\n if (optionalContent.get(\"VE\")) {\n expression = true;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n ids: groupIds,\n policy: (0, _primitives.isName)(optionalContent.get(\"P\")) ? optionalContent.get(\"P\").name : null,\n expression: expression\n });\n\n case 25:\n if (!(0, _primitives.isRef)(optionalContentGroups)) {\n _context6.next = 27;\n break;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n id: optionalContentGroups.toString()\n });\n\n case 27:\n return _context6.abrupt(\"return\", null);\n\n case 28:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n\n function parseMarkedContentProps(_x19, _x20) {\n return _parseMarkedContentProps.apply(this, arguments);\n }\n\n return parseMarkedContentProps;\n }()\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(_ref6) {\n var _this7 = this;\n\n var stream = _ref6.stream,\n task = _ref6.task,\n resources = _ref6.resources,\n operatorList = _ref6.operatorList,\n _ref6$initialState = _ref6.initialState,\n initialState = _ref6$initialState === void 0 ? null : _ref6$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 localImageCache = new _image_utils.LocalImageCache();\n var localColorSpaceCache = new _image_utils.LocalColorSpaceCache();\n var localGStateCache = new _image_utils.LocalGStateCache();\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 name;\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 name = args[0].name;\n\n if (name) {\n var localImage = localImageCache.getByName(name);\n\n if (localImage) {\n operatorList.addOp(localImage.fn, localImage.args);\n args = null;\n continue;\n }\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.getRaw(name);\n\n if (xobj instanceof _primitives.Ref) {\n var _localImage = localImageCache.getByRef(xobj);\n\n if (_localImage) {\n operatorList.addOp(_localImage.fn, _localImage.args);\n resolveXObject();\n return;\n }\n\n var globalImage = self.globalImageCache.getData(xobj, self.pageIndex);\n\n if (globalImage) {\n operatorList.addDependency(globalImage.objId);\n operatorList.addOp(globalImage.fn, globalImage.args);\n resolveXObject();\n return;\n }\n\n xobj = xref.fetch(xobj);\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(), localColorSpaceCache).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 localImageCache: localImageCache,\n localColorSpaceCache: localColorSpaceCache\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.errorXObject\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 _localImage2 = localImageCache.getByName(cacheKey);\n\n if (_localImage2) {\n operatorList.addOp(_localImage2.fn, _localImage2.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 localImageCache: localImageCache,\n localColorSpaceCache: localColorSpaceCache\n }));\n return;\n\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 {\n var cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n\n if (cachedColorSpace) {\n stateManager.state.fillColorSpace = cachedColorSpace;\n continue;\n }\n\n next(self.parseColorSpace({\n cs: args[0],\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.fillColorSpace = colorSpace;\n }\n }));\n return;\n }\n\n case _util.OPS.setStrokeColorSpace:\n {\n var _cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n\n if (_cachedColorSpace) {\n stateManager.state.strokeColorSpace = _cachedColorSpace;\n continue;\n }\n\n next(self.parseColorSpace({\n cs: args[0],\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.strokeColorSpace = colorSpace;\n }\n }));\n return;\n }\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, localColorSpaceCache));\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, localColorSpaceCache));\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, localColorSpaceCache);\n\n var patternIR = shadingFill.getIR();\n args = [patternIR];\n fn = _util.OPS.shadingFill;\n break;\n\n case _util.OPS.setGState:\n name = args[0].name;\n\n if (name) {\n var localGStateObj = localGStateCache.getByName(name);\n\n if (localGStateObj) {\n if (localGStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [localGStateObj]);\n }\n\n args = null;\n continue;\n }\n }\n\n next(new Promise(function (resolveGState, rejectGState) {\n if (!name) {\n throw new _util.FormatError(\"GState must be referred to by name.\");\n }\n\n var extGState = resources.get(\"ExtGState\");\n\n if (!(extGState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n }\n\n var gState = extGState.get(name);\n\n if (!(gState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"GState should be a dictionary.\");\n }\n\n self.setGState({\n resources: resources,\n gState: gState,\n operatorList: operatorList,\n cacheKey: name,\n task: task,\n stateManager: stateManager,\n localGStateCache: localGStateCache,\n localColorSpaceCache: localColorSpaceCache\n }).then(resolveGState, rejectGState);\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.errorExtGState\n });\n (0, _util.warn)(\"getOperatorList - ignoring ExtGState: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\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.beginCompat:\n case _util.OPS.endCompat:\n continue;\n\n case _util.OPS.beginMarkedContentProps:\n if (!(0, _primitives.isName)(args[0])) {\n (0, _util.warn)(\"Expected name for beginMarkedContentProps arg0=\".concat(args[0]));\n continue;\n }\n\n if (args[0].name === \"OC\") {\n next(self.parseMarkedContentProps(args[1], resources).then(function (data) {\n operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", data]);\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.errorMarkedContent\n });\n (0, _util.warn)(\"getOperatorList - ignoring beginMarkedContentProps: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n }\n\n args = [args[0].name];\n break;\n\n case _util.OPS.beginMarkedContent:\n case _util.OPS.endMarkedContent:\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.errorOperatorList\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 }, {\n key: \"getTextContent\",\n value: function getTextContent(_ref7) {\n var _this8 = this;\n\n var stream = _ref7.stream,\n task = _ref7.task,\n resources = _ref7.resources,\n _ref7$stateManager = _ref7.stateManager,\n stateManager = _ref7$stateManager === void 0 ? null : _ref7$stateManager,\n _ref7$normalizeWhites = _ref7.normalizeWhitespace,\n normalizeWhitespace = _ref7$normalizeWhites === void 0 ? false : _ref7$normalizeWhites,\n _ref7$combineTextItem = _ref7.combineTextItems,\n combineTextItems = _ref7$combineTextItem === void 0 ? false : _ref7$combineTextItem,\n sink = _ref7.sink,\n _ref7$seenStyles = _ref7.seenStyles,\n seenStyles = _ref7$seenStyles === void 0 ? Object.create(null) : _ref7$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 emptyXObjectCache = new _image_utils.LocalImageCache();\n var emptyGStateCache = new _image_utils.LocalGStateCache();\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 if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n flushTextContentItem();\n textState.carriageReturn();\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 && emptyXObjectCache.getByName(name)) {\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.getRaw(name);\n\n if (xobj instanceof _primitives.Ref) {\n if (emptyXObjectCache.getByRef(xobj)) {\n resolveXObject();\n return;\n }\n\n xobj = xref.fetch(xobj);\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 emptyXObjectCache.set(name, xobj.dict.objId, 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 emptyXObjectCache.set(name, xobj.dict.objId, 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 name = args[0].name;\n\n if (name && emptyGStateCache.getByName(name)) {\n break;\n }\n\n next(new Promise(function (resolveGState, rejectGState) {\n if (!name) {\n throw new _util.FormatError(\"GState must be referred to by name.\");\n }\n\n var extGState = resources.get(\"ExtGState\");\n\n if (!(extGState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n }\n\n var gState = extGState.get(name);\n\n if (!(gState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"GState should be a dictionary.\");\n }\n\n var gStateFont = gState.get(\"Font\");\n\n if (!gStateFont) {\n emptyGStateCache.set(name, gState.objId, true);\n resolveGState();\n return;\n }\n\n flushTextContentItem();\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n handleSetFont(null, gStateFont[0]).then(resolveGState, rejectGState);\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 ExtGState: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\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 }, {\n key: \"extractDataStructures\",\n value: function extractDataStructures(dict, baseDict, properties) {\n var _this9 = this;\n\n var xref = this.xref;\n var 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|Wingdings/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 (readToUnicode) {\n properties.toUnicode = readToUnicode;\n return _this9.buildToUnicode(properties);\n }).then(function (builtToUnicode) {\n properties.toUnicode = builtToUnicode;\n\n if (cidToGidBytes) {\n properties.cidToGidMap = _this9.readCidToGidMap(cidToGidBytes, builtToUnicode);\n }\n\n return properties;\n });\n }\n }, {\n key: \"_buildSimpleFontToUnicode\",\n value: function _buildSimpleFontToUnicode(properties) {\n var forceGlyphs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(!properties.composite, \"Must be a simple font.\");\n var toUnicode = [];\n var encoding = properties.defaultEncoding.slice();\n var baseEncodingName = properties.baseEncodingName;\n var differences = properties.differences;\n\n for (var charcode in differences) {\n var 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 (var _charcode in encoding) {\n var _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 && _glyphName.length <= 4) {\n var codeStr = _glyphName.substring(1);\n\n if (forceGlyphs) {\n code = parseInt(codeStr, 16);\n break;\n }\n\n code = +codeStr;\n\n if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {\n return this._buildSimpleFontToUnicode(properties, true);\n }\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 > 0 && code <= 0x10ffff && Number.isInteger(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 }, {\n key: \"buildToUnicode\",\n value: 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._fetchBuiltInCMapBound,\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 }, {\n key: \"readToUnicode\",\n value: function readToUnicode(toUnicode) {\n var _this10 = this;\n\n var cmapObj = toUnicode;\n\n if ((0, _primitives.isName)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\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._fetchBuiltInCMapBound,\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 }, function (reason) {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (_this10.options.ignoreErrors) {\n _this10.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontToUnicode\n });\n\n (0, _util.warn)(\"readToUnicode - ignoring ToUnicode data: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }\n\n throw reason;\n });\n }\n\n return Promise.resolve(null);\n }\n }, {\n key: \"readCidToGidMap\",\n value: 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 }, {\n key: \"extractWidths\",\n value: function 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 }, {\n key: \"isSerifFont\",\n value: function isSerifFont(baseFontName) {\n var fontNameWoStyle = baseFontName.split(\"-\")[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n }\n }, {\n key: \"getBaseFontMetrics\",\n value: function 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 }, {\n key: \"buildCharCodeToWidth\",\n value: function buildCharCodeToWidth(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 }, {\n key: \"preEvaluateFont\",\n value: function 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 _iterator5 = _createForOfIteratorHelper(encoding.getRawValues()),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var entry = _step5.value;\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 } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\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 }, {\n key: \"translateFont\",\n value: function translateFont(preEvaluatedFont) {\n var _this11 = 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 var firstChar = dict.get(\"FirstChar\") || 0;\n var lastChar = dict.get(\"LastChar\") || maxCharIndex;\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\") || [0, 0, 0, 0]);\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: firstChar,\n lastChar: lastChar\n };\n var widths = dict.get(\"Widths\");\n return this.extractDataStructures(dict, dict, properties).then(function (newProperties) {\n if (widths) {\n var glyphWidths = [];\n var j = firstChar;\n\n for (var _i = 0, ii = widths.length; _i < ii; _i++) {\n glyphWidths[j++] = _this11.xref.fetchIfRef(widths[_i]);\n }\n\n newProperties.widths = glyphWidths;\n } else {\n newProperties.widths = _this11.buildCharCodeToWidth(metrics.widths, newProperties);\n }\n\n return new _fonts.Font(baseFontName, null, newProperties);\n });\n }\n }\n\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 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._fetchBuiltInCMapBound,\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 _this11.extractDataStructures(dict, baseDict, properties);\n }).then(function (newProperties) {\n _this11.extractWidths(dict, descriptor, newProperties);\n\n if (type === \"Type3\") {\n newProperties.isType3Font = true;\n }\n\n return new _fonts.Font(fontName.name, fontFile, newProperties);\n });\n }\n }, {\n key: \"_pdfFunctionFactory\",\n get: function get() {\n var pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: this.options.isEvalSupported\n });\n return (0, _util.shadow)(this, \"_pdfFunctionFactory\", pdfFunctionFactory);\n }\n }], [{\n key: \"buildFontPaths\",\n value: function buildFontPaths(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 _iterator6 = _createForOfIteratorHelper(glyphs),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var glyph = _step6.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 _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n }, {\n key: \"fallbackFontDict\",\n get: function get() {\n var dict = new _primitives.Dict();\n dict.set(\"BaseFont\", _primitives.Name.get(\"PDFJS-FallbackFont\"));\n dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n return (0, _util.shadow)(this, \"fallbackFontDict\", dict);\n }\n }]);\n\n return PartialEvaluator;\n}();\n\nexports.PartialEvaluator = PartialEvaluator;\n\nvar TranslatedFont = /*#__PURE__*/function () {\n function TranslatedFont(_ref8) {\n var loadedName = _ref8.loadedName,\n font = _ref8.font,\n dict = _ref8.dict,\n _ref8$extraProperties = _ref8.extraProperties,\n extraProperties = _ref8$extraProperties === void 0 ? false : _ref8$extraProperties;\n\n _classCallCheck(this, TranslatedFont);\n\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this._extraProperties = extraProperties;\n this.type3Loaded = null;\n this.type3Dependencies = font.isType3Font ? new Set() : null;\n this.sent = false;\n }\n\n _createClass(TranslatedFont, [{\n key: \"send\",\n value: 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(this._extraProperties)]);\n }\n }, {\n key: \"fallback\",\n value: 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 }, {\n key: \"loadType3Data\",\n value: function loadType3Data(evaluator, resources, task) {\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n\n if (!this.font.isType3Font) {\n throw new Error(\"Must be a Type3 font.\");\n }\n\n var type3Options = Object.create(evaluator.options);\n type3Options.ignoreErrors = false;\n var type3Evaluator = evaluator.clone(type3Options);\n type3Evaluator.parsingType3Font = true;\n var translatedFont = this.font,\n type3Dependencies = this.type3Dependencies;\n var loadCharProcsPromise = Promise.resolve();\n var charProcs = this.dict.get(\"CharProcs\");\n var fontResources = this.dict.get(\"Resources\") || resources;\n var charProcOperatorList = Object.create(null);\n\n var _iterator7 = _createForOfIteratorHelper(charProcs.getKeys()),\n _step7;\n\n try {\n var _loop2 = function _loop2() {\n var key = _step7.value;\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\n var _iterator8 = _createForOfIteratorHelper(operatorList.dependencies),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var dependency = _step8.value;\n type3Dependencies.add(dependency);\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n })[\"catch\"](function (reason) {\n (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n var dummyOperatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = dummyOperatorList.getIR();\n });\n });\n };\n\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n _loop2();\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this.type3Loaded = loadCharProcsPromise.then(function () {\n translatedFont.charProcOperatorList = charProcOperatorList;\n });\n return this.type3Loaded;\n }\n }]);\n\n return TranslatedFont;\n}();\n\nvar StateManager = /*#__PURE__*/function () {\n function StateManager(initialState) {\n _classCallCheck(this, StateManager);\n\n this.state = initialState;\n this.stateStack = [];\n }\n\n _createClass(StateManager, [{\n key: \"save\",\n value: function save() {\n var old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n var prev = this.stateStack.pop();\n\n if (prev) {\n this.state = prev;\n }\n }\n }, {\n key: \"transform\",\n value: function transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n }]);\n\n return StateManager;\n}();\n\nvar TextState = /*#__PURE__*/function () {\n function TextState() {\n _classCallCheck(this, TextState);\n\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 _createClass(TextState, [{\n key: \"setTextMatrix\",\n value: function 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 }, {\n key: \"setTextLineMatrix\",\n value: function setTextLineMatrix(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 }, {\n key: \"translateTextMatrix\",\n value: function 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 }, {\n key: \"translateTextLineMatrix\",\n value: function translateTextLineMatrix(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 }, {\n key: \"calcTextLineMatrixAdvance\",\n value: function 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 }, {\n key: \"calcRenderMatrix\",\n value: function calcRenderMatrix(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 }, {\n key: \"carriageReturn\",\n value: function carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n }\n }, {\n key: \"clone\",\n value: function 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\n return TextState;\n}();\n\nvar EvalState = /*#__PURE__*/function () {\n function EvalState() {\n _classCallCheck(this, EvalState);\n\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 _createClass(EvalState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }]);\n\n return EvalState;\n}();\n\nvar EvaluatorPreprocessor = /*#__PURE__*/function () {\n _createClass(EvaluatorPreprocessor, null, [{\n key: \"opMap\",\n get: function get() {\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 return (0, _util.shadow)(this, \"opMap\", getOPMap());\n }\n }, {\n key: \"MAX_INVALID_PATH_OPS\",\n get: function get() {\n return (0, _util.shadow)(this, \"MAX_INVALID_PATH_OPS\", 20);\n }\n }]);\n\n function EvaluatorPreprocessor(stream, xref, stateManager) {\n _classCallCheck(this, EvaluatorPreprocessor);\n\n this.parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream, EvaluatorPreprocessor.opMap),\n xref: xref\n });\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._numInvalidPathOPS = 0;\n }\n\n _createClass(EvaluatorPreprocessor, [{\n key: \"read\",\n value: function 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 = EvaluatorPreprocessor.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 > EvaluatorPreprocessor.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 }, {\n key: \"preprocessCommand\",\n value: function 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 key: \"savedStatesDepth\",\n get: function get() {\n return this.stateManager.stateStack.length;\n }\n }]);\n\n return EvaluatorPreprocessor;\n}();\n\n/***/ }),\n/* 226 */\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 _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\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 _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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\"];\nvar MAX_MAP_RANGE = Math.pow(2, 24) - 1;\n\nvar CMap = /*#__PURE__*/function () {\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 if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapCidRange - ignoring data above MAX_MAP_RANGE.\");\n }\n\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRange - ignoring data above MAX_MAP_RANGE.\");\n }\n\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 if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\");\n }\n\n var ii = array.length;\n var i = 0;\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 = /*#__PURE__*/function (_CMap) {\n _inherits(IdentityCMap, _CMap);\n\n var _super = _createSuper(IdentityCMap);\n\n function IdentityCMap(vertical, n) {\n var _this;\n\n _classCallCheck(this, IdentityCMap);\n\n _this = _super.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 return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var encoding, fetchBuiltInCMap, useCMap, cMap, lexer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n encoding = params.encoding;\n fetchBuiltInCMap = params.fetchBuiltInCMap;\n useCMap = params.useCMap;\n\n if (!(0, _primitives.isName)(encoding)) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", createBuiltInCMap(encoding.name, fetchBuiltInCMap));\n\n case 7:\n if (!(0, _primitives.isStream)(encoding)) {\n _context.next = 11;\n break;\n }\n\n cMap = new CMap();\n lexer = new _parser.Lexer(encoding);\n return _context.abrupt(\"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 case 11:\n throw new Error(\"Encoding required.\");\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n }\n };\n}();\n\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 227 */\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__(228);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _standard_fonts = __w_pdfjs_require__(232);\n\nvar _unicode = __w_pdfjs_require__(233);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _font_renderer = __w_pdfjs_require__(234);\n\nvar _cmap = __w_pdfjs_require__(226);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _type1_parser = __w_pdfjs_require__(235);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\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 EXPORT_DATA_PROPERTIES = [\"ascent\", \"bbox\", \"black\", \"bold\", \"charProcOperatorList\", \"composite\", \"data\", \"defaultVMetrics\", \"defaultWidth\", \"descent\", \"fallbackName\", \"fontMatrix\", \"fontType\", \"isMonospace\", \"isSerifFont\", \"isType3Font\", \"italic\", \"loadedName\", \"mimetype\", \"missingFile\", \"name\", \"remeasure\", \"subtype\", \"type\", \"vertical\"];\nvar EXPORT_DATA_EXTRA_PROPERTIES = [\"cMap\", \"defaultEncoding\", \"differences\", \"isSymbolicFont\", \"seacMap\", \"toFontChar\", \"toUnicode\", \"vmetrics\", \"widths\"];\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, _core_utils.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.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 var fallbackName = \"sans-serif\";\n\n if (this.isMonospace) {\n fallbackName = \"monospace\";\n } else if (this.isSerifFont) {\n fallbackName = \"serif\";\n }\n\n this.fallbackName = fallbackName;\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\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.seacMap = properties.seacMap;\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 if (value > 0x7fff) {\n value = 0x7fff;\n } else if (value < -0x8000) {\n value = -0x8000;\n }\n\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function isTrueTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _core_utils.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, file) {\n file.pos = (file.start || 0) + os2.offset;\n var version = file.getUint16();\n file.skip(60);\n var selection = file.getUint16();\n\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n\n var firstChar = file.getUint16();\n var lastChar = file.getUint16();\n\n if (firstChar > lastChar) {\n return false;\n }\n\n file.skip(6);\n var usWinAscent = file.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 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 exportData() {\n var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var exportDataProperties = extraProperties ? [].concat(EXPORT_DATA_PROPERTIES, EXPORT_DATA_EXTRA_PROPERTIES) : EXPORT_DATA_PROPERTIES;\n var data = Object.create(null);\n var property, value;\n\n var _iterator = _createForOfIteratorHelper(exportDataProperties),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n property = _step.value;\n value = this[property];\n\n if (value !== undefined) {\n data[property] = value;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return data;\n },\n fallbackToSystemFont: function Font_fallbackToSystemFont() {\n var _this = this;\n\n this.missingFile = true;\n var name = this.name;\n var type = this.type;\n var subtype = this.subtype;\n var fontName = name.replace(/[,_]/g, \"-\").replace(/\\s/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 (var 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 (var _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 (var _charCode2 in SupplementalGlyphMapForCalibri) {\n map[+_charCode2] = SupplementalGlyphMapForCalibri[_charCode2];\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 var _map = [];\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n if (!_this.composite) {\n var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n\n _map[+charCode] = unicodeCharCode;\n });\n\n if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {\n if (/Verdana/i.test(name)) {\n var _GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n\n for (var _charCode3 in _GlyphMapForStandardFonts) {\n _map[+_charCode3] = _GlyphMapForStandardFonts[_charCode3];\n }\n }\n }\n\n this.toFontChar = _map;\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(file);\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, file, 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 = (file.start ? file.start : 0) + cmap.offset;\n file.pos = start;\n file.skip(2);\n var numTables = file.getUint16();\n var potentialTable;\n var canBreak = false;\n\n for (var i = 0; i < numTables; i++) {\n var platformId = file.getUint16();\n var encodingId = file.getUint16();\n var offset = file.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 || encodingId === 1 || encodingId === 3)) {\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 file.pos = start + potentialTable.offset;\n }\n\n if (!potentialTable || file.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 = file.getUint16();\n file.skip(2 + 2);\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 = file.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 = file.getUint16() >> 1;\n file.skip(6);\n var segIndex,\n segments = [];\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: file.getUint16()\n });\n }\n\n file.skip(2);\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = file.getUint16();\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = file.getUint16();\n }\n\n var offsetsCount = 0;\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n var rangeOffset = file.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(file.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 = file.getUint16();\n var entryCount = file.getUint16();\n\n for (j = 0; j < entryCount; j++) {\n glyphId = file.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(file, header, metrics, numGlyphs, dupFirstEntry) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n\n return;\n }\n\n file.pos = (file.start ? file.start : 0) + header.offset;\n file.pos += 4;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 8;\n file.pos += 2;\n var numOfMetrics = file.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 xLength = 2;\n\n if (flag & 2) {\n xLength = 1;\n } else if (flag & 16) {\n xLength = 0;\n }\n\n var yLength = 2;\n\n if (flag & 4) {\n yLength = 1;\n } else if (flag & 32) {\n yLength = 0;\n }\n\n var xyLength = xLength + yLength;\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 locaDataSize = itemSize * (1 + numGlyphsOut);\n var 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 i, j;\n var locaEntries = [];\n\n for (i = 0, j = 0; i < numGlyphs + 1; i++, j += itemSize) {\n var offset = itemDecode(locaData, j);\n\n if (offset > oldGlyfDataLength) {\n offset = oldGlyfDataLength;\n }\n\n locaEntries.push({\n index: i,\n offset: offset,\n endOffset: 0\n });\n }\n\n locaEntries.sort(function (a, b) {\n return a.offset - b.offset;\n });\n\n for (i = 0; i < numGlyphs; i++) {\n locaEntries[i].endOffset = locaEntries[i + 1].offset;\n }\n\n locaEntries.sort(function (a, b) {\n return a.index - b.index;\n });\n var missingGlyphs = Object.create(null);\n var writeOffset = 0;\n itemEncode(locaData, 0, writeOffset);\n\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n var glyphProfile = sanitizeGlyph(oldGlyfData, locaEntries[i].offset, locaEntries[i].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 }\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, propertiesObj, 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.skip(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 (propertiesObj.defaultEncoding) {\n glyphNames = propertiesObj.defaultEncoding;\n }\n\n break;\n }\n\n propertiesObj.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 = 0;\n\n if (op <= 0x8e) {\n stackDelta = TTOpsStackDeltas[op];\n } else if (op >= 0xc0 && op <= 0xdf) {\n stackDelta = -1;\n } else if (op >= 0xe0) {\n stackDelta = -2;\n }\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\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 var baseEncoding = [];\n\n if (properties.hasEncoding && (properties.baseEncodingName === \"MacRomanEncoding\" || properties.baseEncodingName === \"WinAnsiEncoding\")) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n\n if (properties.hasEncoding && !this.isSymbolicFont && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0)) {\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var 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 for (var i = 0; i < cmapMappingsLength; ++i) {\n if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n continue;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n break;\n }\n }\n } else if (cmapPlatformId === 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 var _charCode4 = cmapMappings[_i3].charCode;\n\n if (cmapPlatformId === 3 && _charCode4 >= 0xf000 && _charCode4 <= 0xf0ff) {\n _charCode4 &= 0xff;\n }\n\n charCodeToGlyphId[_charCode4] = cmapMappings[_i3].glyphId;\n }\n }\n\n if (properties.glyphNames && baseEncoding.length) {\n for (var _i4 = 0; _i4 < 256; ++_i4) {\n if (charCodeToGlyphId[_i4] === undefined && baseEncoding[_i4]) {\n glyphName = baseEncoding[_i4];\n var glyphId = properties.glyphNames.indexOf(glyphName);\n\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[_i4] = glyphId;\n }\n }\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\"], font)) {\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 _i5 = 1, _ii = numGlyphs; _i5 < _ii; _i5++) {\n var width = 0;\n\n if (charstrings) {\n var charstring = charstrings[_i5 - 1];\n width = \"width\" in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[_i5] || 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 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 && this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\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 return (0, _util.shadow)(this, \"spaceWidth\", 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 var glyphName = this.differences[charcode] || this.defaultEncoding[charcode];\n\n if ((glyphName === \".notdef\" || glyphName === \"\") && this.type === \"Type1\") {\n fontCharCode = 0x20;\n }\n\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 = \"\";\n\n if (typeof fontCharCode === \"number\") {\n if (fontCharCode <= 0x10ffff) {\n fontChar = String.fromCodePoint(fontCharCode);\n } else {\n (0, _util.warn)(\"charToGlyph - invalid fontCharCode: \".concat(fontCharCode));\n }\n }\n\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 exportData() {\n var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\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, _core_utils.isWhiteSpace)(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 key in data.properties) {\n properties[key] = data.properties[key];\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\n if (properties.composite) {\n var charCodeToGlyphId = Object.create(null);\n\n for (var _glyphId = 0, charstringsLen = charstrings.length; _glyphId < charstringsLen; _glyphId++) {\n var _charCode5 = properties.cMap.charCodeOf(_glyphId);\n\n charCodeToGlyphId[_charCode5] = _glyphId + 1;\n }\n\n return charCodeToGlyphId;\n }\n\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/* 228 */\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__(229);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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 var CFFParser = /*#__PURE__*/function () {\n function CFFParser(file, properties, seacAnalysisEnabled) {\n _classCallCheck(this, CFFParser);\n\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n\n _createClass(CFFParser, [{\n key: \"parse\",\n value: function 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 }, {\n key: \"parseHeader\",\n value: function 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 }, {\n key: \"parseDict\",\n value: function 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 }, {\n key: \"parseIndex\",\n value: function 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 }, {\n key: \"parseNameIndex\",\n value: function 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 }, {\n key: \"parseStringIndex\",\n value: function 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 }, {\n key: \"createDict\",\n value: function 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 }, {\n key: \"parseCharString\",\n value: function 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 }, {\n key: \"parseCharStrings\",\n value: 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 }, {\n key: \"emptyPrivateDictionary\",\n value: function emptyPrivateDictionary(parentDict) {\n var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n }\n }, {\n key: \"parsePrivateDict\",\n value: function 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 }, {\n key: \"parseCharsets\",\n value: function 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 = [cid ? 0 : \".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 }, {\n key: \"parseEncoding\",\n value: function 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 }, {\n key: \"parseFDSelect\",\n value: function 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\n return CFFParser;\n }();\n\n return CFFParser;\n}();\n\nexports.CFFParser = CFFParser;\n\nvar CFF = /*#__PURE__*/function () {\n function CFF() {\n _classCallCheck(this, CFF);\n\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 _createClass(CFF, [{\n key: \"duplicateFirstGlyph\",\n value: function 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 }, {\n key: \"hasGlyphId\",\n value: function 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\n return CFF;\n}();\n\nexports.CFF = CFF;\n\nvar CFFHeader = function CFFHeader(major, minor, hdrSize, offSize) {\n _classCallCheck(this, CFFHeader);\n\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n};\n\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = /*#__PURE__*/function () {\n function CFFStrings() {\n _classCallCheck(this, CFFStrings);\n\n this.strings = [];\n }\n\n _createClass(CFFStrings, [{\n key: \"get\",\n value: function 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 }, {\n key: \"getSID\",\n value: function 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 }, {\n key: \"add\",\n value: function add(value) {\n this.strings.push(value);\n }\n }, {\n key: \"count\",\n get: function get() {\n return this.strings.length;\n }\n }]);\n\n return CFFStrings;\n}();\n\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = /*#__PURE__*/function () {\n function CFFIndex() {\n _classCallCheck(this, CFFIndex);\n\n this.objects = [];\n this.length = 0;\n }\n\n _createClass(CFFIndex, [{\n key: \"add\",\n value: function add(data) {\n this.length += data.length;\n this.objects.push(data);\n }\n }, {\n key: \"set\",\n value: function set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n }\n }, {\n key: \"get\",\n value: function get(index) {\n return this.objects[index];\n }\n }, {\n key: \"count\",\n get: function get() {\n return this.objects.length;\n }\n }]);\n\n return CFFIndex;\n}();\n\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = /*#__PURE__*/function () {\n function CFFDict(tables, strings) {\n _classCallCheck(this, CFFDict);\n\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 _createClass(CFFDict, [{\n key: \"setByKey\",\n value: function 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 }, {\n key: \"setByName\",\n value: function 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 }, {\n key: \"hasName\",\n value: function hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n }\n }, {\n key: \"getByName\",\n value: function 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 }, {\n key: \"removeByName\",\n value: function removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n }], [{\n key: \"createTables\",\n value: function 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\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 var CFFTopDict = /*#__PURE__*/function (_CFFDict) {\n _inherits(CFFTopDict, _CFFDict);\n\n var _super = _createSuper(CFFTopDict);\n\n function CFFTopDict(strings) {\n var _this;\n\n _classCallCheck(this, CFFTopDict);\n\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n _this = _super.call(this, tables, strings);\n _this.privateDict = null;\n return _this;\n }\n\n return CFFTopDict;\n }(CFFDict);\n\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 var CFFPrivateDict = /*#__PURE__*/function (_CFFDict2) {\n _inherits(CFFPrivateDict, _CFFDict2);\n\n var _super2 = _createSuper(CFFPrivateDict);\n\n function CFFPrivateDict(strings) {\n var _this2;\n\n _classCallCheck(this, CFFPrivateDict);\n\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n _this2 = _super2.call(this, tables, strings);\n _this2.subrsIndex = null;\n return _this2;\n }\n\n return CFFPrivateDict;\n }(CFFDict);\n\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 CFFCharset(predefined, format, charset, raw) {\n _classCallCheck(this, CFFCharset);\n\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n};\n\nexports.CFFCharset = CFFCharset;\n\nvar CFFEncoding = function CFFEncoding(predefined, format, encoding, raw) {\n _classCallCheck(this, CFFEncoding);\n\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n};\n\nvar CFFFDSelect = /*#__PURE__*/function () {\n function CFFFDSelect(format, fdSelect) {\n _classCallCheck(this, CFFFDSelect);\n\n this.format = format;\n this.fdSelect = fdSelect;\n }\n\n _createClass(CFFFDSelect, [{\n key: \"getFDIndex\",\n value: function getFDIndex(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n\n return this.fdSelect[glyphIndex];\n }\n }]);\n\n return CFFFDSelect;\n}();\n\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = /*#__PURE__*/function () {\n function CFFOffsetTracker() {\n _classCallCheck(this, CFFOffsetTracker);\n\n this.offsets = Object.create(null);\n }\n\n _createClass(CFFOffsetTracker, [{\n key: \"isTracking\",\n value: function isTracking(key) {\n return key in this.offsets;\n }\n }, {\n key: \"track\",\n value: function 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 }, {\n key: \"offset\",\n value: function offset(value) {\n for (var key in this.offsets) {\n this.offsets[key] += value;\n }\n }\n }, {\n key: \"setEntryLocation\",\n value: function 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\n return CFFOffsetTracker;\n}();\n\nvar CFFCompiler = /*#__PURE__*/function () {\n function CFFCompiler(cff) {\n _classCallCheck(this, CFFCompiler);\n\n this.cff = cff;\n }\n\n _createClass(CFFCompiler, [{\n key: \"compile\",\n value: function 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 }, {\n key: \"encodeNumber\",\n value: function encodeNumber(value) {\n if (Number.isInteger(value)) {\n return this.encodeInteger(value);\n }\n\n return this.encodeFloat(value);\n }\n }, {\n key: \"encodeFloat\",\n value: function encodeFloat(num) {\n var value = num.toString();\n var m = CFFCompiler.EncodeFloatRegExp.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 }, {\n key: \"encodeInteger\",\n value: function 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 }, {\n key: \"compileHeader\",\n value: function compileHeader(header) {\n return [header.major, header.minor, header.hdrSize, header.offSize];\n }\n }, {\n key: \"compileNameIndex\",\n value: function 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 }, {\n key: \"compileTopDicts\",\n value: function 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 }, {\n key: \"compilePrivateDicts\",\n value: function 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 }, {\n key: \"compileDict\",\n value: function 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 }, {\n key: \"compileStringIndex\",\n value: function 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 }, {\n key: \"compileGlobalSubrIndex\",\n value: function compileGlobalSubrIndex() {\n var globalSubrIndex = this.cff.globalSubrIndex;\n this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n }\n }, {\n key: \"compileCharStrings\",\n value: function 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 }, {\n key: \"compileCharset\",\n value: function 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 }, {\n key: \"compileEncoding\",\n value: function compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n }\n }, {\n key: \"compileFDSelect\",\n value: function 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 }, {\n key: \"compileTypedArray\",\n value: function 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 }, {\n key: \"compileIndex\",\n value: function compileIndex(index) {\n var trackers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\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 key: \"EncodeFloatRegExp\",\n get: function get() {\n return (0, _util.shadow)(this, \"EncodeFloatRegExp\", /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/);\n }\n }]);\n\n return CFFCompiler;\n}();\n\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 229 */\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/* 230 */\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/* 231 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(205).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/* 232 */\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__(205);\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[\"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.SegoeUISymbol = \"Helvetica\";\n t.Wingdings = \"ZapfDingbats\";\n t[\"Wingdings-Regular\"] = \"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/* 233 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(205).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/* 234 */\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__(228);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar 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 getSubroutineBias(subrs) {\n var numSubrs = subrs.length;\n var bias = 32768;\n\n if (numSubrs < 1240) {\n bias = 107;\n } else if (numSubrs < 33900) {\n bias = 1131;\n }\n\n return bias;\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(charStringCode, cmds, font, glyphId) {\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 var stack = [];\n var x = 0,\n y = 0;\n var stems = 0;\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 var subrs = void 0;\n\n if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n\n if (subrs) {\n n += getSubroutineBias(subrs);\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(charStringCode);\n }\n\n var NOOP = [];\n\n var CompiledFont = /*#__PURE__*/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 = /*#__PURE__*/function (_CompiledFont) {\n _inherits(TrueTypeCompiled, _CompiledFont);\n\n var _super = _createSuper(TrueTypeCompiled);\n\n function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n var _this;\n\n _classCallCheck(this, TrueTypeCompiled);\n\n _this = _super.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 = /*#__PURE__*/function (_CompiledFont2) {\n _inherits(Type2Compiled, _CompiledFont2);\n\n var _super2 = _createSuper(Type2Compiled);\n\n function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n var _this2;\n\n _classCallCheck(this, Type2Compiled);\n\n _this2 = _super2.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 = getSubroutineBias(_this2.gsubrs);\n _this2.subrsBias = getSubroutineBias(_this2.subrs);\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/* 235 */\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 _encodings = __w_pdfjs_require__(230);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _util = __w_pdfjs_require__(5);\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 var asb = this.stack[this.stack.length - 5];\n this.seac = this.stack.splice(-4, 4);\n this.seac[0] += this.lsb - asb;\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 decrypted.slice(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]) || (0, _core_utils.isWhiteSpace)(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));\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, _core_utils.isWhiteSpace)(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, _core_utils.isWhiteSpace)(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 var charStringObject = {\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n };\n\n if (glyph === \".notdef\") {\n program.charstrings.unshift(charStringObject);\n } else {\n program.charstrings.push(charStringObject);\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/* 236 */\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__(220);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\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, localColorSpaceCache) {\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, localColorSpaceCache);\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, localColorSpaceCache);\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, resources, pdfFunctionFactory, localColorSpaceCache) {\n this.matrix = matrix;\n this.coordsArr = dict.getArray(\"Coords\");\n this.shadingType = dict.get(\"ShadingType\");\n this.type = \"Pattern\";\n\n var cs = _colorspace.ColorSpace.parse({\n cs: dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\"),\n xref: xref,\n resources: resources,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n\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.getRaw(\"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, resources, pdfFunctionFactory, localColorSpaceCache) {\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 = _colorspace.ColorSpace.parse({\n cs: dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\"),\n xref: xref,\n resources: resources,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n\n this.cs = cs;\n this.background = dict.has(\"Background\") ? cs.getRgb(dict.get(\"Background\"), 0) : null;\n var fnObj = dict.getRaw(\"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/* 237 */\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 _primitives = __w_pdfjs_require__(202);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _ps_parser = __w_pdfjs_require__(238);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFFunctionFactory = /*#__PURE__*/function () {\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 this._localFunctionCache = null;\n }\n\n _createClass(PDFFunctionFactory, [{\n key: \"create\",\n value: function create(fn) {\n var cachedFunction = this.getCached(fn);\n\n if (cachedFunction) {\n return cachedFunction;\n }\n\n var parsedFunction = PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn: fn instanceof _primitives.Ref ? this.xref.fetch(fn) : fn\n });\n\n this._cache(fn, parsedFunction);\n\n return parsedFunction;\n }\n }, {\n key: \"createFromArray\",\n value: function createFromArray(fnObj) {\n var cachedFunction = this.getCached(fnObj);\n\n if (cachedFunction) {\n return cachedFunction;\n }\n\n var parsedFunction = PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj: fnObj instanceof _primitives.Ref ? this.xref.fetch(fnObj) : fnObj\n });\n\n this._cache(fnObj, parsedFunction);\n\n return parsedFunction;\n }\n }, {\n key: \"getCached\",\n value: function getCached(cacheKey) {\n var fnRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n fnRef = cacheKey;\n } else if (cacheKey instanceof _primitives.Dict) {\n fnRef = cacheKey.objId;\n } else if ((0, _primitives.isStream)(cacheKey)) {\n fnRef = cacheKey.dict && cacheKey.dict.objId;\n }\n\n if (fnRef) {\n if (!this._localFunctionCache) {\n this._localFunctionCache = new _image_utils.LocalFunctionCache();\n }\n\n var localFunction = this._localFunctionCache.getByRef(fnRef);\n\n if (localFunction) {\n return localFunction;\n }\n }\n\n return null;\n }\n }, {\n key: \"_cache\",\n value: function _cache(cacheKey, parsedFunction) {\n if (!parsedFunction) {\n throw new Error('PDFFunctionFactory._cache - expected \"parsedFunction\" argument.');\n }\n\n var fnRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n fnRef = cacheKey;\n } else if (cacheKey instanceof _primitives.Dict) {\n fnRef = cacheKey.objId;\n } else if ((0, _primitives.isStream)(cacheKey)) {\n fnRef = cacheKey.dict && cacheKey.dict.objId;\n }\n\n if (fnRef) {\n if (!this._localFunctionCache) {\n this._localFunctionCache = new _image_utils.LocalFunctionCache();\n }\n\n this._localFunctionCache.set(null, fnRef, parsedFunction);\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 j = 0; j < length; j++) {\n result[j] = +arr[j];\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 && _util.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 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 (var i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n\n for (var _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/* 238 */\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__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\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 = /*#__PURE__*/function () {\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 = /*#__PURE__*/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 = /*#__PURE__*/function () {\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, _core_utils.isWhiteSpace)(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/* 239 */\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) {\n var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var dir = \"ltr\";\n\n if (vertical) {\n dir = \"ttb\";\n } else if (!isLTR) {\n dir = \"rtl\";\n }\n\n return {\n str: str,\n dir: dir\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/* 240 */\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__(205);\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/* 241 */\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 = /*#__PURE__*/function () {\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/* 242 */\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 _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _jpeg_stream = __w_pdfjs_require__(215);\n\nvar _jpx = __w_pdfjs_require__(218);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n return value;\n}\n\nfunction resizeImageMask(src, bpc, w1, h1, w2, h2) {\n var length = w2 * h2;\n var dest;\n\n if (bpc <= 8) {\n dest = new Uint8Array(length);\n } else if (bpc <= 16) {\n dest = new Uint16Array(length);\n } else {\n dest = new Uint32Array(length);\n }\n\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\nvar PDFImage = /*#__PURE__*/function () {\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 localColorSpaceCache = _ref.localColorSpaceCache;\n\n _classCallCheck(this, PDFImage);\n\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.getRaw(\"ColorSpace\") || dict.getRaw(\"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 this.colorSpace = _colorspace.ColorSpace.parse({\n cs: colorSpace,\n xref: xref,\n resources: isInline ? res : null,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\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 localColorSpaceCache: localColorSpaceCache\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 localColorSpaceCache: localColorSpaceCache\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n\n _createClass(PDFImage, [{\n key: \"decodeBuffer\",\n value: 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 }, {\n key: \"getComponents\",\n value: 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;\n\n if (bpc <= 8) {\n output = new Uint8Array(length);\n } else if (bpc <= 16) {\n output = new Uint16Array(length);\n } else {\n output = new Uint32Array(length);\n }\n\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\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n output[i] = value;\n buf = buf & (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n\n return output;\n }\n }, {\n key: \"fillOpacity\",\n value: 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 }, {\n key: \"undoPreblend\",\n value: 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 }, {\n key: \"createImageData\",\n value: 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 }, {\n key: \"fillGrayBuffer\",\n value: 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 }, {\n key: \"getImageBytes\",\n value: 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 key: \"drawWidth\",\n get: function get() {\n return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n }\n }, {\n key: \"drawHeight\",\n get: function get() {\n return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n }\n }], [{\n key: \"buildImage\",\n value: function () {\n var _buildImage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref2) {\n var xref, res, image, _ref2$isInline, isInline, pdfFunctionFactory, localColorSpaceCache, imageData, smaskData, maskData, smask, mask;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n xref = _ref2.xref, res = _ref2.res, image = _ref2.image, _ref2$isInline = _ref2.isInline, isInline = _ref2$isInline === void 0 ? false : _ref2$isInline, pdfFunctionFactory = _ref2.pdfFunctionFactory, localColorSpaceCache = _ref2.localColorSpaceCache;\n imageData = image;\n smaskData = null;\n maskData = null;\n smask = image.dict.get(\"SMask\");\n mask = image.dict.get(\"Mask\");\n\n if (smask) {\n smaskData = smask;\n } else if (mask) {\n if ((0, _primitives.isStream)(mask) || Array.isArray(mask)) {\n maskData = mask;\n } else {\n (0, _util.warn)(\"Unsupported mask format.\");\n }\n }\n\n return _context.abrupt(\"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 localColorSpaceCache: localColorSpaceCache\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function buildImage(_x) {\n return _buildImage.apply(this, arguments);\n }\n\n return buildImage;\n }()\n }, {\n key: \"createMask\",\n value: function createMask(_ref3) {\n var imgArray = _ref3.imgArray,\n width = _ref3.width,\n height = _ref3.height,\n imageIsFromDecodeStream = _ref3.imageIsFromDecodeStream,\n inverseDecode = _ref3.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\n return PDFImage;\n}();\n\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nvar StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this2._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 244 */\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 = /*#__PURE__*/function () {\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, \"PDFWorkerStream.getFullReader can only be called once.\");\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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, 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 _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context.next = 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 = /*#__PURE__*/function () {\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( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, 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 _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context2.next = 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","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n"],"sourceRoot":""}