{"version":3,"sources":["webpack://pdfjs-dist/image_decoders/pdf.image_decoders/webpack/universalModuleDefinition","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/webpack/bootstrap","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/pdf.image_decoders.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/shared/util.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/shared/compatibility.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/shared/is_node.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/global-this.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.global-this.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/has.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/redefine.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/native-weak-map.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-integer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/string/starts-with.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.string.starts-with.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/not-a-regexp.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-regexp.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/native-symbol.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/entry-unbind.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/a-function.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/string/ends-with.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.string.ends-with.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/string/includes.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.string.includes.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/array/includes.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.array.includes.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-method-uses-to-length.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/array/from.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.string.iterator.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/string-multibyte.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/define-iterator.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.array.from.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-from.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/object/assign.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.object.assign.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-assign.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/object/from-entries.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.object.from-entries.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/math/log2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.math.log2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/number/is-nan.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.number.is-nan.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/number/is-integer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.number.is-integer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-integer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/typed-array/slice.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.typed-array.slice.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-buffer-native.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/map/index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.map.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/collection.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/collection-strong.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/redefine-all.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/dom-iterables.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/set/index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.set.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/weak-map/index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.weak-map.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/collection-weak.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-iteration.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-species-create.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/weak-set/index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.weak-set.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/string/code-point-at.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.string.code-point-at.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/string/from-code-point.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.string.from-code-point.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/symbol/index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.array.concat.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-method-has-species-support.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/define-well-known-symbol.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.description.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.has-instance.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.iterator.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.match.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.match-all.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.replace.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.search.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.species.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.split.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.symbol.unscopables.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.math.to-string-tag.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.json.to-string-tag.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/string/pad-start.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.string.pad-start.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/string-pad.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/string-repeat.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/string/pad-end.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.string.pad-end.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/object/values.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.object.values.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-to-array.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/es/object/entries.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.object.entries.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/jbig2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/core_utils.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/arithmetic_decoder.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/ccitt.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/jpg.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/jpx.js"],"names":["pdfjsVersion","pdfjsBuild","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","PermissionFlag","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","TextRenderingMode","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","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","AnnotationType","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","AnnotationStateModelType","MARKED","REVIEW","AnnotationMarkedState","UNMARKED","AnnotationReviewState","ACCEPTED","REJECTED","CANCELLED","COMPLETED","NONE","AnnotationReplyType","GROUP","REPLY","AnnotationFlag","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","AnnotationFieldFlag","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","AnnotationBorderStyleType","SOLID","DASHED","BEVELED","INSET","StreamType","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","FontType","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","VerbosityLevel","ERRORS","WARNINGS","INFOS","CMapCompressionType","BINARY","STREAM","OPS","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","UNSUPPORTED_FEATURES","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","Number","console","unreachable","base","other","url","absoluteUrl","baseUrl","_isValidProtocol","Object","value","enumerable","configurable","writable","BaseException","constructor","NullCharactersRegExp","warn","str","assert","bytes","length","MAX_ARGUMENT_COUNT","String","strBuf","i","chunkEnd","Math","chunk","arr","resultLength","arrayByteLength","pos","data","item","stringToBytes","itemLength","buffer8","view32","IsLittleEndianCached","shadow","isLittleEndian","IsEvalSupportedCached","isEvalSupported","rgbBuf","m1","m2","xt","p","m","yt","d","p1","Util","p2","r","p3","p4","v","transpose","a","b","c","first","second","sx","sy","rect","orderedX","rect1","rect2","orderedY","result","PDFStringTranslateTable","code","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","element","date","Date","buffer","capability","isSettled","get","resolve","reject","createObjectURL","digits","forceDataSchema","URL","blob","type","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","require","hasDOM","userAgent","navigator","isIE","Buffer","Element","div","document","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","token","force","arguments","OriginalPushState","window","OriginalReplaceState","args","Array","Uint8Array","isNodeJS","process","module","exports","$","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","TARGET","target","GLOBAL","STATIC","stat","FORCED","key","targetProperty","sourceProperty","descriptor","prototype","noTargetGet","forced","undefined","sham","check","it","self","Function","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","error","call","fails","defineProperty","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","toString","slice","TypeError","isObject","input","PREFERRED_STRING","fn","val","valueOf","hasOwnProperty","createElement","EXISTS","definePropertyModule","object","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","join","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","set","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","STATE","test","shared","uid","keys","IS_PURE","push","version","mode","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","argument","ceil","floor","isNaN","max","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","name","iterator","METHOD_NAME","regexp","e","bind","CONSTRUCTOR","METHOD","apply","nativeEndsWith","endsWith","endPosition","len","end","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","create","UNSCOPABLES","ArrayPrototype","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","F","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","from","charAt","defineIterator","STRING_ITERATOR","setInternalState","iterated","next","point","done","CONVERT_TO_STRING","S","position","size","charCodeAt","codeAt","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","values","entries","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","KEY","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","CORRECT_SETTER","setter","__proto__","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","iteratorMethod","step","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","assign","nativeAssign","A","B","symbol","alphabet","forEach","chr","T","j","fromEntries","ARRAY_ITERATOR","kind","Arguments","iterate","obj","k","Result","stopped","AS_ENTRIES","IS_ITERATOR","boundFunction","iterFn","stop","log2","log","LN2","x","number","isInteger","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","start","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","Uint32Array","Float32Array","Float64Array","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","property","exportTypedArrayStaticMethod","ArrayBuffer","DataView","SPECIES","defaultConstructor","Map","collection","collectionStrong","init","InternalMetadataModule","anInstance","inheritIfRequired","CONSTRUCTOR_NAME","wrapper","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","Constructor","exported","fixMethod","nativeMethod","add","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","clear","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTarget","NewTargetPrototype","redefineAll","setSpecies","internalStateGetterFor","last","define","entry","getEntry","previous","removed","prev","callbackfn","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","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","Set","collectionWeak","enforceIternalState","IS_IE11","InternalWeakMap","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","find","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","splice","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","map","filter","some","every","isArray","originalArray","arg","WeakSet","codePointAt","fromCodePoint","fromCharCode","nativeFromCodePoint","INCORRECT_LENGTH","elements","RangeError","arrayMethodHasSpeciesSupport","V8_VERSION","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","n","E","foo","Boolean","versions","v8","match","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$Symbol","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","wrap","description","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","replacer","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","padStart","maxLength","repeat","IS_END","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","Infinity","$padEnd","padEnd","$values","TO_ENTRIES","$entries","Jbig2Image","ContextCache","getContexts","DecodingContext","decoder","contexts","contextCache","bit","sign","readBits","codeLength","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodingContext","OLD_PIXEL_MASK","row","row1","row2","contextLabel","pixel","decodeMMRBitmap","templateIndex","at","decodeBitmapTemplate0","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","sbb_left","sbb_top","sbb_right","width","pseudoPixelContext","ltp","sltp","skip","i0","j0","shift","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceBitmap","referenceHeight","huffman","newSymbols","currentHeight","symbolCodeLength","symbols","tableB1","getStandardTable","symbolWidths","deltaHeight","huffmanTables","decodeInteger","currentWidth","totalWidth","firstSymbol","deltaWidth","numberOfInstances","decodeTextRegion","symbolId","decodeIAID","rdx","rdy","decodeRefinement","decodeBitmap","bitmapSize","huffmanInput","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","flags","currentFlag","totalSymbolsLength","runLength","stripT","firstS","deltaT","deltaFirstS","currentS","currentT","stripSize","t","applyRefinement","refinement","inputSymbols","symbolWidth","symbolHeight","rdw","rdh","offsetT","offsetS","s2","symbolRow","maxWidth","t2","deltaS","collectiveWidth","patterns","patternBitmap","patternWidth","combinationOperator","regionBitmap","numberOfPatterns","pattern0","patternHeight","bitsPerValue","grayScaleBitPlanes","mmrInput","mg","ng","patternIndex","gridOffsetX","gridOffsetY","regionRow","patternRow","regionX","regionY","segmentHeader","readUint32","segmentType","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","readUint16","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","genericRegionMmr","searchPatternLength","searchPattern","segments","readSegmentHeader","segment","header","height","RegionSegmentInformationFieldLength","dictionary","dictionaryFlags","atLength","readInt8","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","callbackName","visitor","processSegment","chunks","readSegments","processSegments","bitPacked","imgData","q","mask","SimpleSegmentVisitor","onPageInformation","rowSize","info","drawBitmap","regionInfo","mask0","offset0","offset","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","getSymbolDictionaryHuffmanTables","referredSegments","referredSymbols","decodeSymbolDictionary","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","decodePatternDictionary","onImmediateHalftoneRegion","decodeHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","customTables","decodeTablesSegment","lineData","line","HuffmanTreeNode","buildTree","node","decodeNode","htOffset","reader","lines","HuffmanTable","decode","assignPrefixCodes","linesLength","prefixLengthMax","histogram","currentLength","firstCode","currentCode","currentTemp","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","prefixLength","rangeLength","standardTablesCache","table","Reader","readBit","numBits","byteAlign","currentIndex","codes","runCodesTable","repeatedLength","numberOfRepeats","symbolIDTable","customIndex","tableFirstS","getCustomHuffmanTable","tableDeltaS","tableDeltaT","tableDeltaHeight","tableDeltaWidth","tableBitmapSize","tableAggregateInstances","params","K","Columns","Rows","BlackIs1","EndOfBlock","eof","currentByte","endOfBlock","lookForEOFLimit","parseChunks","parseJbig2Chunks","parse","parseJbig2","lookup","initializer","getArray","stopWhenFound","LOOP_LIMIT","loopCount","dict","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","ch","QeTable","qe","nmps","nlps","switchFlag","bp","cx_index","cx_mps","qeTableIcx","qeIcx","CCITTFaxDecoder","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","eoblock","code1","readNextChar","refLine","codingLine","columns","refPos","blackPixels","code2","code3","gotEOL","bits","_addPixels","codingPos","a1","_addPixelsNeg","_findTableCode","limitValue","limit","_getTwoDimCode","_getWhiteCode","_getBlackCode","_lookBits","_eatBits","JpegImage","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","decodeTransform","colorTransform","codeLengths","children","parseDNLMarker","mcusPerLine","frame","progressive","startOffset","bitsData","bitsCount","nextByte","scanLines","maybeScanLines","blockRow","receive","decodeHuffman","component","diff","receiveAndExtend","rs","s","z","blockOffset","eobrun","successiveACState","offsetZ","successiveACNextValue","mcuRow","mcu","mcuCol","blockCol","getBlockBufferOffset","componentsLength","components","spectralStart","decodeFn","successivePrev","mcuExpected","mcuToRead","resetInterval","decodeBlock","h","decodeMcu","fileMarker","findNextFileMarker","partialMsg","qt","blockData","p0","blockBufferOffset","p5","p6","p7","v0","v1","v2","v3","v4","v7","v5","v6","col","blocksPerLine","blocksPerColumn","computationBuffer","quantizeAndInverse","startPos","maxPos","newPos","currentPos","currentMarker","invalid","marker","newMarker","dnlScanLines","endOffset","mcusPerColumn","blocksPerLineForMcu","blocksPerColumnForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","appData","readDataBlock","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","sofScanLines","componentsCount","maxH","maxV","componentId","qId","l","quantizationId","quantizationTable","prepareComponents","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","buildHuffmanTable","selectorsCount","componentIndex","tableSpec","spectralEnd","successiveApproximation","processed","decodeScan","ex","nextFileMarker","output","buildComponentData","scaleX","scaleY","_getLinearizedBlockData","isSourcePDF","numComponents","dataLength","xScaleBlockOffset","mask3LSB","componentScaleX","componentScaleY","blocksPerScanline","lastComponentScaleX","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","getData","forceRGB","rgbData","grayColor","JpxImage","SubbandsGainLog2","LL","LH","HL","HH","head","headerSize","lbox","tbox","jumpDataLength","colorspace","headerType","parseImageProperties","newByte","stream","oldByte","Xsiz","Ysiz","XOsiz","YOsiz","Csiz","parseCodestream","context","doNotRecover","siz","precision","isSigned","XRsiz","YRsiz","calculateComponentDimensions","calculateTileGrids","qcd","sqcd","spqcdSize","scalarExpounded","spqcds","spqcd","qcc","cqcc","cod","scod","blockStyle","precinctsSizes","precinctsSize","PPx","PPy","unsupported","tile","initializeTile","buildPackets","parseTilePackets","transformComponents","tiles","numXtiles","numYtiles","jj","tileComponent","codOrCoc","precinctWidth","dimensions","precinctHeight","isZeroRes","resolution","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","numprecinctshigh","numprecincts","xcb_","ycb_","codeblockWidth","codeblockHeight","cbx0","subband","cby0","cbx1","cby1","precinctParameters","codeblocks","precincts","codeblock","cbx","cby","tbx0","tby0","tbx1","tby1","pi","pj","precinctNumber","precinct","cbxMin","cbyMin","cbxMax","cbyMax","numcodeblockwide","numcodeblockhigh","precinctCodeblocks","subbands","layerNumber","tileIndex","layersCount","maxDecompositionLevelsCount","packet","createPacket","maxNumPrecinctsInLevel","maxNumPrecincts","resolutions","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","decompositionLevelsCount","sizeInImageScale","getPrecinctIndexIfExist","posX","pxIndex","precinctIterationSizes","posY","pyIndex","startPrecinctRowIndex","minWidth","minHeight","maxNumWide","maxNumHigh","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","blocksDimensions","getBlocksDimensions","buildPrecincts","buildCodeblocks","bscale","resolutionSubbands","progressionOrder","bufferSize","skipNextBit","skipBytes","sopMarkerUsed","ephMarkerUsed","packetsIterator","alignToByte","skipMarkerIfEqual","queue","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","inclusionTree","zeroBitPlanesTree","valueReady","codingpasses","readCodingpasses","codingpassesLog2","codedDataLength","packetItem","x0","y0","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","totalLength","dataItem","encodedData","magnitude","bitsDecoded","magnitudeCorrection","reversible","interleave","levelOffset","nb","coefficients","mb","codingStyleParameters","quantizationParameters","guardBits","segmentationSymbolUsed","subbandCoefficients","mu","epsilon","gainLog2","delta","copyCoefficients","items","left","top","resultImages","transformedTiles","transformTile","tile0","out","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","y1","y2","g","qcdOrQcc","TagTree","levelsLength","level","reset","currentLevel","incrementValue","nextLevel","InclusionTree","stopValue","propagateValues","levelIndex","currentValue","BitModel","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","coefficentsMagnitude","zeroBitPlanes","setDecoder","setNeighborsSignificance","neighborsSignificance","column","runSignificancePropagationPass","coefficentsSign","processingFlags","labels","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","significance1","sign1","sign0","contribution","horizontalContribution","decoded","runMagnitudeRefinementPass","width4","index0","indexNext","significance","runCleanupPass","oneRowDown","twoRowsDown","threeRowsDown","iNext","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","checkSegmentationSymbol","Transform","ll","j1","j2","llWidth","llHeight","llItems","hl_lh_hh","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","u","IrreversibleTransform","alpha","beta","gamma","K_","current","ReversibleTransform"],"mappings":"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","file":"pdf.image_decoders.js","sourcesContent":["(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/image_decoders/pdf.image_decoders\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/image_decoders/pdf.image_decoders\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/image_decoders/pdf.image_decoders\"] = factory();\n})(this, function() {\nreturn "," \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","/* Copyright 2018 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\nimport { getVerbosityLevel, setVerbosityLevel } from \"./shared/util.js\";\nimport { Jbig2mage } from \"./core/jbig2.js\";\nimport { JpegImage } from \"./core/jpg.js\";\nimport { JpxImage } from \"./core/jpx.js\";\n\n// To ensure that the standalone PDF.js image decoders have the same\n// browser/environment compatibility as the regular PDF.js library,\n// the standard set of polyfills are thus included in this build as well.\n//\n// Given that the (current) image decoders don't use all of the features\n// of the complete PDF.js library, e.g. they are completely synchronous,\n// some of the larger polyfills are thus unnecessary.\n//\n// In an attempt to reduce the size of the standalone PDF.js image decoders,\n// the following polyfills are currently being excluded:\n// - ReadableStream\n// - Promise\n// - URL\n\n// eslint-disable-next-line no-unused-vars\nconst pdfjsVersion = PDFJSDev.eval(\"BUNDLE_VERSION\");\n// eslint-disable-next-line no-unused-vars\nconst pdfjsBuild = PDFJSDev.eval(\"BUNDLE_BUILD\");\n\nexport { Jbig2mage, JpegImage, JpxImage, getVerbosityLevel, setVerbosityLevel };\n","/* Copyright 2012 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/* eslint no-var: error */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst 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};\n\nconst 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};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst 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};\n\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst 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};\n\nconst 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};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst 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\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst 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};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\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};\n\nconst UNSUPPORTED_FEATURES = {\n /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\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};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet 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\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} baseUrl - An absolute URL.\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = this.constructor.name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {}\n\nclass MissingPDFException extends BaseException {}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {}\n\nconst NullCharactersRegExp = /\\x00/g;\n\n/**\n * @param {string} str\n */\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(\n bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined,\n \"Invalid argument for bytesToString\"\n );\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array|Uint8Array|string>} arr - the array of the arrays\n * (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n },\n};\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n },\n};\n\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n // makeCssRgb() can be called thousands of times. Using ´rgbBuf` avoids\n // creating many intermediate strings.\n static makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const 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 // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if (\n (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n ) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n // Y: first and second points belong to different rectangles?\n if (\n (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n ) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n}\n\n// prettier-ignore\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,\n 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,\n 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,\n 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC\n];\n\nfunction stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n // UTF16BE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i) << 8) | str.charCodeAt(i + 1))\n );\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n // UTF16LE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i + 1) << 8) | str.charCodeAt(i))\n );\n }\n } else {\n for (let i = 0; i < length; ++i) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n // replace \"(\", \")\" and \"\\\" by \"\\(\", \"\\)\" and \"\\\\\"\n // in order to write it in a PDF file.\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 return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction getModificationDate(date = new Date(Date.now())) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n (date.getUTCDate() + 1).toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n 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 capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nconst createObjectURL = (function createObjectURLClosure() {\n // Blob/createObjectURL is not available, falling back to data schema.\n const digits =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\n // eslint-disable-next-line no-shadow\n return function createObjectURL(data, contentType, forceDataSchema = false) {\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], { type: contentType });\n return URL.createObjectURL(blob);\n }\n\n let buffer = `data:${contentType};base64,`;\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = ((b1 & 3) << 4) | (b2 >> 4);\n const d3 = i + 1 < ii ? ((b2 & 0xf) << 2) | (b3 >> 6) : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n})();\n\nexport {\n BaseException,\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n OPS,\n VerbosityLevel,\n UNSUPPORTED_FEATURES,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n FontType,\n ImageKind,\n CMapCompressionType,\n AbortException,\n InvalidPDFException,\n MissingPDFException,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n StreamType,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n Util,\n FormatError,\n arrayByteLength,\n arraysToBytes,\n assert,\n bytesToString,\n createPromiseCapability,\n createObjectURL,\n escapeString,\n getModificationDate,\n getVerbosityLevel,\n info,\n isArrayBuffer,\n isArrayEqual,\n isBool,\n isNum,\n isString,\n isSameOrigin,\n createValidAbsoluteUrl,\n IsLittleEndianCached,\n IsEvalSupportedCached,\n removeNullCharacters,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n utf8StringToString,\n warn,\n unreachable,\n};\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked)\n) {\n // Provides support for globalThis in legacy browsers.\n // Support: IE11/Edge, Opera\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n // eslint-disable-next-line no-global-assign\n globalThis = require(\"core-js/es/global-this\");\n }\n globalThis._pdfjsCompatibilityChecked = true;\n\n const hasDOM = typeof window === \"object\" && typeof document === \"object\";\n const userAgent =\n (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n const isIE = /Trident/.test(userAgent);\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function (chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function (input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Provides support for ChildNode.remove in legacy browsers.\n // Support: IE.\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n // eslint-disable-next-line mozilla/avoid-removeChild\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n // Provides support for DOMTokenList.prototype.{add, remove}, with more than\n // one parameter, in legacy browsers.\n // Support: IE\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS) {\n return;\n }\n const div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (\n div.classList.contains(\"testOne\") === true &&\n div.classList.contains(\"testTwo\") === true\n ) {\n return;\n }\n const OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n const OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function (...tokens) {\n for (const token of tokens) {\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n DOMTokenList.prototype.remove = function (...tokens) {\n for (const token of tokens) {\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n // Provides support for DOMTokenList.prototype.toggle, with the optional\n // \"force\" parameter, in legacy browsers.\n // Support: IE\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS) {\n return;\n }\n const div = document.createElement(\"div\");\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n const force =\n arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n // Provides support for window.history.{pushState, replaceState}, with the\n // `url` parameter set to `undefined`, without breaking the document URL.\n // Support: IE\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n const OriginalPushState = window.history.pushState;\n const OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n const args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n window.history.replaceState = function (state, title, url) {\n const args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n // Provides support for String.prototype.startsWith in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n require(\"core-js/es/string/starts-with.js\");\n })();\n\n // Provides support for String.prototype.endsWith in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n require(\"core-js/es/string/ends-with.js\");\n })();\n\n // Provides support for String.prototype.includes in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n require(\"core-js/es/string/includes.js\");\n })();\n\n // Provides support for Array.prototype.includes in legacy browsers.\n // Support: IE, Chrome<47\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n require(\"core-js/es/array/includes.js\");\n })();\n\n // Provides support for Array.from in legacy browsers.\n // Support: IE\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n require(\"core-js/es/array/from.js\");\n })();\n\n // Provides support for Object.assign in legacy browsers.\n // Support: IE\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n require(\"core-js/es/object/assign.js\");\n })();\n\n // Provides support for Object.fromEntries in legacy browsers.\n // Support: IE, Chrome<73\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n require(\"core-js/es/object/from-entries.js\");\n })();\n\n // Provides support for Math.log2 in legacy browsers.\n // Support: IE, Chrome<38\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n Math.log2 = require(\"core-js/es/math/log2.js\");\n })();\n\n // Provides support for Number.isNaN in legacy browsers.\n // Support: IE.\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = require(\"core-js/es/number/is-nan.js\");\n })();\n\n // Provides support for Number.isInteger in legacy browsers.\n // Support: IE, Chrome<34\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = require(\"core-js/es/number/is-integer.js\");\n })();\n\n // Provides support for TypedArray.prototype.slice in legacy browsers.\n // Support: IE\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n require(\"core-js/es/typed-array/slice\");\n })();\n\n // Support: IE, Safari<11, Chrome<63\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: IE\n (function checkURL() {\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n // Prevent \"require is not a function\" errors in development mode,\n // since the `URL` constructor should be available in modern browers.\n return;\n } else if (!PDFJSDev.test(\"GENERIC\")) {\n // The `URL` constructor is assumed to be available in the extension\n // builds.\n return;\n } else if (PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders don't use the `URL` constructor, so it\n // doesn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n globalThis.URL = require(\"core-js/web/url.js\");\n })();\n\n // Support: IE, Node.js\n (function checkReadableStream() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `ReadableStream`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n let isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n // MS Edge may say it has ReadableStream but they are not up to spec yet.\n try {\n // eslint-disable-next-line no-new\n new ReadableStream({\n start(controller) {\n controller.close();\n },\n });\n isReadableStreamSupported = true;\n } catch (e) {\n // The ReadableStream constructor cannot be used.\n }\n }\n if (isReadableStreamSupported) {\n return;\n }\n globalThis.ReadableStream = require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\n })();\n\n // We want to support Map iteration, but it doesn't seem possible to easily\n // test for that specifically; hence using a similarly unsupported property.\n // Support: IE11\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n globalThis.Map = require(\"core-js/es/map/index.js\");\n })();\n\n // We want to support Set iteration, but it doesn't seem possible to easily\n // test for that specifically; hence using a similarly unsupported property.\n // Support: IE11\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n globalThis.Set = require(\"core-js/es/set/index.js\");\n })();\n\n // Support: IE<11, Safari<8, Chrome<36\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n globalThis.WeakMap = require(\"core-js/es/weak-map/index.js\");\n })();\n\n // Support: IE11\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n globalThis.WeakSet = require(\"core-js/es/weak-set/index.js\");\n })();\n\n // Provides support for String.codePointAt in legacy browsers.\n // Support: IE11.\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n require(\"core-js/es/string/code-point-at.js\");\n })();\n\n // Provides support for String.fromCodePoint in legacy browsers.\n // Support: IE11.\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n String.fromCodePoint = require(\"core-js/es/string/from-code-point.js\");\n })();\n\n // Support: IE\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n require(\"core-js/es/symbol/index.js\");\n })();\n\n // Provides support for String.prototype.padStart in legacy browsers.\n // Support: IE, Chrome<57\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n require(\"core-js/es/string/pad-start.js\");\n })();\n\n // Provides support for String.prototype.padEnd in legacy browsers.\n // Support: IE, Chrome<57\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n require(\"core-js/es/string/pad-end.js\");\n })();\n\n // Provides support for Object.values in legacy browsers.\n // Support: IE, Chrome<54\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n Object.values = require(\"core-js/es/object/values.js\");\n })();\n\n // Provides support for Object.entries in legacy browsers.\n // Support: IE, Chrome<54\n (function checkObjectEntries() {\n if (Object.entries) {\n return;\n }\n Object.entries = require(\"core-js/es/object/entries.js\");\n })();\n}\n","/* Copyright 2018 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/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\n","require('../modules/es.global-this');\n\nmodule.exports = require('../internals/global');\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://github.com/tc39/proposal-global\n$({ global: true }, {\n globalThis: global\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\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) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\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","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-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) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else 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) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\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 } return state;\n };\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}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\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","module.exports = false;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","module.exports = {};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\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)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\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","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\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) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\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 // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\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// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\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\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\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) { /* empty */ }\n } return false;\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\n\nvar call = Function.call;\n\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","require('../../modules/es.string.ends-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'endsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\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// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\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\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\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};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\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 // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\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) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) 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\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\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) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\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) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\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';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { 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]\n || IterablePrototype['@@iterator']\n || 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\n // fix native\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 // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { 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","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","module.exports = {};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\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) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\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) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\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, [step.value, index], 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","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\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 // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) 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) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\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) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\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)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.from-entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.fromEntries;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\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 { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\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","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\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\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\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) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","require('../../modules/es.math.log2');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math.log2;\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.github.io/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n","require('../../modules/es.number.is-nan');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isNaN;\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","require('../../modules/es.number.is-integer');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isInteger;\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isInteger\n});\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","require('../../modules/es.typed-array.slice');\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\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) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\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;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\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};\n\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) 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\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) 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 // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else 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};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\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","module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\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","require('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\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\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n 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 };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\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 // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\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) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\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 index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\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) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\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) 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) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\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) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\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 // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) 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 // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\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 // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) 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]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\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","require('../../modules/es.set');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-map');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakMap;\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\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) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\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) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\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) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\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) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) 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) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\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) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\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++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-set');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakSet;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.github.io/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","require('../../modules/es.string.code-point-at');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'codePointAt');\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","require('../../modules/es.string.from-code-point');\nvar path = require('../../internals/path');\n\nmodule.exports = path.String.fromCodePoint;\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\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) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\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});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\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) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\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","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\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) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\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;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\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) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $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)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\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)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\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)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\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)) 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};\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)) result.push(key);\n });\n return result;\n};\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};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) 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) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\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, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\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)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","require('../../modules/es.string.pad-start');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padStart');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\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 == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\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) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","require('../../modules/es.string.pad-end');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padEnd');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padEnd = require('../internals/string-pad').end;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padEnd` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","require('../../modules/es.object.values');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.values;\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\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 ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","require('../../modules/es.object.entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.entries;\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.github.io/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","/* Copyright 2012 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\nimport { BaseException, shadow } from \"../shared/util.js\";\nimport { log2, readInt8, readUint16, readUint32 } from \"./core_utils.js\";\nimport { ArithmeticDecoder } from \"./arithmetic_decoder.js\";\nimport { CCITTFaxDecoder } from \"./ccitt.js\";\n\nclass Jbig2Error extends BaseException {\n constructor(msg) {\n super(`JBIG2 error: ${msg}`);\n }\n}\n\nvar Jbig2Image = (function Jbig2ImageClosure() {\n // Utility data structures\n function ContextCache() {}\n\n ContextCache.prototype = {\n getContexts(id) {\n if (id in this) {\n return this[id];\n }\n return (this[id] = new Int8Array(1 << 16));\n },\n };\n\n function DecodingContext(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n DecodingContext.prototype = {\n get decoder() {\n var decoder = new ArithmeticDecoder(this.data, this.start, this.end);\n return shadow(this, \"decoder\", decoder);\n },\n get contextCache() {\n var cache = new ContextCache();\n return shadow(this, \"contextCache\", cache);\n },\n };\n\n // Annex A. Arithmetic Integer Decoding Procedure\n // A.2 Procedure for decoding values\n function decodeInteger(contextCache, procedure, decoder) {\n var contexts = contextCache.getContexts(procedure);\n var prev = 1;\n\n function readBits(length) {\n var v = 0;\n for (var i = 0; i < length; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev =\n prev < 256 ? (prev << 1) | bit : (((prev << 1) | bit) & 511) | 256;\n v = (v << 1) | bit;\n }\n return v >>> 0;\n }\n\n var sign = readBits(1);\n // prettier-ignore\n /* eslint-disable no-nested-ternary */\n var value = readBits(1) ?\n (readBits(1) ?\n (readBits(1) ?\n (readBits(1) ?\n (readBits(1) ?\n (readBits(32) + 4436) :\n readBits(12) + 340) :\n readBits(8) + 84) :\n readBits(6) + 20) :\n readBits(4) + 4) :\n readBits(2);\n /* eslint-enable no-nested-ternary */\n if (sign === 0) {\n return value;\n } else if (value > 0) {\n return -value;\n }\n return null;\n }\n\n // A.3 The IAID decoding procedure\n function decodeIAID(contextCache, decoder, codeLength) {\n var contexts = contextCache.getContexts(\"IAID\");\n\n var prev = 1;\n for (var i = 0; i < codeLength; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = (prev << 1) | bit;\n }\n if (codeLength < 31) {\n return prev & ((1 << codeLength) - 1);\n }\n return prev & 0x7fffffff;\n }\n\n // 7.3 Segment types\n var SegmentTypes = [\n \"SymbolDictionary\",\n null,\n null,\n null,\n \"IntermediateTextRegion\",\n null,\n \"ImmediateTextRegion\",\n \"ImmediateLosslessTextRegion\",\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n \"PatternDictionary\",\n null,\n null,\n null,\n \"IntermediateHalftoneRegion\",\n null,\n \"ImmediateHalftoneRegion\",\n \"ImmediateLosslessHalftoneRegion\",\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n \"IntermediateGenericRegion\",\n null,\n \"ImmediateGenericRegion\",\n \"ImmediateLosslessGenericRegion\",\n \"IntermediateGenericRefinementRegion\",\n null,\n \"ImmediateGenericRefinementRegion\",\n \"ImmediateLosslessGenericRefinementRegion\",\n null,\n null,\n null,\n null,\n \"PageInformation\",\n \"EndOfPage\",\n \"EndOfStripe\",\n \"EndOfFile\",\n \"Profiles\",\n \"Tables\",\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n \"Extension\",\n ];\n\n var CodingTemplates = [\n [\n { x: -1, y: -2 },\n { x: 0, y: -2 },\n { x: 1, y: -2 },\n { x: -2, y: -1 },\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: 2, y: -1 },\n { x: -4, y: 0 },\n { x: -3, y: 0 },\n { x: -2, y: 0 },\n { x: -1, y: 0 },\n ],\n [\n { x: -1, y: -2 },\n { x: 0, y: -2 },\n { x: 1, y: -2 },\n { x: 2, y: -2 },\n { x: -2, y: -1 },\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: 2, y: -1 },\n { x: -3, y: 0 },\n { x: -2, y: 0 },\n { x: -1, y: 0 },\n ],\n [\n { x: -1, y: -2 },\n { x: 0, y: -2 },\n { x: 1, y: -2 },\n { x: -2, y: -1 },\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -2, y: 0 },\n { x: -1, y: 0 },\n ],\n [\n { x: -3, y: -1 },\n { x: -2, y: -1 },\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -4, y: 0 },\n { x: -3, y: 0 },\n { x: -2, y: 0 },\n { x: -1, y: 0 },\n ],\n ];\n\n var RefinementTemplates = [\n {\n coding: [\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -1, y: 0 },\n ],\n reference: [\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -1, y: 0 },\n { x: 0, y: 0 },\n { x: 1, y: 0 },\n { x: -1, y: 1 },\n { x: 0, y: 1 },\n { x: 1, y: 1 },\n ],\n },\n {\n coding: [\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -1, y: 0 },\n ],\n reference: [\n { x: 0, y: -1 },\n { x: -1, y: 0 },\n { x: 0, y: 0 },\n { x: 1, y: 0 },\n { x: 0, y: 1 },\n { x: 1, y: 1 },\n ],\n },\n ];\n\n // See 6.2.5.7 Decoding the bitmap.\n var ReusedContexts = [\n 0x9b25, // 10011 0110010 0101\n 0x0795, // 0011 110010 101\n 0x00e5, // 001 11001 01\n 0x0195, // 011001 0101\n ];\n\n var RefinementReusedContexts = [\n 0x0020, // '000' + '0' (coding) + '00010000' + '0' (reference)\n 0x0008, // '0000' + '001000'\n ];\n\n function decodeBitmapTemplate0(width, height, decodingContext) {\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GB\");\n var contextLabel,\n i,\n j,\n pixel,\n row,\n row1,\n row2,\n bitmap = [];\n\n // ...ooooo....\n // ..ooooooo... Context template for current pixel (X)\n // .ooooX...... (concatenate values of 'o'-pixels to get contextLabel)\n var OLD_PIXEL_MASK = 0x7bf7; // 01111 0111111 0111\n\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n\n // At the beginning of each row:\n // Fill contextLabel with pixels that are above/right of (X)\n contextLabel =\n (row2[0] << 13) |\n (row2[1] << 12) |\n (row2[2] << 11) |\n (row1[0] << 7) |\n (row1[1] << 6) |\n (row1[2] << 5) |\n (row1[3] << 4);\n\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n\n // At each pixel: Clear contextLabel pixels that are shifted\n // out of the context, then add new ones.\n contextLabel =\n ((contextLabel & OLD_PIXEL_MASK) << 1) |\n (j + 3 < width ? row2[j + 3] << 11 : 0) |\n (j + 4 < width ? row1[j + 4] << 4 : 0) |\n pixel;\n }\n }\n\n return bitmap;\n }\n\n // 6.2 Generic Region Decoding Procedure\n function decodeBitmap(\n mmr,\n width,\n height,\n templateIndex,\n prediction,\n skip,\n at,\n decodingContext\n ) {\n if (mmr) {\n const input = new Reader(\n decodingContext.data,\n decodingContext.start,\n decodingContext.end\n );\n return decodeMMRBitmap(input, width, height, false);\n }\n\n // Use optimized version for the most common case\n if (\n templateIndex === 0 &&\n !skip &&\n !prediction &&\n at.length === 4 &&\n at[0].x === 3 &&\n at[0].y === -1 &&\n at[1].x === -3 &&\n at[1].y === -1 &&\n at[2].x === 2 &&\n at[2].y === -2 &&\n at[3].x === -2 &&\n at[3].y === -2\n ) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n\n var useskip = !!skip;\n var template = CodingTemplates[templateIndex].concat(at);\n\n // Sorting is non-standard, and it is not required. But sorting increases\n // the number of template bits that can be reused from the previous\n // contextLabel in the main loop.\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n\n var templateLength = template.length;\n var templateX = new Int8Array(templateLength);\n var templateY = new Int8Array(templateLength);\n var changingTemplateEntries = [];\n var reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n var c, k;\n\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n // Check if the template pixel appears in two consecutive context labels,\n // so it can be reused. Otherwise, we add it to the list of changing\n // template entries.\n if (\n k < templateLength - 1 &&\n template[k].y === template[k + 1].y &&\n template[k].x === template[k + 1].x - 1\n ) {\n reuseMask |= 1 << (templateLength - 1 - k);\n } else {\n changingTemplateEntries.push(k);\n }\n }\n var changingEntriesLength = changingTemplateEntries.length;\n\n var changingTemplateX = new Int8Array(changingEntriesLength);\n var changingTemplateY = new Int8Array(changingEntriesLength);\n var changingTemplateBit = new Uint16Array(changingEntriesLength);\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << (templateLength - 1 - k);\n }\n\n // Get the safe bounding box edges from the width, height, minX, maxX, minY\n var sbb_left = -minX;\n var sbb_top = -minY;\n var sbb_right = width - maxX;\n\n var pseudoPixelContext = ReusedContexts[templateIndex];\n var row = new Uint8Array(width);\n var bitmap = [];\n\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GB\");\n\n var ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n if (ltp) {\n bitmap.push(row); // duplicate previous row\n continue;\n }\n }\n row = new Uint8Array(row);\n bitmap.push(row);\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n // Are we in the middle of a scanline, so we can reuse contextLabel\n // bits?\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n // If yes, we can just shift the bits that are reusable and only\n // fetch the remaining ones.\n contextLabel = (contextLabel << 1) & reuseMask;\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n // compute the contextLabel from scratch\n contextLabel = 0;\n shift = templateLength - 1;\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n return bitmap;\n }\n\n // 6.3.2 Generic Refinement Region Decoding Procedure\n function decodeRefinement(\n width,\n height,\n templateIndex,\n referenceBitmap,\n offsetX,\n offsetY,\n prediction,\n at,\n decodingContext\n ) {\n var codingTemplate = RefinementTemplates[templateIndex].coding;\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n var codingTemplateLength = codingTemplate.length;\n var codingTemplateX = new Int32Array(codingTemplateLength);\n var codingTemplateY = new Int32Array(codingTemplateLength);\n var k;\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n\n var referenceTemplate = RefinementTemplates[templateIndex].reference;\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n var referenceTemplateLength = referenceTemplate.length;\n var referenceTemplateX = new Int32Array(referenceTemplateLength);\n var referenceTemplateY = new Int32Array(referenceTemplateLength);\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n var referenceWidth = referenceBitmap[0].length;\n var referenceHeight = referenceBitmap.length;\n\n var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n var bitmap = [];\n\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GR\");\n\n var ltp = 0;\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n if (ltp) {\n throw new Jbig2Error(\"prediction is not supported\");\n }\n }\n var row = new Uint8Array(width);\n bitmap.push(row);\n for (var j = 0; j < width; j++) {\n var i0, j0;\n var contextLabel = 0;\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1; // out of bound pixel\n } else {\n contextLabel = (contextLabel << 1) | bitmap[i0][j0];\n }\n }\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n if (\n i0 < 0 ||\n i0 >= referenceHeight ||\n j0 < 0 ||\n j0 >= referenceWidth\n ) {\n contextLabel <<= 1; // out of bound pixel\n } else {\n contextLabel = (contextLabel << 1) | referenceBitmap[i0][j0];\n }\n }\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n // 6.5.5 Decoding the symbol dictionary\n function decodeSymbolDictionary(\n huffman,\n refinement,\n symbols,\n numberOfNewSymbols,\n numberOfExportedSymbols,\n huffmanTables,\n templateIndex,\n at,\n refinementTemplateIndex,\n refinementAt,\n decodingContext,\n huffmanInput\n ) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n }\n\n var newSymbols = [];\n var currentHeight = 0;\n var symbolCodeLength = log2(symbols.length + numberOfNewSymbols);\n\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n let tableB1, symbolWidths;\n if (huffman) {\n tableB1 = getStandardTable(1); // standard table B.1\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1); // 6.5.8.2.3\n }\n\n while (newSymbols.length < numberOfNewSymbols) {\n var deltaHeight = huffman\n ? huffmanTables.tableDeltaHeight.decode(huffmanInput)\n : decodeInteger(contextCache, \"IADH\", decoder); // 6.5.6\n currentHeight += deltaHeight;\n let currentWidth = 0,\n totalWidth = 0;\n const firstSymbol = huffman ? symbolWidths.length : 0;\n while (true) {\n var deltaWidth = huffman\n ? huffmanTables.tableDeltaWidth.decode(huffmanInput)\n : decodeInteger(contextCache, \"IADW\", decoder); // 6.5.7\n if (deltaWidth === null) {\n break; // OOB\n }\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n var bitmap;\n if (refinement) {\n // 6.5.8.2 Refinement/aggregate-coded symbol bitmap\n var numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(\n huffman,\n refinement,\n currentWidth,\n currentHeight,\n 0,\n numberOfInstances,\n 1, // strip size\n symbols.concat(newSymbols),\n symbolCodeLength,\n 0, // transposed\n 0, // ds offset\n 1, // top left 7.4.3.1.1\n 0, // OR operator\n huffmanTables,\n refinementTemplateIndex,\n refinementAt,\n decodingContext,\n 0,\n huffmanInput\n );\n } else {\n var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n var rdx = decodeInteger(contextCache, \"IARDX\", decoder); // 6.4.11.3\n var rdy = decodeInteger(contextCache, \"IARDY\", decoder); // 6.4.11.4\n var symbol =\n symbolId < symbols.length\n ? symbols[symbolId]\n : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(\n currentWidth,\n currentHeight,\n refinementTemplateIndex,\n symbol,\n rdx,\n rdy,\n false,\n refinementAt,\n decodingContext\n );\n }\n newSymbols.push(bitmap);\n } else if (huffman) {\n // Store only symbol width and decode a collective bitmap when the\n // height class is done.\n symbolWidths.push(currentWidth);\n } else {\n // 6.5.8.1 Direct-coded symbol bitmap\n bitmap = decodeBitmap(\n false,\n currentWidth,\n currentHeight,\n templateIndex,\n false,\n null,\n at,\n decodingContext\n );\n newSymbols.push(bitmap);\n }\n }\n if (huffman && !refinement) {\n // 6.5.9 Height class collective bitmap\n const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n let collectiveBitmap;\n if (bitmapSize === 0) {\n // Uncompressed collective bitmap\n collectiveBitmap = readUncompressedBitmap(\n huffmanInput,\n totalWidth,\n currentHeight\n );\n } else {\n // MMR collective bitmap\n const originalEnd = huffmanInput.end;\n const bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(\n huffmanInput,\n totalWidth,\n currentHeight,\n false\n );\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n const numberOfSymbolsDecoded = symbolWidths.length;\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n // collectiveBitmap is a single symbol.\n newSymbols.push(collectiveBitmap);\n } else {\n // Divide collectiveBitmap into symbols.\n let i,\n y,\n xMin = 0,\n xMax,\n bitmapWidth,\n symbolBitmap;\n for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {\n bitmapWidth = symbolWidths[i];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n\n // 6.5.10 Exported symbols\n var exportedSymbols = [];\n var flags = [],\n currentFlag = false;\n var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n while (flags.length < totalSymbolsLength) {\n var runLength = huffman\n ? tableB1.decode(huffmanInput)\n : decodeInteger(contextCache, \"IAEX\", decoder);\n while (runLength--) {\n flags.push(currentFlag);\n }\n currentFlag = !currentFlag;\n }\n for (var i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n return exportedSymbols;\n }\n\n function decodeTextRegion(\n huffman,\n refinement,\n width,\n height,\n defaultPixelValue,\n numberOfSymbolInstances,\n stripSize,\n inputSymbols,\n symbolCodeLength,\n transposed,\n dsOffset,\n referenceCorner,\n combinationOperator,\n huffmanTables,\n refinementTemplateIndex,\n refinementAt,\n decodingContext,\n logStripSize,\n huffmanInput\n ) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n // Prepare bitmap\n var bitmap = [];\n var i, row;\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n if (defaultPixelValue) {\n for (var j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n bitmap.push(row);\n }\n\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n\n var stripT = huffman\n ? -huffmanTables.tableDeltaT.decode(huffmanInput)\n : -decodeInteger(contextCache, \"IADT\", decoder); // 6.4.6\n var firstS = 0;\n i = 0;\n while (i < numberOfSymbolInstances) {\n var deltaT = huffman\n ? huffmanTables.tableDeltaT.decode(huffmanInput)\n : decodeInteger(contextCache, \"IADT\", decoder); // 6.4.6\n stripT += deltaT;\n\n var deltaFirstS = huffman\n ? huffmanTables.tableFirstS.decode(huffmanInput)\n : decodeInteger(contextCache, \"IAFS\", decoder); // 6.4.7\n firstS += deltaFirstS;\n var currentS = firstS;\n do {\n let currentT = 0; // 6.4.9\n if (stripSize > 1) {\n currentT = huffman\n ? huffmanInput.readBits(logStripSize)\n : decodeInteger(contextCache, \"IAIT\", decoder);\n }\n var t = stripSize * stripT + currentT;\n var symbolId = huffman\n ? huffmanTables.symbolIDTable.decode(huffmanInput)\n : decodeIAID(contextCache, decoder, symbolCodeLength);\n var applyRefinement =\n refinement &&\n (huffman\n ? huffmanInput.readBit()\n : decodeInteger(contextCache, \"IARI\", decoder));\n var symbolBitmap = inputSymbols[symbolId];\n var symbolWidth = symbolBitmap[0].length;\n var symbolHeight = symbolBitmap.length;\n if (applyRefinement) {\n var rdw = decodeInteger(contextCache, \"IARDW\", decoder); // 6.4.11.1\n var rdh = decodeInteger(contextCache, \"IARDH\", decoder); // 6.4.11.2\n var rdx = decodeInteger(contextCache, \"IARDX\", decoder); // 6.4.11.3\n var rdy = decodeInteger(contextCache, \"IARDY\", decoder); // 6.4.11.4\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(\n symbolWidth,\n symbolHeight,\n refinementTemplateIndex,\n symbolBitmap,\n (rdw >> 1) + rdx,\n (rdh >> 1) + rdy,\n false,\n refinementAt,\n decodingContext\n );\n }\n var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n var s2, t2, symbolRow;\n if (transposed) {\n // Place Symbol Bitmap from T1,S1\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n if (!row) {\n continue;\n }\n symbolRow = symbolBitmap[s2];\n // To ignore Parts of Symbol bitmap which goes\n // outside bitmap region\n var maxWidth = Math.min(width - offsetT, symbolWidth);\n switch (combinationOperator) {\n case 0: // OR\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n break;\n case 2: // XOR\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n break;\n default:\n throw new Jbig2Error(\n `operator ${combinationOperator} is not supported`\n );\n }\n }\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n if (!row) {\n continue;\n }\n symbolRow = symbolBitmap[t2];\n switch (combinationOperator) {\n case 0: // OR\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n break;\n case 2: // XOR\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n break;\n default:\n throw new Jbig2Error(\n `operator ${combinationOperator} is not supported`\n );\n }\n }\n currentS += symbolWidth - 1;\n }\n i++;\n var deltaS = huffman\n ? huffmanTables.tableDeltaS.decode(huffmanInput)\n : decodeInteger(contextCache, \"IADS\", decoder); // 6.4.8\n if (deltaS === null) {\n break; // OOB\n }\n currentS += deltaS + dsOffset;\n } while (true);\n }\n return bitmap;\n }\n\n function decodePatternDictionary(\n mmr,\n patternWidth,\n patternHeight,\n maxPatternIndex,\n template,\n decodingContext\n ) {\n const at = [];\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0,\n });\n if (template === 0) {\n at.push({\n x: -3,\n y: -1,\n });\n at.push({\n x: 2,\n y: -2,\n });\n at.push({\n x: -2,\n y: -2,\n });\n }\n }\n const collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n const collectiveBitmap = decodeBitmap(\n mmr,\n collectiveWidth,\n patternHeight,\n template,\n false,\n null,\n at,\n decodingContext\n );\n // Divide collective bitmap into patterns.\n const patterns = [];\n for (let i = 0; i <= maxPatternIndex; i++) {\n const patternBitmap = [];\n const xMin = patternWidth * i;\n const xMax = xMin + patternWidth;\n for (let y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n patterns.push(patternBitmap);\n }\n return patterns;\n }\n\n function decodeHalftoneRegion(\n mmr,\n patterns,\n template,\n regionWidth,\n regionHeight,\n defaultPixelValue,\n enableSkip,\n combinationOperator,\n gridWidth,\n gridHeight,\n gridOffsetX,\n gridOffsetY,\n gridVectorX,\n gridVectorY,\n decodingContext\n ) {\n const skip = null;\n if (enableSkip) {\n throw new Jbig2Error(\"skip is not supported\");\n }\n if (combinationOperator !== 0) {\n throw new Jbig2Error(\n \"operator \" +\n combinationOperator +\n \" is not supported in halftone region\"\n );\n }\n\n // Prepare bitmap.\n const regionBitmap = [];\n let i, j, row;\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n regionBitmap.push(row);\n }\n\n const numberOfPatterns = patterns.length;\n const pattern0 = patterns[0];\n const patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n const bitsPerValue = log2(numberOfPatterns);\n const at = [];\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1,\n });\n if (template === 0) {\n at.push({\n x: -3,\n y: -1,\n });\n at.push({\n x: 2,\n y: -2,\n });\n at.push({\n x: -2,\n y: -2,\n });\n }\n }\n // Annex C. Gray-scale Image Decoding Procedure.\n const grayScaleBitPlanes = [];\n let mmrInput, bitmap;\n if (mmr) {\n // MMR bit planes are in one continuous stream. Only EOFB codes indicate\n // the end of each bitmap, so EOFBs must be decoded.\n mmrInput = new Reader(\n decodingContext.data,\n decodingContext.start,\n decodingContext.end\n );\n }\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(\n false,\n gridWidth,\n gridHeight,\n template,\n false,\n skip,\n at,\n decodingContext\n );\n }\n grayScaleBitPlanes[i] = bitmap;\n }\n // 6.6.5.2 Rendering the patterns.\n let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit = grayScaleBitPlanes[j][mg][ng] ^ bit; // Gray decoding\n patternIndex |= bit << j;\n }\n patternBitmap = patterns[patternIndex];\n x = (gridOffsetX + mg * gridVectorY + ng * gridVectorX) >> 8;\n y = (gridOffsetY + mg * gridVectorX - ng * gridVectorY) >> 8;\n // Draw patternBitmap at (x, y).\n if (\n x >= 0 &&\n x + patternWidth <= regionWidth &&\n y >= 0 &&\n y + patternHeight <= regionHeight\n ) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n let regionX, regionY;\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n return regionBitmap;\n }\n\n function readSegmentHeader(data, start) {\n var segmentHeader = {};\n segmentHeader.number = readUint32(data, start);\n var flags = data[start + 4];\n var segmentType = flags & 0x3f;\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n }\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n\n var pageAssociationFieldSize = !!(flags & 0x40);\n var referredFlags = data[start + 5];\n var referredToCount = (referredFlags >> 5) & 7;\n var retainBits = [referredFlags & 31];\n var position = start + 6;\n if (referredFlags === 7) {\n referredToCount = readUint32(data, position - 1) & 0x1fffffff;\n position += 3;\n var bytes = (referredToCount + 7) >> 3;\n retainBits[0] = data[position++];\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error(\"invalid referred-to flags\");\n }\n\n segmentHeader.retainBits = retainBits;\n\n let referredToSegmentNumberSize = 4;\n if (segmentHeader.number <= 256) {\n referredToSegmentNumberSize = 1;\n } else if (segmentHeader.number <= 65536) {\n referredToSegmentNumberSize = 2;\n }\n var referredTo = [];\n var i, ii;\n for (i = 0; i < referredToCount; i++) {\n let number;\n if (referredToSegmentNumberSize === 1) {\n number = data[position];\n } else if (referredToSegmentNumberSize === 2) {\n number = readUint16(data, position);\n } else {\n number = readUint32(data, position);\n }\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n segmentHeader.referredTo = referredTo;\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = readUint32(data, position);\n position += 4;\n }\n segmentHeader.length = readUint32(data, position);\n position += 4;\n\n if (segmentHeader.length === 0xffffffff) {\n // 7.2.7 Segment data length, unknown segment length\n if (segmentType === 38) {\n // ImmediateGenericRegion\n var genericRegionInfo = readRegionSegmentInformation(data, position);\n var genericRegionSegmentFlags =\n data[position + RegionSegmentInformationFieldLength];\n var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n // searching for the segment end\n var searchPatternLength = 6;\n var searchPattern = new Uint8Array(searchPatternLength);\n if (!genericRegionMmr) {\n searchPattern[0] = 0xff;\n searchPattern[1] = 0xac;\n }\n searchPattern[2] = (genericRegionInfo.height >>> 24) & 0xff;\n searchPattern[3] = (genericRegionInfo.height >> 16) & 0xff;\n searchPattern[4] = (genericRegionInfo.height >> 8) & 0xff;\n searchPattern[5] = genericRegionInfo.height & 0xff;\n for (i = position, ii = data.length; i < ii; i++) {\n var j = 0;\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n if (segmentHeader.length === 0xffffffff) {\n throw new Jbig2Error(\"segment end was not found\");\n }\n } else {\n throw new Jbig2Error(\"invalid unknown segment length\");\n }\n }\n segmentHeader.headerEnd = position;\n return segmentHeader;\n }\n\n function readSegments(header, data, start, end) {\n var segments = [];\n var position = start;\n while (position < end) {\n var segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n var segment = {\n header: segmentHeader,\n data,\n };\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n segments.push(segment);\n if (segmentHeader.type === 51) {\n break; // end of file is found\n }\n }\n if (header.randomAccess) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n return segments;\n }\n\n // 7.4.1 Region segment information field\n function readRegionSegmentInformation(data, start) {\n return {\n width: readUint32(data, start),\n height: readUint32(data, start + 4),\n x: readUint32(data, start + 8),\n y: readUint32(data, start + 12),\n combinationOperator: data[start + 16] & 7,\n };\n }\n var RegionSegmentInformationFieldLength = 17;\n\n function processSegment(segment, visitor) {\n var header = segment.header;\n\n var data = segment.data,\n position = segment.start,\n end = segment.end;\n var args, at, i, atLength;\n switch (header.type) {\n case 0: // SymbolDictionary\n // 7.4.2 Symbol dictionary segment syntax\n var dictionary = {};\n var dictionaryFlags = readUint16(data, position); // 7.4.2.1.1\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = (dictionaryFlags >> 2) & 3;\n dictionary.huffmanDWSelector = (dictionaryFlags >> 4) & 3;\n dictionary.bitmapSizeSelector = (dictionaryFlags >> 6) & 1;\n dictionary.aggregationInstancesSelector = (dictionaryFlags >> 7) & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = (dictionaryFlags >> 10) & 3;\n dictionary.refinementTemplate = (dictionaryFlags >> 12) & 1;\n position += 2;\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n for (i = 0; i < atLength; i++) {\n at.push({\n x: readInt8(data, position),\n y: readInt8(data, position + 1),\n });\n position += 2;\n }\n dictionary.at = at;\n }\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n for (i = 0; i < 2; i++) {\n at.push({\n x: readInt8(data, position),\n y: readInt8(data, position + 1),\n });\n position += 2;\n }\n dictionary.refinementAt = at;\n }\n dictionary.numberOfExportedSymbols = readUint32(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = readUint32(data, position);\n position += 4;\n args = [\n dictionary,\n header.number,\n header.referredTo,\n data,\n position,\n end,\n ];\n break;\n case 6: // ImmediateTextRegion\n case 7: // ImmediateLosslessTextRegion\n var textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var textRegionSegmentFlags = readUint16(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = (textRegionSegmentFlags >> 2) & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = (textRegionSegmentFlags >> 4) & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = (textRegionSegmentFlags >> 7) & 3;\n textRegion.defaultPixelValue = (textRegionSegmentFlags >> 9) & 1;\n textRegion.dsOffset = (textRegionSegmentFlags << 17) >> 27;\n textRegion.refinementTemplate = (textRegionSegmentFlags >> 15) & 1;\n if (textRegion.huffman) {\n var textRegionHuffmanFlags = readUint16(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = (textRegionHuffmanFlags >> 2) & 3;\n textRegion.huffmanDT = (textRegionHuffmanFlags >> 4) & 3;\n textRegion.huffmanRefinementDW = (textRegionHuffmanFlags >> 6) & 3;\n textRegion.huffmanRefinementDH = (textRegionHuffmanFlags >> 8) & 3;\n textRegion.huffmanRefinementDX = (textRegionHuffmanFlags >> 10) & 3;\n textRegion.huffmanRefinementDY = (textRegionHuffmanFlags >> 12) & 3;\n textRegion.huffmanRefinementSizeSelector = !!(\n textRegionHuffmanFlags & 0x4000\n );\n }\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n for (i = 0; i < 2; i++) {\n at.push({\n x: readInt8(data, position),\n y: readInt8(data, position + 1),\n });\n position += 2;\n }\n textRegion.refinementAt = at;\n }\n textRegion.numberOfSymbolInstances = readUint32(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n case 16: // PatternDictionary\n // 7.4.4. Pattern dictionary segment syntax\n const patternDictionary = {};\n const patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = (patternDictionaryFlags >> 1) & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = readUint32(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n case 22: // ImmediateHalftoneRegion\n case 23: // ImmediateLosslessHalftoneRegion\n // 7.4.5 Halftone region segment syntax\n const halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n const halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = (halftoneRegionFlags >> 1) & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = (halftoneRegionFlags >> 4) & 7;\n halftoneRegion.defaultPixelValue = (halftoneRegionFlags >> 7) & 1;\n halftoneRegion.gridWidth = readUint32(data, position);\n position += 4;\n halftoneRegion.gridHeight = readUint32(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = readUint32(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridOffsetY = readUint32(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridVectorX = readUint16(data, position);\n position += 2;\n halftoneRegion.gridVectorY = readUint16(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n case 38: // ImmediateGenericRegion\n case 39: // ImmediateLosslessGenericRegion\n var genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = (genericRegionSegmentFlags >> 1) & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n for (i = 0; i < atLength; i++) {\n at.push({\n x: readInt8(data, position),\n y: readInt8(data, position + 1),\n });\n position += 2;\n }\n genericRegion.at = at;\n }\n args = [genericRegion, data, position, end];\n break;\n case 48: // PageInformation\n var pageInfo = {\n width: readUint32(data, position),\n height: readUint32(data, position + 4),\n resolutionX: readUint32(data, position + 8),\n resolutionY: readUint32(data, position + 12),\n };\n if (pageInfo.height === 0xffffffff) {\n delete pageInfo.height;\n }\n var pageSegmentFlags = data[position + 16];\n readUint16(data, position + 17); // pageStripingInformation\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = (pageSegmentFlags >> 2) & 1;\n pageInfo.combinationOperator = (pageSegmentFlags >> 3) & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n case 49: // EndOfPage\n break;\n case 50: // EndOfStripe\n break;\n case 51: // EndOfFile\n break;\n case 53: // Tables\n args = [header.number, data, position, end];\n break;\n case 62: // 7.4.15 defines 2 extension types which\n // are comments and can be ignored.\n break;\n default:\n throw new Jbig2Error(\n `segment type ${header.typeName}(${header.type})` +\n \" is not implemented\"\n );\n }\n var callbackName = \"on\" + header.typeName;\n if (callbackName in visitor) {\n visitor[callbackName].apply(visitor, args);\n }\n }\n\n function processSegments(segments, visitor) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n }\n\n function parseJbig2Chunks(chunks) {\n var visitor = new SimpleSegmentVisitor();\n for (var i = 0, ii = chunks.length; i < ii; i++) {\n var chunk = chunks[i];\n var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n return visitor.buffer;\n }\n\n function parseJbig2(data) {\n const end = data.length;\n let position = 0;\n\n if (\n data[position] !== 0x97 ||\n data[position + 1] !== 0x4a ||\n data[position + 2] !== 0x42 ||\n data[position + 3] !== 0x32 ||\n data[position + 4] !== 0x0d ||\n data[position + 5] !== 0x0a ||\n data[position + 6] !== 0x1a ||\n data[position + 7] !== 0x0a\n ) {\n throw new Jbig2Error(\"parseJbig2 - invalid header.\");\n }\n\n const header = Object.create(null);\n position += 8;\n const flags = data[position++];\n header.randomAccess = !(flags & 1);\n if (!(flags & 2)) {\n header.numberOfPages = readUint32(data, position);\n position += 4;\n }\n\n const segments = readSegments(header, data, position, end);\n const visitor = new SimpleSegmentVisitor();\n processSegments(segments, visitor);\n\n const { width, height } = visitor.currentPageInfo;\n const bitPacked = visitor.buffer;\n const imgData = new Uint8ClampedArray(width * height);\n let q = 0,\n k = 0;\n for (let i = 0; i < height; i++) {\n let mask = 0,\n buffer;\n for (let j = 0; j < width; j++) {\n if (!mask) {\n mask = 128;\n buffer = bitPacked[k++];\n }\n imgData[q++] = buffer & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n return { imgData, width, height };\n }\n\n function SimpleSegmentVisitor() {}\n\n SimpleSegmentVisitor.prototype = {\n onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n this.currentPageInfo = info;\n var rowSize = (info.width + 7) >> 3;\n var buffer = new Uint8ClampedArray(rowSize * info.height);\n // The contents of ArrayBuffers are initialized to 0.\n // Fill the buffer with 0xFF only if info.defaultPixelValue is set\n if (info.defaultPixelValue) {\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = 0xff;\n }\n }\n this.buffer = buffer;\n },\n drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n var pageInfo = this.currentPageInfo;\n var width = regionInfo.width,\n height = regionInfo.height;\n var rowSize = (pageInfo.width + 7) >> 3;\n var combinationOperator = pageInfo.combinationOperatorOverride\n ? regionInfo.combinationOperator\n : pageInfo.combinationOperator;\n var buffer = this.buffer;\n var mask0 = 128 >> (regionInfo.x & 7);\n var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n var i, j, mask, offset;\n switch (combinationOperator) {\n case 0: // OR\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n mask >>= 1;\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n offset0 += rowSize;\n }\n break;\n case 2: // XOR\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n mask >>= 1;\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n offset0 += rowSize;\n }\n break;\n default:\n throw new Jbig2Error(\n `operator ${combinationOperator} is not supported`\n );\n }\n },\n onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(\n region,\n data,\n start,\n end\n ) {\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeBitmap(\n region.mmr,\n regionInfo.width,\n regionInfo.height,\n region.template,\n region.prediction,\n null,\n region.at,\n decodingContext\n );\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion.apply(this, arguments);\n },\n onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(\n dictionary,\n currentSegment,\n referredSegments,\n data,\n start,\n end\n ) {\n let huffmanTables, huffmanInput;\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(\n dictionary,\n referredSegments,\n this.customTables\n );\n huffmanInput = new Reader(data, start, end);\n }\n\n // Combines exported symbols from all referred segments\n var symbols = this.symbols;\n if (!symbols) {\n this.symbols = symbols = {};\n }\n\n var inputSymbols = [];\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n const referredSymbols = symbols[referredSegments[i]];\n // referredSymbols is undefined when we have a reference to a Tables\n // segment instead of a SymbolDictionary.\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(\n dictionary.huffman,\n dictionary.refinement,\n inputSymbols,\n dictionary.numberOfNewSymbols,\n dictionary.numberOfExportedSymbols,\n huffmanTables,\n dictionary.template,\n dictionary.at,\n dictionary.refinementTemplate,\n dictionary.refinementAt,\n decodingContext,\n huffmanInput\n );\n },\n onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(\n region,\n referredSegments,\n data,\n start,\n end\n ) {\n var regionInfo = region.info;\n let huffmanTables, huffmanInput;\n\n // Combines exported symbols from all referred segments\n var symbols = this.symbols;\n var inputSymbols = [];\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n const referredSymbols = symbols[referredSegments[i]];\n // referredSymbols is undefined when we have a reference to a Tables\n // segment instead of a SymbolDictionary.\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n var symbolCodeLength = log2(inputSymbols.length);\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(\n region,\n referredSegments,\n this.customTables,\n inputSymbols.length,\n huffmanInput\n );\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeTextRegion(\n region.huffman,\n region.refinement,\n regionInfo.width,\n regionInfo.height,\n region.defaultPixelValue,\n region.numberOfSymbolInstances,\n region.stripSize,\n inputSymbols,\n symbolCodeLength,\n region.transposed,\n region.dsOffset,\n region.referenceCorner,\n region.combinationOperator,\n huffmanTables,\n region.refinementTemplate,\n region.refinementAt,\n decodingContext,\n region.logStripSize,\n huffmanInput\n );\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion.apply(this, arguments);\n },\n onPatternDictionary(dictionary, currentSegment, data, start, end) {\n let patterns = this.patterns;\n if (!patterns) {\n this.patterns = patterns = {};\n }\n const decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(\n dictionary.mmr,\n dictionary.patternWidth,\n dictionary.patternHeight,\n dictionary.maxPatternIndex,\n dictionary.template,\n decodingContext\n );\n },\n onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n // HalftoneRegion refers to exactly one PatternDictionary.\n const patterns = this.patterns[referredSegments[0]];\n const regionInfo = region.info;\n const decodingContext = new DecodingContext(data, start, end);\n const bitmap = decodeHalftoneRegion(\n region.mmr,\n patterns,\n region.template,\n regionInfo.width,\n regionInfo.height,\n region.defaultPixelValue,\n region.enableSkip,\n region.combinationOperator,\n region.gridWidth,\n region.gridHeight,\n region.gridOffsetX,\n region.gridOffsetY,\n region.gridVectorX,\n region.gridVectorY,\n decodingContext\n );\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion.apply(this, arguments);\n },\n onTables(currentSegment, data, start, end) {\n let customTables = this.customTables;\n if (!customTables) {\n this.customTables = customTables = {};\n }\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n },\n };\n\n function HuffmanLine(lineData) {\n if (lineData.length === 2) {\n // OOB line.\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n // Normal, upper range or lower range line.\n // Upper range lines are processed like normal lines.\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === \"lower\";\n }\n }\n\n function HuffmanTreeNode(line) {\n this.children = [];\n if (line) {\n // Leaf node\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n // Intermediate or root node\n this.isLeaf = false;\n }\n }\n\n HuffmanTreeNode.prototype = {\n buildTree(line, shift) {\n const bit = (line.prefixCode >> shift) & 1;\n if (shift <= 0) {\n // Create a leaf node.\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n // Create an intermediate node and continue recursively.\n let node = this.children[bit];\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n node.buildTree(line, shift - 1);\n }\n },\n decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n const htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n const node = this.children[reader.readBit()];\n if (!node) {\n throw new Jbig2Error(\"invalid Huffman data\");\n }\n return node.decodeNode(reader);\n },\n };\n\n function HuffmanTable(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n // Create Huffman tree.\n this.rootNode = new HuffmanTreeNode(null);\n for (let i = 0, ii = lines.length; i < ii; i++) {\n const line = lines[i];\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n\n HuffmanTable.prototype = {\n decode(reader) {\n return this.rootNode.decodeNode(reader);\n },\n assignPrefixCodes(lines) {\n // Annex B.3 Assigning the prefix codes.\n const linesLength = lines.length;\n let prefixLengthMax = 0;\n for (let i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n\n const histogram = new Uint32Array(prefixLengthMax + 1);\n for (let i = 0; i < linesLength; i++) {\n histogram[lines[i].prefixLength]++;\n }\n let currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n\n while (currentLength <= prefixLengthMax) {\n firstCode = (firstCode + histogram[currentLength - 1]) << 1;\n currentCode = firstCode;\n currentTemp = 0;\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n currentTemp++;\n }\n currentLength++;\n }\n },\n };\n\n function decodeTablesSegment(data, start, end) {\n // Decodes a Tables segment, i.e., a custom Huffman table.\n // Annex B.2 Code table structure.\n const flags = data[start];\n const lowestValue = readUint32(data, start + 1) & 0xffffffff;\n const highestValue = readUint32(data, start + 5) & 0xffffffff;\n const reader = new Reader(data, start + 9, end);\n\n const prefixSizeBits = ((flags >> 1) & 7) + 1;\n const rangeSizeBits = ((flags >> 4) & 7) + 1;\n const lines = [];\n let prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n\n // Normal table lines\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(\n new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0])\n );\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n\n // Lower range table line\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(\n new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"])\n );\n\n // Upper range table line\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n if (flags & 1) {\n // Out-of-band table line\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n\n return new HuffmanTable(lines, false);\n }\n\n const standardTablesCache = {};\n\n function getStandardTable(number) {\n // Annex B.5 Standard Huffman tables.\n let table = standardTablesCache[number];\n if (table) {\n return table;\n }\n let lines;\n switch (number) {\n case 1:\n lines = [\n [0, 1, 4, 0x0],\n [16, 2, 8, 0x2],\n [272, 3, 16, 0x6],\n [65808, 3, 32, 0x7], // upper\n ];\n break;\n case 2:\n lines = [\n [0, 1, 0, 0x0],\n [1, 2, 0, 0x2],\n [2, 3, 0, 0x6],\n [3, 4, 3, 0xe],\n [11, 5, 6, 0x1e],\n [75, 6, 32, 0x3e], // upper\n [6, 0x3f], // OOB\n ];\n break;\n case 3:\n lines = [\n [-256, 8, 8, 0xfe],\n [0, 1, 0, 0x0],\n [1, 2, 0, 0x2],\n [2, 3, 0, 0x6],\n [3, 4, 3, 0xe],\n [11, 5, 6, 0x1e],\n [-257, 8, 32, 0xff, \"lower\"],\n [75, 7, 32, 0x7e], // upper\n [6, 0x3e], // OOB\n ];\n break;\n case 4:\n lines = [\n [1, 1, 0, 0x0],\n [2, 2, 0, 0x2],\n [3, 3, 0, 0x6],\n [4, 4, 3, 0xe],\n [12, 5, 6, 0x1e],\n [76, 5, 32, 0x1f], // upper\n ];\n break;\n case 5:\n lines = [\n [-255, 7, 8, 0x7e],\n [1, 1, 0, 0x0],\n [2, 2, 0, 0x2],\n [3, 3, 0, 0x6],\n [4, 4, 3, 0xe],\n [12, 5, 6, 0x1e],\n [-256, 7, 32, 0x7f, \"lower\"],\n [76, 6, 32, 0x3e], // upper\n ];\n break;\n case 6:\n lines = [\n [-2048, 5, 10, 0x1c],\n [-1024, 4, 9, 0x8],\n [-512, 4, 8, 0x9],\n [-256, 4, 7, 0xa],\n [-128, 5, 6, 0x1d],\n [-64, 5, 5, 0x1e],\n [-32, 4, 5, 0xb],\n [0, 2, 7, 0x0],\n [128, 3, 7, 0x2],\n [256, 3, 8, 0x3],\n [512, 4, 9, 0xc],\n [1024, 4, 10, 0xd],\n [-2049, 6, 32, 0x3e, \"lower\"],\n [2048, 6, 32, 0x3f], // upper\n ];\n break;\n case 7:\n lines = [\n [-1024, 4, 9, 0x8],\n [-512, 3, 8, 0x0],\n [-256, 4, 7, 0x9],\n [-128, 5, 6, 0x1a],\n [-64, 5, 5, 0x1b],\n [-32, 4, 5, 0xa],\n [0, 4, 5, 0xb],\n [32, 5, 5, 0x1c],\n [64, 5, 6, 0x1d],\n [128, 4, 7, 0xc],\n [256, 3, 8, 0x1],\n [512, 3, 9, 0x2],\n [1024, 3, 10, 0x3],\n [-1025, 5, 32, 0x1e, \"lower\"],\n [2048, 5, 32, 0x1f], // upper\n ];\n break;\n case 8:\n lines = [\n [-15, 8, 3, 0xfc],\n [-7, 9, 1, 0x1fc],\n [-5, 8, 1, 0xfd],\n [-3, 9, 0, 0x1fd],\n [-2, 7, 0, 0x7c],\n [-1, 4, 0, 0xa],\n [0, 2, 1, 0x0],\n [2, 5, 0, 0x1a],\n [3, 6, 0, 0x3a],\n [4, 3, 4, 0x4],\n [20, 6, 1, 0x3b],\n [22, 4, 4, 0xb],\n [38, 4, 5, 0xc],\n [70, 5, 6, 0x1b],\n [134, 5, 7, 0x1c],\n [262, 6, 7, 0x3c],\n [390, 7, 8, 0x7d],\n [646, 6, 10, 0x3d],\n [-16, 9, 32, 0x1fe, \"lower\"],\n [1670, 9, 32, 0x1ff], // upper\n [2, 0x1], // OOB\n ];\n break;\n case 9:\n lines = [\n [-31, 8, 4, 0xfc],\n [-15, 9, 2, 0x1fc],\n [-11, 8, 2, 0xfd],\n [-7, 9, 1, 0x1fd],\n [-5, 7, 1, 0x7c],\n [-3, 4, 1, 0xa],\n [-1, 3, 1, 0x2],\n [1, 3, 1, 0x3],\n [3, 5, 1, 0x1a],\n [5, 6, 1, 0x3a],\n [7, 3, 5, 0x4],\n [39, 6, 2, 0x3b],\n [43, 4, 5, 0xb],\n [75, 4, 6, 0xc],\n [139, 5, 7, 0x1b],\n [267, 5, 8, 0x1c],\n [523, 6, 8, 0x3c],\n [779, 7, 9, 0x7d],\n [1291, 6, 11, 0x3d],\n [-32, 9, 32, 0x1fe, \"lower\"],\n [3339, 9, 32, 0x1ff], // upper\n [2, 0x0], // OOB\n ];\n break;\n case 10:\n lines = [\n [-21, 7, 4, 0x7a],\n [-5, 8, 0, 0xfc],\n [-4, 7, 0, 0x7b],\n [-3, 5, 0, 0x18],\n [-2, 2, 2, 0x0],\n [2, 5, 0, 0x19],\n [3, 6, 0, 0x36],\n [4, 7, 0, 0x7c],\n [5, 8, 0, 0xfd],\n [6, 2, 6, 0x1],\n [70, 5, 5, 0x1a],\n [102, 6, 5, 0x37],\n [134, 6, 6, 0x38],\n [198, 6, 7, 0x39],\n [326, 6, 8, 0x3a],\n [582, 6, 9, 0x3b],\n [1094, 6, 10, 0x3c],\n [2118, 7, 11, 0x7d],\n [-22, 8, 32, 0xfe, \"lower\"],\n [4166, 8, 32, 0xff], // upper\n [2, 0x2], // OOB\n ];\n break;\n case 11:\n lines = [\n [1, 1, 0, 0x0],\n [2, 2, 1, 0x2],\n [4, 4, 0, 0xc],\n [5, 4, 1, 0xd],\n [7, 5, 1, 0x1c],\n [9, 5, 2, 0x1d],\n [13, 6, 2, 0x3c],\n [17, 7, 2, 0x7a],\n [21, 7, 3, 0x7b],\n [29, 7, 4, 0x7c],\n [45, 7, 5, 0x7d],\n [77, 7, 6, 0x7e],\n [141, 7, 32, 0x7f], // upper\n ];\n break;\n case 12:\n lines = [\n [1, 1, 0, 0x0],\n [2, 2, 0, 0x2],\n [3, 3, 1, 0x6],\n [5, 5, 0, 0x1c],\n [6, 5, 1, 0x1d],\n [8, 6, 1, 0x3c],\n [10, 7, 0, 0x7a],\n [11, 7, 1, 0x7b],\n [13, 7, 2, 0x7c],\n [17, 7, 3, 0x7d],\n [25, 7, 4, 0x7e],\n [41, 8, 5, 0xfe],\n [73, 8, 32, 0xff], // upper\n ];\n break;\n case 13:\n lines = [\n [1, 1, 0, 0x0],\n [2, 3, 0, 0x4],\n [3, 4, 0, 0xc],\n [4, 5, 0, 0x1c],\n [5, 4, 1, 0xd],\n [7, 3, 3, 0x5],\n [15, 6, 1, 0x3a],\n [17, 6, 2, 0x3b],\n [21, 6, 3, 0x3c],\n [29, 6, 4, 0x3d],\n [45, 6, 5, 0x3e],\n [77, 7, 6, 0x7e],\n [141, 7, 32, 0x7f], // upper\n ];\n break;\n case 14:\n lines = [\n [-2, 3, 0, 0x4],\n [-1, 3, 0, 0x5],\n [0, 1, 0, 0x0],\n [1, 3, 0, 0x6],\n [2, 3, 0, 0x7],\n ];\n break;\n case 15:\n lines = [\n [-24, 7, 4, 0x7c],\n [-8, 6, 2, 0x3c],\n [-4, 5, 1, 0x1c],\n [-2, 4, 0, 0xc],\n [-1, 3, 0, 0x4],\n [0, 1, 0, 0x0],\n [1, 3, 0, 0x5],\n [2, 4, 0, 0xd],\n [3, 5, 1, 0x1d],\n [5, 6, 2, 0x3d],\n [9, 7, 4, 0x7d],\n [-25, 7, 32, 0x7e, \"lower\"],\n [25, 7, 32, 0x7f], // upper\n ];\n break;\n default:\n throw new Jbig2Error(`standard table B.${number} does not exist`);\n }\n\n for (let i = 0, ii = lines.length; i < ii; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n }\n\n function Reader(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n\n Reader.prototype = {\n readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error(\"end of data while reading bit\");\n }\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n const bit = (this.currentByte >> this.shift) & 1;\n this.shift--;\n return bit;\n },\n\n readBits(numBits) {\n let result = 0,\n i;\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n return result;\n },\n\n byteAlign() {\n this.shift = -1;\n },\n\n next() {\n if (this.position >= this.end) {\n return -1;\n }\n return this.data[this.position++];\n },\n };\n\n function getCustomHuffmanTable(index, referredTo, customTables) {\n // Returns a Tables segment that has been earlier decoded.\n // See 7.4.2.1.6 (symbol dictionary) or 7.4.3.1.6 (text region).\n let currentIndex = 0;\n for (let i = 0, ii = referredTo.length; i < ii; i++) {\n const table = customTables[referredTo[i]];\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n currentIndex++;\n }\n }\n throw new Jbig2Error(\"can't find custom Huffman table\");\n }\n\n function getTextRegionHuffmanTables(\n textRegion,\n referredTo,\n customTables,\n numberOfSymbols,\n reader\n ) {\n // 7.4.3.1.7 Symbol ID Huffman table decoding\n\n // Read code lengths for RUNCODEs 0...34.\n const codes = [];\n for (let i = 0; i <= 34; i++) {\n const codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n // Assign Huffman codes for RUNCODEs.\n const runCodesTable = new HuffmanTable(codes, false);\n\n // Read a Huffman code using the assignment above.\n // Interpret the RUNCODE codes and the additional bits (if any).\n codes.length = 0;\n for (let i = 0; i < numberOfSymbols; ) {\n const codeLength = runCodesTable.decode(reader);\n if (codeLength >= 32) {\n let repeatedLength, numberOfRepeats, j;\n switch (codeLength) {\n case 32:\n if (i === 0) {\n throw new Jbig2Error(\"no previous value in symbol ID table\");\n }\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[i - 1].prefixLength;\n break;\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n default:\n throw new Jbig2Error(\"invalid code length in symbol ID table\");\n }\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));\n i++;\n }\n } else {\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n i++;\n }\n }\n reader.byteAlign();\n const symbolIDTable = new HuffmanTable(codes, false);\n\n // 7.4.3.1.6 Text region segment Huffman table selection\n\n let customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n case 3:\n tableFirstS = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman FS selector\");\n }\n\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n case 3:\n tableDeltaS = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DS selector\");\n }\n\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n case 3:\n tableDeltaT = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DT selector\");\n }\n\n if (textRegion.refinement) {\n // Load tables RDW, RDH, RDX and RDY.\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n return {\n symbolIDTable,\n tableFirstS,\n tableDeltaS,\n tableDeltaT,\n };\n }\n\n function getSymbolDictionaryHuffmanTables(\n dictionary,\n referredTo,\n customTables\n ) {\n // 7.4.2.1.6 Symbol dictionary segment Huffman table selection\n\n let customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DH selector\");\n }\n\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DW selector\");\n }\n\n let tableBitmapSize, tableAggregateInstances;\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n\n return {\n tableDeltaHeight,\n tableDeltaWidth,\n tableBitmapSize,\n tableAggregateInstances,\n };\n }\n\n function readUncompressedBitmap(reader, width, height) {\n const bitmap = [];\n for (let y = 0; y < height; y++) {\n const row = new Uint8Array(width);\n bitmap.push(row);\n for (let x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n reader.byteAlign();\n }\n return bitmap;\n }\n\n function decodeMMRBitmap(input, width, height, endOfBlock) {\n // MMR is the same compression algorithm as the PDF filter\n // CCITTFaxDecode with /K -1.\n const params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock,\n };\n const decoder = new CCITTFaxDecoder(input, params);\n const bitmap = [];\n let currentByte,\n eof = false;\n\n for (let y = 0; y < height; y++) {\n const row = new Uint8Array(width);\n bitmap.push(row);\n let shift = -1;\n for (let x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n if (currentByte === -1) {\n // Set the rest of the bits to zero.\n currentByte = 0;\n eof = true;\n }\n shift = 7;\n }\n row[x] = (currentByte >> shift) & 1;\n shift--;\n }\n }\n\n if (endOfBlock && !eof) {\n // Read until EOFB has been consumed.\n const lookForEOFLimit = 5;\n for (let i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n\n return bitmap;\n }\n\n // eslint-disable-next-line no-shadow\n function Jbig2Image() {}\n\n Jbig2Image.prototype = {\n parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n },\n\n parse(data) {\n const { imgData, width, height } = parseJbig2(data);\n this.width = width;\n this.height = height;\n return imgData;\n },\n };\n\n return Jbig2Image;\n})();\n\nexport { Jbig2Image };\n","/* Copyright 2019 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport { assert, BaseException, warn } from \"../shared/util.js\";\n\nfunction getLookupTableFactory(initializer) {\n let lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n return lookup;\n };\n}\n\nclass MissingDataException extends BaseException {\n constructor(begin, end) {\n super(`Missing data [${begin}, ${end})`);\n this.begin = begin;\n this.end = end;\n }\n}\n\nclass XRefEntryException extends BaseException {}\n\nclass XRefParseException extends BaseException {}\n\n/**\n * Get the value of an inheritable property.\n *\n * If the PDF specification explicitly lists a property in a dictionary as\n * inheritable, then the value of the property may be present in the dictionary\n * itself or in one or more parents of the dictionary.\n *\n * If the key is not found in the tree, `undefined` is returned. Otherwise,\n * the value for the key is returned or, if `stopWhenFound` is `false`, a list\n * of values is returned. To avoid infinite loops, the traversal is stopped when\n * the loop limit is reached.\n *\n * @param {Dict} dict - Dictionary from where to start the traversal.\n * @param {string} key - The key of the property to find the value for.\n * @param {boolean} getArray - Whether or not the value should be fetched as an\n * array. The default value is `false`.\n * @param {boolean} stopWhenFound - Whether or not to stop the traversal when\n * the key is found. If set to `false`, we always walk up the entire parent\n * chain, for example to be able to find `\\Resources` placed on multiple\n * levels of the tree. The default value is `true`.\n */\nfunction getInheritableProperty({\n dict,\n key,\n getArray = false,\n stopWhenFound = true,\n}) {\n const LOOP_LIMIT = 100;\n let loopCount = 0;\n let values;\n\n while (dict) {\n const value = getArray ? dict.getArray(key) : dict.get(key);\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n if (!values) {\n values = [];\n }\n values.push(value);\n }\n if (++loopCount > LOOP_LIMIT) {\n warn(`getInheritableProperty: maximum loop count exceeded for \"${key}\"`);\n break;\n }\n dict = dict.get(\"Parent\");\n }\n return values;\n}\n\n// prettier-ignore\nconst ROMAN_NUMBER_MAP = [\n \"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\",\n \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\",\n \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"\n];\n\n/**\n * Converts positive integers to (upper case) Roman numerals.\n * @param {number} number - The number that should be converted.\n * @param {boolean} lowerCase - Indicates if the result should be converted\n * to lower case letters. The default value is `false`.\n * @returns {string} The resulting Roman number.\n */\nfunction toRomanNumerals(number, lowerCase = false) {\n assert(\n Number.isInteger(number) && number > 0,\n \"The number should be a positive integer.\"\n );\n const romanBuf = [];\n let pos;\n // Thousands\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push(\"M\");\n }\n // Hundreds\n pos = (number / 100) | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n // Tens\n pos = (number / 10) | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n // Ones\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n\n const romanStr = romanBuf.join(\"\");\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\n// Calculate the base 2 logarithm of the number `x`. This differs from the\n// native function in the sense that it returns the ceiling value and that it\n// returns 0 instead of `Infinity`/`NaN` for `x` values smaller than/equal to 0.\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n return (data[offset] << 24) >> 24;\n}\n\nfunction readUint16(data, offset) {\n return (data[offset] << 8) | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (\n ((data[offset] << 24) |\n (data[offset + 1] << 16) |\n (data[offset + 2] << 8) |\n data[offset + 3]) >>>\n 0\n );\n}\n\n// Checks if ch is one of the following characters: SPACE, TAB, CR or LF.\nfunction isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\n\nexport {\n getLookupTableFactory,\n MissingDataException,\n XRefEntryException,\n XRefParseException,\n getInheritableProperty,\n toRomanNumerals,\n log2,\n readInt8,\n readUint16,\n readUint32,\n isWhiteSpace,\n};\n","/* Copyright 2012 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/* eslint no-var: error */\n\n// Table C-2\nconst QeTable = [\n { qe: 0x5601, nmps: 1, nlps: 1, switchFlag: 1 },\n { qe: 0x3401, nmps: 2, nlps: 6, switchFlag: 0 },\n { qe: 0x1801, nmps: 3, nlps: 9, switchFlag: 0 },\n { qe: 0x0ac1, nmps: 4, nlps: 12, switchFlag: 0 },\n { qe: 0x0521, nmps: 5, nlps: 29, switchFlag: 0 },\n { qe: 0x0221, nmps: 38, nlps: 33, switchFlag: 0 },\n { qe: 0x5601, nmps: 7, nlps: 6, switchFlag: 1 },\n { qe: 0x5401, nmps: 8, nlps: 14, switchFlag: 0 },\n { qe: 0x4801, nmps: 9, nlps: 14, switchFlag: 0 },\n { qe: 0x3801, nmps: 10, nlps: 14, switchFlag: 0 },\n { qe: 0x3001, nmps: 11, nlps: 17, switchFlag: 0 },\n { qe: 0x2401, nmps: 12, nlps: 18, switchFlag: 0 },\n { qe: 0x1c01, nmps: 13, nlps: 20, switchFlag: 0 },\n { qe: 0x1601, nmps: 29, nlps: 21, switchFlag: 0 },\n { qe: 0x5601, nmps: 15, nlps: 14, switchFlag: 1 },\n { qe: 0x5401, nmps: 16, nlps: 14, switchFlag: 0 },\n { qe: 0x5101, nmps: 17, nlps: 15, switchFlag: 0 },\n { qe: 0x4801, nmps: 18, nlps: 16, switchFlag: 0 },\n { qe: 0x3801, nmps: 19, nlps: 17, switchFlag: 0 },\n { qe: 0x3401, nmps: 20, nlps: 18, switchFlag: 0 },\n { qe: 0x3001, nmps: 21, nlps: 19, switchFlag: 0 },\n { qe: 0x2801, nmps: 22, nlps: 19, switchFlag: 0 },\n { qe: 0x2401, nmps: 23, nlps: 20, switchFlag: 0 },\n { qe: 0x2201, nmps: 24, nlps: 21, switchFlag: 0 },\n { qe: 0x1c01, nmps: 25, nlps: 22, switchFlag: 0 },\n { qe: 0x1801, nmps: 26, nlps: 23, switchFlag: 0 },\n { qe: 0x1601, nmps: 27, nlps: 24, switchFlag: 0 },\n { qe: 0x1401, nmps: 28, nlps: 25, switchFlag: 0 },\n { qe: 0x1201, nmps: 29, nlps: 26, switchFlag: 0 },\n { qe: 0x1101, nmps: 30, nlps: 27, switchFlag: 0 },\n { qe: 0x0ac1, nmps: 31, nlps: 28, switchFlag: 0 },\n { qe: 0x09c1, nmps: 32, nlps: 29, switchFlag: 0 },\n { qe: 0x08a1, nmps: 33, nlps: 30, switchFlag: 0 },\n { qe: 0x0521, nmps: 34, nlps: 31, switchFlag: 0 },\n { qe: 0x0441, nmps: 35, nlps: 32, switchFlag: 0 },\n { qe: 0x02a1, nmps: 36, nlps: 33, switchFlag: 0 },\n { qe: 0x0221, nmps: 37, nlps: 34, switchFlag: 0 },\n { qe: 0x0141, nmps: 38, nlps: 35, switchFlag: 0 },\n { qe: 0x0111, nmps: 39, nlps: 36, switchFlag: 0 },\n { qe: 0x0085, nmps: 40, nlps: 37, switchFlag: 0 },\n { qe: 0x0049, nmps: 41, nlps: 38, switchFlag: 0 },\n { qe: 0x0025, nmps: 42, nlps: 39, switchFlag: 0 },\n { qe: 0x0015, nmps: 43, nlps: 40, switchFlag: 0 },\n { qe: 0x0009, nmps: 44, nlps: 41, switchFlag: 0 },\n { qe: 0x0005, nmps: 45, nlps: 42, switchFlag: 0 },\n { qe: 0x0001, nmps: 45, nlps: 43, switchFlag: 0 },\n { qe: 0x5601, nmps: 46, nlps: 46, switchFlag: 0 },\n];\n\n/**\n * This class implements the QM Coder decoding as defined in\n * JPEG 2000 Part I Final Committee Draft Version 1.0\n * Annex C.3 Arithmetic decoding procedure\n * available at http://www.jpeg.org/public/fcd15444-1.pdf\n *\n * The arithmetic decoder is used in conjunction with context models to decode\n * JPEG2000 and JBIG2 streams.\n */\nclass ArithmeticDecoder {\n // C.3.5 Initialisation of the decoder (INITDEC)\n constructor(data, start, end) {\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n\n this.chigh = data[start];\n this.clow = 0;\n\n this.byteIn();\n\n this.chigh = ((this.chigh << 7) & 0xffff) | ((this.clow >> 9) & 0x7f);\n this.clow = (this.clow << 7) & 0xffff;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n // C.3.4 Compressed data input (BYTEIN)\n byteIn() {\n const data = this.data;\n let bp = this.bp;\n\n if (data[bp] === 0xff) {\n if (data[bp + 1] > 0x8f) {\n this.clow += 0xff00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n this.ct = 8;\n this.bp = bp;\n }\n if (this.clow > 0xffff) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xffff;\n }\n }\n\n // C.3.2 Decoding a decision (DECODE)\n readBit(contexts, pos) {\n // Contexts are packed into 1 byte:\n // highest 7 bits carry cx.index, lowest bit carries cx.mps\n let cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n const qeTableIcx = QeTable[cx_index];\n const qeIcx = qeTableIcx.qe;\n let d;\n let a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n // exchangeLps\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n // exchangeMps\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n // C.3.3 renormD;\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = ((this.chigh << 1) & 0xffff) | ((this.clow >> 15) & 1);\n this.clow = (this.clow << 1) & 0xffff;\n this.ct--;\n } while ((a & 0x8000) === 0);\n this.a = a;\n\n contexts[pos] = (cx_index << 1) | cx_mps;\n return d;\n }\n}\n\nexport { ArithmeticDecoder };\n","/* Copyright 2012 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/* Copyright 1996-2003 Glyph & Cog, LLC\n *\n * The CCITT stream implementation contained in this file is a JavaScript port\n * of XPDF's implementation, made available under the Apache 2.0 open source\n * license.\n */\n\n/**\n * @typedef {Object} CCITTFaxDecoderSource\n * @property {function} next - Method that return one byte of data for decoding,\n * or -1 when EOF is reached.\n */\n\nimport { info } from \"../shared/util.js\";\n\nconst CCITTFaxDecoder = (function CCITTFaxDecoder() {\n const ccittEOL = -2;\n const ccittEOF = -1;\n const twoDimPass = 0;\n const twoDimHoriz = 1;\n const twoDimVert0 = 2;\n const twoDimVertR1 = 3;\n const twoDimVertL1 = 4;\n const twoDimVertR2 = 5;\n const twoDimVertL2 = 6;\n const twoDimVertR3 = 7;\n const twoDimVertL3 = 8;\n\n // prettier-ignore\n const twoDimTable = [\n [-1, -1], [-1, -1], // 000000x\n [7, twoDimVertL3], // 0000010\n [7, twoDimVertR3], // 0000011\n [6, twoDimVertL2], [6, twoDimVertL2], // 000010x\n [6, twoDimVertR2], [6, twoDimVertR2], // 000011x\n [4, twoDimPass], [4, twoDimPass], // 0001xxx\n [4, twoDimPass], [4, twoDimPass],\n [4, twoDimPass], [4, twoDimPass],\n [4, twoDimPass], [4, twoDimPass],\n [3, twoDimHoriz], [3, twoDimHoriz], // 001xxxx\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimVertL1], [3, twoDimVertL1], // 010xxxx\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertR1], [3, twoDimVertR1], // 011xxxx\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [1, twoDimVert0], [1, twoDimVert0], // 1xxxxxx\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0]\n ];\n\n // prettier-ignore\n const whiteTable1 = [\n [-1, -1], // 00000\n [12, ccittEOL], // 00001\n [-1, -1], [-1, -1], // 0001x\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 001xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 010xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 011xx\n [11, 1792], [11, 1792], // 1000x\n [12, 1984], // 10010\n [12, 2048], // 10011\n [12, 2112], // 10100\n [12, 2176], // 10101\n [12, 2240], // 10110\n [12, 2304], // 10111\n [11, 1856], [11, 1856], // 1100x\n [11, 1920], [11, 1920], // 1101x\n [12, 2368], // 11100\n [12, 2432], // 11101\n [12, 2496], // 11110\n [12, 2560] // 11111\n ];\n\n // prettier-ignore\n const whiteTable2 = [\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 0000000xx\n [8, 29], [8, 29], // 00000010x\n [8, 30], [8, 30], // 00000011x\n [8, 45], [8, 45], // 00000100x\n [8, 46], [8, 46], // 00000101x\n [7, 22], [7, 22], [7, 22], [7, 22], // 0000011xx\n [7, 23], [7, 23], [7, 23], [7, 23], // 0000100xx\n [8, 47], [8, 47], // 00001010x\n [8, 48], [8, 48], // 00001011x\n [6, 13], [6, 13], [6, 13], [6, 13], // 000011xxx\n [6, 13], [6, 13], [6, 13], [6, 13],\n [7, 20], [7, 20], [7, 20], [7, 20], // 0001000xx\n [8, 33], [8, 33], // 00010010x\n [8, 34], [8, 34], // 00010011x\n [8, 35], [8, 35], // 00010100x\n [8, 36], [8, 36], // 00010101x\n [8, 37], [8, 37], // 00010110x\n [8, 38], [8, 38], // 00010111x\n [7, 19], [7, 19], [7, 19], [7, 19], // 0001100xx\n [8, 31], [8, 31], // 00011010x\n [8, 32], [8, 32], // 00011011x\n [6, 1], [6, 1], [6, 1], [6, 1], // 000111xxx\n [6, 1], [6, 1], [6, 1], [6, 1],\n [6, 12], [6, 12], [6, 12], [6, 12], // 001000xxx\n [6, 12], [6, 12], [6, 12], [6, 12],\n [8, 53], [8, 53], // 00100100x\n [8, 54], [8, 54], // 00100101x\n [7, 26], [7, 26], [7, 26], [7, 26], // 0010011xx\n [8, 39], [8, 39], // 00101000x\n [8, 40], [8, 40], // 00101001x\n [8, 41], [8, 41], // 00101010x\n [8, 42], [8, 42], // 00101011x\n [8, 43], [8, 43], // 00101100x\n [8, 44], [8, 44], // 00101101x\n [7, 21], [7, 21], [7, 21], [7, 21], // 0010111xx\n [7, 28], [7, 28], [7, 28], [7, 28], // 0011000xx\n [8, 61], [8, 61], // 00110010x\n [8, 62], [8, 62], // 00110011x\n [8, 63], [8, 63], // 00110100x\n [8, 0], [8, 0], // 00110101x\n [8, 320], [8, 320], // 00110110x\n [8, 384], [8, 384], // 00110111x\n [5, 10], [5, 10], [5, 10], [5, 10], // 00111xxxx\n [5, 10], [5, 10], [5, 10], [5, 10],\n [5, 10], [5, 10], [5, 10], [5, 10],\n [5, 10], [5, 10], [5, 10], [5, 10],\n [5, 11], [5, 11], [5, 11], [5, 11], // 01000xxxx\n [5, 11], [5, 11], [5, 11], [5, 11],\n [5, 11], [5, 11], [5, 11], [5, 11],\n [5, 11], [5, 11], [5, 11], [5, 11],\n [7, 27], [7, 27], [7, 27], [7, 27], // 0100100xx\n [8, 59], [8, 59], // 01001010x\n [8, 60], [8, 60], // 01001011x\n [9, 1472], // 010011000\n [9, 1536], // 010011001\n [9, 1600], // 010011010\n [9, 1728], // 010011011\n [7, 18], [7, 18], [7, 18], [7, 18], // 0100111xx\n [7, 24], [7, 24], [7, 24], [7, 24], // 0101000xx\n [8, 49], [8, 49], // 01010010x\n [8, 50], [8, 50], // 01010011x\n [8, 51], [8, 51], // 01010100x\n [8, 52], [8, 52], // 01010101x\n [7, 25], [7, 25], [7, 25], [7, 25], // 0101011xx\n [8, 55], [8, 55], // 01011000x\n [8, 56], [8, 56], // 01011001x\n [8, 57], [8, 57], // 01011010x\n [8, 58], [8, 58], // 01011011x\n [6, 192], [6, 192], [6, 192], [6, 192], // 010111xxx\n [6, 192], [6, 192], [6, 192], [6, 192],\n [6, 1664], [6, 1664], [6, 1664], [6, 1664], // 011000xxx\n [6, 1664], [6, 1664], [6, 1664], [6, 1664],\n [8, 448], [8, 448], // 01100100x\n [8, 512], [8, 512], // 01100101x\n [9, 704], // 011001100\n [9, 768], // 011001101\n [8, 640], [8, 640], // 01100111x\n [8, 576], [8, 576], // 01101000x\n [9, 832], // 011010010\n [9, 896], // 011010011\n [9, 960], // 011010100\n [9, 1024], // 011010101\n [9, 1088], // 011010110\n [9, 1152], // 011010111\n [9, 1216], // 011011000\n [9, 1280], // 011011001\n [9, 1344], // 011011010\n [9, 1408], // 011011011\n [7, 256], [7, 256], [7, 256], [7, 256], // 0110111xx\n [4, 2], [4, 2], [4, 2], [4, 2], // 0111xxxxx\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 3], [4, 3], [4, 3], [4, 3], // 1000xxxxx\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [5, 128], [5, 128], [5, 128], [5, 128], // 10010xxxx\n [5, 128], [5, 128], [5, 128], [5, 128],\n [5, 128], [5, 128], [5, 128], [5, 128],\n [5, 128], [5, 128], [5, 128], [5, 128],\n [5, 8], [5, 8], [5, 8], [5, 8], // 10011xxxx\n [5, 8], [5, 8], [5, 8], [5, 8],\n [5, 8], [5, 8], [5, 8], [5, 8],\n [5, 8], [5, 8], [5, 8], [5, 8],\n [5, 9], [5, 9], [5, 9], [5, 9], // 10100xxxx\n [5, 9], [5, 9], [5, 9], [5, 9],\n [5, 9], [5, 9], [5, 9], [5, 9],\n [5, 9], [5, 9], [5, 9], [5, 9],\n [6, 16], [6, 16], [6, 16], [6, 16], // 101010xxx\n [6, 16], [6, 16], [6, 16], [6, 16],\n [6, 17], [6, 17], [6, 17], [6, 17], // 101011xxx\n [6, 17], [6, 17], [6, 17], [6, 17],\n [4, 4], [4, 4], [4, 4], [4, 4], // 1011xxxxx\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 5], [4, 5], [4, 5], [4, 5], // 1100xxxxx\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [6, 14], [6, 14], [6, 14], [6, 14], // 110100xxx\n [6, 14], [6, 14], [6, 14], [6, 14],\n [6, 15], [6, 15], [6, 15], [6, 15], // 110101xxx\n [6, 15], [6, 15], [6, 15], [6, 15],\n [5, 64], [5, 64], [5, 64], [5, 64], // 11011xxxx\n [5, 64], [5, 64], [5, 64], [5, 64],\n [5, 64], [5, 64], [5, 64], [5, 64],\n [5, 64], [5, 64], [5, 64], [5, 64],\n [4, 6], [4, 6], [4, 6], [4, 6], // 1110xxxxx\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 7], [4, 7], [4, 7], [4, 7], // 1111xxxxx\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7]\n ];\n\n // prettier-ignore\n const blackTable1 = [\n [-1, -1], [-1, -1], // 000000000000x\n [12, ccittEOL], [12, ccittEOL], // 000000000001x\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000001xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000010xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000011xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000100xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000101xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000110xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000111xx\n [11, 1792], [11, 1792], [11, 1792], [11, 1792], // 00000001000xx\n [12, 1984], [12, 1984], // 000000010010x\n [12, 2048], [12, 2048], // 000000010011x\n [12, 2112], [12, 2112], // 000000010100x\n [12, 2176], [12, 2176], // 000000010101x\n [12, 2240], [12, 2240], // 000000010110x\n [12, 2304], [12, 2304], // 000000010111x\n [11, 1856], [11, 1856], [11, 1856], [11, 1856], // 00000001100xx\n [11, 1920], [11, 1920], [11, 1920], [11, 1920], // 00000001101xx\n [12, 2368], [12, 2368], // 000000011100x\n [12, 2432], [12, 2432], // 000000011101x\n [12, 2496], [12, 2496], // 000000011110x\n [12, 2560], [12, 2560], // 000000011111x\n [10, 18], [10, 18], [10, 18], [10, 18], // 0000001000xxx\n [10, 18], [10, 18], [10, 18], [10, 18],\n [12, 52], [12, 52], // 000000100100x\n [13, 640], // 0000001001010\n [13, 704], // 0000001001011\n [13, 768], // 0000001001100\n [13, 832], // 0000001001101\n [12, 55], [12, 55], // 000000100111x\n [12, 56], [12, 56], // 000000101000x\n [13, 1280], // 0000001010010\n [13, 1344], // 0000001010011\n [13, 1408], // 0000001010100\n [13, 1472], // 0000001010101\n [12, 59], [12, 59], // 000000101011x\n [12, 60], [12, 60], // 000000101100x\n [13, 1536], // 0000001011010\n [13, 1600], // 0000001011011\n [11, 24], [11, 24], [11, 24], [11, 24], // 00000010111xx\n [11, 25], [11, 25], [11, 25], [11, 25], // 00000011000xx\n [13, 1664], // 0000001100100\n [13, 1728], // 0000001100101\n [12, 320], [12, 320], // 000000110011x\n [12, 384], [12, 384], // 000000110100x\n [12, 448], [12, 448], // 000000110101x\n [13, 512], // 0000001101100\n [13, 576], // 0000001101101\n [12, 53], [12, 53], // 000000110111x\n [12, 54], [12, 54], // 000000111000x\n [13, 896], // 0000001110010\n [13, 960], // 0000001110011\n [13, 1024], // 0000001110100\n [13, 1088], // 0000001110101\n [13, 1152], // 0000001110110\n [13, 1216], // 0000001110111\n [10, 64], [10, 64], [10, 64], [10, 64], // 0000001111xxx\n [10, 64], [10, 64], [10, 64], [10, 64]\n ];\n\n // prettier-ignore\n const blackTable2 = [\n [8, 13], [8, 13], [8, 13], [8, 13], // 00000100xxxx\n [8, 13], [8, 13], [8, 13], [8, 13],\n [8, 13], [8, 13], [8, 13], [8, 13],\n [8, 13], [8, 13], [8, 13], [8, 13],\n [11, 23], [11, 23], // 00000101000x\n [12, 50], // 000001010010\n [12, 51], // 000001010011\n [12, 44], // 000001010100\n [12, 45], // 000001010101\n [12, 46], // 000001010110\n [12, 47], // 000001010111\n [12, 57], // 000001011000\n [12, 58], // 000001011001\n [12, 61], // 000001011010\n [12, 256], // 000001011011\n [10, 16], [10, 16], [10, 16], [10, 16], // 0000010111xx\n [10, 17], [10, 17], [10, 17], [10, 17], // 0000011000xx\n [12, 48], // 000001100100\n [12, 49], // 000001100101\n [12, 62], // 000001100110\n [12, 63], // 000001100111\n [12, 30], // 000001101000\n [12, 31], // 000001101001\n [12, 32], // 000001101010\n [12, 33], // 000001101011\n [12, 40], // 000001101100\n [12, 41], // 000001101101\n [11, 22], [11, 22], // 00000110111x\n [8, 14], [8, 14], [8, 14], [8, 14], // 00000111xxxx\n [8, 14], [8, 14], [8, 14], [8, 14],\n [8, 14], [8, 14], [8, 14], [8, 14],\n [8, 14], [8, 14], [8, 14], [8, 14],\n [7, 10], [7, 10], [7, 10], [7, 10], // 0000100xxxxx\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 11], [7, 11], [7, 11], [7, 11], // 0000101xxxxx\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [9, 15], [9, 15], [9, 15], [9, 15], // 000011000xxx\n [9, 15], [9, 15], [9, 15], [9, 15],\n [12, 128], // 000011001000\n [12, 192], // 000011001001\n [12, 26], // 000011001010\n [12, 27], // 000011001011\n [12, 28], // 000011001100\n [12, 29], // 000011001101\n [11, 19], [11, 19], // 00001100111x\n [11, 20], [11, 20], // 00001101000x\n [12, 34], // 000011010010\n [12, 35], // 000011010011\n [12, 36], // 000011010100\n [12, 37], // 000011010101\n [12, 38], // 000011010110\n [12, 39], // 000011010111\n [11, 21], [11, 21], // 00001101100x\n [12, 42], // 000011011010\n [12, 43], // 000011011011\n [10, 0], [10, 0], [10, 0], [10, 0], // 0000110111xx\n [7, 12], [7, 12], [7, 12], [7, 12], // 0000111xxxxx\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12]\n ];\n\n // prettier-ignore\n const blackTable3 = [\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 0000xx\n [6, 9], // 000100\n [6, 8], // 000101\n [5, 7], [5, 7], // 00011x\n [4, 6], [4, 6], [4, 6], [4, 6], // 0010xx\n [4, 5], [4, 5], [4, 5], [4, 5], // 0011xx\n [3, 1], [3, 1], [3, 1], [3, 1], // 010xxx\n [3, 1], [3, 1], [3, 1], [3, 1],\n [3, 4], [3, 4], [3, 4], [3, 4], // 011xxx\n [3, 4], [3, 4], [3, 4], [3, 4],\n [2, 3], [2, 3], [2, 3], [2, 3], // 10xxxx\n [2, 3], [2, 3], [2, 3], [2, 3],\n [2, 3], [2, 3], [2, 3], [2, 3],\n [2, 3], [2, 3], [2, 3], [2, 3],\n [2, 2], [2, 2], [2, 2], [2, 2], // 11xxxx\n [2, 2], [2, 2], [2, 2], [2, 2],\n [2, 2], [2, 2], [2, 2], [2, 2],\n [2, 2], [2, 2], [2, 2], [2, 2]\n ];\n\n /**\n * @param {CCITTFaxDecoderSource} source - The data which should be decoded.\n * @param {Object} [options] - Decoding options.\n */\n // eslint-disable-next-line no-shadow\n function CCITTFaxDecoder(source, options = {}) {\n if (!source || typeof source.next !== \"function\") {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n this.source = source;\n this.eof = false;\n\n this.encoding = options.K || 0;\n this.eoline = options.EndOfLine || false;\n this.byteAlign = options.EncodedByteAlign || false;\n this.columns = options.Columns || 1728;\n this.rows = options.Rows || 0;\n let eoblock = options.EndOfBlock;\n if (eoblock === null || eoblock === undefined) {\n eoblock = true;\n }\n this.eoblock = eoblock;\n this.black = options.BlackIs1 || false;\n\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n\n let code1;\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n if (code1 === 1) {\n this._eatBits(12);\n }\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n this._eatBits(1);\n }\n }\n\n CCITTFaxDecoder.prototype = {\n readNextChar() {\n if (this.eof) {\n return -1;\n }\n const refLine = this.refLine;\n const codingLine = this.codingLine;\n const columns = this.columns;\n\n let refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n if (this.eof) {\n return -1;\n }\n this.err = false;\n\n let code1, code2, code3;\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n break;\n case twoDimHoriz:\n code1 = code2 = 0;\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n this._addPixels(\n codingLine[this.codingPos] + code1,\n blackPixels\n );\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(\n codingLine[this.codingPos] + code2,\n blackPixels ^ 1\n );\n }\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n break;\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case ccittEOF:\n this._addPixels(columns, 0);\n this.eof = true;\n break;\n default:\n info(\"bad 2d code\");\n this._addPixels(columns, 0);\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n blackPixels ^= 1;\n }\n }\n\n let gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n code1 = this._lookBits(12);\n }\n }\n if (code1 === 1) {\n this._eatBits(12);\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n if (code1 === 1) {\n this._eatBits(12);\n if (this.encoding > 0) {\n this._lookBits(1);\n this._eatBits(1);\n }\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n if (code1 !== 1) {\n info(\"bad rtc code: \" + code1);\n }\n this._eatBits(12);\n if (this.encoding > 0) {\n this._lookBits(1);\n this._eatBits(1);\n }\n }\n }\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n if (code1 >> 1 === 1) {\n break;\n }\n this._eatBits(1);\n }\n this._eatBits(12);\n if (this.encoding > 0) {\n this._eatBits(1);\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n if (codingLine[0] > 0) {\n this.outputBits = codingLine[(this.codingPos = 0)];\n } else {\n this.outputBits = codingLine[(this.codingPos = 1)];\n }\n this.row++;\n }\n\n let c;\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xff;\n this.outputBits -= 8;\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits =\n codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n do {\n if (this.outputBits > bits) {\n c <<= bits;\n if (!(this.codingPos & 1)) {\n c |= 0xff >> (8 - bits);\n }\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n if (!(this.codingPos & 1)) {\n c |= 0xff >> (8 - this.outputBits);\n }\n bits -= this.outputBits;\n this.outputBits = 0;\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits =\n codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n if (this.black) {\n c ^= 0xff;\n }\n return c;\n },\n\n /**\n * @private\n */\n _addPixels(a1, blackPixels) {\n const codingLine = this.codingLine;\n let codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n info(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n if ((codingPos & 1) ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n this.codingPos = codingPos;\n },\n\n /**\n * @private\n */\n _addPixelsNeg(a1, blackPixels) {\n const codingLine = this.codingLine;\n let codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n info(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n if ((codingPos & 1) ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n info(\"invalid code\");\n this.err = true;\n a1 = 0;\n }\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n\n /**\n * This function returns the code found from the table.\n * The start and end parameters set the boundaries for searching the table.\n * The limit parameter is optional. Function returns an array with three\n * values. The first array element indicates whether a valid code is being\n * returned. The second array element is the actual code. The third array\n * element indicates whether EOF was reached.\n * @private\n */\n _findTableCode(start, end, table, limit) {\n const limitValue = limit || 0;\n for (let i = start; i <= end; ++i) {\n let code = this._lookBits(i);\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n if (i < end) {\n code <<= end - i;\n }\n if (!limitValue || code >= limitValue) {\n const p = table[code - limitValue];\n if (p[0] === i) {\n this._eatBits(i);\n return [true, p[1], true];\n }\n }\n }\n return [false, 0, false];\n },\n\n /**\n * @private\n */\n _getTwoDimCode() {\n let code = 0;\n let p;\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n if (p && p[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n const result = this._findTableCode(1, 7, twoDimTable);\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n info(\"Bad two dim code\");\n return ccittEOF;\n },\n\n /**\n * @private\n */\n _getWhiteCode() {\n let code = 0;\n let p;\n if (this.eoblock) {\n code = this._lookBits(12);\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 5 === 0) {\n p = whiteTable1[code];\n } else {\n p = whiteTable2[code >> 3];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n let result = this._findTableCode(1, 9, whiteTable2);\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n if (result[0]) {\n return result[1];\n }\n }\n info(\"bad white code\");\n this._eatBits(1);\n return 1;\n },\n\n /**\n * @private\n */\n _getBlackCode() {\n let code, p;\n if (this.eoblock) {\n code = this._lookBits(13);\n if (code === ccittEOF) {\n return 1;\n }\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n let result = this._findTableCode(2, 6, blackTable3);\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n if (result[0]) {\n return result[1];\n }\n }\n info(\"bad black code\");\n this._eatBits(1);\n return 1;\n },\n\n /**\n * @private\n */\n _lookBits(n) {\n let c;\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n return (this.inputBuf << (n - this.inputBits)) & (0xffff >> (16 - n));\n }\n this.inputBuf = (this.inputBuf << 8) | c;\n this.inputBits += 8;\n }\n return (this.inputBuf >> (this.inputBits - n)) & (0xffff >> (16 - n));\n },\n\n /**\n * @private\n */\n _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n },\n };\n\n return CCITTFaxDecoder;\n})();\n\nexport { CCITTFaxDecoder };\n","/* Copyright 2014 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\nimport { assert, BaseException, warn } from \"../shared/util.js\";\nimport { readUint16 } from \"./core_utils.js\";\n\nclass JpegError extends BaseException {\n constructor(msg) {\n super(`JPEG error: ${msg}`);\n }\n}\n\nclass DNLMarkerError extends BaseException {\n constructor(message, scanLines) {\n super(message);\n this.scanLines = scanLines;\n }\n}\n\nclass EOIMarkerError extends BaseException {}\n\n/**\n * This code was forked from https://github.com/notmasteryet/jpgjs.\n * The original version was created by GitHub user notmasteryet.\n *\n * - The JPEG specification can be found in the ITU CCITT Recommendation T.81\n * (www.w3.org/Graphics/JPEG/itu-t81.pdf)\n * - The JFIF specification can be found in the JPEG File Interchange Format\n * (www.w3.org/Graphics/JPEG/jfif3.pdf)\n * - The Adobe Application-Specific JPEG markers in the\n * Supporting the DCT Filters in PostScript Level 2, Technical Note #5116\n * (partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf)\n */\n\nvar JpegImage = (function JpegImageClosure() {\n // prettier-ignore\n var dctZigZag = new Uint8Array([\n 0,\n 1, 8,\n 16, 9, 2,\n 3, 10, 17, 24,\n 32, 25, 18, 11, 4,\n 5, 12, 19, 26, 33, 40,\n 48, 41, 34, 27, 20, 13, 6,\n 7, 14, 21, 28, 35, 42, 49, 56,\n 57, 50, 43, 36, 29, 22, 15,\n 23, 30, 37, 44, 51, 58,\n 59, 52, 45, 38, 31,\n 39, 46, 53, 60,\n 61, 54, 47,\n 55, 62,\n 63\n ]);\n\n var dctCos1 = 4017; // cos(pi/16)\n var dctSin1 = 799; // sin(pi/16)\n var dctCos3 = 3406; // cos(3*pi/16)\n var dctSin3 = 2276; // sin(3*pi/16)\n var dctCos6 = 1567; // cos(6*pi/16)\n var dctSin6 = 3784; // sin(6*pi/16)\n var dctSqrt2 = 5793; // sqrt(2)\n var dctSqrt1d2 = 2896; // sqrt(2) / 2\n\n // eslint-disable-next-line no-shadow\n function JpegImage({ decodeTransform = null, colorTransform = -1 } = {}) {\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0,\n code = [],\n i,\n j,\n length = 16;\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n code.push({ children: [], index: 0 });\n var p = code[0],\n q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push((q = { children: [], index: 0 }));\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n // p here points to last code\n code.push((q = { children: [], index: 0 }));\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(\n data,\n offset,\n frame,\n components,\n resetInterval,\n spectralStart,\n spectralEnd,\n successivePrev,\n successive,\n parseDNLMarker = false\n ) {\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n\n const startOffset = offset;\n let bitsData = 0,\n bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return (bitsData >> bitsCount) & 1;\n }\n bitsData = data[offset++];\n if (bitsData === 0xff) {\n var nextByte = data[offset++];\n if (nextByte) {\n if (nextByte === /* DNL = */ 0xdc && parseDNLMarker) {\n offset += 2; // Skip marker length.\n\n const scanLines = readUint16(data, offset);\n offset += 2;\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError(\n \"Found DNL marker (0xFFDC) while parsing scan data\",\n scanLines\n );\n }\n } else if (nextByte === /* EOI = */ 0xd9) {\n if (parseDNLMarker) {\n // NOTE: only 8-bit JPEG images are supported in this decoder.\n const maybeScanLines = blockRow * (frame.precision === 8 ? 8 : 0);\n // Heuristic to attempt to handle corrupt JPEG images with too\n // large `scanLines` parameter, by falling back to the currently\n // parsed number of scanLines when it's at least (approximately)\n // one order of magnitude smaller than expected (fixes\n // issue10880.pdf and issue10989.pdf).\n if (\n maybeScanLines > 0 &&\n Math.round(frame.scanLines / maybeScanLines) >= 10\n ) {\n throw new DNLMarkerError(\n \"Found EOI marker (0xFFD9) while parsing scan data, \" +\n \"possibly caused by incorrect `scanLines` parameter\",\n maybeScanLines\n );\n }\n }\n throw new EOIMarkerError(\n \"Found EOI marker (0xFFD9) while parsing scan data\"\n );\n }\n throw new JpegError(\n `unexpected marker ${((bitsData << 8) | nextByte).toString(16)}`\n );\n }\n // unstuff 0\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n while (true) {\n node = node[readBit()];\n switch (typeof node) {\n case \"number\":\n return node;\n case \"object\":\n continue;\n }\n throw new JpegError(\"invalid huffman sequence\");\n }\n }\n\n function receive(length) {\n var n = 0;\n while (length > 0) {\n n = (n << 1) | readBit();\n length--;\n }\n return n;\n }\n\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n var n = receive(length);\n if (n >= 1 << (length - 1)) {\n return n;\n }\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[blockOffset] = component.pred += diff;\n var k = 1;\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k += 16;\n continue;\n }\n k += r;\n var z = dctZigZag[k];\n component.blockData[blockOffset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[blockOffset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, blockOffset) {\n component.blockData[blockOffset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n function decodeACFirst(component, blockOffset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k = spectralStart,\n e = spectralEnd;\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k += 16;\n continue;\n }\n k += r;\n var z = dctZigZag[k];\n component.blockData[blockOffset + z] =\n receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n function decodeACSuccessive(component, blockOffset) {\n var k = spectralStart;\n var e = spectralEnd;\n var r = 0;\n var s;\n var rs;\n while (k <= e) {\n const offsetZ = blockOffset + dctZigZag[k];\n const sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0: // initial state\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError(\"invalid ACn encoding\");\n }\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1: // skipping r zero items\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n break;\n case 3: // set value for a zero item\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] =\n successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4: // eob\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n break;\n }\n k++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n\n let blockRow = 0;\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = (mcu / mcusPerLine) | 0;\n var mcuCol = mcu % mcusPerLine;\n blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n const blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n function decodeBlock(component, decode, mcu) {\n blockRow = (mcu / component.blocksPerLine) | 0;\n var blockCol = mcu % component.blocksPerLine;\n const blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0,\n fileMarker;\n var mcuExpected;\n if (componentsLength === 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n\n var h, v;\n while (mcu <= mcuExpected) {\n // reset interval stuff\n var mcuToRead = resetInterval\n ? Math.min(mcuExpected - mcu, resetInterval)\n : mcuExpected;\n\n // The `mcuToRead === 0` case should only occur when all of the expected\n // MCU data has been already parsed, i.e. when `mcu === mcuExpected`, but\n // some corrupt JPEG images contain more data than intended and we thus\n // want to skip over any extra RSTx markers below (fixes issue11794.pdf).\n if (mcuToRead > 0) {\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n }\n }\n }\n\n // find marker\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n if (!fileMarker) {\n break; // Reached the end of the image data without finding any marker.\n }\n if (fileMarker.invalid) {\n // Some bad images seem to pad Scan blocks with e.g. zero bytes, skip\n // past those to attempt to find a valid marker (fixes issue4090.pdf).\n const partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n warn(\n `decodeScan - ${partialMsg} MCU data, current marker is: ${fileMarker.invalid}`\n );\n offset = fileMarker.offset;\n }\n if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n // RSTx\n offset += 2;\n } else {\n break;\n }\n }\n\n return offset - startOffset;\n }\n\n // A port of poppler's IDCT method which in turn is taken from:\n // Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz,\n // 'Practical Fast 1-D DCT Algorithms with 11 Multiplications',\n // IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989,\n // 988-991.\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable,\n blockData = component.blockData;\n var v0, v1, v2, v3, v4, v5, v6, v7;\n var p0, p1, p2, p3, p4, p5, p6, p7;\n var t;\n\n if (!qt) {\n throw new JpegError(\"missing required Quantization Table.\");\n }\n\n // inverse DCT on rows\n for (var row = 0; row < 64; row += 8) {\n // gather block data\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n\n // dequant p0\n p0 *= qt[row];\n\n // check for all-zero AC coefficients\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = (dctSqrt2 * p0 + 512) >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n // dequant p1 ... p7\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n\n // stage 4\n v0 = (dctSqrt2 * p0 + 128) >> 8;\n v1 = (dctSqrt2 * p4 + 128) >> 8;\n v2 = p2;\n v3 = p6;\n v4 = (dctSqrt1d2 * (p1 - p7) + 128) >> 8;\n v7 = (dctSqrt1d2 * (p1 + p7) + 128) >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n\n // stage 3\n v0 = (v0 + v1 + 1) >> 1;\n v1 = v0 - v1;\n t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8;\n v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8;\n v3 = t;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = v4 - v6;\n v7 = (v7 + v5 + 1) >> 1;\n v5 = v7 - v5;\n\n // stage 2\n v0 = (v0 + v3 + 1) >> 1;\n v3 = v0 - v3;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = v1 - v2;\n t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n v7 = t;\n t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n\n // inverse DCT on columns\n for (var col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n\n // check for all-zero AC coefficients\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = (dctSqrt2 * p0 + 8192) >> 14;\n // Convert to 8-bit.\n if (t < -2040) {\n t = 0;\n } else if (t >= 2024) {\n t = 255;\n } else {\n t = (t + 2056) >> 4;\n }\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n\n // stage 4\n v0 = (dctSqrt2 * p0 + 2048) >> 12;\n v1 = (dctSqrt2 * p4 + 2048) >> 12;\n v2 = p2;\n v3 = p6;\n v4 = (dctSqrt1d2 * (p1 - p7) + 2048) >> 12;\n v7 = (dctSqrt1d2 * (p1 + p7) + 2048) >> 12;\n v5 = p3;\n v6 = p5;\n\n // stage 3\n // Shift v0 by 128.5 << 5 here, so we don't need to shift p0...p7 when\n // converting to UInt8 range later.\n v0 = ((v0 + v1 + 1) >> 1) + 4112;\n v1 = v0 - v1;\n t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12;\n v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12;\n v3 = t;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = v4 - v6;\n v7 = (v7 + v5 + 1) >> 1;\n v5 = v7 - v5;\n\n // stage 2\n v0 = (v0 + v3 + 1) >> 1;\n v3 = v0 - v3;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = v1 - v2;\n t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n v7 = t;\n t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n\n // Convert to 8-bit integers.\n if (p0 < 16) {\n p0 = 0;\n } else if (p0 >= 4080) {\n p0 = 255;\n } else {\n p0 >>= 4;\n }\n if (p1 < 16) {\n p1 = 0;\n } else if (p1 >= 4080) {\n p1 = 255;\n } else {\n p1 >>= 4;\n }\n if (p2 < 16) {\n p2 = 0;\n } else if (p2 >= 4080) {\n p2 = 255;\n } else {\n p2 >>= 4;\n }\n if (p3 < 16) {\n p3 = 0;\n } else if (p3 >= 4080) {\n p3 = 255;\n } else {\n p3 >>= 4;\n }\n if (p4 < 16) {\n p4 = 0;\n } else if (p4 >= 4080) {\n p4 = 255;\n } else {\n p4 >>= 4;\n }\n if (p5 < 16) {\n p5 = 0;\n } else if (p5 >= 4080) {\n p5 = 255;\n } else {\n p5 >>= 4;\n }\n if (p6 < 16) {\n p6 = 0;\n } else if (p6 >= 4080) {\n p6 = 255;\n } else {\n p6 >>= 4;\n }\n if (p7 < 16) {\n p7 = 0;\n } else if (p7 >= 4080) {\n p7 = 255;\n } else {\n p7 >>= 4;\n }\n\n // store block data\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n }\n\n function buildComponentData(frame, component) {\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var computationBuffer = new Int16Array(64);\n\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n return component.blockData;\n }\n\n function findNextFileMarker(data, currentPos, startPos = currentPos) {\n const maxPos = data.length - 1;\n var newPos = startPos < currentPos ? startPos : currentPos;\n\n if (currentPos >= maxPos) {\n return null; // Don't attempt to read non-existent data and just return.\n }\n var currentMarker = readUint16(data, currentPos);\n if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos,\n };\n }\n var newMarker = readUint16(data, newPos);\n while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n if (++newPos >= maxPos) {\n return null; // Don't attempt to read non-existent data and just return.\n }\n newMarker = readUint16(data, newPos);\n }\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos,\n };\n }\n\n JpegImage.prototype = {\n parse(data, { dnlScanLines = null } = {}) {\n function readDataBlock() {\n const length = readUint16(data, offset);\n offset += 2;\n let endOffset = offset + length - 2;\n\n var fileMarker = findNextFileMarker(data, endOffset, offset);\n if (fileMarker && fileMarker.invalid) {\n warn(\n \"readDataBlock - incorrect length, current marker is: \" +\n fileMarker.invalid\n );\n endOffset = fileMarker.offset;\n }\n\n var array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(\n (Math.ceil(frame.samplesPerLine / 8) * component.h) / frame.maxH\n );\n var blocksPerColumn = Math.ceil(\n (Math.ceil(frame.scanLines / 8) * component.v) / frame.maxV\n );\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n\n var blocksBufferSize =\n 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0;\n var jfif = null;\n var adobe = null;\n var frame, resetInterval;\n let numSOSMarkers = 0;\n var quantizationTables = [];\n var huffmanTablesAC = [],\n huffmanTablesDC = [];\n\n let fileMarker = readUint16(data, offset);\n offset += 2;\n if (fileMarker !== /* SOI (Start of Image) = */ 0xffd8) {\n throw new JpegError(\"SOI not found\");\n }\n fileMarker = readUint16(data, offset);\n offset += 2;\n\n markerLoop: while (fileMarker !== /* EOI (End of Image) = */ 0xffd9) {\n var i, j, l;\n switch (fileMarker) {\n case 0xffe0: // APP0 (Application Specific)\n case 0xffe1: // APP1\n case 0xffe2: // APP2\n case 0xffe3: // APP3\n case 0xffe4: // APP4\n case 0xffe5: // APP5\n case 0xffe6: // APP6\n case 0xffe7: // APP7\n case 0xffe8: // APP8\n case 0xffe9: // APP9\n case 0xffea: // APP10\n case 0xffeb: // APP11\n case 0xffec: // APP12\n case 0xffed: // APP13\n case 0xffee: // APP14\n case 0xffef: // APP15\n case 0xfffe: // COM (Comment)\n var appData = readDataBlock();\n\n if (fileMarker === 0xffe0) {\n // 'JFIF\\x00'\n if (\n appData[0] === 0x4a &&\n appData[1] === 0x46 &&\n appData[2] === 0x49 &&\n appData[3] === 0x46 &&\n appData[4] === 0\n ) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: (appData[8] << 8) | appData[9],\n yDensity: (appData[10] << 8) | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(\n 14,\n 14 + 3 * appData[12] * appData[13]\n ),\n };\n }\n }\n // TODO APP1 - Exif\n if (fileMarker === 0xffee) {\n // 'Adobe'\n if (\n appData[0] === 0x41 &&\n appData[1] === 0x64 &&\n appData[2] === 0x6f &&\n appData[3] === 0x62 &&\n appData[4] === 0x65\n ) {\n adobe = {\n version: (appData[5] << 8) | appData[6],\n flags0: (appData[7] << 8) | appData[8],\n flags1: (appData[9] << 8) | appData[10],\n transformCode: appData[11],\n };\n }\n }\n break;\n\n case 0xffdb: // DQT (Define Quantization Tables)\n const quantizationTablesLength = readUint16(data, offset);\n offset += 2;\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n var z;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Uint16Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n // 8 bit values\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n // 16 bit values\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = readUint16(data, offset);\n offset += 2;\n }\n } else {\n throw new JpegError(\"DQT - invalid table spec\");\n }\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n\n case 0xffc0: // SOF0 (Start of Frame, Baseline DCT)\n case 0xffc1: // SOF1 (Start of Frame, Extended DCT)\n case 0xffc2: // SOF2 (Start of Frame, Progressive DCT)\n if (frame) {\n throw new JpegError(\"Only single frame JPEGs supported\");\n }\n offset += 2; // Skip marker length.\n\n frame = {};\n frame.extended = fileMarker === 0xffc1;\n frame.progressive = fileMarker === 0xffc2;\n frame.precision = data[offset++];\n const sofScanLines = readUint16(data, offset);\n offset += 2;\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = readUint16(data, offset);\n offset += 2;\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++],\n componentId;\n var maxH = 0,\n maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n if (maxH < h) {\n maxH = h;\n }\n if (maxV < v) {\n maxV = v;\n }\n var qId = data[offset + 2];\n l = frame.components.push({\n h,\n v,\n quantizationId: qId,\n quantizationTable: null, // See comment below.\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xffc4: // DHT (Define Huffman Tables)\n const huffmanLength = readUint16(data, offset);\n offset += 2;\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n i += 17 + codeLengthSum;\n\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[\n huffmanTableSpec & 15\n ] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n break;\n\n case 0xffdd: // DRI (Define Restart Interval)\n offset += 2; // Skip marker length.\n\n resetInterval = readUint16(data, offset);\n offset += 2;\n break;\n\n case 0xffda: // SOS (Start of Scan)\n // A DNL marker (0xFFDC), if it exists, is only allowed at the end\n // of the first scan segment and may only occur once in an image.\n // Furthermore, to prevent an infinite loop, do *not* attempt to\n // parse DNL markers during re-parsing of the JPEG scan data.\n const parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n\n offset += 2; // Skip marker length.\n\n var selectorsCount = data[offset++];\n var components = [],\n component;\n for (i = 0; i < selectorsCount; i++) {\n const index = data[offset++];\n var componentIndex = frame.componentIds[index];\n component = frame.components[componentIndex];\n component.index = index;\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n try {\n var processed = decodeScan(\n data,\n offset,\n frame,\n components,\n resetInterval,\n spectralStart,\n spectralEnd,\n successiveApproximation >> 4,\n successiveApproximation & 15,\n parseDNLMarker\n );\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n warn(`${ex.message} -- attempting to re-parse the JPEG image.`);\n return this.parse(data, { dnlScanLines: ex.scanLines });\n } else if (ex instanceof EOIMarkerError) {\n warn(`${ex.message} -- ignoring the rest of the image data.`);\n break markerLoop;\n }\n throw ex;\n }\n break;\n\n case 0xffdc: // DNL (Define Number of Lines)\n // Ignore the marker, since it's being handled in `decodeScan`.\n offset += 4;\n break;\n\n case 0xffff: // Fill bytes\n if (data[offset] !== 0xff) {\n // Avoid skipping a valid marker.\n offset--;\n }\n break;\n\n default:\n // Could be incorrect encoding -- the last 0xFF byte of the previous\n // block could have been eaten by the encoder, hence we fallback to\n // `startPos = offset - 3` when looking for the next valid marker.\n const nextFileMarker = findNextFileMarker(\n data,\n /* currentPos = */ offset - 2,\n /* startPos = */ offset - 3\n );\n if (nextFileMarker && nextFileMarker.invalid) {\n warn(\n \"JpegImage.parse - unexpected data, current marker is: \" +\n nextFileMarker.invalid\n );\n offset = nextFileMarker.offset;\n break;\n }\n if (offset >= data.length - 1) {\n warn(\n \"JpegImage.parse - reached the end of the image data \" +\n \"without finding an EOI marker (0xFFD9).\"\n );\n break markerLoop;\n }\n throw new JpegError(\n \"JpegImage.parse - unknown marker: \" + fileMarker.toString(16)\n );\n }\n fileMarker = readUint16(data, offset);\n offset += 2;\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n\n // Prevent errors when DQT markers are placed after SOF{n} markers,\n // by assigning the `quantizationTable` entry after the entire image\n // has been parsed (fixes issue7406.pdf).\n var quantizationTable = quantizationTables[component.quantizationId];\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n\n this.components.push({\n index: component.index,\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn,\n });\n }\n this.numComponents = this.components.length;\n return undefined;\n },\n\n _getLinearizedBlockData(width, height, isSourcePDF = false) {\n var scaleX = this.width / width,\n scaleY = this.height / height;\n\n var component, componentScaleX, componentScaleY, blocksPerScanline;\n var x, y, i, j, k;\n var index;\n var offset = 0;\n var output;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8ClampedArray(dataLength);\n var xScaleBlockOffset = new Uint32Array(width);\n var mask3LSB = 0xfffffff8; // used to clear the 3 LSBs\n let lastComponentScaleX;\n\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = (component.blocksPerLine + 1) << 3;\n // Precalculate the `xScaleBlockOffset`. Since it doesn't depend on the\n // component data, that's only necessary when `componentScaleX` changes.\n if (componentScaleX !== lastComponentScaleX) {\n for (x = 0; x < width; x++) {\n j = 0 | (x * componentScaleX);\n xScaleBlockOffset[x] = ((j & mask3LSB) << 3) | (j & 7);\n }\n lastComponentScaleX = componentScaleX;\n }\n // linearize the blocks of the component\n for (y = 0; y < height; y++) {\n j = 0 | (y * componentScaleY);\n index = (blocksPerScanline * (j & mask3LSB)) | ((j & 7) << 3);\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n\n // decodeTransform contains pairs of multiplier (-256..256) and additive\n let transform = this._decodeTransform;\n\n // In PDF files, JPEG images with CMYK colour spaces are usually inverted\n // (this can be observed by extracting the raw image data).\n // Since the conversion algorithms (see below) were written primarily for\n // the PDF use-cases, attempting to use `JpegImage` to parse standalone\n // JPEG (CMYK) images may thus result in inverted images (see issue 9513).\n //\n // Unfortunately it's not (always) possible to tell, from the image data\n // alone, if it needs to be inverted. Thus in an attempt to provide better\n // out-of-box behaviour when `JpegImage` is used standalone, default to\n // inverting JPEG (CMYK) images if and only if the image data does *not*\n // come from a PDF file and no `decodeTransform` was passed by the user.\n if (!isSourcePDF && numComponents === 4 && !transform) {\n // prettier-ignore\n transform = new Int32Array([\n -256, 255, -256, 255, -256, 255, -256, 255]);\n }\n\n if (transform) {\n for (i = 0; i < dataLength; ) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = ((data[i] * transform[k]) >> 8) + transform[k + 1];\n }\n }\n }\n return data;\n },\n\n get _isColorConversionNeeded() {\n if (this.adobe) {\n // The adobe transform marker overrides any previous setting.\n return !!this.adobe.transformCode;\n }\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n // If the Adobe transform marker is not present and the image\n // dictionary has a 'ColorTransform' entry, explicitly set to `0`,\n // then the colours should *not* be transformed.\n return false;\n } else if (\n this.components[0].index === /* \"R\" = */ 0x52 &&\n this.components[1].index === /* \"G\" = */ 0x47 &&\n this.components[2].index === /* \"B\" = */ 0x42\n ) {\n // If the three components are indexed as RGB in ASCII\n // then the colours should *not* be transformed.\n return false;\n }\n return true;\n }\n // `this.numComponents !== 3`\n if (this._colorTransform === 1) {\n // If the Adobe transform marker is not present and the image\n // dictionary has a 'ColorTransform' entry, explicitly set to `1`,\n // then the colours should be transformed.\n return true;\n }\n return false;\n },\n\n _convertYccToRgb: function convertYccToRgb(data) {\n var Y, Cb, Cr;\n for (var i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n return data;\n },\n\n _convertYcckToRgb: function convertYcckToRgb(data) {\n var Y, Cb, Cr, k;\n var offset = 0;\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n\n data[offset++] =\n -122.67195406894 +\n Cb *\n (-6.60635669420364e-5 * Cb +\n 0.000437130475926232 * Cr -\n 5.4080610064599e-5 * Y +\n 0.00048449797120281 * k -\n 0.154362151871126) +\n Cr *\n (-0.000957964378445773 * Cr +\n 0.000817076911346625 * Y -\n 0.00477271405408747 * k +\n 1.53380253221734) +\n Y *\n (0.000961250184130688 * Y -\n 0.00266257332283933 * k +\n 0.48357088451265) +\n k * (-0.000336197177618394 * k + 0.484791561490776);\n\n data[offset++] =\n 107.268039397724 +\n Cb *\n (2.19927104525741e-5 * Cb -\n 0.000640992018297945 * Cr +\n 0.000659397001245577 * Y +\n 0.000426105652938837 * k -\n 0.176491792462875) +\n Cr *\n (-0.000778269941513683 * Cr +\n 0.00130872261408275 * Y +\n 0.000770482631801132 * k -\n 0.151051492775562) +\n Y *\n (0.00126935368114843 * Y -\n 0.00265090189010898 * k +\n 0.25802910206845) +\n k * (-0.000318913117588328 * k - 0.213742400323665);\n\n data[offset++] =\n -20.810012546947 +\n Cb *\n (-0.000570115196973677 * Cb -\n 2.63409051004589e-5 * Cr +\n 0.0020741088115012 * Y -\n 0.00288260236853442 * k +\n 0.814272968359295) +\n Cr *\n (-1.53496057440975e-5 * Cr -\n 0.000132689043961446 * Y +\n 0.000560833691242812 * k -\n 0.195152027534049) +\n Y *\n (0.00174418132927582 * Y -\n 0.00255243321439347 * k +\n 0.116935020465145) +\n k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n // Ensure that only the converted RGB data is returned.\n return data.subarray(0, offset);\n },\n\n _convertYcckToCmyk: function convertYcckToCmyk(data) {\n var Y, Cb, Cr;\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n // K in data[i + 3] is unchanged\n }\n return data;\n },\n\n _convertCmykToRgb: function convertCmykToRgb(data) {\n var c, m, y, k;\n var offset = 0;\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i];\n m = data[i + 1];\n y = data[i + 2];\n k = data[i + 3];\n\n data[offset++] =\n 255 +\n c *\n (-0.00006747147073602441 * c +\n 0.0008379262121013727 * m +\n 0.0002894718188643294 * y +\n 0.003264231057537806 * k -\n 1.1185611867203937) +\n m *\n (0.000026374107616089405 * m -\n 0.00008626949158638572 * y -\n 0.0002748769067499491 * k -\n 0.02155688794978967) +\n y *\n (-0.00003878099212869363 * y -\n 0.0003267808279485286 * k +\n 0.0686742238595345) -\n k * (0.0003361971776183937 * k + 0.7430659151342254);\n\n data[offset++] =\n 255 +\n c *\n (0.00013596372813588848 * c +\n 0.000924537132573585 * m +\n 0.00010567359618683593 * y +\n 0.0004791864687436512 * k -\n 0.3109689587515875) +\n m *\n (-0.00023545346108370344 * m +\n 0.0002702845253534714 * y +\n 0.0020200308977307156 * k -\n 0.7488052167015494) +\n y *\n (0.00006834815998235662 * y +\n 0.00015168452363460973 * k -\n 0.09751927774728933) -\n k * (0.00031891311758832814 * k + 0.7364883807733168);\n\n data[offset++] =\n 255 +\n c *\n (0.000013598650411385307 * c +\n 0.00012423956175490851 * m +\n 0.0004751985097583589 * y -\n 0.0000036729317476630422 * k -\n 0.05562186980264034) +\n m *\n (0.00016141380598724676 * m +\n 0.0009692239130725186 * y +\n 0.0007782692450036253 * k -\n 0.44015232367526463) +\n y *\n (5.068882914068769e-7 * y +\n 0.0017778369011375071 * k -\n 0.7591454649749609) -\n k * (0.0003435319965105553 * k + 0.7063770186160144);\n }\n // Ensure that only the converted RGB data is returned.\n return data.subarray(0, offset);\n },\n\n getData({ width, height, forceRGB = false, isSourcePDF = false }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n isSourcePDF === true,\n 'JpegImage.getData: Unexpected \"isSourcePDF\" value for PDF files.'\n );\n }\n if (this.numComponents > 4) {\n throw new JpegError(\"Unsupported color mode\");\n }\n // Type of data: Uint8ClampedArray(width * height * numComponents)\n var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n if (this.numComponents === 1 && forceRGB) {\n var dataLength = data.length;\n var rgbData = new Uint8ClampedArray(dataLength * 3);\n var offset = 0;\n for (var i = 0; i < dataLength; i++) {\n var grayColor = data[i];\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n }\n return rgbData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n return this._convertYcckToCmyk(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n return data;\n },\n };\n\n return JpegImage;\n})();\n\nexport { JpegImage };\n","/* Copyright 2012 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\nimport { BaseException, info, warn } from \"../shared/util.js\";\nimport { log2, readUint16, readUint32 } from \"./core_utils.js\";\nimport { ArithmeticDecoder } from \"./arithmetic_decoder.js\";\n\nclass JpxError extends BaseException {\n constructor(msg) {\n super(`JPX error: ${msg}`);\n }\n}\n\nvar JpxImage = (function JpxImageClosure() {\n // Table E.1\n var SubbandsGainLog2 = {\n LL: 0,\n LH: 1,\n HL: 1,\n HH: 2,\n };\n\n // eslint-disable-next-line no-shadow\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n var head = readUint16(data, 0);\n // No box header, immediate start of codestream (SOC)\n if (head === 0xff4f) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n var position = 0,\n length = data.length;\n while (position < length) {\n var headerSize = 8;\n var lbox = readUint32(data, position);\n var tbox = readUint32(data, position + 4);\n position += headerSize;\n if (lbox === 1) {\n // XLBox: read UInt64 according to spec.\n // JavaScript's int precision of 53 bit should be sufficient here.\n lbox =\n readUint32(data, position) * 4294967296 +\n readUint32(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n if (lbox < headerSize) {\n throw new JpxError(\"Invalid box field size\");\n }\n var dataLength = lbox - headerSize;\n var jumpDataLength = true;\n switch (tbox) {\n case 0x6a703268: // 'jp2h'\n jumpDataLength = false; // parsing child boxes\n break;\n case 0x636f6c72: // 'colr'\n // Colorspaces are not used, the CS from the PDF is used.\n var method = data[position];\n if (method === 1) {\n // enumerated colorspace\n var colorspace = readUint32(data, position + 3);\n switch (colorspace) {\n case 16: // this indicates a sRGB colorspace\n case 17: // this indicates a grayscale colorspace\n case 18: // this indicates a YUV colorspace\n break;\n default:\n warn(\"Unknown colorspace \" + colorspace);\n break;\n }\n } else if (method === 2) {\n info(\"ICC profile not supported\");\n }\n break;\n case 0x6a703263: // 'jp2c'\n this.parseCodestream(data, position, position + dataLength);\n break;\n case 0x6a502020: // 'jP\\024\\024'\n if (readUint32(data, position) !== 0x0d0a870a) {\n warn(\"Invalid JP2 signature\");\n }\n break;\n // The following header types are valid but currently not used:\n case 0x6a501a1a: // 'jP\\032\\032'\n case 0x66747970: // 'ftyp'\n case 0x72726571: // 'rreq'\n case 0x72657320: // 'res '\n case 0x69686472: // 'ihdr'\n break;\n default:\n var headerType = String.fromCharCode(\n (tbox >> 24) & 0xff,\n (tbox >> 16) & 0xff,\n (tbox >> 8) & 0xff,\n tbox & 0xff\n );\n warn(\"Unsupported header type \" + tbox + \" (\" + headerType + \")\");\n break;\n }\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n },\n parseImageProperties: function JpxImage_parseImageProperties(stream) {\n var newByte = stream.getByte();\n while (newByte >= 0) {\n var oldByte = newByte;\n newByte = stream.getByte();\n var code = (oldByte << 8) | newByte;\n // Image and tile size (SIZ)\n if (code === 0xff51) {\n stream.skip(4);\n var Xsiz = stream.getInt32() >>> 0; // Byte 4\n var Ysiz = stream.getInt32() >>> 0; // Byte 8\n var XOsiz = stream.getInt32() >>> 0; // Byte 12\n var YOsiz = stream.getInt32() >>> 0; // Byte 16\n stream.skip(16);\n var Csiz = stream.getUint16(); // Byte 36\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n // Results are always returned as `Uint8ClampedArray`s.\n this.bitsPerComponent = 8;\n return;\n }\n }\n throw new JpxError(\"No size marker found in JPX stream\");\n },\n parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n var context = {};\n var doNotRecover = false;\n try {\n var position = start;\n while (position + 1 < end) {\n var code = readUint16(data, position);\n position += 2;\n\n var length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n switch (code) {\n case 0xff4f: // Start of codestream (SOC)\n context.mainHeader = true;\n break;\n case 0xffd9: // End of codestream (EOC)\n break;\n case 0xff51: // Image and tile size (SIZ)\n length = readUint16(data, position);\n var siz = {};\n siz.Xsiz = readUint32(data, position + 4);\n siz.Ysiz = readUint32(data, position + 8);\n siz.XOsiz = readUint32(data, position + 12);\n siz.YOsiz = readUint32(data, position + 16);\n siz.XTsiz = readUint32(data, position + 20);\n siz.YTsiz = readUint32(data, position + 24);\n siz.XTOsiz = readUint32(data, position + 28);\n siz.YTOsiz = readUint32(data, position + 32);\n var componentsCount = readUint16(data, position + 36);\n siz.Csiz = componentsCount;\n var components = [];\n j = position + 38;\n for (var i = 0; i < componentsCount; i++) {\n var component = {\n precision: (data[j] & 0x7f) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2],\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n case 0xff5c: // Quantization default (QCD)\n length = readUint16(data, position);\n var qcd = {};\n j = position + 2;\n sqcd = data[j++];\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n while (j < length + position) {\n var spqcd = {};\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1];\n j += 2;\n }\n spqcds.push(spqcd);\n }\n qcd.SPqcds = spqcds;\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n break;\n case 0xff5d: // Quantization component (QCC)\n length = readUint16(data, position);\n var qcc = {};\n j = position + 2;\n var cqcc;\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = readUint16(data, j);\n j += 2;\n }\n sqcd = data[j++];\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n while (j < length + position) {\n spqcd = {};\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1];\n j += 2;\n }\n spqcds.push(spqcd);\n }\n qcc.SPqcds = spqcds;\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n break;\n case 0xff52: // Coding style default (COD)\n length = readUint16(data, position);\n var cod = {};\n j = position + 2;\n var scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = readUint16(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xf) + 2;\n cod.ycb = (data[j++] & 0xf) + 2;\n var blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n if (cod.entropyCoderWithCustomPrecincts) {\n var precinctsSizes = [];\n while (j < length + position) {\n var precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xf,\n PPy: precinctsSize >> 4,\n });\n }\n cod.precinctsSizes = precinctsSizes;\n }\n var unsupported = [];\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push(\"selectiveArithmeticCodingBypass\");\n }\n if (cod.resetContextProbabilities) {\n unsupported.push(\"resetContextProbabilities\");\n }\n if (cod.terminationOnEachCodingPass) {\n unsupported.push(\"terminationOnEachCodingPass\");\n }\n if (cod.verticallyStripe) {\n unsupported.push(\"verticallyStripe\");\n }\n if (cod.predictableTermination) {\n unsupported.push(\"predictableTermination\");\n }\n if (unsupported.length > 0) {\n doNotRecover = true;\n throw new Error(\n \"Unsupported COD options (\" + unsupported.join(\", \") + \")\"\n );\n }\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n break;\n case 0xff90: // Start of tile-part (SOT)\n length = readUint16(data, position);\n tile = {};\n tile.index = readUint16(data, position + 2);\n tile.length = readUint32(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n\n context.mainHeader = false;\n if (tile.partIndex === 0) {\n // reset component specific settings\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0); // clone of the global COC\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0); // clone of the global COC\n }\n context.currentTile = tile;\n break;\n case 0xff93: // Start of data (SOD)\n tile = context.currentTile;\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n // moving to the end of the data\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n case 0xff55: // Tile-part lengths, main header (TLM)\n case 0xff57: // Packet length, main header (PLM)\n case 0xff58: // Packet length, tile-part header (PLT)\n case 0xff64: // Comment (COM)\n length = readUint16(data, position);\n // skipping content\n break;\n case 0xff53: // Coding style component (COC)\n throw new Error(\n \"Codestream code 0xFF53 (COC) is not implemented\"\n );\n default:\n throw new Error(\"Unknown codestream code: \" + code.toString(16));\n }\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n warn(\"JPX: Trying to recover from: \" + e.message);\n }\n }\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n },\n };\n function calculateComponentDimensions(component, siz) {\n // Section B.2 Component mapping\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n }\n function calculateTileGrids(context, components) {\n var siz = context.SIZ;\n // Section B.3 Division into tile and tile-components\n var tile,\n tiles = [];\n var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n for (var q = 0; q < numYtiles; q++) {\n for (var p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n context.tiles = tiles;\n\n var componentsCount = siz.Csiz;\n for (var i = 0, ii = componentsCount; i < ii; i++) {\n var component = components[i];\n for (var j = 0, jj = tiles.length; j < jj; j++) {\n var tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n }\n function getBlocksDimensions(context, component, r) {\n var codOrCoc = component.codingStyleParameters;\n var result = {};\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n // calculate codeblock size as described in section B.7\n result.xcb_ =\n r > 0\n ? Math.min(codOrCoc.xcb, result.PPx - 1)\n : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ =\n r > 0\n ? Math.min(codOrCoc.ycb, result.PPy - 1)\n : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n }\n function buildPrecincts(context, resolution, dimensions) {\n // Section B.6 Division resolution to precincts\n var precinctWidth = 1 << dimensions.PPx;\n var precinctHeight = 1 << dimensions.PPy;\n // Jasper introduces codeblock groups for mapping each subband codeblocks\n // to precincts. Precinct partition divides a resolution according to width\n // and height parameters. The subband that belongs to the resolution level\n // has a different size than the level, unless it is the zero resolution.\n\n // From Jasper documentation: jpeg2000.pdf, section K: Tier-2 coding:\n // The precinct partitioning for a particular subband is derived from a\n // partitioning of its parent LL band (i.e., the LL band at the next higher\n // resolution level)... The LL band associated with each resolution level is\n // divided into precincts... Each of the resulting precinct regions is then\n // mapped into its child subbands (if any) at the next lower resolution\n // level. This is accomplished by using the coordinate transformation\n // (u, v) = (ceil(x/2), ceil(y/2)) where (x, y) and (u, v) are the\n // coordinates of a point in the LL band and child subband, respectively.\n var isZeroRes = resolution.resLevel === 0;\n var precinctWidthInSubband = 1 << (dimensions.PPx + (isZeroRes ? 0 : -1));\n var precinctHeightInSubband = 1 << (dimensions.PPy + (isZeroRes ? 0 : -1));\n var numprecinctswide =\n resolution.trx1 > resolution.trx0\n ? Math.ceil(resolution.trx1 / precinctWidth) -\n Math.floor(resolution.trx0 / precinctWidth)\n : 0;\n var numprecinctshigh =\n resolution.try1 > resolution.try0\n ? Math.ceil(resolution.try1 / precinctHeight) -\n Math.floor(resolution.try0 / precinctHeight)\n : 0;\n var numprecincts = numprecinctswide * numprecinctshigh;\n\n resolution.precinctParameters = {\n precinctWidth,\n precinctHeight,\n numprecinctswide,\n numprecinctshigh,\n numprecincts,\n precinctWidthInSubband,\n precinctHeightInSubband,\n };\n }\n function buildCodeblocks(context, subband, dimensions) {\n // Section B.7 Division sub-band into code-blocks\n var xcb_ = dimensions.xcb_;\n var ycb_ = dimensions.ycb_;\n var codeblockWidth = 1 << xcb_;\n var codeblockHeight = 1 << ycb_;\n var cbx0 = subband.tbx0 >> xcb_;\n var cby0 = subband.tby0 >> ycb_;\n var cbx1 = (subband.tbx1 + codeblockWidth - 1) >> xcb_;\n var cby1 = (subband.tby1 + codeblockHeight - 1) >> ycb_;\n var precinctParameters = subband.resolution.precinctParameters;\n var codeblocks = [];\n var precincts = [];\n var i, j, codeblock, precinctNumber;\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1),\n };\n\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n\n // Calculate precinct number for this codeblock, codeblock position\n // should be relative to its subband, use actual dimension and position\n // See comment about codeblock group width and height\n var pi = Math.floor(\n (codeblock.tbx0_ - subband.tbx0) /\n precinctParameters.precinctWidthInSubband\n );\n var pj = Math.floor(\n (codeblock.tby0_ - subband.tby0) /\n precinctParameters.precinctHeightInSubband\n );\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (\n codeblock.tbx1_ <= codeblock.tbx0_ ||\n codeblock.tby1_ <= codeblock.tby0_\n ) {\n continue;\n }\n codeblocks.push(codeblock);\n // building precinct for the sub-band\n var precinct = precincts[precinctNumber];\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j,\n };\n }\n codeblock.precinct = precinct;\n }\n }\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1,\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n }\n function createPacket(resolution, precinctNumber, layerNumber) {\n var precinctCodeblocks = [];\n // Section B.10.8 Order of info in packet\n var subbands = resolution.subbands;\n // sub-bands already ordered in 'LL', 'HL', 'LH', and 'HH' sequence\n for (var i = 0, ii = subbands.length; i < ii; i++) {\n var subband = subbands[i];\n var codeblocks = subband.codeblocks;\n for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n var codeblock = codeblocks[j];\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n precinctCodeblocks.push(codeblock);\n }\n }\n return {\n layerNumber,\n codeblocks: precinctCodeblocks,\n };\n }\n function LayerResolutionComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(\n maxDecompositionLevelsCount,\n tile.components[q].codingStyleParameters.decompositionLevelsCount\n );\n }\n\n var l = 0,\n r = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.1 Layer-resolution-component-position\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n for (; k < numprecincts; ) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n k = 0;\n }\n i = 0;\n }\n r = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n }\n function ResolutionLayerComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(\n maxDecompositionLevelsCount,\n tile.components[q].codingStyleParameters.decompositionLevelsCount\n );\n }\n\n var r = 0,\n l = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.2 Resolution-layer-component-position\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n for (; k < numprecincts; ) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n k = 0;\n }\n i = 0;\n }\n l = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n }\n function ResolutionPositionComponentLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var l, r, c, p;\n var maxDecompositionLevelsCount = 0;\n for (c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(\n maxDecompositionLevelsCount,\n component.codingStyleParameters.decompositionLevelsCount\n );\n }\n var maxNumPrecinctsInLevel = new Int32Array(\n maxDecompositionLevelsCount + 1\n );\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n var maxNumPrecincts = 0;\n for (c = 0; c < componentsCount; ++c) {\n var resolutions = tile.components[c].resolutions;\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(\n maxNumPrecincts,\n resolutions[r].precinctParameters.numprecincts\n );\n }\n }\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.3 Resolution-position-component-layer\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n const component = tile.components[c];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n if (p >= numprecincts) {\n continue;\n }\n for (; l < layersCount; ) {\n var packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n l = 0;\n }\n c = 0;\n }\n p = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n }\n function PositionComponentResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var precinctsIterationSizes = precinctsSizes;\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.4 Position-component-resolution-layer\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale =\n precinctsSizes.components[c].resolutions[r];\n var k = getPrecinctIndexIfExist(\n px,\n py,\n sizeInImageScale,\n precinctsIterationSizes,\n resolution\n );\n if (k === null) {\n continue;\n }\n for (; l < layersCount; ) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n l = 0;\n }\n r = 0;\n }\n c = 0;\n }\n px = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n }\n function ComponentPositionResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.5 Component-position-resolution-layer\n for (; c < componentsCount; ++c) {\n var component = tile.components[c];\n var precinctsIterationSizes = precinctsSizes.components[c];\n var decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n var k = getPrecinctIndexIfExist(\n px,\n py,\n sizeInImageScale,\n precinctsIterationSizes,\n resolution\n );\n if (k === null) {\n continue;\n }\n for (; l < layersCount; ) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n l = 0;\n }\n r = 0;\n }\n px = 0;\n }\n py = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n }\n function getPrecinctIndexIfExist(\n pxIndex,\n pyIndex,\n sizeInImageScale,\n precinctIterationSizes,\n resolution\n ) {\n var posX = pxIndex * precinctIterationSizes.minWidth;\n var posY = pyIndex * precinctIterationSizes.minHeight;\n if (\n posX % sizeInImageScale.width !== 0 ||\n posY % sizeInImageScale.height !== 0\n ) {\n return null;\n }\n var startPrecinctRowIndex =\n (posY / sizeInImageScale.width) *\n resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n }\n function getPrecinctSizesInImageScale(tile) {\n var componentsCount = tile.components.length;\n var minWidth = Number.MAX_VALUE;\n var minHeight = Number.MAX_VALUE;\n var maxNumWide = 0;\n var maxNumHigh = 0;\n var sizePerComponent = new Array(componentsCount);\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n var sizePerResolution = new Array(decompositionLevelsCount + 1);\n var minWidthCurrentComponent = Number.MAX_VALUE;\n var minHeightCurrentComponent = Number.MAX_VALUE;\n var maxNumWideCurrentComponent = 0;\n var maxNumHighCurrentComponent = 0;\n var scale = 1;\n for (var r = decompositionLevelsCount; r >= 0; --r) {\n var resolution = component.resolutions[r];\n var widthCurrentResolution =\n scale * resolution.precinctParameters.precinctWidth;\n var heightCurrentResolution =\n scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(\n minWidthCurrentComponent,\n widthCurrentResolution\n );\n minHeightCurrentComponent = Math.min(\n minHeightCurrentComponent,\n heightCurrentResolution\n );\n maxNumWideCurrentComponent = Math.max(\n maxNumWideCurrentComponent,\n resolution.precinctParameters.numprecinctswide\n );\n maxNumHighCurrentComponent = Math.max(\n maxNumHighCurrentComponent,\n resolution.precinctParameters.numprecinctshigh\n );\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution,\n };\n scale <<= 1;\n }\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent,\n };\n }\n return {\n components: sizePerComponent,\n minWidth,\n minHeight,\n maxNumWide,\n maxNumHigh,\n };\n }\n function buildPackets(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var componentsCount = siz.Csiz;\n // Creating resolutions and sub-bands for each component\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n // Section B.5 Resolution levels and sub-bands\n var resolutions = [];\n var subbands = [];\n for (var r = 0; r <= decompositionLevelsCount; r++) {\n var blocksDimensions = getBlocksDimensions(context, component, r);\n var resolution = {};\n var scale = 1 << (decompositionLevelsCount - r);\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n\n var subband;\n if (r === 0) {\n // one sub-band (LL) with last decomposition\n subband = {};\n subband.type = \"LL\";\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n var bscale = 1 << (decompositionLevelsCount - r + 1);\n var resolutionSubbands = [];\n // three sub-bands (HL, LH and HH) with rest of decompositions\n subband = {};\n subband.type = \"HL\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n subband = {};\n subband.type = \"LH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n subband = {};\n subband.type = \"HH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n resolution.subbands = resolutionSubbands;\n }\n }\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n // Generate the packets sequence\n var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(\n context\n );\n break;\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(\n context\n );\n break;\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(\n context\n );\n break;\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(\n context\n );\n break;\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(\n context\n );\n break;\n default:\n throw new JpxError(`Unsupported progression order ${progressionOrder}`);\n }\n }\n function parseTilePackets(context, data, offset, dataLength) {\n var position = 0;\n var buffer,\n bufferSize = 0,\n skipNextBit = false;\n function readBits(count) {\n while (bufferSize < count) {\n var b = data[offset + position];\n position++;\n if (skipNextBit) {\n buffer = (buffer << 7) | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = (buffer << 8) | b;\n bufferSize += 8;\n }\n if (b === 0xff) {\n skipNextBit = true;\n }\n }\n bufferSize -= count;\n return (buffer >>> bufferSize) & ((1 << count) - 1);\n }\n function skipMarkerIfEqual(value) {\n if (\n data[offset + position - 1] === 0xff &&\n data[offset + position] === value\n ) {\n skipBytes(1);\n return true;\n } else if (\n data[offset + position] === 0xff &&\n data[offset + position + 1] === value\n ) {\n skipBytes(2);\n return true;\n }\n return false;\n }\n function skipBytes(count) {\n position += count;\n }\n function alignToByte() {\n bufferSize = 0;\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n if (readBits(1) === 0) {\n return 2;\n }\n var value = readBits(2);\n if (value < 3) {\n return value + 3;\n }\n value = readBits(5);\n if (value < 31) {\n return value + 6;\n }\n value = readBits(7);\n return value + 37;\n }\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var sopMarkerUsed = context.COD.sopMarkerUsed;\n var ephMarkerUsed = context.COD.ephMarkerUsed;\n var packetsIterator = tile.packetsIterator;\n while (position < dataLength) {\n alignToByte();\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n // Skip also marker segment length and packet sequence ID\n skipBytes(4);\n }\n var packet = packetsIterator.nextPacket();\n if (!readBits(1)) {\n continue;\n }\n var layerNumber = packet.layerNumber;\n var queue = [],\n codeblock;\n for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n var precinct = codeblock.precinct;\n var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n var codeblockRow = codeblock.cby - precinct.cbyMin;\n var codeblockIncluded = false;\n var firstTimeInclusion = false;\n var valueReady;\n if (codeblock.included !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n // reading inclusion tree\n precinct = codeblock.precinct;\n var inclusionTree, zeroBitPlanesTree;\n if (precinct.inclusionTree !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n // building inclusion and zero bit-planes trees\n var width = precinct.cbxMax - precinct.cbxMin + 1;\n var height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n }\n\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n if (!codeblockIncluded) {\n continue;\n }\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n var codingpasses = readCodingpasses();\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n var codingpassesLog2 = log2(codingpasses);\n // rounding down log2\n var bits =\n (codingpasses < 1 << codingpassesLog2\n ? codingpassesLog2 - 1\n : codingpassesLog2) + codeblock.Lblock;\n var codedDataLength = readBits(bits);\n queue.push({\n codeblock,\n codingpasses,\n dataLength: codedDataLength,\n });\n }\n alignToByte();\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n while (queue.length > 0) {\n var packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n if (codeblock.data === undefined) {\n codeblock.data = [];\n }\n codeblock.data.push({\n data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses,\n });\n position += packetItem.dataLength;\n }\n }\n return position;\n }\n function copyCoefficients(\n coefficients,\n levelWidth,\n levelHeight,\n subband,\n delta,\n mb,\n reversible,\n segmentationSymbolUsed\n ) {\n var x0 = subband.tbx0;\n var y0 = subband.tby0;\n var width = subband.tbx1 - subband.tbx0;\n var codeblocks = subband.codeblocks;\n var right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n var bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n\n for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n var codeblock = codeblocks[i];\n var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n if (codeblock.data === undefined) {\n continue;\n }\n\n var bitModel, currentCodingpassType;\n bitModel = new BitModel(\n blockWidth,\n blockHeight,\n codeblock.subbandType,\n codeblock.zeroBitPlanes,\n mb\n );\n currentCodingpassType = 2; // first bit plane starts from cleanup\n\n // collect data\n var data = codeblock.data,\n totalLength = 0,\n codingpasses = 0;\n var j, jj, dataItem;\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n var encodedData = new Uint8Array(totalLength);\n var position = 0;\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n // decoding the item\n var decoder = new ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n case 2:\n bitModel.runCleanupPass();\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n break;\n }\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n var sign = bitModel.coefficentsSign;\n var magnitude = bitModel.coefficentsMagnitude;\n var bitsDecoded = bitModel.bitsDecoded;\n var magnitudeCorrection = reversible ? 0 : 0.5;\n var k, n, nb;\n position = 0;\n // Do the interleaving of Section F.3.3 here, so we do not need\n // to copy later. LL level is not interleaved, just copied.\n var interleave = subband.type !== \"LL\";\n for (j = 0; j < blockHeight; j++) {\n var row = (offset / width) | 0; // row in the non-interleaved subband\n var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n if (sign[position] !== 0) {\n n = -n;\n }\n nb = bitsDecoded[position];\n var pos = interleave ? levelOffset + (offset << 1) : offset;\n if (reversible && nb >= mb) {\n coefficients[pos] = n;\n } else {\n coefficients[pos] = n * (1 << (mb - nb));\n }\n }\n offset++;\n position++;\n }\n offset += width - blockWidth;\n }\n }\n }\n function transformTile(context, tile, c) {\n var component = tile.components[c];\n var codingStyleParameters = component.codingStyleParameters;\n var quantizationParameters = component.quantizationParameters;\n var decompositionLevelsCount =\n codingStyleParameters.decompositionLevelsCount;\n var spqcds = quantizationParameters.SPqcds;\n var scalarExpounded = quantizationParameters.scalarExpounded;\n var guardBits = quantizationParameters.guardBits;\n var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n var precision = context.components[c].precision;\n\n var reversible = codingStyleParameters.reversibleTransformation;\n var transform = reversible\n ? new ReversibleTransform()\n : new IrreversibleTransform();\n\n var subbandCoefficients = [];\n var b = 0;\n for (var i = 0; i <= decompositionLevelsCount; i++) {\n var resolution = component.resolutions[i];\n\n var width = resolution.trx1 - resolution.trx0;\n var height = resolution.try1 - resolution.try0;\n // Allocate space for the whole sublevel.\n var coefficients = new Float32Array(width * height);\n\n for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n var mu, epsilon;\n if (!scalarExpounded) {\n // formula E-5\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n var subband = resolution.subbands[j];\n var gainLog2 = SubbandsGainLog2[subband.type];\n\n // calculate quantization coefficient (Section E.1.1.1)\n var delta = reversible\n ? 1\n : 2 ** (precision + gainLog2 - epsilon) * (1 + mu / 2048);\n var mb = guardBits + epsilon - 1;\n\n // In the first resolution level, copyCoefficients will fill the\n // whole array with coefficients. In the succeeding passes,\n // copyCoefficients will consecutively fill in the values that belong\n // to the interleaved positions of the HL, LH, and HH coefficients.\n // The LL coefficients will then be interleaved in Transform.iterate().\n copyCoefficients(\n coefficients,\n width,\n height,\n subband,\n delta,\n mb,\n reversible,\n segmentationSymbolUsed\n );\n }\n subbandCoefficients.push({\n width,\n height,\n items: coefficients,\n });\n }\n\n var result = transform.calculate(\n subbandCoefficients,\n component.tcx0,\n component.tcy0\n );\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items,\n };\n }\n function transformComponents(context) {\n var siz = context.SIZ;\n var components = context.components;\n var componentsCount = siz.Csiz;\n var resultImages = [];\n for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n var tile = context.tiles[i];\n var transformedTiles = [];\n var c;\n for (c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n var tile0 = transformedTiles[0];\n var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n var result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out,\n };\n\n // Section G.2.2 Inverse multi component transform\n var shift, offset;\n var pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n var fourComponents = componentsCount === 4;\n var y0items = transformedTiles[0].items;\n var y1items = transformedTiles[1].items;\n var y2items = transformedTiles[2].items;\n var y3items = fourComponents ? transformedTiles[3].items : null;\n\n // HACK: The multiple component transform formulas below assume that\n // all components have the same precision. With this in mind, we\n // compute shift and offset only once.\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n\n var component0 = tile.components[0];\n var alpha01 = componentsCount - 3;\n jj = y0items.length;\n if (!component0.codingStyleParameters.reversibleTransformation) {\n // inverse irreversible multiple component transform\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = (y0 + 1.402 * y2) >> shift;\n out[pos++] = (y0 - 0.34413 * y1 - 0.71414 * y2) >> shift;\n out[pos++] = (y0 + 1.772 * y1) >> shift;\n }\n } else {\n // inverse reversible multiple component transform\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n const g = y0 - ((y2 + y1) >> 2);\n\n out[pos++] = (g + y2) >> shift;\n out[pos++] = g >> shift;\n out[pos++] = (g + y1) >> shift;\n }\n }\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = (y3items[j] + offset) >> shift;\n }\n }\n } else {\n // no multi-component transform\n for (c = 0; c < componentsCount; c++) {\n var items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = (items[j] + offset) >> shift;\n pos += componentsCount;\n }\n }\n }\n resultImages.push(result);\n }\n return resultImages;\n }\n function initializeTile(context, tileIndex) {\n var siz = context.SIZ;\n var componentsCount = siz.Csiz;\n var tile = context.tiles[tileIndex];\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var qcdOrQcc =\n context.currentTile.QCC[c] !== undefined\n ? context.currentTile.QCC[c]\n : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n var codOrCoc =\n context.currentTile.COC[c] !== undefined\n ? context.currentTile.COC[c]\n : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n }\n\n // Section B.10.2 Tag trees\n var TagTree = (function TagTreeClosure() {\n // eslint-disable-next-line no-shadow\n function TagTree(width, height) {\n var levelsLength = log2(Math.max(width, height)) + 1;\n this.levels = [];\n for (var i = 0; i < levelsLength; i++) {\n var level = {\n width,\n height,\n items: [],\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n TagTree.prototype = {\n reset: function TagTree_reset(i, j) {\n var currentLevel = 0,\n value = 0,\n level;\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n var index = i + j * level.width;\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n },\n incrementValue: function TagTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index]++;\n },\n nextLevel: function TagTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n currentLevel--;\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n },\n };\n return TagTree;\n })();\n\n var InclusionTree = (function InclusionTreeClosure() {\n // eslint-disable-next-line no-shadow\n function InclusionTree(width, height, defaultValue) {\n var levelsLength = log2(Math.max(width, height)) + 1;\n this.levels = [];\n for (var i = 0; i < levelsLength; i++) {\n var items = new Uint8Array(width * height);\n for (var j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n\n var level = {\n width,\n height,\n items,\n };\n this.levels.push(level);\n\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n InclusionTree.prototype = {\n reset: function InclusionTree_reset(i, j, stopValue) {\n var currentLevel = 0;\n while (currentLevel < this.levels.length) {\n var level = this.levels[currentLevel];\n var index = i + j * level.width;\n level.index = index;\n var value = level.items[index];\n\n if (value === 0xff) {\n break;\n }\n\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n // already know about this one, propagating the value to top levels\n this.propagateValues();\n return false;\n }\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n this.currentLevel = currentLevel - 1;\n return true;\n },\n incrementValue: function InclusionTree_incrementValue(stopValue) {\n var level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n },\n propagateValues: function InclusionTree_propagateValues() {\n var levelIndex = this.currentLevel;\n var level = this.levels[levelIndex];\n var currentValue = level.items[level.index];\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n },\n nextLevel: function InclusionTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n level.items[level.index] = 0xff;\n currentLevel--;\n if (currentLevel < 0) {\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n },\n };\n return InclusionTree;\n })();\n\n // Section D. Coefficient bit modeling\n var BitModel = (function BitModelClosure() {\n var UNIFORM_CONTEXT = 17;\n var RUNLENGTH_CONTEXT = 18;\n // Table D-1\n // The index is binary presentation: 0dddvvhh, ddd - sum of Di (0..4),\n // vv - sum of Vi (0..2), and hh - sum of Hi (0..2)\n // prettier-ignore\n var LLAndLHContextsLabel = new Uint8Array([\n 0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4,\n 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6,\n 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8\n ]);\n // prettier-ignore\n var HLContextLabel = new Uint8Array([\n 0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8,\n 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3,\n 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8\n ]);\n // prettier-ignore\n var HHContextLabel = new Uint8Array([\n 0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5,\n 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8,\n 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8\n ]);\n\n // eslint-disable-next-line no-shadow\n function BitModel(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n\n let contextLabelTable;\n if (subband === \"HH\") {\n contextLabelTable = HHContextLabel;\n } else if (subband === \"HL\") {\n contextLabelTable = HLContextLabel;\n } else {\n contextLabelTable = LLAndLHContextsLabel;\n }\n this.contextLabelTable = contextLabelTable;\n\n var coefficientCount = width * height;\n\n // coefficients outside the encoding region treated as insignificant\n // add border state cells for significanceState\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n let coefficentsMagnitude;\n if (mb > 14) {\n coefficentsMagnitude = new Uint32Array(coefficientCount);\n } else if (mb > 6) {\n coefficentsMagnitude = new Uint16Array(coefficientCount);\n } else {\n coefficentsMagnitude = new Uint8Array(coefficientCount);\n }\n this.coefficentsMagnitude = coefficentsMagnitude;\n this.processingFlags = new Uint8Array(coefficientCount);\n\n var bitsDecoded = new Uint8Array(coefficientCount);\n if (zeroBitPlanes !== 0) {\n for (var i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n this.bitsDecoded = bitsDecoded;\n\n this.reset();\n }\n\n BitModel.prototype = {\n setDecoder: function BitModel_setDecoder(decoder) {\n this.decoder = decoder;\n },\n reset: function BitModel_reset() {\n // We have 17 contexts that are accessed via context labels,\n // plus the uniform and runlength context.\n this.contexts = new Int8Array(19);\n\n // Contexts are packed into 1 byte:\n // highest 7 bits carry the index, lowest bit carries mps\n this.contexts[0] = (4 << 1) | 0;\n this.contexts[UNIFORM_CONTEXT] = (46 << 1) | 0;\n this.contexts[RUNLENGTH_CONTEXT] = (3 << 1) | 0;\n },\n setNeighborsSignificance: function BitModel_setNeighborsSignificance(\n row,\n column,\n index\n ) {\n var neighborsSignificance = this.neighborsSignificance;\n var width = this.width,\n height = this.height;\n var left = column > 0;\n var right = column + 1 < width;\n var i;\n\n if (row > 0) {\n i = index - width;\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n neighborsSignificance[index] |= 0x80;\n },\n runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var neighborsSignificance = this.neighborsSignificance;\n var processingFlags = this.processingFlags;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processedInverseMask = ~1;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n\n for (var i0 = 0; i0 < height; i0 += 4) {\n for (var j = 0; j < width; j++) {\n var index = i0 * width + j;\n for (var i1 = 0; i1 < 4; i1++, index += width) {\n var i = i0 + i1;\n if (i >= height) {\n break;\n }\n // clear processed flag first\n processingFlags[index] &= processedInverseMask;\n\n if (\n coefficentsMagnitude[index] ||\n !neighborsSignificance[index]\n ) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n if (decision) {\n var sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contribution, sign0, sign1, significance1;\n var contextLabel, decoded;\n\n // calculate horizontal contribution\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n var horizontalContribution = 3 * contribution;\n\n // calculate vertical contribution and combine with the horizontal\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n return decoded;\n },\n runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var neighborsSignificance = this.neighborsSignificance;\n var contexts = this.contexts;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var length = width * height;\n var width4 = width * 4;\n\n for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n for (var j = 0; j < width; j++) {\n for (var index = index0 + j; index < indexNext; index += width) {\n // significant but not those that have just become\n if (\n !coefficentsMagnitude[index] ||\n (processingFlags[index] & processedMask) !== 0\n ) {\n continue;\n }\n\n var contextLabel = 16;\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n // first refinement\n var significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n var bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] =\n (coefficentsMagnitude[index] << 1) | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n runCleanupPass: function BitModel_runCleanupPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var neighborsSignificance = this.neighborsSignificance;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var oneRowDown = width;\n var twoRowsDown = width * 2;\n var threeRowsDown = width * 3;\n var iNext;\n for (var i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n var indexBase = i0 * width;\n var checkAllEmpty = i0 + 3 < height;\n for (var j = 0; j < width; j++) {\n var index0 = indexBase + j;\n // using the property: labels[neighborsSignificance[index]] === 0\n // when neighborsSignificance[index] === 0\n var allEmpty =\n checkAllEmpty &&\n processingFlags[index0] === 0 &&\n processingFlags[index0 + oneRowDown] === 0 &&\n processingFlags[index0 + twoRowsDown] === 0 &&\n processingFlags[index0 + threeRowsDown] === 0 &&\n neighborsSignificance[index0] === 0 &&\n neighborsSignificance[index0 + oneRowDown] === 0 &&\n neighborsSignificance[index0 + twoRowsDown] === 0 &&\n neighborsSignificance[index0 + threeRowsDown] === 0;\n var i1 = 0,\n index = index0;\n var i = i0,\n sign;\n if (allEmpty) {\n var hasSignificantCoefficent = decoder.readBit(\n contexts,\n RUNLENGTH_CONTEXT\n );\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue; // next column\n }\n i1 =\n (decoder.readBit(contexts, UNIFORM_CONTEXT) << 1) |\n decoder.readBit(contexts, UNIFORM_CONTEXT);\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n\n index = index0;\n for (var i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (\n coefficentsMagnitude[index] ||\n (processingFlags[index] & processedMask) !== 0\n ) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n bitsDecoded[index]++;\n }\n }\n }\n },\n checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n var decoder = this.decoder;\n var contexts = this.contexts;\n var symbol =\n (decoder.readBit(contexts, UNIFORM_CONTEXT) << 3) |\n (decoder.readBit(contexts, UNIFORM_CONTEXT) << 2) |\n (decoder.readBit(contexts, UNIFORM_CONTEXT) << 1) |\n decoder.readBit(contexts, UNIFORM_CONTEXT);\n if (symbol !== 0xa) {\n throw new JpxError(\"Invalid segmentation symbol\");\n }\n },\n };\n\n return BitModel;\n })();\n\n // Section F, Discrete wavelet transformation\n var Transform = (function TransformClosure() {\n // eslint-disable-next-line no-shadow\n function Transform() {}\n\n Transform.prototype.calculate = function transformCalculate(\n subbands,\n u0,\n v0\n ) {\n var ll = subbands[0];\n for (var i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n return ll;\n };\n Transform.prototype.extend = function extend(buffer, offset, size) {\n // Section F.3.7 extending... using max extension of 4\n var i1 = offset - 1,\n j1 = offset + 1;\n var i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n };\n Transform.prototype.iterate = function Transform_iterate(\n ll,\n hl_lh_hh,\n u0,\n v0\n ) {\n var llWidth = ll.width,\n llHeight = ll.height,\n llItems = ll.items;\n var width = hl_lh_hh.width;\n var height = hl_lh_hh.height;\n var items = hl_lh_hh.items;\n var i, j, k, l, u, v;\n\n // Interleave LL according to Section F.3.3\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n // The LL band is not needed anymore.\n llItems = ll.items = null;\n\n var bufferPadding = 4;\n var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n // Section F.3.4 HOR_SR\n if (width === 1) {\n // if width = 1, when u0 even keep items as is, when odd divide by 2\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n\n items.set(\n rowBuffer.subarray(bufferPadding, bufferPadding + width),\n k\n );\n }\n }\n\n // Accesses to the items array can take long, because it may not fit into\n // CPU cache and has to be fetched from main memory. Since subsequent\n // accesses to the items array are not local when reading columns, we\n // have a cache miss every time. To reduce cache misses, get up to\n // 'numBuffers' items at a time and store them into the individual\n // buffers. The colBuffers should be small enough to fit into CPU cache.\n var numBuffers = 16;\n var colBuffers = [];\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n var b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n\n // Section F.3.5 VER_SR\n if (height === 1) {\n // if height = 1, when v0 even keep items as is, when odd divide by 2\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n // if we ran out of buffers, copy several image columns at once\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n var buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n // If this is last buffer in this group of buffers, flush all buffers.\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return {\n width,\n height,\n items,\n };\n };\n return Transform;\n })();\n\n // Section 3.8.2 Irreversible 9-7 filter\n var IrreversibleTransform = (function IrreversibleTransformClosure() {\n // eslint-disable-next-line no-shadow\n function IrreversibleTransform() {\n Transform.call(this);\n }\n\n IrreversibleTransform.prototype = Object.create(Transform.prototype);\n IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(\n x,\n offset,\n length\n ) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n, current, next;\n\n var alpha = -1.586134342059924;\n var beta = -0.052980118572961;\n var gamma = 0.882911075530934;\n var delta = 0.443506852043971;\n var K = 1.230174104914001;\n var K_ = 1 / K;\n\n // step 1 is combined with step 3\n\n // step 2\n j = offset - 3;\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n // step 1 & 3\n j = offset - 2;\n current = delta * x[j - 1];\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n // step 4\n j = offset - 1;\n current = gamma * x[j - 1];\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n // step 5\n j = offset;\n current = beta * x[j - 1];\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n // step 6\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n };\n\n return IrreversibleTransform;\n })();\n\n // Section 3.8.1 Reversible 5-3 filter\n var ReversibleTransform = (function ReversibleTransformClosure() {\n // eslint-disable-next-line no-shadow\n function ReversibleTransform() {\n Transform.call(this);\n }\n\n ReversibleTransform.prototype = Object.create(Transform.prototype);\n ReversibleTransform.prototype.filter = function reversibleTransformFilter(\n x,\n offset,\n length\n ) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= (x[j - 1] + x[j + 1] + 2) >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += (x[j - 1] + x[j + 1]) >> 1;\n }\n };\n\n return ReversibleTransform;\n })();\n\n return JpxImage;\n})();\n\nexport { JpxImage };\n"],"sourceRoot":""}