{"version":3,"sources":["webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/radio/radio-group.vue?9da3","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/radio/radio-group.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/radio/radio-group.vue?cc85","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/radio/radio-group.vue","webpack:///./src/assets/u439.png","webpack:///./node_modules/_pdfjs-dist@2.6.347@pdfjs-dist/es5/build/pdf.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/poptip/poptip.vue?7fa4","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/poptip/poptip.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/poptip/poptip.vue?bb91","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/poptip/poptip.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/form-item/index.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/poptip/index.js","webpack:///./node_modules/_base64-js@1.5.1@base64-js/index.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/grid/row.vue?b7dc","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/grid/row.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/grid/row.vue?3184","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/grid/row.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/row/index.js","webpack:///./node_modules/_pdfjs-dist@2.6.347@pdfjs-dist/es5/web/pdf_viewer.js","webpack:///./src/components/pdf.vue?026b","webpack:///./node_modules/_vue-pdf@4.3.0@vue-pdf/src/pdfjsWrapper.js","webpack:///./src/pages/Register.vue?70ad","webpack:///./src/components/disclaimer.vue?810d","webpack:///src/components/disclaimer.vue","webpack:///./src/components/disclaimer.vue?3e95","webpack:///./src/components/disclaimer.vue","webpack:///src/pages/Register.vue","webpack:///./src/pages/Register.vue?1807","webpack:///./src/pages/Register.vue","webpack:///./node_modules/_isarray@1.0.0@isarray/index.js","webpack:///./src/components/disclaimer.vue?bf84","webpack:///./node_modules/_vue-pdf@4.3.0@vue-pdf/src/annotationLayer.css?f95e","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/grid/col.vue?b610","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/grid/col.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/grid/col.vue?ecda","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/grid/col.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/col/index.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/upload/upload.vue?abb4","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/upload/upload-list.vue?d1cb","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/upload/upload-list.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/upload/upload-list.vue?9384","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/upload/upload-list.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/upload/ajax.js","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/upload/upload.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/upload/upload.vue?7025","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/upload/upload.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/upload/index.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/checkbox/checkbox-group.vue?09be","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/checkbox/checkbox-group.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/checkbox/checkbox-group.vue?f326","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/checkbox/checkbox-group.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/checkbox/checkbox.vue?8615","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/checkbox/checkbox.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/checkbox/checkbox.vue?408f","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/checkbox/checkbox.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/form/form.vue?854f","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/form/form.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/form/form.vue?9d95","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/form/form.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/form/index.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/progress/progress.vue?b310","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/progress/progress.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/progress/progress.vue?98cf","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/progress/progress.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/form/form-item.vue?63a5","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/form/form-item.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/form/form-item.vue?127c","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/form/form-item.vue","webpack:///./node_modules/_pdfjs-dist@2.6.347@pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/radio/radio.vue?5afa","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/radio/radio.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/radio/radio.vue?32e2","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/radio/radio.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/radio/index.js","webpack:///node_modules/_vue-resize-sensor@2.0.0@vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/_vue-resize-sensor@2.0.0@vue-resize-sensor/src/resize-sensor.vue","webpack:///./node_modules/_vue-resize-sensor@2.0.0@vue-resize-sensor/src/resize-sensor.vue?f72e","webpack:///./node_modules/_vue-pdf@4.3.0@vue-pdf/src/componentFactory.js","webpack:///node_modules/_vue-pdf@4.3.0@vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/_vue-pdf@4.3.0@vue-pdf/src/vuePdfNoSss.vue","webpack:///./node_modules/_vue-pdf@4.3.0@vue-pdf/src/vuePdfNoSss.vue?accf","webpack:///./src/utils/tools.js","webpack:///./src/pages/Register.vue?7ae4","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/radio-group/index.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/checkbox/index.js","webpack:///./node_modules/_vue-resize-sensor@2.0.0@vue-resize-sensor/src/resize-sensor.vue?1b54","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/select/option-group.vue?455d","webpack:///node_modules/_view-design@4.5.0@view-design/src/components/select/option-group.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/select/option-group.vue?7d95","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/select/option-group.vue","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/select/index.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/directives/clickoutside.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/option/index.js","webpack:///./node_modules/_view-design@4.5.0@view-design/src/components/base/popper.js","webpack:///./node_modules/_async-validator@3.5.1@async-validator/dist-web/index.js","webpack:///./node_modules/_ieee754@1.2.1@ieee754/index.js","webpack:///./src/components/pdf.vue?8436","webpack:///src/components/pdf.vue","webpack:///./src/components/pdf.vue?48b0","webpack:///./src/components/pdf.vue","webpack:///./node_modules/_buffer@4.9.2@buffer/index.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","class","classes","attrs","name","_t","staticRenderFns","component","module","exports","root","factory","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","call","m","c","d","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","createObjectURL","createPromiseCapability","createValidAbsoluteUrl","InvalidPDFException","MissingPDFException","OPS","PasswordResponses","PermissionFlag","removeNullCharacters","shadow","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","AnnotationLayer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","renderTextLayer","_svg","SVGGraphics","_require","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","deprecated","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","BaseCMapReaderFactory","DOMCanvasFactory","BaseCanvasFactory","DEFAULT_LINK_REL","PageViewport","_regenerator","_interopRequireDefault","obj","_createForOfIteratorHelper","allowArrayLike","it","iterator","Array","isArray","_unsupportedIterableToArray","length","F","done","e","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","from","test","arr","len","arr2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","undefined","_typeof","_inherits","subClass","superClass","writable","configurable","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Date","getPrototypeOf","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","SVG_NS","unreachable","width","height","canvasAndContext","canvas","Error","context","_BaseCanvasFactory","_super","_this","_ref","_ref$ownerDocument","ownerDocument","globalThis","document","_document","createElement","getContext","_ref2","_ref2$baseUrl","baseUrl","_ref2$isCompressed","isCompressed","_fetch","mark","_callee","_ref3","compressionType","_this2","wrap","_context","prev","BINARY","NONE","abrupt","_fetchData","reason","concat","stop","fetch","_x","_BaseCMapReaderFactor","_super2","_this3","baseURI","_ref4","_callee2","response","cMapData","_context2","ok","statusText","t0","Uint8Array","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","_x2","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","status","responseText","send","assert","svg","createElementNS","setAttribute","type","_ref5","viewBox","scale","rotation","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","Math","abs","transform","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","x","y","applyTransform","rect","topLeft","bottomRight","applyInverseTransform","_BaseException","_super3","msg","_this4","BaseException","SELF","BLANK","PARENT","TOP","link","_ref7","rel","_ref7$enabled","enabled","urlNullRemoved","href","title","onclick","targetStr","anchor","indexOf","query","end","min","substring","lastIndexOf","pdfDateStringRegex","started","times","warn","now","push","start","_step","outBuf","longest","_iterator","time","_step2","_iterator2","_time","duration","padEnd","join","Response","ReadableStream","_ref8","URL","protocol","ex","src","script","onload","onerror","head","documentElement","appendChild","details","console","log","input","isString","RegExp","matches","exec","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","arrayByteLength","arraysToBytes","bytesToString","escapeString","getModificationDate","getVerbosityLevel","isArrayBuffer","isArrayEqual","isBool","isNum","isSameOrigin","setVerbosityLevel","string32","stringToPDFString","stringToUTF8String","utf8StringToString","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","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","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","Number","isInteger","cond","otherUrl","base","origin","other","_isValidProtocol","absoluteUrl","prop","message","code","_BaseException2","_BaseException3","_BaseException4","_super4","_BaseException5","_super5","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","bytes","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","chunk","subarray","charCodeAt","byteLength","resultLength","pos","data","_i","item","itemLength","set","isLittleEndian","buffer8","view32","Uint32Array","buffer","isEvalSupported","rgbBuf","g","b","m1","m2","xt","yt","p1","p2","p3","p4","max","v","transpose","a","first","sqrt","sx","sy","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","promise","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","_is_node","_pdfjsCompatibilityChecked","hasDOM","window","userAgent","navigator","isIE","btoa","chars","Buffer","atob","Element","remove","parentNode","removeChild","div","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","startsWith","endsWith","includes","assign","fromEntries","log2","allSettled","isReadableStreamSupported","controller","close","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","process","versions","nw","electron","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","FORCED","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","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","copyright","id","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","floor","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","write","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","style","display","contentWindow","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","LN2","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","task","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","all","isThenable","notify","isReject","notified","chain","reactions","exited","reaction","handler","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","defer","channel","port","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","post","postMessage","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","setTimeout","flush","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","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","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","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","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","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","body","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","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","stream","_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","read","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","_writer","_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","desiredSize","_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","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","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","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","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","terminate","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","filter","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","PDFPageProxy","PDFDocumentProxy","_font_loader","_node_utils","_annotation_storage","_canvas","_message_handler","_metadata","_optional_content_config","_transport_stream","_webgl","default","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_e3","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_s","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DefaultCanvasFactory","NodeCanvasFactory","DefaultCMapReaderFactory","NodeCMapReaderFactory","createPDFNetworkStream","pdfNetworkStreamFactory","PDFDocumentLoadingTask","range","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","workerParams","workerPort","fromPort","_worker","docId","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","transportDestroyed","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","begin","loaded","total","_step3","_iterator3","_step4","_iterator4","pdfInfo","_pdfInfo","pageNumber","getPage","ref","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","annotationStorage","saveDocument","AnnotationStorage","numPages","fingerprint","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","_intentStates","_ref3$rotation","rotate","_ref3$offsetX","_ref3$offsetY","_ref3$dontFlip","_ref4$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_this5","canvasContext","viewport","_ref5$intent","_ref5$enableWebGL","enableWebGL","_ref5$renderInteracti","renderInteractiveForms","_ref5$transform","_ref5$imageLayer","imageLayer","_ref5$canvasFactory","canvasFactory","_ref5$background","background","_ref5$annotationStora","_ref5$optionalContent","optionalContentConfigPromise","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_ref8$normalizeWhites","normalizeWhitespace","_ref8$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","readableStream","streamTextContent","pump","_ref9","_textContent$items","styles","pageCache","_step5","waitOn","_iterator5","_step5$value","_step6","_iterator6","completed","resetStats","_step7","_iterator7","_step7$value","operatorListChunk","_this6","streamReader","_ref10","_renderPageChunk","_ref11","_this7","_ref11$force","_step8","_iterator8","_step8$value","curIntentState","cleanup","userUnit","_listeners","_defer","_deferred","transfers","_this8","cloneValue","cloned","transferable","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref12","_callee$","eval","createCDNWrapper","_ref13","_ref13$name","_ref13$port","_ref13$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this9","Worker","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","_this10","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this11","page","_destroy","terminated","cancelAllRequests","_this12","sink","getFullReader","evt","onPull","_ref14","onCancel","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref15","_ref16","_numPages","updatePassword","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref17","featureId","_this13","filename","resetModified","results","OptionalContentConfig","_this14","Metadata","contentDispositionFilename","_this15","cleanupSuccessful","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref18","_ref18$useRequestAnim","_ref18$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_ref19","_ref19$transparency","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this16","requestAnimationFrame","_next2","executeOperatorList","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","supported","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","completeRequest","otherRequest","int32","offset","spliceString","insert","chunk1","chunk2","ctx","isFontReady","fillText","getImageData","_loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","visibility","top","left","span","fontFamily","getLoadTestFont","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_ii","Canvas","createCanvas","fs","readFile","_storage","_modified","onSetModified","onResetModified","defaultValue","_setModified","compatibilityParams","freeze","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","angle","cosValue","cos","sinValue","sin","CachedCanvases","getCanvas","trackTransform","canvasEntry","compileType3Glyph","imgData","j0","POINT_TO_PROCESS_LIMIT","width1","points","POINT_TYPES","lineSize","data0","mask","elem","sum","steps","outlines","pp","coords","p0","drawOutline","beginPath","kk","ll","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","transferMaps","clone","setCurrentPoint","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","contentVisible","markedContentStack","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","hasTransferMaps","_k","_k2","_hasTransferMaps","_k3","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","composeFn","hasBackdrop","PIXELS_TO_PROCESS","row","chunkHeight","composeSMask","scaleX","scaleY","isEnabled","composed","layer","drawImage","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref2$transparency","_ref2$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","breakIt","depObjId","objsPool","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","singularValueDecompose2dScale","getPattern","isPatternFill","needRestore","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","_this$cachedCanvases$","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","charWidth","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","spacingLength","isTextInvisible","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","imageSmoothingEnabled","mozImageSmoothingEnabled","img","compiled","maskCanvas","skewX","skewY","positions","images","image","w","h","imgToPaint","tmpCanvas","widthScale","heightScale","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","visible","isVisible","isContentVisible","inverse","ShadingIRs","applyBoundingBox","Path2D","region","RadialAxial","fromIR","raw","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","combinesScale","figures","backgroundColor","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","drawFigures","shadingIR","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","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","actionName","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_xml_parser","_repair","parser","SimpleXMLParser","xmlDocument","parseFromString","_metadataMap","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","jj","trim","_get","receiver","_superPropBase","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","ch","isWhitespaceString","XMLParserBase","entity","onResolveEntity","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","ch2","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","_this$_currentFragmen","lastElement","OptionalContentGroup","creator","_order","_groups","order","groups","_group","off","expression","policy","ids","_id","_id2","_id3","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","readers","_loaded","_stream","_done","_filename","_requests","_headersReady","requestCapability","_read","_end","_queuedChunk","requestsCapability","_removeRangeReader","_read2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popupElement","PopupElement","modificationDate","contents","hideWrapper","popup","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","getDestinationHash","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","dataset","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","TEXT_ALIGNMENT","storage","getOrCreateValue","multiLine","setValue","disabled","readOnly","fieldName","maxLen","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","checked","_WidgetAnnotationElem3","buttonValue","getElementsByName","radio","getAttribute","_LinkAnnotationElemen","_WidgetAnnotationElem4","_super8","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","selectedIndex","_AnnotationElement4","_super9","IGNORE_TYPES","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","BACKGROUND_ENLIGHT","hideElement","dateObject","toDateObject","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","_super10","_AnnotationElement6","_super11","lineCoordinates","_AnnotationElement7","_super12","square","_AnnotationElement8","_super13","circle","_AnnotationElement9","_super14","containerClassName","svgElementName","vertices","coordinate","polyline","_PolylineAnnotationEl","_super15","_AnnotationElement10","_super16","_AnnotationElement11","_super17","inkLists","inkList","_AnnotationElement12","_super18","_AnnotationElement13","_super19","_AnnotationElement14","_super20","_AnnotationElement15","_super21","_AnnotationElement16","_super22","_AnnotationElement17","_super23","_this6$data$file","eventBus","dispatch","_download","downloadData","sortedAnnotations","popupAnnotations","annotations","_sortedAnnotations","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","expandBounds","divProperties","boxScale","boxes","box","x1New","x2New","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","renderParameters","_render","timeout","_processItems","styleCache","_textDiv$style","_this$_layoutTextCtx$","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","adler","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_loop","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform","_Util$applyTransform2","tx0","ty0","_Util$applyTransform3","_Util$applyTransform4","tx1","ty1","_Util$singularValueDe","_Util$singularValueDe2","xscale","yscale","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fileUriRegex","parseUrl","sourceUrl","parsedUrl","parse","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","auth","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","Range","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","validateResponseStatus","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","contentDispositionStr","_match","_match2","quot","_n2","_matches$_n","_quot","_part","quotindex","extvalue","encodingend","langvalue","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","ok_response_on_range_request","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_requestId","requestRange","_close","createFetchOptions","abortController","credentials","redirect","createHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","_yield$this$_reader$r","_yield$this$_reader$r2","directives","rawName","handleMouseenter","handleMouseleave","prefixCls","handleClick","$event","handleFocus","handleBlur","popperClasses","transfer","handleTransferClick","staticClass","_v","nativeOn","localeCancelText","localeOkText","confirm","contentClasses","toByteArray","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","num","encodeChunk","uint8","extraBytes","maxChunkLength","len2","_annotation_layer_builder","AnnotationLayerBuilder","DefaultAnnotationLayerFactory","_text_layer_builder","DefaultTextLayerFactory","TextLayerBuilder","_ui_utils","EventBus","NullL10n","ProgressBar","_pdf_link_service","PDFLinkService","SimpleLinkService","_download_manager","DownloadManager","_genericl10n","GenericL10n","_pdf_find_controller","PDFFindController","_pdf_history","PDFHistory","_pdf_page_view","PDFPageView","_pdf_single_page_viewer","PDFSinglePageViewer","_pdf_viewer","PDFViewer","_pdfjsLib","pageDiv","pdfPage","_ref$annotationStorag","_ref$imageResourcesPa","_ref$renderInteractiv","_ref$l10n","l10n","_cancelled","update","pdfjsLib","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","clamp","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDirection","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","WaitOnType","animationStarted","SpreadMode","ScrollMode","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","CSS_UNITS","AutoPrintRegExp","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","ODD","EVEN","formatL10nValue","getLanguage","getDirection","fallback","_callee3","_context3","_callee4","_context4","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","scaled","spot","skipOverflowHiddenElements","offsetParent","offsetTop","clientTop","offsetLeft","clientLeft","clientHeight","scrollHeight","clientWidth","scrollWidth","getComputedStyle","overflow","_scaleY","_scaleX","scrollLeft","scrollTop","viewAreaElement","debounceScroll","rAF","currentX","lastX","currentY","lastY","down","_eventHandler","param","condition","minIndex","currentIndex","currentItem","xinv","x_","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","isElementBottomAfterViewTop","elementBottom","isElementRightAfterViewLeft","elementRight","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","percent","pc","preventDefault","isDataSchema","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","deltaX","deltaY","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","deltaMode","EVENT","TIMEOUT","_ref2$delay","delay","_off","eventHandler","_on","timeoutHandler","eventName","external","eventListeners","externalListeners","units","bar","_indeterminate","progressSize","_percent","viewer","scrollbarWidth","offsetWidth","_updateBar","moved","_ref$externalLinkTarg","_ref$externalLinkRel","_ref$externalLinkEnab","_ref$ignoreDestinatio","ignoreDestinationZoom","_ignoreDestinationZoom","pdfDocument","pdfViewer","pdfHistory","_pagesRefCache","goToDestination","namedDest","explicitDest","destRef","_cachedPageNumber","cachePageRef","pagesCount","pushCurrentPosition","scrollPageIntoView","destArray","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","allowNegativeOffset","pagemode","nameddest","isValidExplicitDestination","back","forward","pageNum","pageRef","refStr","isPageVisible","currentPageNumber","pagesRotation","destLength","allowNull","EXPAND_DIVS_TIMEOUT","textLayerDiv","_ref$findController","findController","_ref$enhanceTextSelec","renderingDone","pageIdx","textLayerRenderTask","_onUpdateTextLayerMatches","_bindMouse","endOfContent","numTextDivs","textLayerFrag","createDocumentFragment","_finishRendering","_updateMatches","matchesLength","iIndex","queryLen","mm","matchIdx","divIdx","isSelectedPage","selected","selectedMatchIdx","highlightAll","prevEnd","infinity","i0","i1","isSelected","highlightSuffix","scrollMatchIntoView","matchIndex","appendTextToDiv","n0","n1","fromOffset","toOffset","clearedUntilDivIdx","highlightMatches","pageMatches","pageMatchesLength","_convertMatches","_renderMatches","expandDivsTimer","adjustTop","getPropertyValue","divBounds","getBoundingClientRect","pageY","_viewer_compatibility","blobUrl","click","download","msSaveBlob","viewerCompatibilityParams","disableCreateObjectURL","downloadUrl","platform","maxTouchPoints","isAndroid","isIOS","isIOSChrome","maxCanvasPixels","webL10n","lang","_lang","_ready","setLanguage","_getLanguage","_getDirection","_x3","_translate","_x4","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","querySelectorAll","getL10nDictionary","innerHTML","getTranslatableChildren","getL10nAttributes","xhrLoadText","onSuccess","onFailure","overrideMimeType","ontimeout","parseResource","successCallback","failureCallback","baseURL","evalString","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","currentLang","genericLang","skipLang","nextEntry","loadImport","loadLocale","langLinks","langCount","onResourceLoaded","gResourceCount","resource","L10nResourceLink","load","dict","locales","default_locale","defaultLocale","anyCaseLang","getPluralRules","locales2rules","isIn","isBetween","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","translateElement","getChildElementCount","nodeType","textNode","insertBefore","childElementCount","translateFragment","elementCount","plural","_pluralRules","fallbackString","getText","rtlList","shortCode","getReadyState","once","FindState","_pdf_find_utils","FOUND","NOT_FOUND","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","_linkService","_eventBus","_reset","_onFindBarClose","_pdfDocument","_firstPageCapability","_shouldDirtyMatch","_dirtyMatch","_updateUIState","_extractText","findbarClosed","_highlightMatches","pendingTimeout","_findTimeout","_nextMatch","_updateAllPages","_ref2$element","_ref2$pageIndex","_ref2$matchIndex","_scrollMatches","_selected","_pageMatches","_pageMatchesLength","_offset","wrapped","_extractTextPromises","_pageContents","_matchesCountTotal","_pagesToSearch","_pendingFindMatches","_resumePageIdx","matchesWithLength","isSubTerm","currentElem","nextElem","skipped","prevElem","matchLength","startIdx","getCharacterType","endIdx","_limit","pageContent","entireWord","_isEntireWord","queryArray","subquery","subqueryLen","_prepareMatches","_query","_this$_state","caseSensitive","_calculatePhraseMatch","_calculateWordMatch","_updatePage","_nextPageMatch","pageMatchesCount","_updateUIResultsCount","extractTextCapability","getTextContent","findPrevious","currentPageIndex","_calculateMatch","numPageMatches","_updateMatch","_advanceOffsetPage","numMatches","_matchesReady","previousPage","_this$_selected","matchesCount","_requestMatchesCount","rawQuery","_rawQuery","_normalizedQuery","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","isDestHashesEqual","isDestArraysEqual","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","_initialized","_fingerprint","_boundEvents","_isViewerInPresentationMode","active","switchInProgress","_isPagesLoaded","onPagesLoaded","_ref2$resetHistory","resetHistory","_ref2$updateUrl","updateUrl","reInitialized","_updateUrl","_bindEvents","_popStateInProgress","_blockHashChange","_currentHash","_numPositionUpdates","_uid","_maxUid","_destination","_position","_isValidState","_this$_parseCurrentHa","_parseCurrentHash","_pushOrReplaceState","_updateInternalState","_initialRotation","_initialBookmark","_pageHide","_unbindEvents","_updateViewareaTimeout","_ref3$namedDest","forceReplace","_tryPushCurrentPosition","newUrl","shouldReplace","newState","temporary","checkReload","_performance$getEntri","performance","getEntriesByType","_performance$getEntri2","perfEntry","removeTemporary","checkNameddest","pdfOpenParams","newHash","hashChanged","setHash","_this$_parseCurrentHa2","updateViewarea","_updateViewarea","popState","_popState","pageHide","destHash","pushHash","_parseQueryString","firstDest","secondDest","isEntryEqual","_pdf_rendering_queue","MAX_CANVAS_PIXELS","defaultViewport","renderingId","pageLabel","pdfPageRotate","_annotationStorage","_optionalContentConfigPromise","hasRestrictedScaling","textLayerMode","useOnlyCssZoom","renderingQueue","textLayerFactory","annotationLayerFactory","renderer","paintTask","paintedViewportMap","renderingState","RenderingStates","INITIAL","resume","annotationLayer","textLayer","zoomLayer","totalRotation","getViewport","stats","_renderAnnotationLayer2","_renderAnnotationLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","cancelRendering","currentZoomLayerNode","currentAnnotationNode","hide","_resetZoomLayer","loadingIconDiv","cssTransform","timestamp","isScalingRestricted","outputScale","redrawAnnotations","relativeRotation","absRotation","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","convertToPdfPoint","FINISHED","RUNNING","canvasWrapper","createTextLayerBuilder","renderContinueCallback","cont","isHighestPriority","PAUSED","finishPaintTask","paintOnSvg","paintOnCanvas","onRenderContinue","resultPromise","setTextContentStream","createAnnotationLayerBuilder","renderCapability","isCanvasHidden","showCanvas","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","ensureNotCancelled","getOperatorList","svgGfx","getSVG","PDFRenderingQueue","CLEANUP_TIMEOUT","pdfThumbnailViewer","onIdle","highestPriorityPage","idleTimeout","printing","isThumbnailViewEnabled","currentlyVisiblePages","forceRendering","scrolledDown","visibleViews","numVisible","isViewFinished","nextPageIndex","previousPageIndex","draw","renderHighestPriority","_base_viewer","_BaseViewer","_ensurePageViewVisible","_previousPageNumber","_shadowViewer","_updateScrollDown","pageView","_pages","_currentPageNumber","previousPageView","viewerNodes","_ref$pageSpot","pageSpot","_ref$pageNumber","_setCurrentPageNumber","scroll","_getCurrentVisiblePage","visiblePages","BaseViewer","DEFAULT_CACHE_SIZE","PDFPageViewBuffer","resize","newSize","pagesToKeep","pageIdsToKeep","iMax","isSameScale","oldScale","newScale","_name","firstElementChild","HTMLDivElement","removePageBorders","enablePrintAutoRotate","defaultRenderingQueue","setViewer","_scrollUpdate","presentationModeState","_onBeforeDraw","_onAfterDraw","_resetView","resetCurrentPageView","_resetCurrentPageView","_pageLabels","_getVisiblePages","_onePageRenderedCapability","_cancelRendering","setDocument","firstPagePromise","_pagesCapability","_buffer","settled","firstPdfPage","currentScale","_viewerElement","firstPageView","setPdfPage","_spreadMode","_updateSpreadMode","_onePageRenderedOrForceFetch","getPagesLeft","_pageNum","setPageLabel","_currentScale","_currentScaleValue","_location","_pagesRotation","_pagesRequests","_scrollMode","_updateScrollMode","newValue","noScroll","preset","presetValue","isInPresentationMode","isChangingPresentationMode","_setScaleUpdatePages","currentPage","noPadding","hPadding","vPadding","_isScrollModeHorizontal","pageWidthScale","pageHeightScale","horizontalScale","_setScale","_scrollIntoView","_ref3$destArray","_ref3$allowNegativeOf","_ref3$ignoreDestinati","pageWidth","pageHeight","currentScaleValue","boundingRect","convertToViewportPoint","firstPage","normalizedScaleValue","currentPageView","getPagePoint","intLeft","intTop","numVisiblePages","newCacheSize","_updateHelper","_updateLocation","focus","scrollAhead","getHighestPriority","_ensurePdfPageLoaded","renderView","pagesOverview","scrollMode","pages","parity","spread","_iMax","_this$container","currentId","stillFullyVisible","pendingOperation","isPDFDocumentLoadingTask","__PDFDocumentLoadingTask","createLoadingTask","PDFJS","PDFJSWrapper","canvasElt","annotationLayerElt","emitEvent","pdfDoc","pdfRender","canceling","clearCanvas","clearAnnotations","getResolutionScale","printPage","dpi","pageNumberOnly","PRINT_RESOLUTION","PRINT_UNITS","iframeElt","frameBorder","scrolling","cssText","win","allPages","printCanvasElt","queryCommandSupported","execCommand","print","removeIframe","catch","renderPage","pageRotate","getAnnotationsOperation","pdfRenderOperation","forEachPage","pageCallback","loadPage","loadDocument","reasonStr","ratio","pdf","staticStyle","uploadList","beforeUpload","handleSuccess","handleFormatError","handleMaxSize","uploadAction","formItem","model","$$v","$set","gender","_l","change","searchHospital","getDepartmentDatas","ID","OrgName","DepartmentName","minRows","maxRows","loading","sendCode","defaultList1","handleSuccess1","handleBeforeUpload1","physicianspicture","showphysicianspicture","isRemove1","ok1","cancel1","showphysicians","defaultList2","handleSuccess2","handleBeforeUpload2","professionalpicture","showprofessionalpicture","isRemove2","ok2","cancel2","showprofessional","isagreen","fullmodal","submit","cancle","imgName","okTeam","cancleTeam","modal1","teamChange","centerTeam","Team","slot","okbook","components","Row","Col","Form","FormItem","Input","RadioGroup","Radio","Upload","Button","Icon","Select","Option","Modal","Poptip","Disclaimer","Checkbox","Pdf","nodutymodal","picture","isupload","imgList1","imgList2","isshow","centerTeamList","centerID","hospitalList","departmentList","ifsendcode","physiciansList","professionalList","cityList","provinceList","positionList","roleList","userInfo","avatar","age","province","city","street","hospital","department","synopsis","adept","phone","repassword","physicians","physiciansurl","professional","professionalurl","healthOrgId","deptID","roleID","role","created","localStorage","getItem","getStorage","sUserJID","mounted","$refs","upload1","fileList","upload2","getTeamList","disclaimer","messageCode","sPhoneNUM","authCode","ismessageCode","$Message","sHeadPhoto","setItem","UserJid","getDocDatas","DocName","Sex","DocPosition","Age","Province","City","Address","HospitalName","Introduce","Skill","Cellphone","UserPws","DocQFCode","VocQFCode","HealthOrgID","DepartmentID","Role","RoleID","DocType","getHospitalDatas","isHosLoading","hos","tablename","fields","getBase64","pic","changehead","$Notice","warning","handleRemove1","fileList1","handleRemove2","fileList2","tools","timer","setInterval","clearInterval","$router","computed","watch","onDrop","handlePaste","dragOver","webkitdirectory","accept","handleChange","handleRemove","handlePreview","fileCls","format","parsePercentage","percentage","showProgress","getError","getBody","upload","formData","FormData","wrapClasses","checkboxClasses","innerClasses","inputClasses","itemDisabled","domProps","$$a","$$el","$$c","$$i","onFocus","onBlur","autocomplete","Item","outerClasses","bgClasses","successBgClasses","hideInfo","textInside","textClasses","textInnerClasses","statusIcon","$slots","labelFor","FormInstance","colon","validateState","showMessage","validateMessage","radioClasses","groupName","Group","pdfjsWrapper","initial","$el","resolutionScale","pageList","$emit","$on","swapArrItem","index1","index2","upGoArrItem","fieldData","downGoArrItem","setArrItemToFirst","generateInfiniteCategory","childs","parent_id","build_tree","buildTree","regMatchCenterStr","matchReg","regstr","ret","checkPhone","hidden","binding","vnode","documentHandler","__vueClickOutside__","isServer","$isServer","Popper","eventsEnabled","placement","boundariesPadding","reference","popper","transition","modifiers","computeStyle","gpuAcceleration","preventOverflow","boundariesElement","immediate","handleIndexIncrease","updatePopper","popperJS","onCreate","$nextTick","createPopper","_extends","_inheritsLoose","_construct","Parent","Class","_isNativeFunction","_wrapNativeSuper","_cache","formatRegExp","convertFieldsError","errors","field","_","isNativeStringType","isEmptyValue","asyncParallelArray","func","arrLength","asyncSerialArray","original","flattenObjArr","objArr","AsyncValidationError","_Error","asyncMap","_pending","flattenArr","firstFields","objArrKeys","objArrLength","pending","complementError","oe","fullField","deepMerge","messages","whitespace","email","types","getTime","getMonth","getYear","custom","ruleType","spRegexp","ENUM","pattern$1","lastIndex","mismatch","_pattern","validate","_boolean","floatFn","ENUM$1","enumerable$1","pattern$2","required$1","type$1","any","validators","newMessages","invalid","Schema","_messages","z","source_","oc","_errors","messages$1","series","validator","getValidationMethod","getType","errorFields","doIt","deep","defaultField","addFullfield","schema","cb","suppressWarning","fieldsSchema","fieldSchema","errs","finalErrors","asyncValidator","messageIndex","register","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","refInFor","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","actual","fromArrayLike","isBuffer","copy","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","valLength","buf","readUInt16BE","foundIndex","hexWrite","strLen","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","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","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","leadSurrogate","byteArray","hi","lo","dst"],"mappings":"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","file":"js/Register.3dfb29dc.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classes,attrs:{\"name\":_vm.name}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./radio-group.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./radio-group.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./radio-group.vue?vue&type=template&id=43ef4449&\"\nimport script from \"./radio-group.vue?vue&type=script&lang=js&\"\nexport * from \"./radio-group.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/u439.0e45cf6d.png\";","/**\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\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function get() {\n return _display_utils.addLinkAttributes;\n }\n});\nObject.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n});\nObject.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n});\nObject.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n});\nObject.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n});\nObject.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n});\nObject.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n});\nObject.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n});\nObject.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n});\nObject.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n});\nObject.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n});\nObject.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n});\nObject.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n});\nObject.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n});\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n});\nObject.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n});\nObject.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n});\nObject.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n});\nObject.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n});\nObject.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n});\nObject.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n});\nObject.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n});\nObject.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n});\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n});\nObject.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n});\nObject.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n});\nObject.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n});\nObject.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n});\nObject.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n});\nObject.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n});\nObject.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n});\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(202);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(216);\n\nvar _api_compatibility = __w_pdfjs_require__(206);\n\nvar _worker_options = __w_pdfjs_require__(209);\n\nvar _text_layer = __w_pdfjs_require__(217);\n\nvar _svg = __w_pdfjs_require__(218);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n{\n var _require = __w_pdfjs_require__(7),\n isNodeJS = _require.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(219).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(222).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(223).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\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.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.BaseCMapReaderFactory = exports.DOMCanvasFactory = exports.BaseCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = 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 _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 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 DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\n\nvar BaseCanvasFactory = /*#__PURE__*/function () {\n function BaseCanvasFactory() {\n _classCallCheck(this, BaseCanvasFactory);\n\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n _createClass(BaseCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.unreachable)(\"Abstract method `create` called.\");\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return BaseCanvasFactory;\n}();\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nvar DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(DOMCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(DOMCanvasFactory);\n\n function DOMCanvasFactory() {\n var _this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\n\n _classCallCheck(this, DOMCanvasFactory);\n\n _this = _super.call(this);\n _this._document = ownerDocument;\n return _this;\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var canvas = this._document.createElement(\"canvas\");\n\n var context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }]);\n\n return DOMCanvasFactory;\n}(BaseCanvasFactory);\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar BaseCMapReaderFactory = /*#__PURE__*/function () {\n function BaseCMapReaderFactory(_ref2) {\n var _ref2$baseUrl = _ref2.baseUrl,\n baseUrl = _ref2$baseUrl === void 0 ? null : _ref2$baseUrl,\n _ref2$isCompressed = _ref2.isCompressed,\n isCompressed = _ref2$isCompressed === void 0 ? false : _ref2$isCompressed;\n\n _classCallCheck(this, BaseCMapReaderFactory);\n\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(BaseCMapReaderFactory, [{\n key: \"fetch\",\n value: function () {\n var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref3) {\n var _this2 = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n name = _ref3.name;\n\n if (this.baseUrl) {\n _context.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context.next = 5;\n break;\n }\n\n throw new Error(\"CMap name must be specified.\");\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return _context.abrupt(\"return\", this._fetchData(url, compressionType)[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this2.isCompressed ? \"binary \" : \"\", \"CMap at: \").concat(url));\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n return fetch;\n }()\n }, {\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n }]);\n\n return BaseCMapReaderFactory;\n}();\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nvar DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(DOMCMapReaderFactory);\n\n function DOMCMapReaderFactory() {\n _classCallCheck(this, DOMCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n var _this3 = this;\n\n if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {\n return fetch(url).then( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (response.ok) {\n _context2.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this3.isCompressed) {\n _context2.next = 10;\n break;\n }\n\n _context2.t0 = Uint8Array;\n _context2.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context2.t1 = _context2.sent;\n cMapData = new _context2.t0(_context2.t1);\n _context2.next = 15;\n break;\n\n case 10:\n _context2.t2 = _util.stringToBytes;\n _context2.next = 13;\n return response.text();\n\n case 13:\n _context2.t3 = _context2.sent;\n cMapData = (0, _context2.t2)(_context2.t3);\n\n case 15:\n return _context2.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n\n return new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this3.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this3.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this3.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}(BaseCMapReaderFactory);\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory = /*#__PURE__*/function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n var svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport = /*#__PURE__*/function () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$offsetX = _ref6.offsetX,\n offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,\n _ref6$offsetY = _ref6.offsetY,\n offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = /*#__PURE__*/function (_BaseException) {\n _inherits(RenderingCancelledException, _BaseException);\n\n var _super3 = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this4;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this4 = _super3.call(this, msg);\n _this4.type = type;\n return _this4;\n }\n\n return RenderingCancelledException;\n}(_util.BaseException);\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel,\n _ref7$enabled = _ref7.enabled,\n enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\n var targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf(\"#\");\n var query = url.indexOf(\"?\");\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nvar StatTimer = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(name));\n }\n\n this.times.push({\n name: name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var outBuf = [];\n var longest = 0;\n\n var _iterator = _createForOfIteratorHelper(this.times),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.times),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref8.protocol;\n\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString = /*#__PURE__*/function () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || \"Z\";\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 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.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(203);\n\nvar _node_utils = __w_pdfjs_require__(204);\n\nvar _annotation_storage = __w_pdfjs_require__(205);\n\nvar _api_compatibility = __w_pdfjs_require__(206);\n\nvar _canvas = __w_pdfjs_require__(207);\n\nvar _worker_options = __w_pdfjs_require__(209);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(210);\n\nvar _metadata = __w_pdfjs_require__(211);\n\nvar _optional_content_config = __w_pdfjs_require__(213);\n\nvar _transport_stream = __w_pdfjs_require__(214);\n\nvar _webgl = __w_pdfjs_require__(215);\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 _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 _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 _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 _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 _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 _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 DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar RENDERING_CANCELLED_TIMEOUT = 100;\nvar DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\nvar DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (_typeof(pdfBytes) === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n workerId = _ref2[0],\n networkStream = _ref2[1];\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n })[\"catch\"](task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId: docId,\n apiVersion: '2.6.347',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask = /*#__PURE__*/function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\" + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"destroy\",\n value: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport = /*#__PURE__*/function () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iterator = _createForOfIteratorHelper(this._rangeListeners),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy = /*#__PURE__*/function () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n return this._transport.saveDocument(annotationStorage);\n }\n }, {\n key: \"annotationStorage\",\n get: function get() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) {\n var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref3.scale,\n _ref3$rotation = _ref3.rotation,\n rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$intent = _ref4.intent,\n intent = _ref4$intent === void 0 ? null : _ref4$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref5) {\n var _this5 = this;\n\n var canvasContext = _ref5.canvasContext,\n viewport = _ref5.viewport,\n _ref5$intent = _ref5.intent,\n intent = _ref5$intent === void 0 ? \"display\" : _ref5$intent,\n _ref5$enableWebGL = _ref5.enableWebGL,\n enableWebGL = _ref5$enableWebGL === void 0 ? false : _ref5$enableWebGL,\n _ref5$renderInteracti = _ref5.renderInteractiveForms,\n renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti,\n _ref5$transform = _ref5.transform,\n transform = _ref5$transform === void 0 ? null : _ref5$transform,\n _ref5$imageLayer = _ref5.imageLayer,\n imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,\n _ref5$canvasFactory = _ref5.canvasFactory,\n canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,\n _ref5$background = _ref5.background,\n background = _ref5$background === void 0 ? null : _ref5$background,\n _ref5$annotationStora = _ref5.annotationStorage,\n annotationStorage = _ref5$annotationStora === void 0 ? null : _ref5$annotationStora,\n _ref5$optionalContent = _ref5.optionalContentConfigPromise,\n optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n var renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n annotationStorage: annotationStorage && annotationStorage.getAll() || null\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this5.cleanupAfterRender || renderingIntent === \"print\") {\n _this5.pendingCleanup = true;\n }\n\n _this5._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this5._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this5._stats) {\n _this5._stats.timeEnd(\"Rendering\");\n\n _this5._stats.timeEnd(\"Overall\");\n }\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n transparency = _ref7[0],\n optionalContentConfig = _ref7[1];\n\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this5._stats) {\n _this5._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency: transparency,\n optionalContentConfig: optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n })[\"catch\"](complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = \"oplist\";\n\n var intentState = this._intentStates.get(renderingIntent);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(renderingIntent, intentState);\n }\n\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref8$normalizeWhites = _ref8.normalizeWhitespace,\n normalizeWhitespace = _ref8$normalizeWhites === void 0 ? false : _ref8$normalizeWhites,\n _ref8$disableCombineT = _ref8.disableCombineTextItems,\n disableCombineTextItems = _ref8$disableCombineT === void 0 ? false : _ref8$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref9) {\n var _textContent$items;\n\n var value = _ref9.value,\n done = _ref9.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n\n var _iterator5 = _createForOfIteratorHelper(this._intentStates),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _step5$value = _slicedToArray(_step5.value, 2),\n intent = _step5$value[0],\n intentState = _step5$value[1];\n\n this._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n continue;\n }\n\n var _iterator6 = _createForOfIteratorHelper(intentState.renderTasks),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var internalRenderTask = _step6.value;\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup) {\n return false;\n }\n\n var _iterator7 = _createForOfIteratorHelper(this._intentStates.values()),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _step7.value,\n renderTasks = _step7$value.renderTasks,\n operatorList = _step7$value.operatorList;\n\n if (renderTasks.length !== 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this._intentStates.get(intent);\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i2 = 0; _i2 < intentState.renderTasks.length; _i2++) {\n intentState.renderTasks[_i2].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this6 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n var reader = readableStream.getReader();\n\n var intentState = this._intentStates.get(args.intent);\n\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref10) {\n var value = _ref10.value,\n done = _ref10.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this6._transport.destroyed) {\n return;\n }\n\n _this6._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this6._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n _this6._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref11) {\n var _this7 = this;\n\n var intentState = _ref11.intentState,\n reason = _ref11.reason,\n _ref11$force = _ref11.force,\n force = _ref11$force === void 0 ? false : _ref11$force;\n (0, _util.assert)(reason instanceof Error || _typeof(reason) === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this7._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n var _iterator8 = _createForOfIteratorHelper(this._intentStates),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _slicedToArray(_step8.value, 2),\n intent = _step8$value[0],\n curIntentState = _step8$value[1];\n\n if (curIntentState === intentState) {\n this._intentStates[\"delete\"](intent);\n\n break;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n this.cleanup();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this._pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this8 = this;\n\n function cloneValue(value) {\n if (_typeof(value) !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this8, {\n data: obj\n });\n });\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this8._listeners.forEach(function (listener) {\n listener.call(_this8, e);\n });\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var nextFakeWorkerId = 0;\n var fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if ((typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\" && \"currentScript\" in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var mainWorkerMessageHandler, worker;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function loader() {\n return _ref12.apply(this, arguments);\n };\n }();\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$name = _ref13.name,\n name = _ref13$name === void 0 ? null : _ref13$name,\n _ref13$port = _ref13.port,\n port = _ref13$port === void 0 ? null : _ref13$port,\n _ref13$verbosity = _ref13.verbosity,\n verbosity = _ref13$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref13$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this9 = this;\n\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this9.destroyed) {\n _this9._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this9._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this9._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this9.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this9._messageHandler = messageHandler;\n _this9._port = worker;\n _this9._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this9.postMessageTransfers = false;\n }\n\n _this9._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this9.verbosity\n });\n } else {\n _this9._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this9.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this9._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this9.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this10 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this10.destroyed) {\n _this10._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this10._port = port;\n var id = \"fake\" + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n _this10._messageHandler = messageHandler;\n\n _this10._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this10.verbosity\n });\n })[\"catch\"](function (reason) {\n _this10._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts[\"delete\"](this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this11 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this11.fontLoader.clear();\n\n if (_this11._networkStream) {\n _this11._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this11.messageHandler) {\n _this11.messageHandler.destroy();\n\n _this11.messageHandler = null;\n }\n\n _this11.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this12 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this12._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this12._fullReader = _this12._networkStream.getFullReader();\n\n _this12._fullReader.onProgress = function (evt) {\n _this12._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this12._fullReader.read().then(function (_ref14) {\n var value = _ref14.value,\n done = _ref14.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this12._fullReader.cancel(reason);\n\n sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this12._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this12._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this12._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", function (data, sink) {\n (0, _util.assert)(_this12._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this12._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref15) {\n var value = _ref15.value,\n done = _ref15.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n sink.ready[\"catch\"](function (readyReason) {\n if (_this12.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref16) {\n var pdfInfo = _ref16.pdfInfo;\n _this12._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this12));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n if (!(reason instanceof Error)) {\n var msg = \"DocException - expected a valid Error.\";\n (0, _util.warn)(msg);\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this12._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this12._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this12._passwordCapability.reject(ex);\n }\n } else {\n _this12._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this12._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this12.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n var page = _this12.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (_this12.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this12._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this12.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _this12._onUnsupportedFeature.bind(_this12),\n fontRegistry: fontRegistry\n });\n\n _this12.fontLoader.bind(font)[\"catch\"](function (reason) {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n });\n })[\"finally\"](function () {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n _this12.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"Image\":\n _this12.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", function (data) {\n if (_this12.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = _this12.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_this12.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", function (data, sink) {\n if (_this12.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this12.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref17) {\n var featureId = _ref17.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this13 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.ownerDocument, _this13._params.pdfBug);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n })[\"catch\"](function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"saveDocument\",\n value: function saveDocument(annotationStorage) {\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n numPages: this._numPages,\n annotationStorage: annotationStorage && annotationStorage.getAll() || null,\n filename: this._fullReader ? this._fullReader.filename : null\n })[\"finally\"](function () {\n if (annotationStorage) {\n annotationStorage.resetModified();\n }\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getOptionalContentConfig\",\n value: function getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(function (results) {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this14 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this14._fullReader ? _this14._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this15 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {\n var page = _this15.pageCache[i];\n\n if (page) {\n var cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\n }\n }\n\n _this15.commonObjs.clear();\n\n _this15.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref18) {\n var callback = _ref18.callback,\n params = _ref18.params,\n objs = _ref18.objs,\n commonObjs = _ref18.commonObjs,\n operatorList = _ref18.operatorList,\n pageIndex = _ref18.pageIndex,\n canvasFactory = _ref18.canvasFactory,\n webGLContext = _ref18.webGLContext,\n _ref18$useRequestAnim = _ref18.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref18$useRequestAnim === void 0 ? false : _ref18$useRequestAnim,\n _ref18$pdfBug = _ref18.pdfBug,\n pdfBug = _ref18$pdfBug === void 0 ? false : _ref18$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics(_ref19) {\n var _ref19$transparency = _ref19.transparency,\n transparency = _ref19$transparency === void 0 ? false : _ref19$transparency,\n optionalContentConfig = _ref19.optionalContentConfig;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer, optionalContentConfig);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this16 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this16._nextBound()[\"catch\"](_this16.cancel.bind(_this16));\n });\n } else {\n Promise.resolve().then(this._nextBound)[\"catch\"](this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this.cancelled) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }, {\n key: \"completed\",\n get: function get() {\n return this.capability.promise[\"catch\"](function () {});\n }\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.6.347';\nexports.version = version;\nvar build = '3be9c65f';\nexports.build = build;\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.FontLoader = exports.FontFaceObject = 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 _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 BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature,\n _ref$ownerDocument = _ref.ownerDocument,\n ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n\n this._document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n\n this._document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this = this;\n\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n _this._document.fonts[\"delete\"](nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(font) {\n var _this2 = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 24:\n _context.next = 26;\n return new Promise(function (resolve) {\n var request = _this2._queueLoadingCallback(resolve);\n\n _this2._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof this._document !== \"undefined\" && !!this._document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(params) {\n var _this3;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this3 = _super.call(this, params);\n _this3.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this3.loadTestFontId = 0;\n return _this3;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n var _this4 = this;\n\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext(\"2d\");\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n\n var div = this._document.createElement(\"div\");\n\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n this._document.body.appendChild(div);\n\n isFontReady(loadTestFontId, function () {\n _this4._document.body.removeChild(div);\n\n request.complete();\n });\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\n\nvar FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n var args,\n js = \"\";\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\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 _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 _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\nvar NodeCanvasFactory = function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCanvasFactory\");\n};\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nvar NodeCMapReaderFactory = function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n (0, _util.unreachable)(\"Not implemented: NodeCMapReaderFactory\");\n};\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nif (_is_node.isNodeJS) {\n exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {\n _inherits(NodeCanvasFactory, _BaseCanvasFactory);\n\n var _super = _createSuper(NodeCanvasFactory);\n\n function NodeCanvasFactory() {\n _classCallCheck(this, NodeCanvasFactory);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NodeCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var Canvas = require(\"canvas\");\n\n var canvas = Canvas.createCanvas(width, height);\n return {\n canvas: canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n }]);\n\n return NodeCanvasFactory;\n }(_display_utils.BaseCanvasFactory);\n\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {\n _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor);\n\n var _super2 = _createSuper(NodeCMapReaderFactory);\n\n function NodeCMapReaderFactory() {\n _classCallCheck(this, NodeCMapReaderFactory);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NodeCMapReaderFactory, [{\n key: \"_fetchData\",\n value: function _fetchData(url, compressionType) {\n return new Promise(function (resolve, reject) {\n var fs = require(\"fs\");\n\n fs.readFile(url, function (error, data) {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve({\n cMapData: new Uint8Array(data),\n compressionType: compressionType\n });\n });\n });\n }\n }]);\n\n return NodeCMapReaderFactory;\n }(_display_utils.BaseCMapReaderFactory);\n}\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationStorage = 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 AnnotationStorage = /*#__PURE__*/function () {\n function AnnotationStorage() {\n _classCallCheck(this, AnnotationStorage);\n\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n _createClass(AnnotationStorage, [{\n key: \"getOrCreateValue\",\n value: function getOrCreateValue(key, defaultValue) {\n if (this._storage.has(key)) {\n return this._storage.get(key);\n }\n\n this._storage.set(key, defaultValue);\n\n return defaultValue;\n }\n }, {\n key: \"setValue\",\n value: function setValue(key, value) {\n if (this._storage.get(key) !== value) {\n this._setModified();\n }\n\n this._storage.set(key, value);\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n if (this._storage.size === 0) {\n return null;\n }\n\n return Object.fromEntries(this._storage);\n }\n }, {\n key: \"_setModified\",\n value: function _setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n }, {\n key: \"resetModified\",\n value: function resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._storage.size;\n }\n }]);\n\n return AnnotationStorage;\n}();\n\nexports.AnnotationStorage = AnnotationStorage;\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.apiCompatibilityParams = void 0;\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar compatibilityParams = Object.create(null);\n{\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nvar apiCompatibilityParams = Object.freeze(compatibilityParams);\nexports.apiCompatibilityParams = apiCompatibilityParams;\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.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _pattern_helper = __w_pdfjs_require__(208);\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 MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n this.transferMaps = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer, optionalContentConfig) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n var _ref = [black, white];\n white = _ref[0];\n black = _ref[1];\n }\n }\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n if (hasTransferMaps) {\n for (var _k = 0; _k < elemsInThisChunk; _k += 4) {\n if (transferMapRed) {\n dest[_k + 0] = transferMapRed[dest[_k + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k + 1] = transferMapGreen[dest[_k + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k + 2] = transferMapBlue[dest[_k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n\n if (hasTransferMaps) {\n for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {\n if (transferMapRed) {\n dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n if (_hasTransferMaps) {\n for (var _k3 = 0; _k3 < destPos; _k3 += 4) {\n if (transferMapRed) {\n dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];\n }\n\n if (transferMapGreen) {\n dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];\n }\n\n if (transferMapBlue) {\n dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref2) {\n var transform = _ref2.transform,\n viewport = _ref2.viewport,\n _ref2$transparency = _ref2.transparency,\n transparency = _ref2$transparency === void 0 ? false : _ref2$transparency,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? null : _ref2$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator = _createForOfIteratorHelper(argsArray[i]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n ctx.moveTo(x, y);\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n ctx.lineTo(x, y);\n ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (this.contentVisible) {\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.contentVisible) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function paintImageMaskXObjectRepeat(imgData, scaleX) {\n var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var scaleY = arguments.length > 4 ? arguments[4] : undefined;\n var positions = arguments.length > 5 ? arguments[5] : undefined;\n\n if (!this.contentVisible) {\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n },\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n },\n endMarkedContent: function CanvasGraphics_endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n },\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n },\n isContentVisible: function CanvasGraphics_isContentVisible() {\n for (var i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\n if (y < y1) {\n _k = 0;\n } else if (y1 === y2) {\n _k = 1;\n } else {\n _k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * _k;\n car = c1r - (c1r - c2r) * _k;\n cag = c1g - (c1g - c2g) * _k;\n cab = c1b - (c1b - c2b) * _k;\n } else {\n var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 210 */\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/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _xml_parser = __w_pdfjs_require__(212);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = \"\";\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return Object.fromEntries(this._metadataMap);\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\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.SimpleXMLParser = 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\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 _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 _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 XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar XMLParserBase = /*#__PURE__*/function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return _this.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var attributes = [];\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n var attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n var value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === \"<\") {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n var q2 = s.indexOf(\"[\", j + 8);\n var complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _super.call(this);\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OptionalContentConfig = 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\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OptionalContentGroup = function OptionalContentGroup(name, intent) {\n _classCallCheck(this, OptionalContentGroup);\n\n this.visible = true;\n this.name = name;\n this.intent = intent;\n};\n\nvar OptionalContentConfig = /*#__PURE__*/function () {\n function OptionalContentConfig(data) {\n _classCallCheck(this, OptionalContentConfig);\n\n this.name = null;\n this.creator = null;\n this._order = null;\n this._groups = new Map();\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n this._order = data.order;\n\n var _iterator = _createForOfIteratorHelper(data.groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _group = _step.value;\n\n this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (data.baseState === \"OFF\") {\n var _iterator2 = _createForOfIteratorHelper(this._groups),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var group = _step2.value;\n group.visible = false;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n var _iterator3 = _createForOfIteratorHelper(data.on),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var on = _step3.value;\n this._groups.get(on).visible = true;\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var _iterator4 = _createForOfIteratorHelper(data.off),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var off = _step4.value;\n this._groups.get(off).visible = false;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n _createClass(OptionalContentConfig, [{\n key: \"isVisible\",\n value: function isVisible(group) {\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(group.id));\n return true;\n }\n\n return this._groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n (0, _util.warn)(\"Visibility expression not supported yet.\");\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n var _iterator5 = _createForOfIteratorHelper(group.ids),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var id = _step5.value;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n var _iterator6 = _createForOfIteratorHelper(group.ids),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _id = _step6.value;\n\n if (!this._groups.has(_id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id));\n return true;\n }\n\n if (!this._groups.get(_id).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n var _iterator7 = _createForOfIteratorHelper(group.ids),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _id2 = _step7.value;\n\n if (!this._groups.has(_id2)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id2));\n return true;\n }\n\n if (!this._groups.get(_id2).visible) {\n return true;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n var _iterator8 = _createForOfIteratorHelper(group.ids),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _id3 = _step8.value;\n\n if (!this._groups.has(_id3)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(_id3));\n return true;\n }\n\n if (this._groups.get(_id3).visible) {\n return false;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return true;\n }\n\n (0, _util.warn)(\"Unknown optional content policy \".concat(group.policy, \".\"));\n return true;\n }\n\n (0, _util.warn)(\"Unknown group type \".concat(group.type, \".\"));\n return true;\n }\n }, {\n key: \"setVisibility\",\n value: function setVisibility(id) {\n var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return;\n }\n\n this._groups.get(id).visible = !!visible;\n }\n }, {\n key: \"getOrder\",\n value: function getOrder() {\n if (!this._groups.size) {\n return null;\n }\n\n if (this._order) {\n return this._order.slice();\n }\n\n return Array.from(this._groups.keys());\n }\n }, {\n key: \"getGroups\",\n value: function getGroups() {\n if (!this._groups.size) {\n return null;\n }\n\n return Object.fromEntries(this._groups);\n }\n }, {\n key: \"getGroup\",\n value: function getGroup(id) {\n return this._groups.get(id) || null;\n }\n }]);\n\n return OptionalContentConfig;\n}();\n\nexports.OptionalContentConfig = OptionalContentConfig;\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.PDFDataTransportStream = 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 _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 PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n var _iterator = _createForOfIteratorHelper(this._queuedChunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(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 WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _annotation_storage = __w_pdfjs_require__(205);\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 _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 _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 AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super.call(this, parameters, isRenderable);\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"linkAnnotation\";\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super2 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super2.call(this, parameters, isRenderable);\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super3 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super4 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super4.call(this, parameters, isRenderable);\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n var storage = this.annotationStorage;\n var id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n var textContent = storage.getOrCreateValue(id, this.data.fieldValue);\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n }\n\n element.addEventListener(\"input\", function (event) {\n storage.setValue(id, event.target.value);\n });\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n var fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super5 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super5.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, data.fieldValue && data.fieldValue !== \"Off\");\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.addEventListener(\"change\", function (event) {\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super6.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var storage = this.annotationStorage;\n var data = this.data;\n var id = data.id;\n var value = storage.getOrCreateValue(id, data.fieldValue === data.buttonValue);\n var element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.addEventListener(\"change\", function (event) {\n var name = event.target.name;\n\n var _iterator = _createForOfIteratorHelper(document.getElementsByName(name)),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var radio = _step.value;\n\n if (radio !== event.target) {\n storage.setValue(radio.parentNode.getAttribute(\"data-annotation-id\"), false);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super7 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super7.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super8 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super8.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"choiceWidgetAnnotation\";\n var storage = this.annotationStorage;\n var id = this.data.id;\n storage.getOrCreateValue(id, this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null);\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.data.options),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var option = _step2.value;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n selectElement.addEventListener(\"input\", function (event) {\n var options = event.target.options;\n var value = options[options.selectedIndex].value;\n storage.setValue(id, value);\n });\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super9 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super9.call(this, parameters, isRenderable);\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement(\"p\");\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super10 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super10.call(this, parameters, isRenderable, true);\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super11 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super11.call(this, parameters, isRenderable, true);\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super12 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super13 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super13.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super14 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _super14.call(this, parameters, isRenderable, true);\n _this3.containerClassName = \"polylineAnnotation\";\n _this3.svgElementName = \"svg:polyline\";\n return _this3;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n\n var _iterator3 = _createForOfIteratorHelper(data.vertices),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var coordinate = _step3.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super15 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _super15.call(this, parameters);\n _this4.containerClassName = \"polygonAnnotation\";\n _this4.svgElementName = \"svg:polygon\";\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super16 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super16.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super17 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _super17.call(this, parameters, isRenderable, true);\n _this5.containerClassName = \"inkAnnotation\";\n _this5.svgElementName = \"svg:polyline\";\n return _this5;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n\n var _iterator4 = _createForOfIteratorHelper(data.inkLists),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var inkList = _step4.value;\n var points = [];\n\n var _iterator5 = _createForOfIteratorHelper(inkList),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var coordinate = _step5.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n points = points.join(\" \");\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super18 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super18.call(this, parameters, isRenderable, true);\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super19 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super19.call(this, parameters, isRenderable, true);\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super20 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super21 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super22 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super23 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _super23.call(this, parameters, true);\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"fileAttachmentAnnotation\";\n var trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator6 = _createForOfIteratorHelper(parameters.annotations),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _data = _step6.value;\n\n if (!_data) {\n continue;\n }\n\n if (_data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data);\n continue;\n }\n\n sortedAnnotations.push(_data);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {\n var data = _sortedAnnotations[_i];\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: typeof parameters.renderInteractiveForms === \"boolean\" ? parameters.renderInteractiveForms : true,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator7 = _createForOfIteratorHelper(parameters.annotations),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var data = _step7.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\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.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n });\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n })[\"catch\"](function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n\n var canvas = this._document.createElement(\"canvas\");\n\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this2._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(7);\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 _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 _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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator = _createForOfIteratorHelper(opList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var opListElement = _step.value;\n\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n var output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xffff;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = /*#__PURE__*/function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iterator2 = _createForOfIteratorHelper(argsArray[i]),\n _step2;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith(\"g_\") ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n fnId: fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iterator3 = _createForOfIteratorHelper(opTree),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator4 = _createForOfIteratorHelper(glyphs),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var glyph = _step4.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator5 = _createForOfIteratorHelper(colorStops),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n\n var _iterator6 = _createForOfIteratorHelper(ops),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var op = _step6.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iterator7 = _createForOfIteratorHelper(states),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n var imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n var rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\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\n;\n\nvar fs = require(\"fs\");\n\nvar http = require(\"http\");\n\nvar https = require(\"https\");\n\nvar url = require(\"url\");\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this2._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _super.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === \"http:\") {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on(\"error\", function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super2 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _super2.call(this, stream);\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders.Range = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === \"http:\") {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on(\"error\", function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super3 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _super3.call(this, stream);\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super4 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _super4.call(this, stream);\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _content_disposition = __w_pdfjs_require__(221);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _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 getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var _n2 = 0; _n2 < matches.length; ++_n2) {\n if (!(_n2 in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n2], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n2 === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager = /*#__PURE__*/function () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream = /*#__PURE__*/function () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _network_utils = __w_pdfjs_require__(220);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nvar PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n })[\"catch\"](this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _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 = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n })[\"catch\"](function (reason) {\n if (reason && reason.name === \"AbortError\") {\n return;\n }\n\n throw reason;\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _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 = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.handleClose),expression:\"handleClose\"}],class:_vm.classes,on:{\"mouseenter\":_vm.handleMouseenter,\"mouseleave\":_vm.handleMouseleave}},[_c('div',{ref:\"reference\",class:[_vm.prefixCls + '-rel'],on:{\"click\":_vm.handleClick,\"mousedown\":function($event){return _vm.handleFocus(false)},\"mouseup\":function($event){return _vm.handleBlur(false)}}},[_vm._t(\"default\")],2),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"},{name:\"transfer-dom\",rawName:\"v-transfer-dom\"}],ref:\"popper\",class:_vm.popperClasses,style:(_vm.styles),attrs:{\"data-transfer\":_vm.transfer},on:{\"click\":_vm.handleTransferClick,\"mouseenter\":_vm.handleMouseenter,\"mouseleave\":_vm.handleMouseleave}},[_c('div',{class:[_vm.prefixCls + '-content']},[_c('div',{class:[_vm.prefixCls + '-arrow']}),(_vm.confirm)?_c('div',{class:[_vm.prefixCls + '-inner']},[_c('div',{class:[_vm.prefixCls + '-body']},[_c('i',{staticClass:\"ivu-icon ivu-icon-ios-help-circle\"}),_c('div',{class:[_vm.prefixCls + '-body-message']},[_vm._t(\"title\",[_vm._v(_vm._s(_vm.title))])],2)]),_c('div',{class:[_vm.prefixCls + '-footer']},[_c('i-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},nativeOn:{\"click\":function($event){return _vm.cancel($event)}}},[_vm._v(_vm._s(_vm.localeCancelText))]),_c('i-button',{attrs:{\"type\":\"primary\",\"size\":\"small\"},nativeOn:{\"click\":function($event){return _vm.ok($event)}}},[_vm._v(_vm._s(_vm.localeOkText))])],1)]):_vm._e(),(!_vm.confirm)?_c('div',{class:[_vm.prefixCls + '-inner']},[(_vm.showTitle)?_c('div',{ref:\"title\",class:[_vm.prefixCls + '-title'],style:(_vm.contentPaddingStyle)},[_vm._t(\"title\",[_c('div',{class:[_vm.prefixCls + '-title-inner']},[_vm._v(_vm._s(_vm.title))])])],2):_vm._e(),_c('div',{class:[_vm.prefixCls + '-body'],style:(_vm.contentPaddingStyle)},[_c('div',{class:_vm.contentClasses},[_vm._t(\"content\",[_c('div',{class:[_vm.prefixCls + '-body-content-inner']},[_vm._v(_vm._s(_vm.content))])])],2)])]):_vm._e()])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./poptip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./poptip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./poptip.vue?vue&type=template&id=0680f124&\"\nimport script from \"./poptip.vue?vue&type=script&lang=js&\"\nexport * from \"./poptip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import FormItem from '../form/form-item.vue';\n\nexport default FormItem;","import Poptip from './poptip.vue';\n\nexport default Poptip;","'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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classes,style:(_vm.styles)},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./row.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./row.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./row.vue?vue&type=template&id=2da9a661&\"\nimport script from \"./row.vue?vue&type=script&lang=js&\"\nexport * from \"./row.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Row from '../grid/row.vue';\n\nexport default Row;","/**\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/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = 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, \"AnnotationLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n});\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n});\nObject.defineProperty(exports, \"TextLayerBuilder\", {\n enumerable: true,\n get: function get() {\n return _text_layer_builder.TextLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"EventBus\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.EventBus;\n }\n});\nObject.defineProperty(exports, \"NullL10n\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.NullL10n;\n }\n});\nObject.defineProperty(exports, \"ProgressBar\", {\n enumerable: true,\n get: function get() {\n return _ui_utils.ProgressBar;\n }\n});\nObject.defineProperty(exports, \"PDFLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.PDFLinkService;\n }\n});\nObject.defineProperty(exports, \"SimpleLinkService\", {\n enumerable: true,\n get: function get() {\n return _pdf_link_service.SimpleLinkService;\n }\n});\nObject.defineProperty(exports, \"DownloadManager\", {\n enumerable: true,\n get: function get() {\n return _download_manager.DownloadManager;\n }\n});\nObject.defineProperty(exports, \"GenericL10n\", {\n enumerable: true,\n get: function get() {\n return _genericl10n.GenericL10n;\n }\n});\nObject.defineProperty(exports, \"PDFFindController\", {\n enumerable: true,\n get: function get() {\n return _pdf_find_controller.PDFFindController;\n }\n});\nObject.defineProperty(exports, \"PDFHistory\", {\n enumerable: true,\n get: function get() {\n return _pdf_history.PDFHistory;\n }\n});\nObject.defineProperty(exports, \"PDFPageView\", {\n enumerable: true,\n get: function get() {\n return _pdf_page_view.PDFPageView;\n }\n});\nObject.defineProperty(exports, \"PDFSinglePageViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n});\nObject.defineProperty(exports, \"PDFViewer\", {\n enumerable: true,\n get: function get() {\n return _pdf_viewer.PDFViewer;\n }\n});\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _download_manager = __w_pdfjs_require__(9);\n\nvar _genericl10n = __w_pdfjs_require__(11);\n\nvar _pdf_find_controller = __w_pdfjs_require__(13);\n\nvar _pdf_history = __w_pdfjs_require__(15);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(18);\n\nvar _pdf_viewer = __w_pdfjs_require__(20);\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.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\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 AnnotationLayerBuilder = /*#__PURE__*/function () {\n function AnnotationLayerBuilder(_ref) {\n var pageDiv = _ref.pageDiv,\n pdfPage = _ref.pdfPage,\n linkService = _ref.linkService,\n downloadManager = _ref.downloadManager,\n _ref$annotationStorag = _ref.annotationStorage,\n annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,\n _ref$imageResourcesPa = _ref.imageResourcesPath,\n imageResourcesPath = _ref$imageResourcesPa === void 0 ? \"\" : _ref$imageResourcesPa,\n _ref$renderInteractiv = _ref.renderInteractiveForms,\n renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv,\n _ref$l10n = _ref.l10n,\n l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;\n\n _classCallCheck(this, AnnotationLayerBuilder);\n\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.div = null;\n this._cancelled = false;\n }\n\n _createClass(AnnotationLayerBuilder, [{\n key: \"render\",\n value: function render(viewport) {\n var _this = this;\n\n var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"display\";\n return this.pdfPage.getAnnotations({\n intent: intent\n }).then(function (annotations) {\n if (_this._cancelled) {\n return;\n }\n\n if (annotations.length === 0) {\n return;\n }\n\n var parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: _this.div,\n annotations: annotations,\n page: _this.pdfPage,\n imageResourcesPath: _this.imageResourcesPath,\n renderInteractiveForms: _this.renderInteractiveForms,\n linkService: _this.linkService,\n downloadManager: _this.downloadManager,\n annotationStorage: _this.annotationStorage\n };\n\n if (_this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n _this.div = document.createElement(\"div\");\n _this.div.className = \"annotationLayer\";\n\n _this.pageDiv.appendChild(_this.div);\n\n parameters.div = _this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n _this.l10n.translate(_this.div);\n }\n });\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._cancelled = true;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.div) {\n return;\n }\n\n this.div.setAttribute(\"hidden\", \"true\");\n }\n }]);\n\n return AnnotationLayerBuilder;\n}();\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nvar DefaultAnnotationLayerFactory = /*#__PURE__*/function () {\n function DefaultAnnotationLayerFactory() {\n _classCallCheck(this, DefaultAnnotationLayerFactory);\n }\n\n _createClass(DefaultAnnotationLayerFactory, [{\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;\n return new AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n: l10n,\n annotationStorage: annotationStorage\n });\n }\n }]);\n\n return DefaultAnnotationLayerFactory;\n}();\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": 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 _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 _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\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nvar AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nvar NullL10n = {\n getLanguage: function getLanguage() {\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 return _context.abrupt(\"return\", \"en-us\");\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getDirection: function getDirection() {\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 return _context2.abrupt(\"return\", \"ltr\");\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n get: function get(property, args, fallback) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n translate: function translate(element) {\n return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n }\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var parts = query.split(\"&\");\n var params = Object.create(null);\n\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split(\"=\");\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n var xinv = 1 / x;\n var limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n var result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n var i = 0;\n var ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDirection(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n var delta = normalizeWheelEventDirection(evt);\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nvar WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref2) {\n var target = _ref2.target,\n name = _ref2.name,\n _ref2$delay = _ref2.delay,\n delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\n return new Promise(function (resolve, reject) {\n if (_typeof(target) !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nvar EventBus = /*#__PURE__*/function () {\n function EventBus(options) {\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n var externalListeners;\n eventListeners.slice(0).forEach(function (_ref3) {\n var listener = _ref3.listener,\n external = _ref3.external;\n\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n }, {\n key: \"_on\",\n value: function _on(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener: listener,\n external: (options && options.external) === true\n });\n }\n }, {\n key: \"_off\",\n value: function _off(eventName, listener) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (var i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n }]);\n\n return EventBus;\n}();\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar = /*#__PURE__*/function () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = \"calc(100% - \".concat(scrollbarWidth, \"px)\");\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(5);\n\n/***/ }),\n/* 5 */\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__(6)(module)))\n\n/***/ }),\n/* 6 */\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/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\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 PDFLinkService = /*#__PURE__*/function () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,\n _ref$externalLinkEnab = _ref.externalLinkEnabled,\n externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,\n _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"navigateTo\",\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0];\n var pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n })[\"catch\"](function () {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n });\n\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: _this._ignoreDestinationZoom\n });\n };\n\n new Promise(function (resolve, reject) {\n if (typeof dest === \"string\") {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n goToDestination(data);\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n var pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n var zoomArgs = params.zoom.split(\",\");\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + \"a valid destination.\");\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.gen === 0 ? \"\".concat(pageRef.num, \"R\") : \"\".concat(pageRef.num, \"R\").concat(pageRef.gen);\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n var page = dest[0];\n\n if (!(_typeof(page) === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n var zoom = dest[1];\n\n if (!(_typeof(zoom) === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n var allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService = /*#__PURE__*/function () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"navigateTo\",\n value: function navigateTo(dest) {}\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return \"#\";\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return \"#\";\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\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 EXPAND_DIVS_TIMEOUT = 300;\n\nvar TextLayerBuilder = /*#__PURE__*/function () {\n function TextLayerBuilder(_ref) {\n var textLayerDiv = _ref.textLayerDiv,\n eventBus = _ref.eventBus,\n pageIndex = _ref.pageIndex,\n viewport = _ref.viewport,\n _ref$findController = _ref.findController,\n findController = _ref$findController === void 0 ? null : _ref$findController,\n _ref$enhanceTextSelec = _ref.enhanceTextSelection,\n enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;\n\n _classCallCheck(this, TextLayerBuilder);\n\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._onUpdateTextLayerMatches = null;\n\n this._bindMouse();\n }\n\n _createClass(TextLayerBuilder, [{\n key: \"_finishRendering\",\n value: function _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n var endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs = [];\n var textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout: timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(function () {\n _this.textLayerDiv.appendChild(textLayerFrag);\n\n _this._finishRendering();\n\n _this._updateMatches();\n }, function (reason) {});\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = function (evt) {\n if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {\n _this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n }, {\n key: \"setTextContentStream\",\n value: function setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n }, {\n key: \"setTextContent\",\n value: function setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n }, {\n key: \"_convertMatches\",\n value: function _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n var findController = this.findController,\n textContentItemsStr = this.textContentItemsStr;\n var i = 0,\n iIndex = 0;\n var end = textContentItemsStr.length - 1;\n var queryLen = findController.state.query.length;\n var result = [];\n\n for (var m = 0, mm = matches.length; m < mm; m++) {\n var matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n var match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n }, {\n key: \"_renderMatches\",\n value: function _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n var findController = this.findController,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var isSelectedPage = pageIdx === findController.selected.pageIdx;\n var selectedMatchIdx = findController.selected.matchIdx;\n var highlightAll = findController.state.highlightAll;\n var prevEnd = null;\n var infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n var divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n var div = textDivs[divIdx];\n var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n var node = document.createTextNode(content);\n\n if (className) {\n var span = document.createElement(\"span\");\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n\n div.appendChild(node);\n }\n\n var i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (var i = i0; i < i1; i++) {\n var match = matches[i];\n var begin = match.begin;\n var end = match.end;\n var isSelected = isSelectedPage && i === selectedMatchIdx;\n var highlightSuffix = isSelected ? \" selected\" : \"\";\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n }, {\n key: \"_updateMatches\",\n value: function _updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n\n var findController = this.findController,\n matches = this.matches,\n pageIdx = this.pageIdx,\n textContentItemsStr = this.textContentItemsStr,\n textDivs = this.textDivs;\n var clearedUntilDivIdx = -1;\n\n for (var i = 0, ii = matches.length; i < ii; i++) {\n var match = matches[i];\n var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (var n = begin, end = match.end.divIdx; n <= end; n++) {\n var div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController || !findController.highlightMatches) {\n return;\n }\n\n var pageMatches = findController.pageMatches[pageIdx] || null;\n var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n }, {\n key: \"_bindMouse\",\n value: function _bindMouse() {\n var _this2 = this;\n\n var div = this.textLayerDiv;\n var expandDivsTimer = null;\n div.addEventListener(\"mousedown\", function (evt) {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n var adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n var divBounds = div.getBoundingClientRect();\n var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", function () {\n if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {\n expandDivsTimer = setTimeout(function () {\n if (_this2.textLayerRenderTask) {\n _this2.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n var end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n }]);\n\n return TextLayerBuilder;\n}();\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nvar DefaultTextLayerFactory = /*#__PURE__*/function () {\n function DefaultTextLayerFactory() {\n _classCallCheck(this, DefaultTextLayerFactory);\n }\n\n _createClass(DefaultTextLayerFactory, [{\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n pageIndex: pageIndex,\n viewport: viewport,\n enhanceTextSelection: enhanceTextSelection,\n eventBus: eventBus\n });\n }\n }]);\n\n return DefaultTextLayerFactory;\n}();\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\n\nfunction _download(blobUrl, filename) {\n var a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nvar DownloadManager = /*#__PURE__*/function () {\n function DownloadManager() {\n _classCallCheck(this, DownloadManager);\n }\n\n _createClass(DownloadManager, [{\n key: \"downloadUrl\",\n value: function downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n return;\n }\n\n _download(url + \"#pdfjs.action=download\", filename);\n }\n }, {\n key: \"downloadData\",\n value: function downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n return;\n }\n\n var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL);\n\n _download(blobUrl, filename);\n }\n }, {\n key: \"download\",\n value: function download(blob, url, filename) {\n var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"download\";\n\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n\n return;\n }\n\n if (_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n\n var blobUrl = URL.createObjectURL(blob);\n\n _download(blobUrl, filename);\n }\n }]);\n\n return DownloadManager;\n}();\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.viewerCompatibilityParams = void 0;\nvar compatibilityParams = Object.create(null);\n{\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n var maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n var isAndroid = /Android/.test(userAgent);\n var isIE = /Trident/.test(userAgent);\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nvar viewerCompatibilityParams = Object.freeze(compatibilityParams);\nexports.viewerCompatibilityParams = viewerCompatibilityParams;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\n__w_pdfjs_require__(12);\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 webL10n = document.webL10n;\n\nvar GenericL10n = /*#__PURE__*/function () {\n function GenericL10n(lang) {\n _classCallCheck(this, GenericL10n);\n\n this._lang = lang;\n this._ready = new Promise(function (resolve, reject) {\n webL10n.setLanguage(lang, function () {\n resolve(webL10n);\n });\n });\n }\n\n _createClass(GenericL10n, [{\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var l10n;\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._ready;\n\n case 2:\n l10n = _context.sent;\n return _context.abrupt(\"return\", l10n.getLanguage());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }, {\n key: \"getDirection\",\n value: function () {\n var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var l10n;\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._ready;\n\n case 2:\n l10n = _context2.sent;\n return _context2.abrupt(\"return\", l10n.getDirection());\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }()\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(property, args, fallback) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context3.sent;\n return _context3.abrupt(\"return\", l10n.get(property, args, fallback));\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }()\n }, {\n key: \"translate\",\n value: function () {\n var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(element) {\n var l10n;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this._ready;\n\n case 2:\n l10n = _context4.sent;\n return _context4.abrupt(\"return\", l10n.translate(element));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n }]);\n\n return GenericL10n;\n}();\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function onResourceLoaded() {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function _(n) {\n return 'other';\n },\n '1': function _(n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function _(n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function _(n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function _(n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function _(n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function _(n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function _(n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function _(n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function _(n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function _(n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function _(n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function _(n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function _(n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function _(n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function _(n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function _(n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function _(n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function _(n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function _(n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function _(n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function _(n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function _(n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function _(n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function get(key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function getData() {\n return gL10nData;\n },\n getText: function getText() {\n return gTextData;\n },\n getLanguage: function getLanguage() {\n return gLanguage;\n },\n setLanguage: function setLanguage(lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function getDirection() {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function getReadyState() {\n return gReadyState;\n },\n ready: function ready(callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_find_utils = __w_pdfjs_require__(14);\n\nvar _ui_utils = __w_pdfjs_require__(3);\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 FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nvar FIND_TIMEOUT = 250;\nvar MATCH_SCROLL_OFFSET_TOP = -50;\nvar MATCH_SCROLL_OFFSET_LEFT = -400;\nvar CHARACTERS_TO_NORMALIZE = {\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\xBC\": \"1/4\",\n \"\\xBD\": \"1/2\",\n \"\\xBE\": \"3/4\"\n};\nvar normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(\"[\".concat(replace, \"]\"), \"g\");\n }\n\n return text.replace(normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n}\n\nvar PDFFindController = /*#__PURE__*/function () {\n function PDFFindController(_ref) {\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFFindController);\n\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n _createClass(PDFFindController, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this._reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n }, {\n key: \"executeCommand\",\n value: function executeCommand(cmd, state) {\n var _this = this;\n\n if (!state) {\n return;\n }\n\n var pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(function () {\n if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {\n return;\n }\n\n _this._extractText();\n\n var findbarClosed = !_this._highlightMatches;\n var pendingTimeout = !!_this._findTimeout;\n\n if (_this._findTimeout) {\n clearTimeout(_this._findTimeout);\n _this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n _this._findTimeout = setTimeout(function () {\n _this._nextMatch();\n\n _this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (_this._dirtyMatch) {\n _this._nextMatch();\n } else if (cmd === \"findagain\") {\n _this._nextMatch();\n\n if (findbarClosed && _this._state.highlightAll) {\n _this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\n if (pendingTimeout) {\n _this._nextMatch();\n } else {\n _this._highlightMatches = true;\n }\n\n _this._updateAllPages();\n } else {\n _this._nextMatch();\n }\n });\n }\n }, {\n key: \"scrollMatchIntoView\",\n value: function scrollMatchIntoView(_ref2) {\n var _ref2$element = _ref2.element,\n element = _ref2$element === void 0 ? null : _ref2$element,\n _ref2$pageIndex = _ref2.pageIndex,\n pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,\n _ref2$matchIndex = _ref2.matchIndex,\n matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;\n\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n var spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n }, {\n key: \"_reset\",\n value: function _reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = Object.create(null);\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n }, {\n key: \"_shouldDirtyMatch\",\n value: function _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n var pageNumber = this._selected.pageIdx + 1;\n var linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_prepareMatches\",\n value: function _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n var currentElem = matchesWithLength[currentIndex];\n var nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (var i = currentIndex - 1; i >= 0; i--) {\n var prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (var i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n }, {\n key: \"_isEntireWord\",\n value: function _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n var first = content.charCodeAt(startIdx);\n var limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n var endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n var last = content.charCodeAt(endIdx);\n\n var _limit = content.charCodeAt(endIdx + 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"_calculatePhraseMatch\",\n value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n var matches = [];\n var queryLen = query.length;\n var matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n matches.push(matchIdx);\n }\n\n this._pageMatches[pageIndex] = matches;\n }\n }, {\n key: \"_calculateWordMatch\",\n value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n var matchesWithLength = [];\n var queryArray = query.match(/\\S+/g);\n\n for (var i = 0, len = queryArray.length; i < len; i++) {\n var subquery = queryArray[i];\n var subqueryLen = subquery.length;\n var matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n }, {\n key: \"_calculateMatch\",\n value: function _calculateMatch(pageIndex) {\n var pageContent = this._pageContents[pageIndex];\n var query = this._query;\n var _this$_state = this._state,\n caseSensitive = _this$_state.caseSensitive,\n entireWord = _this$_state.entireWord,\n phraseSearch = _this$_state.phraseSearch;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n var pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n }, {\n key: \"_extractText\",\n value: function _extractText() {\n var _this2 = this;\n\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n var promise = Promise.resolve();\n\n var _loop = function _loop(i, ii) {\n var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n _this2._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(function () {\n return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(function (textContent) {\n var textItems = textContent.items;\n var strBuf = [];\n\n for (var j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n _this2._pageContents[i] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve(i);\n }, function (reason) {\n console.error(\"Unable to get text content for page \".concat(i + 1), reason);\n _this2._pageContents[i] = \"\";\n extractTextCapability.resolve(i);\n });\n });\n };\n\n for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n _loop(i, ii);\n }\n }\n }, {\n key: \"_updatePage\",\n value: function _updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n }, {\n key: \"_updateAllPages\",\n value: function _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n }, {\n key: \"_nextMatch\",\n value: function _nextMatch() {\n var _this3 = this;\n\n var previous = this._state.findPrevious;\n var currentPageIndex = this._linkService.page - 1;\n var numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n\n this._updateAllPages();\n\n for (var i = 0; i < numPages; i++) {\n if (this._pendingFindMatches[i] === true) {\n continue;\n }\n\n this._pendingFindMatches[i] = true;\n\n this._extractTextPromises[i].then(function (pageIdx) {\n delete _this3._pendingFindMatches[pageIdx];\n\n _this3._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n var offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n var numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n }, {\n key: \"_matchesReady\",\n value: function _matchesReady(matches) {\n var offset = this._offset;\n var numMatches = matches.length;\n var previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\n return true;\n }\n\n this._advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this._updateMatch(false);\n\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"_nextPageMatch\",\n value: function _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n var matches = null;\n\n do {\n var pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this._matchesReady(matches));\n }\n }, {\n key: \"_advanceOffsetPage\",\n value: function _advanceOffsetPage(previous) {\n var offset = this._offset;\n var numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n }, {\n key: \"_updateMatch\",\n value: function _updateMatch() {\n var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var state = FindState.NOT_FOUND;\n var wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n var previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this._updatePage(previousPage);\n }\n }\n\n this._updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n\n this._updatePage(this._selected.pageIdx);\n }\n }\n }, {\n key: \"_onFindBarClose\",\n value: function _onFindBarClose(evt) {\n var _this4 = this;\n\n var pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(function () {\n if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (_this4._findTimeout) {\n clearTimeout(_this4._findTimeout);\n _this4._findTimeout = null;\n }\n\n if (_this4._resumePageIdx) {\n _this4._resumePageIdx = null;\n _this4._dirtyMatch = true;\n }\n\n _this4._updateUIState(FindState.FOUND);\n\n _this4._highlightMatches = false;\n\n _this4._updateAllPages();\n });\n }\n }, {\n key: \"_requestMatchesCount\",\n value: function _requestMatchesCount() {\n var _this$_selected = this._selected,\n pageIdx = _this$_selected.pageIdx,\n matchIdx = _this$_selected.matchIdx;\n var current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (var i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i] && this._pageMatches[i].length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current: current,\n total: total\n };\n }\n }, {\n key: \"_updateUIResultsCount\",\n value: function _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n }, {\n key: \"_updateUIState\",\n value: function _updateUIState(state, previous) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state: state,\n previous: previous,\n matchesCount: this._requestMatchesCount(),\n rawQuery: this._state ? this._state.query : null\n });\n }\n }, {\n key: \"highlightMatches\",\n get: function get() {\n return this._highlightMatches;\n }\n }, {\n key: \"pageMatches\",\n get: function get() {\n return this._pageMatches;\n }\n }, {\n key: \"pageMatchesLength\",\n get: function get() {\n return this._pageMatchesLength;\n }\n }, {\n key: \"selected\",\n get: function get() {\n return this._selected;\n }\n }, {\n key: \"state\",\n get: function get() {\n return this._state;\n }\n }, {\n key: \"_query\",\n get: function get() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n this._normalizedQuery = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n }]);\n\n return PDFFindController;\n}();\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nvar CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\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 _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 HASH_CHANGE_TIMEOUT = 1000;\nvar POSITION_UPDATED_THRESHOLD = 50;\nvar UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nvar PDFHistory = /*#__PURE__*/function () {\n function PDFHistory(_ref) {\n var _this = this;\n\n var linkService = _ref.linkService,\n eventBus = _ref.eventBus;\n\n _classCallCheck(this, PDFHistory);\n\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", function (evt) {\n _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n });\n\n this.eventBus._on(\"pagesinit\", function () {\n _this._isPagesLoaded = false;\n\n var onPagesLoaded = function onPagesLoaded(evt) {\n _this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n _this._isPagesLoaded = !!evt.pagesCount;\n };\n\n _this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n });\n }\n\n _createClass(PDFHistory, [{\n key: \"initialize\",\n value: function initialize(_ref2) {\n var fingerprint = _ref2.fingerprint,\n _ref2$resetHistory = _ref2.resetHistory,\n resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,\n _ref2$updateUrl = _ref2.updateUrl,\n updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;\n\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n var reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n var state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n var _this$_parseCurrentHa = this._parseCurrentHash(true),\n hash = _this$_parseCurrentHa.hash,\n page = _this$_parseCurrentHa.page,\n rotation = _this$_parseCurrentHa.rotation;\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = \"page=\".concat(destination.page);\n }\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n }, {\n key: \"push\",\n value: function push(_ref3) {\n var _this2 = this;\n\n var _ref3$namedDest = _ref3.namedDest,\n namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,\n explicitDest = _ref3.explicitDest,\n pageNumber = _ref3.pageNumber;\n\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(namedDest, \"\\\" is not a valid namedDest parameter.\"));\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(explicitDest, \"\\\" is not a valid explicitDest parameter.\"));\n return;\n } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n }\n\n var hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash: hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(function () {\n _this2._popStateInProgress = false;\n });\n }\n }\n }, {\n key: \"pushCurrentPosition\",\n value: function pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n }, {\n key: \"back\",\n value: function back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n }, {\n key: \"forward\",\n value: function forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n var state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n }, {\n key: \"_pushOrReplaceState\",\n value: function _pushOrReplaceState(destination) {\n var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var shouldReplace = forceReplace || !this._destination;\n var newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination: destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n var newUrl;\n\n if (this._updateUrl && destination && destination.hash) {\n var baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = \"\".concat(baseUrl, \"#\").concat(destination.hash);\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n this._maxUid = this._uid;\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n }, {\n key: \"_tryPushCurrentPosition\",\n value: function _tryPushCurrentPosition() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._position) {\n return;\n }\n\n var position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n var forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n }, {\n key: \"_isValidState\",\n value: function _isValidState(state) {\n var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n var _performance$getEntri = performance.getEntriesByType(\"navigation\"),\n _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),\n perfEntry = _performance$getEntri2[0];\n\n if (!perfEntry || perfEntry.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || _typeof(state.destination) !== \"object\") {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"_updateInternalState\",\n value: function _updateInternalState(destination, uid) {\n var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._numPositionUpdates = 0;\n }\n }, {\n key: \"_parseCurrentHash\",\n value: function _parseCurrentHash() {\n var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var hash = unescape(getCurrentHash()).substring(1);\n var params = (0, _ui_utils.parseQueryString)(hash);\n var nameddest = params.nameddest || \"\";\n var page = params.page | 0;\n\n if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash: hash,\n page: page,\n rotation: this.linkService.rotation\n };\n }\n }, {\n key: \"_updateViewarea\",\n value: function _updateViewarea(_ref4) {\n var _this3 = this;\n\n var location = _ref4.location;\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? \"page=\".concat(location.pageNumber) : location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(function () {\n if (!_this3._popStateInProgress) {\n _this3._tryPushCurrentPosition(true);\n }\n\n _this3._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n }, {\n key: \"_popState\",\n value: function _popState(_ref5) {\n var _this4 = this;\n\n var state = _ref5.state;\n var newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n var _this$_parseCurrentHa2 = this._parseCurrentHash(),\n hash = _this$_parseCurrentHa2.hash,\n page = _this$_parseCurrentHa2.page,\n rotation = _this$_parseCurrentHa2.rotation;\n\n this._pushOrReplaceState({\n hash: hash,\n page: page,\n rotation: rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(function () {\n _this4._blockHashChange--;\n });\n }\n\n var destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.navigateTo(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(function () {\n _this4._popStateInProgress = false;\n });\n }\n }, {\n key: \"_pageHide\",\n value: function _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n }, {\n key: \"_bindEvents\",\n value: function _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n }, {\n key: \"_unbindEvents\",\n value: function _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n }, {\n key: \"popStateInProgress\",\n get: function get() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n }, {\n key: \"initialBookmark\",\n get: function get() {\n return this._initialized ? this._initialBookmark : null;\n }\n }, {\n key: \"initialRotation\",\n get: function get() {\n return this._initialized ? this._initialRotation : null;\n }\n }]);\n\n return PDFHistory;\n}();\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),\n nameddest = _parseQueryString.nameddest;\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (_typeof(first) !== _typeof(second)) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && _typeof(first) === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (var i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _viewer_compatibility = __w_pdfjs_require__(10);\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 MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nvar PDFPageView = /*#__PURE__*/function () {\n function PDFPageView(options) {\n _classCallCheck(this, PDFPageView);\n\n var container = options.container;\n var defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._annotationStorage = options.annotationStorage || null;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.hasRestrictedScaling = false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = typeof options.renderInteractiveForms === \"boolean\" ? options.renderInteractiveForms : true;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n var div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n this.div = div;\n container.appendChild(div);\n }\n\n _createClass(PDFPageView, [{\n key: \"setPdfPage\",\n value: function setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n this.stats = pdfPage.stats;\n this.reset();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n }, {\n key: \"_renderAnnotationLayer\",\n value: function () {\n var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var error;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n error = null;\n _context.prev = 1;\n _context.next = 4;\n return this.annotationLayer.render(this.viewport, \"display\");\n\n case 4:\n _context.next = 9;\n break;\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](1);\n error = _context.t0;\n\n case 9:\n _context.prev = 9;\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error: error\n });\n return _context.finish(9);\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 6, 9, 12]]);\n }));\n\n function _renderAnnotationLayer() {\n return _renderAnnotationLayer2.apply(this, arguments);\n }\n\n return _renderAnnotationLayer;\n }()\n }, {\n key: \"_resetZoomLayer\",\n value: function _resetZoomLayer() {\n var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.zoomLayer) {\n return;\n }\n\n var zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap[\"delete\"](zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.cancelRendering(keepAnnotations);\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n var div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n var childNodes = div.childNodes;\n var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var node = childNodes[i];\n\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n\n div.removeChild(node);\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else if (this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n\n if (!currentZoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap[\"delete\"](this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap[\"delete\"](this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon\";\n div.appendChild(this.loadingIconDiv);\n }\n }, {\n key: \"update\",\n value: function update(scale, rotation) {\n var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n this.scale = scale || this.scale;\n\n if (typeof rotation !== \"undefined\") {\n this.rotation = rotation;\n }\n\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n }\n\n var totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n var isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n var outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n\n this.reset(true, true);\n }\n }, {\n key: \"cancelRendering\",\n value: function cancelRendering() {\n var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (!keepAnnotations && this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n }\n }, {\n key: \"cssTransform\",\n value: function cssTransform(target) {\n var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = this.viewport.width;\n var height = this.viewport.height;\n var div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n var absRotation = Math.abs(relativeRotation);\n var scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n var cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n target.style.transform = cssTransform;\n\n if (this.textLayer) {\n var textLayerViewport = this.textLayer.viewport;\n var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n var textAbsRotation = Math.abs(textRelativeRotation);\n var scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n var textLayerDiv = this.textLayer.textLayerDiv;\n var transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = \"rotate(\" + textAbsRotation + \"deg) \" + \"scale(\" + scale + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this._renderAnnotationLayer();\n }\n }\n }, {\n key: \"getPagePoint\",\n value: function getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n }, {\n key: \"draw\",\n value: function draw() {\n var _this = this;\n\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n var div = this.div,\n pdfPage = this.pdfPage;\n\n if (!pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n var canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n var textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n var textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);\n }\n\n this.textLayer = textLayer;\n var renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = function renderContinueCallback(cont) {\n if (!_this.renderingQueue.isHighestPriority(_this)) {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n _this.resume = function () {\n _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n var finishPaintTask = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(error) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (paintTask === _this.paintTask) {\n _this.paintTask = null;\n }\n\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n _context2.next = 4;\n break;\n }\n\n _this.error = null;\n return _context2.abrupt(\"return\");\n\n case 4:\n _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (_this.loadingIconDiv) {\n div.removeChild(_this.loadingIconDiv);\n delete _this.loadingIconDiv;\n }\n\n _this._resetZoomLayer(true);\n\n _this.error = error;\n _this.stats = pdfPage.stats;\n\n _this.eventBus.dispatch(\"pagerendered\", {\n source: _this,\n pageNumber: _this.id,\n cssTransform: false,\n timestamp: performance.now()\n });\n\n if (!error) {\n _context2.next = 12;\n break;\n }\n\n throw error;\n\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function finishPaintTask(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n var resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n var readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this._annotationStorage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\n }\n\n this._renderAnnotationLayer();\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n }, {\n key: \"paintOnCanvas\",\n value: function paintOnCanvas(canvasWrapper) {\n var renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n var result = {\n promise: renderCapability.promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n renderTask.cancel();\n }\n };\n var viewport = this.viewport;\n var canvas = document.createElement(\"canvas\");\n this.l10n.get(\"page_canvas\", {\n page: this.id\n }, \"Page {{page}}\").then(function (msg) {\n canvas.setAttribute(\"aria-label\", msg);\n });\n canvas.setAttribute(\"hidden\", \"hidden\");\n var isCanvasHidden = true;\n\n var showCanvas = function showCanvas() {\n if (isCanvasHidden) {\n canvas.removeAttribute(\"hidden\");\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n var ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n var outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n\n if (this.useOnlyCssZoom) {\n var actualSizeViewport = viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n\n if (this.maxCanvasPixels > 0) {\n var pixelsInViewport = viewport.width * viewport.height;\n var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n var renderContext = {\n canvasContext: ctx,\n transform: transform,\n viewport: this.viewport,\n enableWebGL: this.enableWebGL,\n renderInteractiveForms: this.renderInteractiveForms,\n optionalContentConfigPromise: this._optionalContentConfigPromise\n };\n var renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n }, {\n key: \"paintOnSvg\",\n value: function paintOnSvg(wrapper) {\n var _this2 = this;\n\n var cancelled = false;\n\n var ensureNotCancelled = function ensureNotCancelled() {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(\"Rendering cancelled, page \".concat(_this2.id), \"svg\");\n }\n };\n\n var pdfPage = this.pdfPage;\n var actualSizeViewport = this.viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n var promise = pdfPage.getOperatorList().then(function (opList) {\n ensureNotCancelled();\n var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {\n ensureNotCancelled();\n _this2.svg = svg;\n\n _this2.paintedViewportMap.set(svg, actualSizeViewport);\n\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise: promise,\n onRenderContinue: function onRenderContinue(cont) {\n cont();\n },\n cancel: function cancel() {\n cancelled = true;\n }\n };\n }\n }, {\n key: \"setPageLabel\",\n value: function setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n }, {\n key: \"width\",\n get: function get() {\n return this.viewport.width;\n }\n }, {\n key: \"height\",\n get: function get() {\n return this.viewport.height;\n }\n }]);\n\n return PDFPageView;\n}();\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = 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 CLEANUP_TIMEOUT = 30000;\nvar RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nvar PDFRenderingQueue = /*#__PURE__*/function () {\n function PDFRenderingQueue() {\n _classCallCheck(this, PDFRenderingQueue);\n\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n _createClass(PDFRenderingQueue, [{\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setThumbnailViewer\",\n value: function setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n }, {\n key: \"isHighestPriority\",\n value: function isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n }, {\n key: \"renderHighestPriority\",\n value: function renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n }, {\n key: \"getHighestPriority\",\n value: function getHighestPriority(visible, views, scrolledDown) {\n var visibleViews = visible.views;\n var numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (var i = 0; i < numVisible; ++i) {\n var view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n if (scrolledDown) {\n var nextPageIndex = visible.last.id;\n\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n var previousPageIndex = visible.first.id - 2;\n\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"isViewFinished\",\n value: function isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n }, {\n key: \"renderView\",\n value: function renderView(view) {\n var _this = this;\n\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw()[\"finally\"](function () {\n _this.renderHighestPriority();\n })[\"catch\"](function (reason) {\n console.error(\"renderView: \\\"\".concat(reason, \"\\\"\"));\n });\n break;\n }\n\n return true;\n }\n }]);\n\n return PDFRenderingQueue;\n}();\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\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 _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 _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 PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFSinglePageViewer, _BaseViewer);\n\n var _super = _createSuper(PDFSinglePageViewer);\n\n function PDFSinglePageViewer(options) {\n var _this;\n\n _classCallCheck(this, PDFSinglePageViewer);\n\n _this = _super.call(this, options);\n\n _this.eventBus._on(\"pagesinit\", function (evt) {\n _this._ensurePageViewVisible();\n });\n\n return _this;\n }\n\n _createClass(PDFSinglePageViewer, [{\n key: \"_resetView\",\n value: function _resetView() {\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_resetView\", this).call(this);\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n }, {\n key: \"_ensurePageViewVisible\",\n value: function _ensurePageViewVisible() {\n var pageView = this._pages[this._currentPageNumber - 1];\n var previousPageView = this._pages[this._previousPageNumber - 1];\n var viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollUpdate\", this).call(this);\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var _this2 = this;\n\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n var scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n _get(_getPrototypeOf(PDFSinglePageViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n\n this._updateScrollDown = function () {\n _this2.scroll.down = scrolledDown;\n _this2._updateScrollDown = null;\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {}\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {}\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {}\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n }]);\n\n return PDFSinglePageViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(17);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(16);\n\nvar _pdf_link_service = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\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 DEFAULT_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n var data = [];\n\n this.push = function (view) {\n var i = data.indexOf(view);\n\n if (i >= 0) {\n data.splice(i, 1);\n }\n\n data.push(view);\n\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.resize = function (newSize, pagesToKeep) {\n size = newSize;\n\n if (pagesToKeep) {\n var pageIdsToKeep = new Set();\n\n for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n pageIdsToKeep.add(pagesToKeep[i].id);\n }\n\n (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n return pageIdsToKeep.has(page.id);\n });\n }\n\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n}\n\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nvar BaseViewer = /*#__PURE__*/function () {\n function BaseViewer(options) {\n var _this = this;\n\n _classCallCheck(this, BaseViewer);\n\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (!(this.container instanceof HTMLDivElement && this.viewer instanceof HTMLDivElement)) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = typeof options.renderInteractiveForms === \"boolean\" ? options.renderInteractiveForms : true;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n Promise.resolve().then(function () {\n _this.eventBus.dispatch(\"baseviewerinit\", {\n source: _this\n });\n });\n }\n\n _createClass(BaseViewer, [{\n key: \"getPageView\",\n value: function getPageView(index) {\n return this._pages[index];\n }\n }, {\n key: \"_setCurrentPageNumber\",\n value: function _setCurrentPageNumber(val) {\n var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n }, {\n key: \"_onePageRenderedOrForceFetch\",\n value: function _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n }, {\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var _this2 = this;\n\n if (this.pdfDocument) {\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n var pagesCount = pdfDocument.numPages;\n var firstPagePromise = pdfDocument.getPage(1);\n var annotationStorage = pdfDocument.annotationStorage;\n var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\n\n this._pagesCapability.promise.then(function () {\n _this2.eventBus.dispatch(\"pagesloaded\", {\n source: _this2,\n pagesCount: pagesCount\n });\n });\n\n this._onBeforeDraw = function (evt) {\n var pageView = _this2._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n _this2._buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = function (evt) {\n if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {\n return;\n }\n\n _this2._onePageRenderedCapability.resolve();\n\n _this2.eventBus._off(\"pagerendered\", _this2._onAfterDraw);\n\n _this2._onAfterDraw = null;\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n firstPagePromise.then(function (firstPdfPage) {\n _this2._firstPageCapability.resolve(firstPdfPage);\n\n _this2._optionalContentConfigPromise = optionalContentConfigPromise;\n var scale = _this2.currentScale;\n var viewport = firstPdfPage.getViewport({\n scale: scale * _ui_utils.CSS_UNITS\n });\n var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;\n\n for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n var pageView = new _pdf_page_view.PDFPageView({\n container: _this2._viewerElement,\n eventBus: _this2.eventBus,\n id: pageNum,\n scale: scale,\n defaultViewport: viewport.clone(),\n annotationStorage: annotationStorage,\n optionalContentConfigPromise: optionalContentConfigPromise,\n renderingQueue: _this2.renderingQueue,\n textLayerFactory: textLayerFactory,\n textLayerMode: _this2.textLayerMode,\n annotationLayerFactory: _this2,\n imageResourcesPath: _this2.imageResourcesPath,\n renderInteractiveForms: _this2.renderInteractiveForms,\n renderer: _this2.renderer,\n enableWebGL: _this2.enableWebGL,\n useOnlyCssZoom: _this2.useOnlyCssZoom,\n maxCanvasPixels: _this2.maxCanvasPixels,\n l10n: _this2.l10n\n });\n\n _this2._pages.push(pageView);\n }\n\n var firstPageView = _this2._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n\n _this2.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {\n _this2._updateSpreadMode();\n }\n\n _this2._onePageRenderedOrForceFetch().then(function () {\n if (_this2.findController) {\n _this2.findController.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n _this2._pagesCapability.resolve();\n\n return;\n }\n\n var _loop = function _loop(_pageNum) {\n pdfDocument.getPage(_pageNum).then(function (pdfPage) {\n var pageView = _this2._pages[_pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n }, function (reason) {\n console.error(\"Unable to get page \".concat(_pageNum, \" to initialize viewer\"), reason);\n\n if (--getPagesLeft === 0) {\n _this2._pagesCapability.resolve();\n }\n });\n };\n\n for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {\n _loop(_pageNum);\n }\n });\n\n _this2.eventBus.dispatch(\"pagesinit\", {\n source: _this2\n });\n\n if (_this2.defaultRenderingQueue) {\n _this2.update();\n }\n })[\"catch\"](function (reason) {\n console.error(\"Unable to initialize viewer\", reason);\n });\n }\n }, {\n key: \"setPageLabels\",\n value: function setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(\"\".concat(this._name, \".setPageLabels: Invalid page labels.\"));\n } else {\n this._pageLabels = labels;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n var label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n }, {\n key: \"_resetView\",\n value: function _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._pagesRequests = new WeakMap();\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n }, {\n key: \"_scrollUpdate\",\n value: function _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n }, {\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n }, {\n key: \"_setScaleUpdatePages\",\n value: function _setScaleUpdatePages(newScale, newValue) {\n var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n var page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"_setScale\",\n value: function _setScale(value) {\n var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n var currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n var noPadding = this.isInPresentationMode || this.removePageBorders;\n var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n var _ref2 = [vPadding, hPadding];\n hPadding = _ref2[0];\n vPadding = _ref2[1];\n }\n\n var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(\"\".concat(this._name, \"._setScale: \\\"\").concat(value, \"\\\" is an unknown zoom value.\"));\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n }, {\n key: \"_resetCurrentPageView\",\n value: function _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n }, {\n key: \"scrollPageIntoView\",\n value: function scrollPageIntoView(_ref3) {\n var pageNumber = _ref3.pageNumber,\n _ref3$destArray = _ref3.destArray,\n destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,\n _ref3$allowNegativeOf = _ref3.allowNegativeOffset,\n allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,\n _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,\n ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(pageNumber, \"\\\" is not a valid pageNumber parameter.\"));\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n var x = 0,\n y = 0;\n var width = 0,\n height = 0,\n widthScale,\n heightScale;\n var changeOrientation = pageView.rotation % 180 !== 0;\n var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n var scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(\"\".concat(this._name, \".scrollPageIntoView: \") + \"\\\"\".concat(destArray[1].name, \"\\\" is not a valid destination type.\"));\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageNumber: pageNumber\n });\n\n return;\n }\n\n var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n var left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n var top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageSpot: {\n left: left,\n top: top\n },\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_updateLocation\",\n value: function _updateLocation(firstPage) {\n var currentScale = this._currentScale;\n var currentScaleValue = this._currentScaleValue;\n var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n var pageNumber = firstPage.id;\n var pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n var currentPageView = this._pages[pageNumber - 1];\n var container = this.container;\n var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n var intLeft = Math.round(topLeft[0]);\n var intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber: pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams: pdfOpenParams\n };\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n }, {\n key: \"update\",\n value: function update() {\n var visible = this._getVisiblePages();\n\n var visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n }, {\n key: \"containsElement\",\n value: function containsElement(element) {\n return this.container.contains(element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.container.focus();\n }\n }, {\n key: \"_getCurrentVisiblePage\",\n value: function _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n var pageView = this._pages[this._currentPageNumber - 1];\n var element = pageView.div;\n var view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\"\".concat(this._name, \".isPageVisible: \\\"\").concat(pageNumber, \"\\\" is out of bounds.\"));\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n }, {\n key: \"_cancelRendering\",\n value: function _cancelRendering() {\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n }, {\n key: \"_ensurePdfPageLoaded\",\n value: function _ensurePdfPageLoaded(pageView) {\n var _this3 = this;\n\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n _this3._pagesRequests[\"delete\"](pageView);\n\n return pdfPage;\n })[\"catch\"](function (reason) {\n console.error(\"Unable to get page for page view\", reason);\n\n _this3._pagesRequests[\"delete\"](pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n }, {\n key: \"forceRendering\",\n value: function forceRendering(currentlyVisiblePages) {\n var _this4 = this;\n\n var visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(function () {\n _this4.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n }, {\n key: \"createTextLayerBuilder\",\n value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {\n var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var eventBus = arguments.length > 4 ? arguments[4] : undefined;\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv: textLayerDiv,\n eventBus: eventBus,\n pageIndex: pageIndex,\n viewport: viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n }, {\n key: \"createAnnotationLayerBuilder\",\n value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {\n var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: pageDiv,\n pdfPage: pdfPage,\n annotationStorage: annotationStorage,\n imageResourcesPath: imageResourcesPath,\n renderInteractiveForms: renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n: l10n\n });\n }\n }, {\n key: \"getPagesOverview\",\n value: function getPagesOverview() {\n var pagesOverview = this._pages.map(function (pageView) {\n var viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n\n return pagesOverview.map(function (size) {\n if ((0, _ui_utils.isPortraitOrientation)(size)) {\n return size;\n }\n\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n }, {\n key: \"_updateScrollMode\",\n value: function _updateScrollMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"_updateSpreadMode\",\n value: function _updateSpreadMode() {\n var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.pdfDocument) {\n return;\n }\n\n var viewer = this.viewer,\n pages = this._pages;\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (var i = 0, iMax = pages.length; i < iMax; ++i) {\n viewer.appendChild(pages[i].div);\n }\n } else {\n var parity = this._spreadMode - 1;\n var spread = null;\n\n for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (_i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[_i].div);\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this._pages.length;\n }\n }, {\n key: \"pageViewsReady\",\n get: function get() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView && pageView.pdfPage;\n });\n }\n }, {\n key: \"currentPageNumber\",\n get: function get() {\n return this._currentPageNumber;\n },\n set: function set(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(\"\".concat(this._name, \".currentPageNumber: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentPageLabel\",\n get: function get() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n var page = val | 0;\n\n if (this._pageLabels) {\n var i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(\"\".concat(this._name, \".currentPageLabel: \\\"\").concat(val, \"\\\" is not a valid page.\"));\n }\n }\n }, {\n key: \"currentScale\",\n get: function get() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n },\n set: function set(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"currentScaleValue\",\n get: function get() {\n return this._currentScaleValue;\n },\n set: function set(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n }, {\n key: \"pagesRotation\",\n get: function get() {\n return this._pagesRotation;\n },\n set: function set(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n var pageNumber = this._currentPageNumber;\n\n for (var i = 0, ii = this._pages.length; i < ii; i++) {\n var pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber: pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n }, {\n key: \"firstPagePromise\",\n get: function get() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n }, {\n key: \"onePageRendered\",\n get: function get() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n }, {\n key: \"pagesPromise\",\n get: function get() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n }, {\n key: \"_isScrollModeHorizontal\",\n get: function get() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n }, {\n key: \"isInPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n }, {\n key: \"isChangingPresentationMode\",\n get: function get() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n }, {\n key: \"isHorizontalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n }, {\n key: \"isVerticalScrollbarEnabled\",\n get: function get() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n }, {\n key: \"hasEqualPageSizes\",\n get: function get() {\n var firstPageView = this._pages[0];\n\n for (var i = 1, ii = this._pages.length; i < ii; ++i) {\n var pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"optionalContentConfigPromise\",\n get: function get() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n\n if (!this._optionalContentConfigPromise) {\n return this.pdfDocument.getOptionalContentConfig();\n }\n\n return this._optionalContentConfigPromise;\n },\n set: function set(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(\"Invalid optionalContentConfigPromise: \".concat(promise));\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._optionalContentConfigPromise) {\n return;\n }\n\n this._optionalContentConfigPromise = promise;\n\n var _iterator = _createForOfIteratorHelper(this._pages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var pageView = _step.value;\n pageView.update(pageView.scale, pageView.rotation, promise);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.update();\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise: promise\n });\n }\n }, {\n key: \"scrollMode\",\n get: function get() {\n return this._scrollMode;\n },\n set: function set(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(\"Invalid scroll mode: \".concat(mode));\n }\n\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n }, {\n key: \"spreadMode\",\n get: function get() {\n return this._spreadMode;\n },\n set: function set(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(\"Invalid spread mode: \".concat(mode));\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode: mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n }]);\n\n return BaseViewer;\n}();\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(19);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\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(_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\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 _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 PDFViewer = /*#__PURE__*/function (_BaseViewer) {\n _inherits(PDFViewer, _BaseViewer);\n\n var _super = _createSuper(PDFViewer);\n\n function PDFViewer() {\n _classCallCheck(this, PDFViewer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PDFViewer, [{\n key: \"_scrollIntoView\",\n value: function _scrollIntoView(_ref) {\n var pageDiv = _ref.pageDiv,\n _ref$pageSpot = _ref.pageSpot,\n pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,\n _ref$pageNumber = _ref.pageNumber,\n pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;\n\n if (!pageSpot && !this.isInPresentationMode) {\n var left = pageDiv.offsetLeft + pageDiv.clientLeft;\n var right = left + pageDiv.clientWidth;\n var _this$container = this.container,\n scrollLeft = _this$container.scrollLeft,\n clientWidth = _this$container.clientWidth;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n _get(_getPrototypeOf(PDFViewer.prototype), \"_scrollIntoView\", this).call(this, {\n pageDiv: pageDiv,\n pageSpot: pageSpot,\n pageNumber: pageNumber\n });\n }\n }, {\n key: \"_getVisiblePages\",\n value: function _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return _get(_getPrototypeOf(PDFViewer.prototype), \"_getVisiblePages\", this).call(this);\n }\n }, {\n key: \"_updateHelper\",\n value: function _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n var currentId = this._currentPageNumber;\n var stillFullyVisible = false;\n\n var _iterator = _createForOfIteratorHelper(visiblePages),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var page = _step.value;\n\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n }, {\n key: \"_viewerElement\",\n get: function get() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n }]);\n\n return PDFViewer;\n}(_base_viewer.BaseViewer);\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf_viewer.js.map","export * from \"-!../../node_modules/_mini-css-extract-plugin@0.9.0@mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/_less-loader@5.0.0@less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./pdf.vue?vue&type=style&index=0&lang=less&\"","import { PDFLinkService } from 'pdfjs-dist/es5/web/pdf_viewer';\r\n\r\nvar pendingOperation = Promise.resolve();\r\n\r\nexport default function(PDFJS) {\r\n\r\n\tfunction isPDFDocumentLoadingTask(obj) {\r\n\r\n\t\treturn typeof(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true;\r\n\t\t// or: return obj.constructor.name === 'PDFDocumentLoadingTask';\r\n\t}\r\n\r\n\tfunction createLoadingTask(src, options) {\r\n\r\n\t\tvar source;\r\n\t\tif ( typeof(src) === 'string' )\r\n\t\t\tsource = { url: src };\r\n\t\telse if ( src instanceof Uint8Array )\r\n\t\t\tsource = { data: src };\r\n\t\telse if ( typeof(src) === 'object' && src !== null )\r\n\t\t\tsource = Object.assign({}, src);\r\n\t\telse\r\n\t\t\tthrow new TypeError('invalid src type');\r\n\r\n\t\t// source.verbosity = PDFJS.VerbosityLevel.INFOS;\r\n\t\t// source.pdfBug = true;\r\n\t\t// source.stopAtErrors = true;\r\n\r\n\t\tif ( options && options.withCredentials )\r\n\t\t\tsource.withCredentials = options.withCredentials;\r\n\r\n\t\tvar loadingTask = PDFJS.getDocument(source);\r\n\t\tloadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public\r\n\r\n\t\tif ( options && options.onPassword )\r\n\t\t\tloadingTask.onPassword = options.onPassword;\r\n\r\n\t\tif ( options && options.onProgress )\r\n\t\t\tloadingTask.onProgress = options.onProgress;\r\n\r\n\t\treturn loadingTask;\r\n\t}\r\n\r\n\r\n\tfunction PDFJSWrapper(canvasElt, annotationLayerElt, emitEvent) {\r\n\r\n\t\tvar pdfDoc = null;\r\n\t\tvar pdfPage = null;\r\n\t\tvar pdfRender = null;\r\n\t\tvar canceling = false;\r\n\r\n\t\tcanvasElt.getContext('2d').save();\r\n\r\n\t\tfunction clearCanvas() {\r\n\r\n\t\t\tcanvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);\r\n\t\t}\r\n\r\n\t\tfunction clearAnnotations() {\r\n\r\n\t\t\twhile ( annotationLayerElt.firstChild )\r\n\t\t\t\tannotationLayerElt.removeChild(annotationLayerElt.firstChild);\r\n\t\t}\r\n\r\n\t\tthis.destroy = function() {\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// Aborts all network requests and destroys worker.\r\n\t\t\tpendingOperation = pdfDoc.destroy();\r\n\t\t\tpdfDoc = null;\r\n\t\t}\r\n\r\n\t\tthis.getResolutionScale = function() {\r\n\r\n\t\t\treturn canvasElt.offsetWidth / canvasElt.width;\r\n\t\t}\r\n\r\n\t\tthis.printPage = function(dpi, pageNumberOnly) {\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// 1in == 72pt\r\n\t\t\t// 1in == 96px\r\n\t\t\tvar PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;\r\n\t\t\tvar PRINT_UNITS = PRINT_RESOLUTION / 72.0;\r\n\t\t\tvar CSS_UNITS = 96.0 / 72.0;\r\n\r\n\t\t\tvar iframeElt = document.createElement('iframe');\r\n\r\n\t\t\tfunction removeIframe() {\r\n\r\n\t\t\t\tiframeElt.parentNode.removeChild(iframeElt);\r\n\t\t\t}\r\n\r\n\t\t\tnew Promise(function(resolve, reject) {\r\n\r\n\t\t\t\tiframeElt.frameBorder = '0';\r\n\t\t\t\tiframeElt.scrolling = 'no';\r\n\t\t\t\tiframeElt.width = '0px;'\r\n\t\t\t\tiframeElt.height = '0px;'\r\n\t\t\t\tiframeElt.style.cssText = 'position: absolute; top: 0; left: 0';\r\n\r\n\t\t\t\tiframeElt.onload = function() {\r\n\r\n\t\t\t\t\tresolve(this.contentWindow);\r\n\t\t\t\t}\r\n\r\n\t\t\t\twindow.document.body.appendChild(iframeElt);\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\twin.document.title = '';\r\n\r\n\t\t\t\treturn pdfDoc.getPage(1)\r\n\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\t\t\t\t\twin.document.head.appendChild(win.document.createElement('style')).textContent =\r\n\t\t\t\t\t\t'@supports ((size:A4) and (size:1pt 1pt)) {' +\r\n\t\t\t\t\t\t\t'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +\r\n\t\t\t\t\t\t'}' +\r\n\r\n\t\t\t\t\t\t'@media print {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t\t'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t'@media screen {' +\r\n\t\t\t\t\t\t\t'body { margin: 0 }' +\r\n\t\t\t\t\t\t'}'+\r\n\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\treturn win;\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.then(function(win) {\r\n\r\n\t\t\t\tvar allPages = [];\r\n\r\n\t\t\t\tfor ( var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber ) {\r\n\r\n\t\t\t\t\tif ( pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1 )\r\n\t\t\t\t\t\tcontinue;\r\n\r\n\t\t\t\t\tallPages.push(\r\n\t\t\t\t\t\tpdfDoc.getPage(pageNumber)\r\n\t\t\t\t\t\t.then(function(page) {\r\n\r\n\t\t\t\t\t\t\tvar viewport = page.getViewport({ scale: 1 });\r\n\r\n\t\t\t\t\t\t\tvar printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));\r\n\t\t\t\t\t\t\tprintCanvasElt.width = (viewport.width * PRINT_UNITS);\r\n\t\t\t\t\t\t\tprintCanvasElt.height = (viewport.height * PRINT_UNITS);\r\n\r\n\t\t\t\t\t\t\treturn page.render({\r\n\t\t\t\t\t\t\t\tcanvasContext: printCanvasElt.getContext('2d'),\r\n\t\t\t\t\t\t\t\ttransform: [ // Additional transform, applied just before viewport transform.\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0,\r\n\t\t\t\t\t\t\t\t\tPRINT_UNITS, 0, 0\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\tviewport: viewport,\r\n\t\t\t\t\t\t\t\tintent: 'print'\r\n\t\t\t\t\t\t\t}).promise;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tPromise.all(allPages)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\twin.focus(); // Required for IE\r\n\t\t\t\t\tif (win.document.queryCommandSupported('print')) {\r\n\t\t\t\t\t\twin.document.execCommand('print', false, null);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\twin.print();\r\n\t\t\t\t\t }\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tremoveIframe();\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tthis.renderPage = function(rotate) {\r\n\t\t\tif ( pdfRender !== null ) {\r\n\r\n\t\t\t\tif ( canceling )\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcanceling = true;\r\n\t\t\t\tpdfRender.cancel().catch(function(err) {\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( pdfPage === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar pageRotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);\r\n\r\n\t\t\tvar scale = canvasElt.offsetWidth / pdfPage.getViewport({ scale: 1 }).width * (window.devicePixelRatio || 1);\r\n\t\t\tvar viewport = pdfPage.getViewport({ scale: scale, rotation:pageRotate });\r\n\r\n\t\t\temitEvent('page-size', viewport.width, viewport.height, scale);\r\n\r\n\t\t\tcanvasElt.width = viewport.width;\r\n\t\t\tcanvasElt.height = viewport.height;\r\n\r\n\t\t\tpdfRender = pdfPage.render({\r\n\t\t\t\tcanvasContext: canvasElt.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t});\r\n\r\n\t\t\tannotationLayerElt.style.visibility = 'hidden';\r\n\t\t\tclearAnnotations();\r\n\r\n\t\t\tvar viewer = {\r\n\t\t\t\tscrollPageIntoView: function(params) {\r\n\t\t\t\t\temitEvent('link-clicked', params.pageNumber)\r\n\t\t\t\t},\r\n\t\t\t};\r\n\r\n\t\t\tvar linkService = new PDFLinkService();\r\n\t\t\tlinkService.setDocument(pdfDoc);\r\n\t\t\tlinkService.setViewer(viewer);\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar getAnnotationsOperation =\r\n\t\t\t\tpdfPage.getAnnotations({ intent: 'display' })\r\n\t\t\t\t.then(function(annotations) {\r\n\r\n\t\t\t\t\tPDFJS.AnnotationLayer.render({\r\n\t\t\t\t\t\tviewport: viewport.clone({ dontFlip: true }),\r\n\t\t\t\t\t\tdiv: annotationLayerElt,\r\n\t\t\t\t\t\tannotations: annotations,\r\n\t\t\t\t\t\tpage: pdfPage,\r\n\t\t\t\t\t\tlinkService: linkService,\r\n\t\t\t\t\t\trenderInteractiveForms: false\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar pdfRenderOperation =\r\n\t\t\t\tpdfRender.promise\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tannotationLayerElt.style.visibility = '';\r\n\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\t\tpdfRender = null;\r\n\t\t\t\t\tif ( err instanceof PDFJS.RenderingCancelledException ) {\r\n\r\n\t\t\t\t\t\tcanceling = false;\r\n\t\t\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\temitEvent('error', err);\r\n\t\t\t\t}.bind(this))\r\n\r\n\t\t\t\treturn Promise.all([getAnnotationsOperation, pdfRenderOperation]);\r\n\t\t\t}.bind(this));\r\n\t\t}\r\n\r\n\r\n\t\tthis.forEachPage = function(pageCallback) {\r\n\r\n\t\t\tvar numPages = pdfDoc.numPages;\r\n\r\n\t\t\t(function next(pageNum) {\r\n\r\n\t\t\t\tpdfDoc.getPage(pageNum)\r\n\t\t\t\t.then(pageCallback)\r\n\t\t\t\t.then(function() {\r\n\r\n\t\t\t\t\tif ( ++pageNum <= numPages )\r\n\t\t\t\t\t\tnext(pageNum);\r\n\t\t\t\t})\r\n\t\t\t})(1);\r\n\t\t}\r\n\r\n\r\n\t\tthis.loadPage = function(pageNumber, rotate) {\r\n\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\tif ( pdfDoc === null )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\treturn pdfDoc.getPage(pageNumber);\r\n\t\t\t})\r\n\t\t\t.then(function(page) {\r\n\r\n\t\t\t\tpdfPage = page;\r\n\t\t\t\tthis.renderPage(rotate);\r\n\t\t\t\temitEvent('page-loaded', page.pageNumber);\r\n\t\t\t}.bind(this))\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.loadDocument = function(src) {\r\n\r\n\t\t\tpdfDoc = null;\r\n\t\t\tpdfPage = null;\r\n\r\n\t\t\temitEvent('num-pages', undefined);\r\n\r\n\t\t\tif ( !src ) {\r\n\r\n\t\t\t\tcanvasElt.removeAttribute('width');\r\n\t\t\t\tcanvasElt.removeAttribute('height');\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// wait for pending operation ends\r\n\t\t\tpendingOperation = pendingOperation.then(function() {\r\n\r\n\t\t\t\tvar loadingTask;\r\n\t\t\t\tif ( isPDFDocumentLoadingTask(src) ) {\r\n\r\n\t\t\t\t\tif ( src.destroyed ) {\r\n\r\n\t\t\t\t\t\temitEvent('error', new Error('loadingTask has been destroyed'));\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tloadingTask = src;\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tloadingTask = createLoadingTask(src, {\r\n\t\t\t\t\t\tonPassword: function(updatePassword, reason) {\r\n\r\n\t\t\t\t\t\t\tvar reasonStr;\r\n\t\t\t\t\t\t\tswitch (reason) {\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.NEED_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'NEED_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase PDFJS.PasswordResponses.INCORRECT_PASSWORD:\r\n\t\t\t\t\t\t\t\t\treasonStr = 'INCORRECT_PASSWORD';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\temitEvent('password', updatePassword, reasonStr);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tonProgress: function(status) {\r\n\r\n\t\t\t\t\t\t\tvar ratio = status.loaded / status.total;\r\n\t\t\t\t\t\t\temitEvent('progress', Math.min(ratio, 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn loadingTask.promise;\r\n\t\t\t})\r\n\t\t\t.then(function(pdf) {\r\n\r\n\t\t\t\tpdfDoc = pdf;\r\n\t\t\t\temitEvent('num-pages', pdf.numPages);\r\n\t\t\t\temitEvent('loaded');\r\n\t\t\t})\r\n\t\t\t.catch(function(err) {\r\n\r\n\t\t\t\tclearCanvas();\r\n\t\t\t\tclearAnnotations();\r\n\t\t\t\temitEvent('error', err);\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tannotationLayerElt.style.transformOrigin = '0 0';\r\n\t}\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\tPDFJSWrapper: PDFJSWrapper,\r\n\t}\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"personal\",attrs:{\"id\":\"content\"}},[_c('Row',[_c('Col',{attrs:{\"span\":\"5\"}},[_c('p',{staticStyle:{\"margin-top\":\"60px\",\"margin-left\":\"30px\"}},[_vm._v(\"头像\")]),_c('div',{staticClass:\"head_img\"},[_c('img',{attrs:{\"src\":_vm.uploadList.url}})]),_c('Upload',{ref:\"upload\",staticStyle:{\"display\":\"inline-block\",\"width\":\"58px\",\"margin-left\":\"60px\",\"margin-top\":\"20px\"},attrs:{\"before-upload\":_vm.beforeUpload,\"disabled\":_vm.disabled,\"show-upload-list\":false,\"on-success\":_vm.handleSuccess,\"format\":['jpg', 'jpeg', 'png'],\"max-size\":2048,\"on-format-error\":_vm.handleFormatError,\"on-exceeded-size\":_vm.handleMaxSize,\"action\":_vm.uploadAction}},[_c('Button',{attrs:{\"icon\":\"ios-share-outline\",\"disabled\":_vm.disabled}},[_vm._v(\"更换头像\")])],1)],1),_c('Col',{attrs:{\"span\":\"18\",\"offset\":\"1\"}},[_c('Form',{attrs:{\"model\":_vm.formItem}},[_c('h2',{staticStyle:{\"color\":\"#000\"}},[_vm._v(\"注册\")]),_c('FormItem',{staticStyle:{\"margin-top\":\"20px\"}},[_c('p',[_vm._v(\"姓名\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled},model:{value:(_vm.formItem.name),callback:function ($$v) {_vm.$set(_vm.formItem, \"name\", $$v)},expression:\"formItem.name\"}})],1),_c('FormItem',[_c('p',[_vm._v(\"性别\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('RadioGroup',{staticStyle:{\"width\":\"50%\"},on:{\"on-change\":_vm.gender},model:{value:(_vm.formItem.gender),callback:function ($$v) {_vm.$set(_vm.formItem, \"gender\", $$v)},expression:\"formItem.gender\"}},[_c('Radio',{attrs:{\"label\":\"male\",\"disabled\":_vm.disabled}},[_c('span',[_vm._v(\"男\")])]),_c('Radio',{staticStyle:{\"margin-left\":\"40px\"},attrs:{\"label\":\"female\",\"disabled\":_vm.disabled}},[_c('span',[_vm._v(\"女\")])])],1)],1),_c('FormItem',[_c('p',[_vm._v(\"职称\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('Select',{staticStyle:{\"width\":\"50%\",\"text-align\":\"left\"},attrs:{\"disabled\":_vm.disabled,\"placeholder\":\"请选择职称\"},model:{value:(_vm.formItem.position),callback:function ($$v) {_vm.$set(_vm.formItem, \"position\", $$v)},expression:\"formItem.position\"}},_vm._l((_vm.positionList),function(item){return _c('Option',{key:item.label,attrs:{\"value\":item.value}},[_vm._v(_vm._s(item.value))])}),1)],1),_c('FormItem',[_c('p',[_vm._v(\"所在省市\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('Select',{staticStyle:{\"width\":\"25%\"},attrs:{\"disabled\":_vm.disabled,\"filterable\":\"\",\"placeholder\":\"请选择\"},on:{\"on-change\":_vm.change},model:{value:(_vm.formItem.province),callback:function ($$v) {_vm.$set(_vm.formItem, \"province\", $$v)},expression:\"formItem.province\"}},_vm._l((_vm.provinceList),function(item){return _c('Option',{key:item.label,attrs:{\"value\":item.value}},[_vm._v(_vm._s(item.value))])}),1),_c('Select',{staticStyle:{\"width\":\"24%\",\"margin-left\":\"1%\"},attrs:{\"disabled\":_vm.disabled,\"filterable\":\"\",\"placeholder\":\"请选择\"},model:{value:(_vm.formItem.city),callback:function ($$v) {_vm.$set(_vm.formItem, \"city\", $$v)},expression:\"formItem.city\"}},_vm._l((_vm.cityList),function(item){return _c('Option',{key:item.label,attrs:{\"value\":item.value}},[_vm._v(_vm._s(item.value))])}),1)],1),_c('FormItem',[_c('p',[_vm._v(\"街道地区\")]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled},model:{value:(_vm.formItem.street),callback:function ($$v) {_vm.$set(_vm.formItem, \"street\", $$v)},expression:\"formItem.street\"}})],1),_c('FormItem',[_c('p',[_vm._v(\"医院\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('Select',{staticStyle:{\"width\":\"50%\",\"text-align\":\"left\"},attrs:{\"disabled\":_vm.disabled,\"filterable\":\"\",\"clearable\":\"\",\"remote-method\":_vm.searchHospital,\"placeholder\":\"请选择/输入医院\"},on:{\"on-change\":_vm.getDepartmentDatas},model:{value:(_vm.formItem.hospital),callback:function ($$v) {_vm.$set(_vm.formItem, \"hospital\", $$v)},expression:\"formItem.hospital\"}},_vm._l((_vm.hospitalList),function(item){return _c('Option',{key:item.ID,attrs:{\"value\":item.OrgName}},[_vm._v(_vm._s(item.OrgName))])}),1)],1),_c('FormItem',[_c('p',[_vm._v(\"科室\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('Select',{staticStyle:{\"width\":\"50%\",\"text-align\":\"left\"},attrs:{\"disabled\":_vm.disabled,\"filterable\":\"\",\"clearable\":\"\",\"placeholder\":\"请选择/输入科室\"},model:{value:(_vm.formItem.department),callback:function ($$v) {_vm.$set(_vm.formItem, \"department\", $$v)},expression:\"formItem.department\"}},_vm._l((_vm.departmentList),function(item){return _c('Option',{key:item.ID,attrs:{\"value\":item.DepartmentName}},[_vm._v(_vm._s(item.DepartmentName))])}),1)],1),_c('FormItem',[_c('p',[_vm._v(\"个人简介\")]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled,\"type\":\"textarea\",\"autosize\":{ minRows: 3, maxRows: 5 },\"placeholder\":\"这个人很懒,什么都没留下...\"},model:{value:(_vm.formItem.synopsis),callback:function ($$v) {_vm.$set(_vm.formItem, \"synopsis\", $$v)},expression:\"formItem.synopsis\"}})],1),_c('FormItem',[_c('p',[_vm._v(\"擅长\")]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled,\"type\":\"textarea\",\"autosize\":{ minRows: 3, maxRows: 5 },\"placeholder\":\"这个人很懒,什么都没留下...\"},model:{value:(_vm.formItem.adept),callback:function ($$v) {_vm.$set(_vm.formItem, \"adept\", $$v)},expression:\"formItem.adept\"}})],1),_c('FormItem',[_c('p',[_vm._v(\"手机号\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled},model:{value:(_vm.formItem.phone),callback:function ($$v) {_vm.$set(_vm.formItem, \"phone\", $$v)},expression:\"formItem.phone\"}})],1),_c('FormItem',[_c('p',[_vm._v(\"短信验证码\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('Input',{staticStyle:{\"width\":\"35%\"},attrs:{\"disabled\":_vm.disabled},model:{value:(_vm.formItem.code),callback:function ($$v) {_vm.$set(_vm.formItem, \"code\", $$v)},expression:\"formItem.code\"}}),_c('Button',{staticStyle:{\"width\":\"14%\",\"margin-left\":\"1%\"},attrs:{\"disabled\":_vm.disabled,\"type\":\"primary\",\"loading\":_vm.loading},on:{\"click\":_vm.sendCode}},[(_vm.ifsendcode)?_c('span',[_vm._v(\"发送验证码 \")]):_vm._e(),_vm._v(_vm._s(_vm.time))])],1)]),_c('FormItem',[_c('p',[_vm._v(\"密码\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled,\"type\":\"password\",\"password\":\"\"},model:{value:(_vm.formItem.password),callback:function ($$v) {_vm.$set(_vm.formItem, \"password\", $$v)},expression:\"formItem.password\"}})],1),_c('FormItem',[_c('p',[_vm._v(\"确认密码\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled,\"type\":\"password\",\"password\":\"\"},model:{value:(_vm.formItem.repassword),callback:function ($$v) {_vm.$set(_vm.formItem, \"repassword\", $$v)},expression:\"formItem.repassword\"}})],1),_c('FormItem',[_c('p',[_vm._v(\"医师资格证编码\")]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled},model:{value:(_vm.formItem.physicians),callback:function ($$v) {_vm.$set(_vm.formItem, \"physicians\", $$v)},expression:\"formItem.physicians\"}})],1),_c('FormItem',{attrs:{\"label\":\"上传证件:\"}},[_c('Row',[_c('Col',{attrs:{\"span\":\"12\"}},[_c('Row',[_c('Col',{attrs:{\"span\":\"2\"}},[_c('Upload',{ref:\"upload1\",staticStyle:{\"display\":\"inline-block\",\"width\":\"104px\"},attrs:{\"disabled\":_vm.disabled,\"show-upload-list\":false,\"default-file-list\":_vm.defaultList1,\"on-success\":_vm.handleSuccess1,\"format\":['jpg', 'jpeg', 'png'],\"max-size\":2048,\"on-format-error\":_vm.handleFormatError,\"on-exceeded-size\":_vm.handleMaxSize,\"before-upload\":_vm.handleBeforeUpload1,\"multiple\":\"\",\"type\":\"drag\",\"action\":_vm.uploadAction}},[_c('div',{staticStyle:{\"width\":\"104px\",\"height\":\"104px\",\"line-height\":\"104px\",\"text-align\":\"center\"}},[_c('Icon',{attrs:{\"type\":\"ios-add\",\"size\":\"100\"}})],1)])],1),_c('Col',{attrs:{\"span\":\"2\",\"offset\":\"3\"}},[_c('div',{staticClass:\"physiciansimg\",staticStyle:{\"position\":\"relative\"}},[_c('img',{attrs:{\"src\":_vm.physicianspicture}}),_c('div',{staticClass:\"imgbot\",on:{\"click\":_vm.showphysicianspicture}},[_vm._v(\" 示例图\"),_c('Icon',{staticStyle:{\"margin-top\":\"15px\",\"margin-left\":\"5px\"},attrs:{\"type\":\"ios-search-outline\",\"size\":\"20\"}})],1)])]),_vm._l((_vm.physiciansList),function(item){return _c('Col',{key:item.url,attrs:{\"span\":\"2\",\"offset\":\"3\"}},[_c('div',{staticClass:\"physiciansimg\",on:{\"mouseenter\":function($event){_vm.isRemove1 = true},\"mouseleave\":function($event){_vm.isRemove1 = false}}},[_c('Poptip',{attrs:{\"disabled\":_vm.disabled,\"confirm\":\"\",\"title\":\"确定要删除吗?\"},on:{\"on-ok\":function($event){return _vm.ok1(item)},\"on-cancel\":_vm.cancel1}},[_c('Icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isRemove1),expression:\"isRemove1\"}],staticStyle:{\"background\":\"#000\",\"border-radius\":\"50%\",\"position\":\"absolute\",\"top\":\"-55px\",\"right\":\"-100px\",\"cursor\":\"pointer\",\"opacity\":\"0.7\"},attrs:{\"type\":\"md-close\",\"size\":\"20\"}})],1),_c('img',{attrs:{\"src\":item.url}}),_c('div',{staticClass:\"imgbot\",on:{\"click\":function($event){return _vm.showphysicians(item)}}},[_vm._v(\" 看大图\"),_c('Icon',{staticStyle:{\"margin-top\":\"15px\",\"margin-left\":\"5px\"},attrs:{\"type\":\"ios-search-outline\",\"size\":\"20\"}})],1)],1)])})],2)],1)],1)],1),_c('FormItem',[_c('p',[_vm._v(\"职业资格证编码\")]),_c('Input',{staticStyle:{\"width\":\"50%\"},attrs:{\"disabled\":_vm.disabled},model:{value:(_vm.formItem.professional),callback:function ($$v) {_vm.$set(_vm.formItem, \"professional\", $$v)},expression:\"formItem.professional\"}})],1),_c('FormItem',{attrs:{\"label\":\"上传证件:\"}},[_c('Row',[_c('Col',{attrs:{\"span\":\"12\"}},[_c('Row',[_c('Col',{attrs:{\"span\":\"2\"}},[_c('Upload',{ref:\"upload2\",staticStyle:{\"display\":\"inline-block\",\"width\":\"104px\"},attrs:{\"disabled\":_vm.disabled,\"show-upload-list\":false,\"default-file-list\":_vm.defaultList2,\"on-success\":_vm.handleSuccess2,\"format\":['jpg', 'jpeg', 'png'],\"max-size\":2048,\"on-format-error\":_vm.handleFormatError,\"on-exceeded-size\":_vm.handleMaxSize,\"before-upload\":_vm.handleBeforeUpload2,\"multiple\":\"\",\"type\":\"drag\",\"action\":_vm.uploadAction}},[_c('div',{staticStyle:{\"width\":\"104px\",\"height\":\"104px\",\"line-height\":\"104px\",\"text-align\":\"center\"}},[_c('Icon',{attrs:{\"type\":\"ios-add\",\"size\":\"100\"}})],1)])],1),_c('Col',{attrs:{\"span\":\"2\",\"offset\":\"3\"}},[_c('div',{staticClass:\"professionalimg\",staticStyle:{\"position\":\"relative\"}},[_c('img',{attrs:{\"src\":_vm.professionalpicture}}),_c('div',{staticClass:\"imgbot1\",on:{\"click\":_vm.showprofessionalpicture}},[_vm._v(\" 示例图\"),_c('Icon',{staticStyle:{\"margin-top\":\"15px\",\"margin-left\":\"10px\"},attrs:{\"type\":\"ios-search-outline\",\"size\":\"20\"}})],1)])]),_vm._l((_vm.professionalList),function(item){return _c('Col',{key:item.url,attrs:{\"span\":\"2\",\"offset\":\"3\"}},[_c('div',{staticClass:\"professionalimg\",attrs:{\"span\":\"2\"},on:{\"mouseenter\":function($event){_vm.isRemove2 = true},\"mouseleave\":function($event){_vm.isRemove2 = false}}},[_c('Poptip',{attrs:{\"disabled\":_vm.disabled,\"confirm\":\"\",\"title\":\"确定要删除吗?\"},on:{\"on-ok\":function($event){return _vm.ok2(item)},\"on-cancel\":_vm.cancel2}},[_c('Icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isRemove2),expression:\"isRemove2\"}],staticStyle:{\"position\":\"absolute\",\"right\":\"-100px\",\"cursor\":\"pointer\",\"background\":\"#000\",\"border-radius\":\"50%\",\"top\":\"-55px\",\"opacity\":\"0.7\"},attrs:{\"type\":\"md-close\",\"size\":\"20\"}})],1),_c('img',{attrs:{\"src\":item.url}}),_c('div',{staticStyle:{\"top\":\"30px\",\"left\":\"15px\",\"width\":\"80px\",\"height\":\"60px\",\"position\":\"absolute\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.showprofessional(item)}}},[_vm._v(\" 看大图\"),_c('Icon',{attrs:{\"type\":\"ios-search-outline\",\"size\":\"20\"}})],1)],1)])})],2)],1)],1)],1),_c('FormItem',{staticClass:\"disclaimer\",staticStyle:{\"margin-top\":\"10px\"}},[_c('Checkbox',{model:{value:(_vm.isagreen),callback:function ($$v) {_vm.isagreen=$$v},expression:\"isagreen\"}},[_vm._v(\"阅读并同意\"),_c('a',{on:{\"click\":function($event){_vm.fullmodal = true}}},[_vm._v(\"平台知情同意书\")])]),_c('br'),(!_vm.disabled)?_c('Button',{staticClass:\"submit\",attrs:{\"type\":\"primary\",\"disabled\":!_vm.isagreen},on:{\"click\":_vm.submit}},[_vm._v(\"提交\")]):_vm._e(),(!_vm.disabled)?_c('Button',{staticStyle:{\"width\":\"69px\",\"height\":\"40px\",\"margin-left\":\"10px\",\"margin-top\":\"20px\"},on:{\"click\":_vm.cancle}},[_vm._v(\"取消\")]):_vm._e()],1)],1)],1)],1),_c('Modal',{attrs:{\"title\":\"查看图片\"},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:\"visible\"}},[(_vm.visible)?_c('img',{staticStyle:{\"width\":\"100%\"},attrs:{\"src\":_vm.imgName}}):_vm._e()]),_c('Modal',{attrs:{\"title\":\"选择团队\"},on:{\"on-ok\":_vm.okTeam,\"on-cancel\":_vm.cancleTeam},model:{value:(_vm.modal1),callback:function ($$v) {_vm.modal1=$$v},expression:\"modal1\"}},[_c('Select',{attrs:{\"clearable\":\"\",\"placeholder\":\"请选择团队\"},on:{\"on-change\":_vm.teamChange},model:{value:(_vm.centerTeam),callback:function ($$v) {_vm.centerTeam=$$v},expression:\"centerTeam\"}},_vm._l((_vm.centerTeamList),function(item){return _c('Option',{key:item.ID,attrs:{\"value\":item.Team}},[_vm._v(\" \"+_vm._s(item.Team)+\" \")])}),1)],1),_c('Modal',{attrs:{\"fullscreen\":\"\",\"title\":\"平台知情同意书\"},model:{value:(_vm.fullmodal),callback:function ($$v) {_vm.fullmodal=$$v},expression:\"fullmodal\"}},[_c('Pdf'),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('Button',{on:{\"click\":function($event){return _vm.okbook('n')}}},[_vm._v(\"取消\")]),_c('Button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.okbook('y')}}},[_vm._v(\"同意\")])],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.isshow),expression:\"this.isshow\"}],staticStyle:{\"width\":\"300px\",\"height\":\"300px\",\"text-align\":\"center\",\"line-height\":\"300px\",\"position\":\"absolute\",\"top\":\"100px\",\"right\":\"150px\",\"color\":\"RGB(64,163,255)\"}},[_c('img',{staticStyle:{\"width\":\"100%\"},attrs:{\"src\":require(\"../assets/u439.png\"),\"alt\":\"0.0\"}}),_c('p',{staticStyle:{\"color\":\"RGB:(64,163,255)\",\"margin-top\":\"-280px\"}},[_vm._v(_vm._s(this.status))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"disclaimer\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.2.2@babel-loader/lib/index.js!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./disclaimer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.2.2@babel-loader/lib/index.js!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./disclaimer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./disclaimer.vue?vue&type=template&id=791113f4&\"\nimport script from \"./disclaimer.vue?vue&type=script&lang=js&\"\nexport * from \"./disclaimer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./disclaimer.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.2.2@babel-loader/lib/index.js!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.2.2@babel-loader/lib/index.js!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=ec88de50&\"\nimport script from \"./Register.vue?vue&type=script&lang=js&\"\nexport * from \"./Register.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Register.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","export * from \"-!../../node_modules/_mini-css-extract-plugin@0.9.0@mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/_less-loader@5.0.0@less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./disclaimer.vue?vue&type=style&index=0&lang=less&\"","export * from \"-!../../_mini-css-extract-plugin@0.9.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../_css-loader@3.6.0@css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!./annotationLayer.css?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classes,style:(_vm.styles)},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./col.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./col.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./col.vue?vue&type=template&id=84c4e392&\"\nimport script from \"./col.vue?vue&type=script&lang=js&\"\nexport * from \"./col.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Col from '../grid/col.vue';\n\nexport default Col;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[_vm.prefixCls]},[_c('div',{class:_vm.classes,on:{\"click\":_vm.handleClick,\"drop\":function($event){$event.preventDefault();return _vm.onDrop($event)},\"paste\":_vm.handlePaste,\"dragover\":function($event){$event.preventDefault();_vm.dragOver = true},\"dragleave\":function($event){$event.preventDefault();_vm.dragOver = false}}},[_c('input',{ref:\"input\",class:[_vm.prefixCls + '-input'],attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"webkitdirectory\":_vm.webkitdirectory,\"accept\":_vm.accept},on:{\"change\":_vm.handleChange}}),_vm._t(\"default\")],2),_vm._t(\"tip\"),(_vm.showUploadList)?_c('upload-list',{attrs:{\"files\":_vm.fileList},on:{\"on-file-remove\":_vm.handleRemove,\"on-file-preview\":_vm.handlePreview}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{class:[_vm.prefixCls + '-list']},_vm._l((_vm.files),function(file){return _c('li',{class:_vm.fileCls(file),on:{\"click\":function($event){return _vm.handleClick(file)}}},[_c('span',{on:{\"click\":function($event){return _vm.handlePreview(file)}}},[_c('Icon',{attrs:{\"type\":_vm.format(file)}}),_vm._v(\" \"+_vm._s(file.name)+\" \")],1),_c('Icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(file.status === 'finished'),expression:\"file.status === 'finished'\"}],class:[_vm.prefixCls + '-list-remove'],attrs:{\"type\":\"ios-close\"},nativeOn:{\"click\":function($event){return _vm.handleRemove(file)}}}),_c('transition',{attrs:{\"name\":\"fade\"}},[(file.showProgress)?_c('i-progress',{attrs:{\"stroke-width\":2,\"percent\":_vm.parsePercentage(file.percentage),\"status\":file.status === 'finished' && file.showProgress ? 'success' : 'normal'}}):_vm._e()],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./upload-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./upload-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./upload-list.vue?vue&type=template&id=d8743058&\"\nimport script from \"./upload-list.vue?vue&type=script&lang=js&\"\nexport * from \"./upload-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// https://github.com/ElemeFE/element/blob/dev/packages/upload/src/ajax.js\n\nfunction getError(action, option, xhr) {\n const msg = `fail to post ${action} ${xhr.status}'`;\n const err = new Error(msg);\n err.status = xhr.status;\n err.method = 'post';\n err.url = action;\n return err;\n}\n\nfunction getBody(xhr) {\n const text = xhr.responseText || xhr.response;\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\nexport default function upload(option) {\n if (typeof XMLHttpRequest === 'undefined') {\n return;\n }\n\n const xhr = new XMLHttpRequest();\n const action = option.action;\n\n if (xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n option.onProgress(e);\n };\n }\n\n const formData = new FormData();\n\n if (option.data) {\n Object.keys(option.data).map(key => {\n formData.append(key, option.data[key]);\n });\n }\n\n formData.append(option.filename, option.file);\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(action, option, xhr), getBody(xhr));\n }\n\n option.onSuccess(getBody(xhr));\n };\n\n xhr.open('post', action, true);\n\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n const headers = option.headers || {};\n\n // if (headers['X-Requested-With'] !== null) {\n // xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n // }\n\n for (let item in headers) {\n if (headers.hasOwnProperty(item) && headers[item] !== null) {\n xhr.setRequestHeader(item, headers[item]);\n }\n }\n xhr.send(formData);\n}\n","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./upload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./upload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./upload.vue?vue&type=template&id=36da8ba3&\"\nimport script from \"./upload.vue?vue&type=script&lang=js&\"\nexport * from \"./upload.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Upload from './upload.vue';\n\nexport default Upload;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classes},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./checkbox-group.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./checkbox-group.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./checkbox-group.vue?vue&type=template&id=1f38e0bc&\"\nimport script from \"./checkbox-group.vue?vue&type=script&lang=js&\"\nexport * from \"./checkbox-group.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{class:_vm.wrapClasses},[_c('span',{class:_vm.checkboxClasses},[_c('span',{class:_vm.innerClasses}),(_vm.group)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model),expression:\"model\"}],class:_vm.inputClasses,attrs:{\"type\":\"checkbox\",\"disabled\":_vm.itemDisabled,\"name\":_vm.name},domProps:{\"value\":_vm.label,\"checked\":Array.isArray(_vm.model)?_vm._i(_vm.model,_vm.label)>-1:(_vm.model)},on:{\"change\":[function($event){var $$a=_vm.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.label,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.model=$$a.concat([$$v]))}else{$$i>-1&&(_vm.model=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.model=$$c}},_vm.change],\"focus\":_vm.onFocus,\"blur\":_vm.onBlur}}):_c('input',{class:_vm.inputClasses,attrs:{\"type\":\"checkbox\",\"disabled\":_vm.itemDisabled,\"name\":_vm.name},domProps:{\"checked\":_vm.currentValue},on:{\"change\":_vm.change,\"focus\":_vm.onFocus,\"blur\":_vm.onBlur}})]),_vm._t(\"default\",[(_vm.showSlot)?_c('span',[_vm._v(_vm._s(_vm.label))]):_vm._e()])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./checkbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./checkbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./checkbox.vue?vue&type=template&id=4b121d70&\"\nimport script from \"./checkbox.vue?vue&type=script&lang=js&\"\nexport * from \"./checkbox.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{class:_vm.classes,attrs:{\"autocomplete\":_vm.autocomplete}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./form.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./form.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./form.vue?vue&type=template&id=79854050&\"\nimport script from \"./form.vue?vue&type=script&lang=js&\"\nexport * from \"./form.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Form from './form.vue';\nimport FormItem from './form-item.vue';\n\nForm.Item = FormItem;\nexport default Form;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.wrapClasses},[_c('div',{class:_vm.outerClasses},[_c('div',{class:_vm.innerClasses},[_c('div',{class:_vm.bgClasses,style:(_vm.bgStyle)},[(_vm.textInside)?_c('div',{staticClass:\"ivu-progress-inner-text\"},[_vm._v(_vm._s(_vm.percent)+\"%\")]):_vm._e()]),_c('div',{class:_vm.successBgClasses,style:(_vm.successBgStyle)})])]),(!_vm.hideInfo && !_vm.textInside)?_c('span',{class:_vm.textClasses},[_vm._t(\"default\",[(_vm.isStatus)?_c('span',{class:_vm.textInnerClasses},[_c('Icon',{attrs:{\"type\":_vm.statusIcon}})],1):_c('span',{class:_vm.textInnerClasses},[_vm._v(\" \"+_vm._s(_vm.percent)+\"% \")])])],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./progress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./progress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./progress.vue?vue&type=template&id=8e904d16&\"\nimport script from \"./progress.vue?vue&type=script&lang=js&\"\nexport * from \"./progress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classes},[(_vm.label || _vm.$slots.label)?_c('label',{class:[_vm.prefixCls + '-label'],style:(_vm.labelStyles),attrs:{\"for\":_vm.labelFor}},[_vm._t(\"label\",[_vm._v(_vm._s(_vm.label)+_vm._s(_vm.FormInstance.colon))])],2):_vm._e(),_c('div',{class:[_vm.prefixCls + '-content'],style:(_vm.contentStyles)},[_vm._t(\"default\"),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.validateState === 'error' && _vm.showMessage && _vm.FormInstance.showMessage)?_c('div',{class:[_vm.prefixCls + '-error-tip']},[_vm._v(_vm._s(_vm.validateMessage))]):_vm._e()])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./form-item.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./form-item.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./form-item.vue?vue&type=template&id=19f6d200&\"\nimport script from \"./form-item.vue?vue&type=script&lang=js&\"\nexport * from \"./form-item.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"513aea5b15ca4898e173.worker.js\");\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{class:_vm.wrapClasses},[_c('span',{class:_vm.radioClasses},[_c('span',{class:_vm.innerClasses}),_c('input',{class:_vm.inputClasses,attrs:{\"type\":\"radio\",\"disabled\":_vm.itemDisabled,\"name\":_vm.groupName},domProps:{\"checked\":_vm.currentValue},on:{\"change\":_vm.change,\"focus\":_vm.onFocus,\"blur\":_vm.onBlur}})]),_vm._t(\"default\",[_vm._v(_vm._s(_vm.label))])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./radio.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./radio.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./radio.vue?vue&type=template&id=5bb4f7f1&\"\nimport script from \"./radio.vue?vue&type=script&lang=js&\"\nexport * from \"./radio.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Radio from './radio.vue';\nimport RadioGroup from './radio-group.vue';\n\nRadio.Group = RadioGroup;\nexport default Radio;","\r\n\r\n\r\n","var render, staticRenderFns\nimport script from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nexport * from \"./resize-sensor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./resize-sensor.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=script&lang=js&\"","import resizeSensor from 'vue-resize-sensor'\r\n\r\nexport default function(pdfjsWrapper) {\r\n\r\n\tvar createLoadingTask = pdfjsWrapper.createLoadingTask;\r\n\tvar PDFJSWrapper = pdfjsWrapper.PDFJSWrapper;\r\n\r\n\treturn {\r\n\t\tcreateLoadingTask: createLoadingTask,\r\n\t\trender: function(h) {\r\n\t\t\treturn h('span', {\r\n\t\t\t\tattrs: {\r\n\t\t\t\t\tstyle: 'position: relative; display: block'\r\n\t\t\t\t}\r\n\t\t\t}, [\r\n\t\t\t\th('canvas', {\r\n\t\t\t\t\tattrs: {\r\n\t\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%; vertical-align: top',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tref:'canvas'\r\n\t\t\t\t}),\r\n\t\t\t\th('span', {\r\n\t\t\t\t\tstyle: 'display: inline-block; width: 100%; height: 100%',\r\n\t\t\t\t\tclass: 'annotationLayer',\r\n\t\t\t\t\tref:'annotationLayer'\r\n\t\t\t\t}),\r\n\t\t\t\th(resizeSensor, {\r\n\t\t\t\t\tprops: {\r\n\t\t\t\t\t\tinitial: true\r\n\t\t\t\t\t},\r\n\t\t\t\t\ton: {\r\n\t\t\t\t\t\tresize: this.resize\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t])\r\n\t\t},\r\n\t\tprops: {\r\n\t\t\tsrc: {\r\n\t\t\t\ttype: [String, Object, Uint8Array],\r\n\t\t\t\tdefault: '',\r\n\t\t\t},\r\n\t\t\tpage: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 1,\r\n\t\t\t},\r\n\t\t\trotate: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t},\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\tsrc: function() {\r\n\r\n\t\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t\t},\r\n\t\t\tpage: function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t},\r\n\t\t\trotate: function() {\r\n\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\t\t\t},\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tresize: function(size) {\r\n\r\n\t\t\t\t// check if the element is attached to the dom tree || resizeSensor being destroyed\r\n\t\t\t\tif ( this.$el.parentNode === null || (size.width === 0 && size.height === 0) )\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\t// on IE10- canvas height must be set\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (this.$refs.canvas.height / this.$refs.canvas.width) + 'px';\r\n\t\t\t\t// update the page when the resolution is too poor\r\n\t\t\t\tvar resolutionScale = this.pdf.getResolutionScale();\r\n\r\n\t\t\t\tif ( resolutionScale < 0.85 || resolutionScale > 1.15 )\r\n\t\t\t\t\tthis.pdf.renderPage(this.rotate);\r\n\r\n\t\t\t\t// this.$refs.annotationLayer.style.transform = 'scale('+resolutionScale+')';\r\n\t\t\t},\r\n\t\t\tprint: function(dpi, pageList) {\r\n\r\n\t\t\t\tthis.pdf.printPage(dpi, pageList);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// doc: mounted hook is not called during server-side rendering.\r\n\t\tmounted: function() {\r\n\r\n\t\t\tthis.pdf = new PDFJSWrapper(this.$refs.canvas, this.$refs.annotationLayer, this.$emit.bind(this));\r\n\r\n\t\t\tthis.$on('loaded', function() {\r\n\r\n\t\t\t\tthis.pdf.loadPage(this.page, this.rotate);\r\n\t\t\t});\r\n\r\n\t\t\tthis.$on('page-size', function(width, height) {\r\n\r\n\t\t\t\tthis.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (height / width) + 'px';\r\n\t\t\t});\r\n\r\n\t\t\tthis.pdf.loadDocument(this.src);\r\n\t\t},\r\n\r\n\t\t// doc: destroyed hook is not called during server-side rendering.\r\n\t\tdestroyed: function() {\r\n\r\n\t\t\tthis.pdf.destroy();\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","\r\n","var render, staticRenderFns\nimport script from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nexport * from \"./vuePdfNoSss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./annotationLayer.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./vuePdfNoSss.vue?vue&type=script&lang=js&\"","/* \r\n * @Author: 李祥雨\r\n * @Date: 2020-10-29 14:26:04\r\n * @Description: 在没有找到其他更好的第三方库的情况下,自己编写的处理数组,对象,正则,字符串等的函数\r\n */\r\n\r\n/**\r\n * 调换数组中两个元素的位置\r\n * @param arr 需要调换的数组\r\n * @param index1 元素索引1\r\n * @param index2 元素索引2\r\n * @returns {*} 调换后的数组\r\n */\r\nfunction swapArrItem(arr, index1, index2) {\r\n arr[index1] = arr.splice(index2, 1, arr[index1])[0];\r\n return arr;\r\n}\r\n\r\n/**\r\n * 将数组元素向前移一位\r\n * @param fieldData 数组\r\n * @param index 元素索引\r\n */\r\nfunction upGoArrItem(fieldData,index){\r\n if(index!=0){\r\n fieldData[index] = fieldData.splice(index-1, 1, fieldData[index])[0];\r\n }else{\r\n fieldData.push(fieldData.shift());\r\n }\r\n}\r\n\r\n/**\r\n * 将数组元素向后移一位\r\n * @param fieldData 数组\r\n * @param index 元素索引\r\n */\r\nfunction downGoArrItem(fieldData,index) {\r\n if (index != fieldData.length - 1) {\r\n fieldData[index] = fieldData.splice(index + 1, 1, fieldData[index])[0];\r\n } else {\r\n fieldData.unshift(fieldData.splice(index, 1)[0]);\r\n }\r\n}\r\n\r\n/**\r\n * 将某个数组元素置顶\r\n * @param fieldData 数组\r\n * @param index 元素索引\r\n */\r\nfunction setArrItemToFirst(fieldData,index) {\r\n if (index != 0) {\r\n fieldData.unshift(fieldData.splice(index, 1)[0]);\r\n }\r\n}\r\n\r\n/**\r\n * 无限级分类,一般用于关系型数据库返回的分类表的数据的嵌套格式的构建\r\n * @param arr 传出的数组,每个元素的格式必须为{id:,parent_id:,....},必须包含id:id,和父级id:parent_id,顶级分类的父级id为0\r\n * @returns {Array}\r\n */\r\nfunction generateInfiniteCategory(arr){\r\n// 查询一级分类\r\n function findChild(arr,id) {\r\n let childs = [];\r\n arr.forEach(v=>{\r\n if (v.parent_id == id){\r\n childs.push(v);\r\n }\r\n });\r\n return childs;\r\n }\r\n // 根据id构建子级\r\n function build_tree(id) {\r\n let childs= findChild(arr,id);\r\n if (childs.length==0){\r\n return null;\r\n }\r\n // 对于父节点为0的进行循环,然后查出父节点为上面结果id的节点内容\r\n childs.forEach((v,k)=>{\r\n let buildTree = build_tree(v.id);\r\n if (null != buildTree){\r\n v['children'] = buildTree;\r\n }\r\n });\r\n return childs;\r\n }\r\n return build_tree(0);\r\n}\r\n\r\n/**\r\n * 正则截取字符串指定开头和结尾之间的内容,但不包含开头和结尾\r\n * @param str 需要截取的字符串\r\n * @param start 指定的开头\r\n * @param end 指定的结尾\r\n * @returns 如果查询到结果返回匹配结果的数组,否则返回空数组\r\n */\r\nfunction regMatchCenterStr(str,start,end) {\r\n var matchReg = `/(?<=${start}).*?(?=${end})/g`\r\n var regstr = eval(matchReg);\r\n let ret = str.match(regstr);\r\n if(ret){\r\n return ret;\r\n }else{\r\n return [];\r\n }\r\n}\r\n\r\n/**\r\n * @description: 验证手机号的方法\r\n * @param {phone} 手机号\r\n * @return {boolean} true或者false\r\n */\r\nfunction checkPhone(phone) {\r\n if (!(/^1[34578]\\d{9}$/.test(phone))) {\r\n return false;\r\n } else {\r\n return true\r\n }\r\n}\r\n\r\nexport default{\r\n swapArrItem,\r\n upGoArrItem,\r\n downGoArrItem,\r\n setArrItemToFirst,\r\n generateInfiniteCategory,\r\n regMatchCenterStr,\r\n checkPhone\r\n}\r\n","export * from \"-!../../node_modules/_mini-css-extract-plugin@0.9.0@mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/_less-loader@5.0.0@less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=style&index=0&lang=less&\"","import RadioGroup from '../radio/radio-group.vue';\n\nexport default RadioGroup;","import Checkbox from './checkbox.vue';\nimport CheckboxGroup from './checkbox-group.vue';\n\nCheckbox.Group = CheckboxGroup;\nexport default Checkbox;","export * from \"-!../../_mini-css-extract-plugin@0.9.0@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../_css-loader@3.6.0@css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./resize-sensor.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hidden),expression:\"!hidden\"}],class:[_vm.prefixCls + '-wrap']},[_c('div',{class:[_vm.prefixCls + '-title']},[_vm._v(_vm._s(_vm.label))]),_c('ul',[_c('li',{ref:\"options\",class:[_vm.prefixCls]},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./option-group.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../../../_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../_babel-loader@8.2.2@babel-loader/lib/index.js!../../../../_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../../../_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./option-group.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./option-group.vue?vue&type=template&id=5209a6a1&\"\nimport script from \"./option-group.vue?vue&type=script&lang=js&\"\nexport * from \"./option-group.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Select from './select.vue';\nimport Option from './option.vue';\nimport OptionGroup from './option-group.vue';\n\nexport { Select, Option, OptionGroup };\n\nexport default Select;","export default {\n bind (el, binding, vnode) {\n function documentHandler (e) {\n if (el.contains(e.target)) {\n return false;\n }\n if (binding.expression) {\n binding.value(e);\n }\n }\n el.__vueClickOutside__ = documentHandler;\n document.addEventListener('click', documentHandler);\n },\n update () {\n\n },\n unbind (el, binding) {\n document.removeEventListener('click', el.__vueClickOutside__);\n delete el.__vueClickOutside__;\n }\n};","import Option from '../select/option.vue';\n\nexport default Option;","/**\n * https://github.com/freeze-component/vue-popper\n * */\nimport Vue from 'vue';\nconst isServer = Vue.prototype.$isServer;\nconst Popper = isServer ? function() {} : require('popper.js/dist/umd/popper.js'); // eslint-disable-line\n\nexport default {\n props: {\n eventsEnabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: 'bottom'\n },\n boundariesPadding: {\n type: Number,\n default: 5\n },\n reference: Object,\n popper: Object,\n offset: {\n default: 0\n },\n value: {\n type: Boolean,\n default: false\n },\n transition: String,\n options: {\n type: Object,\n default () {\n return {\n modifiers: {\n computeStyle:{\n gpuAcceleration: false,\n },\n preventOverflow :{\n boundariesElement: 'window'\n }\n }\n };\n }\n },\n // visible: {\n // type: Boolean,\n // default: false\n // }\n },\n data () {\n return {\n visible: this.value\n };\n },\n watch: {\n value: {\n immediate: true,\n handler(val) {\n this.visible = val;\n this.$emit('input', val);\n }\n },\n visible(val) {\n if (val) {\n if (this.handleIndexIncrease) this.handleIndexIncrease(); // just use for Poptip\n this.updatePopper();\n this.$emit('on-popper-show');\n } else {\n this.$emit('on-popper-hide');\n }\n this.$emit('input', val);\n }\n },\n methods: {\n createPopper() {\n if (isServer) return;\n if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.placement)) {\n return;\n }\n\n const options = this.options;\n const popper = this.popper || this.$refs.popper;\n const reference = this.reference || this.$refs.reference;\n\n if (!popper || !reference) return;\n\n if (this.popperJS && this.popperJS.hasOwnProperty('destroy')) {\n this.popperJS.destroy();\n }\n \n options.eventsEnabled = this.eventsEnabled;\n\n options.placement = this.placement;\n\n if (!options.modifiers.offset) {\n options.modifiers.offset = {};\n }\n options.modifiers.offset.offset = this.offset;\n options.onCreate =()=>{\n this.$nextTick(this.updatePopper);\n this.$emit('created', this);\n };\n\n this.popperJS = new Popper(reference, popper, options);\n\n },\n updatePopper() {\n if (isServer) return;\n this.popperJS ? this.popperJS.update() : this.createPopper();\n },\n doDestroy() {\n if (isServer) return;\n if (this.visible) return;\n this.popperJS.destroy();\n this.popperJS = null;\n }\n },\n updated (){\n this.$nextTick(()=>this.updatePopper());\n\n },\n beforeDestroy() {\n if (isServer) return;\n if (this.popperJS) {\n this.popperJS.destroy();\n }\n }\n};\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var i = 1;\n var f = args[0];\n var len = args.length;\n\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve();\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields || [];\n\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve();\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve();\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\nfunction complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends(_extends({}, target[s]), value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n}\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n}\n\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp(\"^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$\", 'i'),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n },\n url: function url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nvar ENUM = 'enum';\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$1(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nvar rules = {\n required: required,\n whitespace: whitespace,\n type: type,\n range: range,\n \"enum\": enumerable,\n pattern: pattern$1\n};\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nvar ENUM$1 = 'enum';\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM$1](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$2(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\nfunction required$1(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nfunction type$1(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n}\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable$1,\n pattern: pattern$2,\n date: date,\n url: type$1,\n hex: type$1,\n email: type$1,\n required: required$1,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n },\n define: function define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n var z;\n var item;\n\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate: function validate(source_, o, oc) {\n var _this = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n\n return Promise.resolve();\n }\n\n function complete(results) {\n var i;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var arr;\n var value;\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n arr = _this.rules[z];\n value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n\n if (!rule.validator) {\n return;\n }\n\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return _extends(_extends({}, schema), {}, {\n fullField: rule.fullField + \".\" + key\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errors = e;\n\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n\n if (errors.length && rule.message !== undefined) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n for (var k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n\n fieldsSchema = _extends(_extends({}, fieldsSchema), data.rule.fields);\n\n for (var f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (errors && errors.length) {\n finalErrors.push.apply(finalErrors, errors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || rule.field + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n });\n },\n getType: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || false;\n }\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport default Schema;\n//# sourceMappingURL=index.js.map\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pdfTest\"},_vm._l((_vm.numPages),function(i){return _c('pdf',{key:i,ref:\"pdf\",refInFor:true,attrs:{\"page\":i,\"src\":\"./agree.pdf\"}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.2.2@babel-loader/lib/index.js!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./pdf.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../node_modules/_babel-loader@8.2.2@babel-loader/lib/index.js!../../node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./pdf.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./pdf.vue?vue&type=template&id=1c62293e&\"\nimport script from \"./pdf.vue?vue&type=script&lang=js&\"\nexport * from \"./pdf.vue?vue&type=script&lang=js&\"\nimport style0 from \"./pdf.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \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 ''\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"],"sourceRoot":""}