{"version":3,"sources":["webpack://ZXing/webpack/universalModuleDefinition","webpack://ZXing/webpack/bootstrap","webpack://ZXing/./src/core/NotFoundException.ts","webpack://ZXing/./src/core/IllegalArgumentException.ts","webpack://ZXing/./src/core/FormatException.ts","webpack://ZXing/./src/core/BarcodeFormat.ts","webpack://ZXing/./src/core/ResultPoint.ts","webpack://ZXing/./src/core/util/StringBuilder.ts","webpack://ZXing/./src/core/util/System.ts","webpack://ZXing/./src/core/Exception.ts","webpack://ZXing/./src/core/DecodeHintType.ts","webpack://ZXing/./src/core/Result.ts","webpack://ZXing/./src/core/common/detector/MathUtils.ts","webpack://ZXing/./src/core/ChecksumException.ts","webpack://ZXing/./src/core/common/BitMatrix.ts","webpack://ZXing/./src/core/util/Integer.ts","webpack://ZXing/./src/core/ResultMetadataType.ts","webpack://ZXing/./src/core/oned/OneDReader.ts","webpack://ZXing/./src/core/IllegalStateException.ts","webpack://ZXing/./src/browser/BrowserCodeReader.ts","webpack://ZXing/./src/core/common/BitArray.ts","webpack://ZXing/./src/core/util/Arrays.ts","webpack://ZXing/./src/core/common/reedsolomon/GenericGF.ts","webpack://ZXing/./src/core/pdf417/PDF417Common.ts","webpack://ZXing/./src/core/common/CharacterSetECI.ts","webpack://ZXing/./src/core/util/StringEncoding.ts","webpack://ZXing/./src/core/InvertedLuminanceSource.ts","webpack://ZXing/./src/core/LuminanceSource.ts","webpack://ZXing/./src/core/common/DecoderResult.ts","webpack://ZXing/./src/core/common/reedsolomon/ReedSolomonDecoder.ts","webpack://ZXing/./src/core/common/StringUtils.ts","webpack://ZXing/./src/core/common/reedsolomon/GenericGFPoly.ts","webpack://ZXing/./src/core/common/DetectorResult.ts","webpack://ZXing/./src/core/common/GridSamplerInstance.ts","webpack://ZXing/./src/core/oned/AbstractUPCEANReader.ts","webpack://ZXing/./src/core/qrcode/decoder/ErrorCorrectionLevel.ts","webpack://ZXing/./src/core/EncodeHintType.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI01decoder.ts","webpack://ZXing/./src/core/ArgumentException.ts","webpack://ZXing/./src/core/IndexOutOfBoundsException.ts","webpack://ZXing/./src/core/UnsupportedOperationException.ts","webpack://ZXing/./src/core/aztec/AztecReader.ts","webpack://ZXing/./src/core/ArithmeticException.ts","webpack://ZXing/./src/core/common/detector/WhiteRectangleDetector.ts","webpack://ZXing/./src/core/common/PerspectiveTransform.ts","webpack://ZXing/./src/core/oned/MultiFormatOneDReader.ts","webpack://ZXing/./src/core/oned/rss/DataCharacter.ts","webpack://ZXing/./src/core/datamatrix/DataMatrixReader.ts","webpack://ZXing/./src/core/common/BitSource.ts","webpack://ZXing/./src/core/qrcode/QRCodeReader.ts","webpack://ZXing/./src/core/qrcode/decoder/Version.ts","webpack://ZXing/./src/core/util/Formatter.ts","webpack://ZXing/./src/core/qrcode/encoder/Encoder.ts","webpack://ZXing/./src/core/qrcode/encoder/QRCode.ts","webpack://ZXing/./src/core/WriterException.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/DecodedObject.ts","webpack://ZXing/./src/index.ts","webpack://ZXing/./src/core/BinaryBitmap.ts","webpack://ZXing/./src/core/common/HybridBinarizer.ts","webpack://ZXing/./src/core/common/GlobalHistogramBinarizer.ts","webpack://ZXing/./src/core/Binarizer.ts","webpack://ZXing/./src/browser/HTMLCanvasElementLuminanceSource.ts","webpack://ZXing/./src/browser/VideoInputDevice.ts","webpack://ZXing/./src/core/common/reedsolomon/AbstractGenericGF.ts","webpack://ZXing/./src/core/ReedSolomonException.ts","webpack://ZXing/./src/core/util/Float.ts","webpack://ZXing/./src/core/common/DefaultGridSampler.ts","webpack://ZXing/./src/core/common/GridSampler.ts","webpack://ZXing/./src/core/oned/Code39Reader.ts","webpack://ZXing/./src/core/oned/Code128Reader.ts","webpack://ZXing/./src/core/oned/rss/RSS14Reader.ts","webpack://ZXing/./src/core/oned/rss/AbstractRSSReader.ts","webpack://ZXing/./src/core/oned/rss/FinderPattern.ts","webpack://ZXing/./src/core/oned/rss/RSSUtils.ts","webpack://ZXing/./src/core/oned/ITFReader.ts","webpack://ZXing/./src/core/oned/EAN13Reader.ts","webpack://ZXing/./src/core/oned/UPCEANReader.ts","webpack://ZXing/./src/core/MultiFormatReader.ts","webpack://ZXing/./src/core/qrcode/decoder/FormatInformation.ts","webpack://ZXing/./src/core/qrcode/decoder/QRCodeDecoderMetaData.ts","webpack://ZXing/./src/core/qrcode/decoder/Mode.ts","webpack://ZXing/./src/core/pdf417/PDF417Reader.ts","webpack://ZXing/./src/core/pdf417/decoder/ec/ModulusPoly.ts","webpack://ZXing/./src/core/pdf417/decoder/BoundingBox.ts","webpack://ZXing/./src/core/pdf417/decoder/DetectionResultColumn.ts","webpack://ZXing/./src/core/pdf417/decoder/BarcodeValue.ts","webpack://ZXing/./src/core/ReaderException.ts","webpack://ZXing/./src/core/common/reedsolomon/ReedSolomonEncoder.ts","webpack://ZXing/./src/core/qrcode/encoder/MaskUtil.ts","webpack://ZXing/./src/core/qrcode/QRCodeWriter.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/GeneralAppIdDecoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AbstractExpandedDecoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI013x0xDecoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI01weightDecoder.ts","webpack://ZXing/./src/browser.ts","webpack://ZXing/./src/browser/BrowserAztecCodeReader.ts","webpack://ZXing/./node_modules/ts-custom-error/dist/custom-error.umd.js","webpack://ZXing/./src/core/ArrayIndexOutOfBoundsException.ts","webpack://ZXing/./src/core/aztec/decoder/Decoder.ts","webpack://ZXing/./src/core/aztec/detector/Detector.ts","webpack://ZXing/./src/core/aztec/AztecDetectorResult.ts","webpack://ZXing/./src/browser/BrowserBarcodeReader.ts","webpack://ZXing/./src/core/oned/rss/Pair.ts","webpack://ZXing/./src/core/oned/MultiFormatUPCEANReader.ts","webpack://ZXing/./src/core/oned/UPCEANExtensionSupport.ts","webpack://ZXing/./src/core/oned/UPCEANExtension5Support.ts","webpack://ZXing/./src/core/oned/UPCEANExtension2Support.ts","webpack://ZXing/./src/core/oned/EAN8Reader.ts","webpack://ZXing/./src/browser/BrowserDatamatrixCodeReader.ts","webpack://ZXing/./src/core/datamatrix/decoder/Decoder.ts","webpack://ZXing/./src/core/datamatrix/decoder/BitMatrixParser.ts","webpack://ZXing/./src/core/datamatrix/decoder/Version.ts","webpack://ZXing/./src/core/datamatrix/decoder/DataBlock.ts","webpack://ZXing/./src/core/datamatrix/decoder/DecodedBitStreamParser.ts","webpack://ZXing/./src/core/datamatrix/detector/Detector.ts","webpack://ZXing/./src/browser/BrowserMultiFormatReader.ts","webpack://ZXing/./src/core/qrcode/decoder/Decoder.ts","webpack://ZXing/./src/core/qrcode/decoder/BitMatrixParser.ts","webpack://ZXing/./src/core/qrcode/decoder/ECBlocks.ts","webpack://ZXing/./src/core/qrcode/decoder/ECB.ts","webpack://ZXing/./src/core/qrcode/decoder/DataMask.ts","webpack://ZXing/./src/core/qrcode/decoder/DataBlock.ts","webpack://ZXing/./src/core/qrcode/decoder/DecodedBitStreamParser.ts","webpack://ZXing/./src/core/qrcode/detector/Detector.ts","webpack://ZXing/./src/core/qrcode/detector/FinderPatternFinder.ts","webpack://ZXing/./src/core/qrcode/detector/FinderPattern.ts","webpack://ZXing/./src/core/qrcode/detector/FinderPatternInfo.ts","webpack://ZXing/./src/core/qrcode/detector/AlignmentPatternFinder.ts","webpack://ZXing/./src/core/qrcode/detector/AlignmentPattern.ts","webpack://ZXing/./src/core/pdf417/detector/Detector.ts","webpack://ZXing/./src/core/pdf417/detector/PDF417DetectorResult.ts","webpack://ZXing/./src/core/pdf417/decoder/PDF417ScanningDecoder.ts","webpack://ZXing/./src/core/pdf417/decoder/ec/ErrorCorrection.ts","webpack://ZXing/./src/core/pdf417/decoder/ec/ModulusGF.ts","webpack://ZXing/./src/core/pdf417/decoder/ec/ModulusBase.ts","webpack://ZXing/./src/core/pdf417/decoder/DetectionResultRowIndicatorColumn.ts","webpack://ZXing/./src/core/pdf417/decoder/BarcodeMetadata.ts","webpack://ZXing/./src/core/pdf417/decoder/DetectionResult.ts","webpack://ZXing/./src/core/pdf417/decoder/Codeword.ts","webpack://ZXing/./src/core/pdf417/decoder/PDF417CodewordDecoder.ts","webpack://ZXing/./src/core/pdf417/decoder/DecodedBitStreamParser.ts","webpack://ZXing/(webpack)/buildin/global.js","webpack://ZXing/./src/core/pdf417/PDF417ResultMetadata.ts","webpack://ZXing/./src/core/util/Long.ts","webpack://ZXing/./src/core/util/ByteArrayOutputStream.ts","webpack://ZXing/./src/core/util/OutputStream.ts","webpack://ZXing/./src/core/NullPointerException.ts","webpack://ZXing/./src/core/OutOfMemoryError.ts","webpack://ZXing/./src/browser/BrowserPDF417Reader.ts","webpack://ZXing/./src/browser/BrowserQRCodeReader.ts","webpack://ZXing/./src/browser/BrowserQRCodeSvgWriter.ts","webpack://ZXing/./src/core/qrcode/encoder/ByteMatrix.ts","webpack://ZXing/./src/core/qrcode/encoder/MatrixUtil.ts","webpack://ZXing/./src/core/qrcode/encoder/BlockPair.ts","webpack://ZXing/./src/core/MultiFormatWriter.ts","webpack://ZXing/./src/core/PlanarYUVLuminanceSource.ts","webpack://ZXing/./src/core/RGBLuminanceSource.ts","webpack://ZXing/./src/core/oned/rss/expanded/RSSExpandedReader.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AbstractExpandedDecoderComplement.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/DecodedChar.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/DecodedNumeric.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/DecodedInformation.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/FieldParser.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/BlockParsedResult.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI01AndOtherAIs.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AnyAIDecoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI013103decoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI01320xDecoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI01392xDecoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI01393xDecoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/decoders/AI013x0x1xDecoder.ts","webpack://ZXing/./src/core/oned/rss/expanded/ExpandedPair.ts","webpack://ZXing/./src/core/oned/rss/expanded/ExpandedRow.ts","webpack://ZXing/./src/core/oned/rss/expanded/BitArrayBuilder.ts"],"names":["root","factory","exports","module","define","amd","ZXing","window","installedModules","__webpack_require__","m","_super","Exception_1","NotFoundException","__extends","default","getNotFoundInstance","IllegalArgumentException","FormatException","getFormatInstance","BarcodeFormat","AZTEC","CODABAR","CODE_39","CODE_93","CODE_128","DATA_MATRIX","EAN_8","EAN_13","ITF","MAXICODE","PDF_417","QR_CODE","RSS_14","RSS_EXPANDED","UPC_A","UPC_E","UPC_EAN_EXTENSION","MathUtils_1","Float_1","ResultPoint","prototype","getX","this","x","getY","y","equals","other","otherPoint","hashCode","floatToIntBits","toString","orderBestPatterns","patterns","pointA","pointB","pointC","zeroOneDistance","distance","oneTwoDistance","zeroTwoDistance","crossProductZ","temp","pattern1","pattern2","bX","bY","StringUtils_1","StringBuilder","enableDecoding","encoding","append","s","value","castAsNonUtf8Char","String","fromCharCode","length","charAt","n","deleteCharAt","substr","substring","setCharAt","c","start","end","setLengthToZero","insert","System","arraycopy","src","srcPos","dest","destPos","currentTimeMillis","Date","now","ts_custom_error_1","Exception","CustomError","message","_this","call","DecodeHintType","OTHER","PURE_BARCODE","POSSIBLE_FORMATS","TRY_HARDER","CHARACTER_SET","ALLOWED_LENGTHS","ASSUME_CODE_39_CHECK_DIGIT","ASSUME_GS1","RETURN_CODABAR_START_END","NEED_RESULT_POINT_CALLBACK","ALLOWED_EAN_EXTENSIONS","System_1","Result","getText","text","getRawBytes","rawBytes","getNumBits","numBits","getResultPoints","resultPoints","getBarcodeFormat","format","getResultMetadata","resultMetadata","putMetadata","type","Map","set","putAllMetadata","metadata","addResultPoints","newPoints","oldPoints","allPoints","Array","getTimestamp","timestamp","undefined","MathUtils","round","d","NaN","Number","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","aX","aY","xDiff","yDiff","Math","sqrt","sum","array","count","i","length_1","ChecksumException","getChecksumInstance","BitArray_1","Arrays_1","StringBuilder_1","IllegalArgumentException_1","BitMatrix","parseFromBooleanArray","image","height","width","bits","imageI","j","parseFromString","stringRepresentation","setString","unsetString","bitsPos","rowStartPos","rowLength","nRows","pos","matrix","floor","get","offset","rowSize","unset","flip","xor","mask","getWidth","getHeight","getRowSize","rowArray","row","getRow","getBitArray","clear","max","setRegion","left","top","right","bottom","getSize","setBulk","setRow","rotate180","topRow","bottomRow","reverse","getEnclosingRectangle","x32","theBits","bit","Int32Array","from","getTopLeftOnBit","bitsOffset","getBottomRightOnBit","o","hash","lineSeparator","buildToString","result","clone","slice","Integer","numberOfTrailingZeros","numberOfLeadingZeros","toHexString","toBinaryString","intNumber","parseInt","bitCount","truncDivision","dividend","divisor","trunc","num","radix","MIN_VALUE_32_BITS","MAX_VALUE","ResultMetadataType","ORIENTATION","BYTE_SEGMENTS","ERROR_CORRECTION_LEVEL","ISSUE_NUMBER","SUGGESTED_PRICE","POSSIBLE_COUNTRY","PDF417_EXTRA_METADATA","STRUCTURED_APPEND_SEQUENCE","STRUCTURED_APPEND_PARITY","DecodeHintType_1","ResultMetadataType_1","ResultPoint_1","NotFoundException_1","OneDReader","decode","hints","doDecode","nfe","isRotateSupported","rotatedImage","rotateCounterClockwise","orientation_1","points","reset","maxLines","tryHarder","rowStep","middle","rowStepsAboveOrBelow","rowNumber","getBlackRow","ignored","attempt","newHints_1","forEach","hint","key","delete","this_1","decodeRow","re","_","recordPattern","counters","numCounters","index","isWhite","counterPosition","recordPatternInReverse","numTransitionsLeft","last","patternMatchVariance","pattern","maxIndividualVariance","total","patternLength","POSITIVE_INFINITY","unitBarWidth","totalVariance","counter","scaledPattern","variance","IllegalStateException","ArgumentException_1","BinaryBitmap_1","ChecksumException_1","HybridBinarizer_1","FormatException_1","HTMLCanvasElementLuminanceSource_1","VideoInputDevice_1","BrowserCodeReader","Object","defineProperty","navigator","hasNavigator","mediaDevices","isMediaDevicesSuported","enumerateDevices","_timeBetweenDecodingAttempts","millis","_hints","enumerable","configurable","listVideoInputDevices","e","r","a","u","f","l","h","t","label","Error","canEnumerateDevices","devices","_b","sent","videoDevices","devices_1","__values","devices_1_1","next","done","device","kind","deviceId","id","groupId","videoDevice","push","getVideoInputDevices","_a","map","VideoInputDevice","findDeviceById","find","decodeFromInputVideoDevice","videoSource","decodeOnceFromVideoDevice","constraints","video","exact","facingMode","decodeOnceFromConstraints","getUserMedia","stream","decodeOnceFromStream","attachStreamToVideo","decodeOnce","decodeFromInputVideoDeviceContinuously","callbackFn","decodeFromVideoDevice","decodeFromConstraints","decodeFromStream","decodeContinuously","stopAsyncDecode","_stopAsyncDecode","stopContinuousDecode","_stopContinuousDecode","videoElement","prepareVideoElement","addVideoSource","playVideoOnLoadAsync","Promise","resolve","reject","playVideoOnLoad","element","videoEndedListener","stopStreams","videoCanPlayListener","tryPlayVideo","addEventListener","isVideoPlaying","currentTime","paused","ended","readyState","console","warn","trys","play","getMediaElement","mediaElementId","mediaElement","document","getElementById","nodeName","toLowerCase","decodeFromImage","source","url","decodeFromImageUrl","decodeFromImageElement","decodeFromVideo","decodeFromVideoUrl","decodeFromVideoElement","decodeFromVideoContinuously","decodeFromVideoUrlContinuously","decodeFromVideoElementContinuously","prepareImageElement","imageElement","isImageLoaded","_decodeOnLoadImage","_decodeFromVideoElementSetup","_decodeOnLoadVideo","_decodeOnLoadVideoContinuously","decodeTask","imageLoadedListener","then","img","complete","naturalWidth","imageSource","createElement","HTMLImageElement","HTMLVideoElement","setAttribute","retryIfNotFound","retryIfChecksumOrFormatError","loop","ifNotFound","isChecksumOrFormatError","setTimeout","timeBetweenScansMillis","isNotFound","binaryBitmap","createBinaryBitmap","decodeBitmap","ctx","getCaptureCanvasContext","drawImageOnCanvas","canvas","getCaptureCanvas","luminanceSource","HTMLCanvasElementLuminanceSource","hybridBinarizer","captureCanvasContext","getContext","captureCanvas","elem","createCaptureCanvas","canvasElementContext","srcElement","drawImage","reader","_destroyCaptureCanvas","canvasElement","videoWidth","videoHeight","naturalHeight","style","getVideoTracks","stop","_destroyVideoElement","_destroyImageElement","removeEventListener","videoPlayingEventListener","cleanVideoSource","removeAttribute","srcObject","err","URL","createObjectURL","Integer_1","BitArray","size","getSizeInBytes","ensureCapacity","newBits","makeArray","getNextSet","currentBits","getNextUnset","setRange","firstInt","lastInt","isRange","appendBit","appendBits","numBitsLeft","appendBitArray","otherSize","toBytes","bitOffset","numBytes","theByte","len","oldBitsLen","leftOffset","currentInt","nextInt","ArrayIndexOutOfBoundsException_1","Arrays","fill","val","fillWithin","fromIndex","toIndex","rangeCheck","arrayLength","asList","args","_i","arguments","create","rows","cols","createInt32Array","first","second","a_1","a_1_1","fillUint8Array","copyOf","original","newLength","copyOfUint8Array","newArray","Uint8Array","copyOfRange","to","copy","binarySearch","ar","el","comparator","numberComparator","k","cmp","b","GenericGFPoly_1","AbstractGenericGF_1","ArithmeticException_1","GenericGF","getZero","zero","getOne","one","buildMonomial","degree","coefficient","coefficients","inverse","expTable","logTable","multiply","getGeneratorBase","generatorBase","primitive","AZTEC_DATA_12","AZTEC_DATA_10","AZTEC_DATA_6","AZTEC_PARAM","QR_CODE_FIELD_256","DATA_MATRIX_FIELD_256","AZTEC_DATA_8","MAXICODE_FIELD_64","PDF417Common","getBitCountSum","moduleBitCount","toIntArray","list","EMPTY_INT_ARRAY","list_1","list_1_1","integer","getCodeword","symbol","SYMBOL_TABLE","CODEWORD_TABLE","NUMBER_OF_CODEWORDS","MAX_CODEWORDS_IN_BARCODE","MIN_ROWS_IN_BARCODE","MAX_ROWS_IN_BARCODE","MODULES_IN_CODEWORD","MODULES_IN_STOP_PATTERN","BARS_IN_MODULE","CharacterSetValueIdentifiers","Cp437","ISO8859_1","ISO8859_2","ISO8859_3","ISO8859_4","ISO8859_5","ISO8859_6","ISO8859_7","ISO8859_8","ISO8859_9","ISO8859_10","ISO8859_11","ISO8859_13","ISO8859_14","ISO8859_15","ISO8859_16","SJIS","Cp1250","Cp1251","Cp1252","Cp1256","UnicodeBigUnmarked","UTF8","ASCII","Big5","GB18030","EUC_KR","CharacterSetECI","getValueIdentifier","valueIdentifier","getName","name","getValue","values","getCharacterSetECIByValue","characterSet","VALUES_TO_ECI","getCharacterSetECIByName","NAME_TO_ECI","VALUE_IDENTIFIER_TO_ECI","valuesParam","otherEncodingNames","v","otherEncodingNames_1","otherEncodingNames_1_1","otherName","UnsupportedOperationException_1","CharacterSetECI_1","StringEncoding","bytes","encodingName","customDecoder","TextDecoder","shouldDecodeOnFallback","decodeFallback","isBrowser","encode","customEncoder","TextEncoder","encodeFallback","encodingCharacterSet","isDecodeFallbackSupported","decodeURIComponent","apply","Uint16Array","buffer","charList","btoa","unescape","encodeURIComponent","split","uintArray","charCodeAt","LuminanceSource_1","InvertedLuminanceSource","sourceRow","delegate","getMatrix","invertedMatrix","Uint8ClampedArray","isCropSupported","crop","invert","rotateCounterClockwise45","LuminanceSource","luminance","DecoderResult","setNumBits","getByteSegments","byteSegments","getECLevel","ecLevel","getErrorsCorrected","errorsCorrected","setErrorsCorrected","getErasures","erasures","setErasures","getOther","setOther","hasStructuredAppend","structuredAppendParity","structuredAppendSequenceNumber","getStructuredAppendParity","getStructuredAppendSequenceNumber","GenericGF_1","ReedSolomonException_1","IllegalStateException_1","ReedSolomonDecoder","received","twoS","field","poly","syndromeCoefficients","noError","evalResult","evaluateAt","exp","syndrome","sigmaOmega","runEuclideanAlgorithm","sigma","omega","errorLocations","findErrorLocations","errorMagnitudes","findErrorMagnitudes","position","log","addOrSubtract","R","getDegree","rLast","tLast","rLastLast","tLastLast","isZero","q","denominatorLeadingTerm","getCoefficient","dltInverse","degreeDiff","scale","multiplyByMonomial","sigmaTildeAtZero","multiplyScalar","errorLocator","numErrors","errorEvaluator","xiInverse","denominator","term","termPlus1","StringEncoding_1","StringUtils","code","ISO88591","guessEncoding","canBeISO88591","canBeShiftJIS","canBeUTF8","utf8BytesLeft","utf2BytesChars","utf3BytesChars","utf4BytesChars","sjisBytesLeft","sjisKatakanaChars","sjisCurKatakanaWordLength","sjisCurDoubleBytesWordLength","sjisMaxKatakanaWordLength","sjisMaxDoubleBytesWordLength","isoHighOther","utf8bom","ASSUME_SHIFT_JIS","SHIFT_JIS","PLATFORM_DEFAULT_ENCODING","replace","p0","p1","p2","p3","p4","base","parseFloat","toFixed","toPrecision","toExponential","JSON","stringify","ch","getBytes","str","getCharCode","getCharAt","charCode","GB2312","EUC_JP","GenericGFPoly","getCoefficients","smallerCoefficients","largerCoefficients","sumDiff","lengthDiff","aCoefficients","aLength","bCoefficients","bLength","product","aCoeff","scalar","divide","quotient","remainder","inverseDenominatorLeadingTerm","degreeDifference","iterationQuotient","alphaPower","coefficientsLength","firstNonZero","DetectorResult","getBits","getPoints","DefaultGridSampler_1","GridSamplerInstance","setGridSampler","newGridSampler","gridSampler","getInstance","OneDReader_1","AbstractUPCEANReader","findStartGuardPattern","foundStart","startRange","nextStart","findGuardPattern","START_END_PATTERN","quietStart","checkChecksum","checkStandardUPCEANChecksum","check","getStandardUPCEANChecksum","digit","decodeEnd","endStart","rowOffset","whiteFirst","patternStart","MAX_INDIVIDUAL_VARIANCE","MAX_AVG_VARIANCE","decodeDigit","bestVariance","bestMatch","MIDDLE_PATTERN","END_PATTERN","L_PATTERNS","decodeRowStringBuffer","ErrorCorrectionLevelValues","L","M","Q","H","ErrorCorrectionLevel","fromString","stringValue","forBits","FOR_BITS","FOR_VALUE","EncodeHintType","ERROR_CORRECTION","DATA_MATRIX_SHAPE","MIN_SIZE","MAX_SIZE","MARGIN","PDF417_COMPACT","PDF417_COMPACTION","PDF417_DIMENSIONS","AZTEC_LAYERS","QR_VERSION","AbstractExpandedDecoder_1","AI01decoder","encodeCompressedGtin","buf","currentPos","initialPosition","encodeCompressedGtinWithoutAI","initialBufferPosition","currentBlock","getGeneralDecoder","extractNumericValueFromBitArray","appendCheckDigit","checkDigit","GTIN_SIZE","information","ArgumentException","IndexOutOfBoundsException","UnsupportedOperationException","Result_1","BarcodeFormat_1","Decoder_1","Detector_1","AztecReader","exception","detector","getBlackMatrix","decoderResult","detectorResult","detectMirror","reportFoundResultPoints","rpcb_1","point","idx","arr","foundPossibleResultPoint","ArithmeticException","WhiteRectangleDetector","detect","leftInit","rightInit","up","upInit","down","downInit","sizeExceeded","aBlackPointFoundOnBorder","atLeastOneBlackPointFoundOnBorder","atLeastOneBlackPointFoundOnRight","atLeastOneBlackPointFoundOnBottom","atLeastOneBlackPointFoundOnLeft","atLeastOneBlackPointFoundOnTop","rightBorderNotWhite","containsBlackPoint","bottomBorderNotWhite","leftBorderNotWhite","topBorderNotWhite","maxSize","z","getBlackPointOnSegment","centerEdges","dist","xStep","yStep","yi","yj","zi","zj","xi","xj","ti","tj","CORR","fixed","horizontal","INIT_SIZE","initSize","halfsize","PerspectiveTransform","quadrilateralToQuadrilateral","x0","y0","x1","y1","x2","y2","x3","y3","x0p","y0p","x1p","y1p","x2p","y2p","x3p","y3p","qToS","quadrilateralToSquare","squareToQuadrilateral","times","transformPoints","a11","a12","a13","a21","a22","a23","a31","a32","a33","transformPointsWithValues","xValues","yValues","dx3","dy3","dx1","dx2","dy1","dy2","buildAdjoint","Code39Reader_1","Code128Reader_1","RSS14Reader_1","ITFReader_1","MultiFormatUPCEANReader_1","MultiFormatOneDReader","readers","possibleFormats","useCode39CheckDigit","includes","DataCharacter","getChecksumPortion","checksumPortion","that","BitMatrix_1","DataMatrixReader","has","extractPureBits","decoder","NO_POINTS","leftTopBlack","rightBottomBlack","moduleSize","matrixWidth","matrixHeight","nudge","iOffset","BitSource","getBitOffset","getByteOffset","byteOffset","readBits","available","bitsLeft","toRead","bitsToNotRead","QRCodeDecoderMetaData_1","QRCodeReader","getDecoder","decodeBitMatrix","applyMirroredCorrection","nudgedTooFarRight","nudgedTooFarDown","inBlack","transitions","FormatInformation_1","ECBlocks_1","ECB_1","Version","getVersionNumber","versionNumber","getAlignmentPatternCenters","alignmentPatternCenters","getTotalCodewords","totalCodewords","getDimensionForVersion","getECBlocksForLevel","ecBlocks","getProvisionalVersionForDimension","dimension","getVersionForNumber","VERSIONS","decodeVersionInformation","versionBits","bestDifference","bestVersion","VERSION_DECODE_INFO","targetVersion","bitsDifference","numBitsDiffering","buildFunctionPattern","bitMatrix","ecCodewords","getECCodewordsPerBlock","ecbArray","getECBlocks","ecbArray_1","ecbArray_1_1","ecBlock","getCount","getDataCodewords","Formatter","form","Symbol","iterator","EncodeHintType_1","ReedSolomonEncoder_1","Mode_1","Version_1","MaskUtil_1","ByteMatrix_1","QRCode_1","MatrixUtil_1","BlockPair_1","WriterException_1","Encoder","calculateMaskPenalty","applyMaskPenaltyRule1","applyMaskPenaltyRule2","applyMaskPenaltyRule3","applyMaskPenaltyRule4","content","DEFAULT_BYTE_MODE_ENCODING","hasEncodingHint","mode","chooseMode","headerBits","BYTE","eci","appendECI","appendModeInfo","version","dataBits","appendBytes","bitsNeeded","calculateBitsNeeded","willFit","recommendVersion","headerAndDataBits","numLetters","appendLengthInfo","numDataBytes","getTotalECCodewords","terminateBits","finalBits","interleaveWithECBytes","getNumBlocks","qrCode","setECLevel","setMode","setVersion","maskPattern","chooseMaskPattern","setMaskPattern","buildMatrix","setMatrix","provisionalBitsNeeded","provisionalVersion","chooseVersion","getCharacterCountBits","getAlphanumericCode","ALPHANUMERIC_TABLE","isOnlyDoubleByteKanji","KANJI","hasNumeric","hasAlphanumeric","isDigit","ALPHANUMERIC","NUMERIC","byte1","minPenalty","bestMaskPattern","NUM_MASK_PATTERNS","penalty","numInputBits","versionNum","capacity","numBitsInLastByte","numPaddingBytes","getNumDataBytesAndNumECBytesForBlockID","numTotalBytes","numRSBlocks","blockID","numDataBytesInBlock","numECBytesInBlock","numRsBlocksInGroup2","numRsBlocksInGroup1","numTotalBytesInGroup1","numTotalBytesInGroup2","numDataBytesInGroup1","numDataBytesInGroup2","numEcBytesInGroup1","numEcBytesInGroup2","dataBytesOffset","maxNumDataBytes","maxNumEcBytes","blocks","numEcBytesInBlock","dataBytes","ecBytes","generateECBytes","blocks_1","blocks_1_1","getDataBytes","error","E","return","blocks_2","blocks_2_1","getErrorCorrectionBytes","C","A","toEncode","appendNumericBytes","appendAlphanumericBytes","append8BitBytes","appendKanjiBytes","getDigit","singleCharacter","cn","num1","num2","num3","code1","code2","uee","length_2","subtracted","encoded","ECI","QRCode","getMode","getVersion","getMaskPattern","isValidMaskPattern","WriterException","DecodedObject","getNewPosition","newPosition","ReaderException_1","ReaderException","ReedSolomonException","Binarizer_1","Binarizer","BinaryBitmap","InvertedLuminanceSource_1","MultiFormatReader_1","MultiFormatReader","MultiFormatWriter_1","MultiFormatWriter","PlanarYUVLuminanceSource_1","PlanarYUVLuminanceSource","RGBLuminanceSource_1","RGBLuminanceSource","BitSource_1","DecoderResult_1","DefaultGridSampler","DetectorResult_1","GlobalHistogramBinarizer_1","GlobalHistogramBinarizer","GridSampler_1","GridSampler","GridSamplerInstance_1","HybridBinarizer","PerspectiveTransform_1","WhiteRectangleDetector_1","ReedSolomonDecoder_1","ReedSolomonEncoder","DataMatrixReader_1","QRCodeReader_1","QRCodeWriter_1","QRCodeWriter","ErrorCorrectionLevel_1","QRCodeDecoderErrorCorrectionLevel","Encoder_1","QRCodeEncoder","QRCodeEncoderQRCode","AztecReader_1","AztecCodeReader","EAN13Reader_1","EAN13Reader","Code128Reader","ITFReader","Code39Reader","RSS14Reader","RSSExpandedReader_1","RSSExpandedReader","MultiFormatOneDReader_1","MultiformatReader","binarizer","getLuminanceSource","newSource","createBinarizer","setPrototypeOf","__proto__","hasOwnProperty","constructor","MINIMUM_DIMENSION","luminances","subWidth","BLOCK_SIZE_POWER","BLOCK_SIZE_MASK","subHeight","blackPoints","calculateBlackPoints","newMatrix","calculateThresholdForBlock","maxYOffset","BLOCK_SIZE","maxXOffset","yoffset","top_1","cap","xoffset","blackRow","thresholdBlock","min","threshold","stride","yy","xx","pixel","MIN_DYNAMIC_RANGE","average","averageNeighborBlackPoint","initArrays","localLuminances","localBuckets","buckets","LUMINANCE_SHIFT","blackPoint","estimateBlackPoint","center","localLuminances_1","luminanceSize","LUMINANCE_BUCKETS","numBuckets","maxBucketCount","firstPeak","firstPeakSize","secondPeak","secondPeakScore","distanceToBiggest","score","bestValley","bestValleyScore","fromFirst","LUMINANCE_BITS","EMPTY","makeBufferFromCanvasImageData","imageData","getImageData","toGrayscaleBuffer","data","imageBuffer","grayscaleBuffer","gray","rotate","getTempCanvasElement","tempCanvasElement","ownerDocument","angle","tempContext","angleRadians","DEGREE_TO_RADIANS","newWidth","ceil","abs","cos","sin","newHeight","translate","PI","toJSON","AbstractGenericGF","Float","sampleGrid","dimensionX","dimensionY","p1ToX","p1ToY","p2ToX","p2ToY","p3ToX","p3ToY","p4ToX","p4ToY","p1FromX","p1FromY","p2FromX","p2FromY","p3FromX","p3FromY","p4FromX","p4FromY","transform","sampleGridWithTransform","Float32Array","iValue","checkAndNudgePoints","aioobe","nudged","theCounters","decodeRowResult","decodedChar","lastStart","findAsteriskPattern","toNarrowWidePattern","patternToChar","theCounters_1","theCounters_1_1","resultString","lastPatternSize","theCounters_2","theCounters_2_1","usingCheckDigit","ALPHABET_STRING","indexOf","extendedMode","decodeExtended","getTime","ASTERISK_ENCODING","copyWithin","wideCounters","maxNarrowCounter","minCounter","counters_1","counters_1_1","totalWideCountersWidth","CHARACTER_ENCODINGS","decoded","findStartPattern","startCode","CODE_START_A","CODE_START_C","CODE_PATTERNS","splice","decodeCode","codeSet","convertFNC1","startPatternInfo","currentRawCodesIndex","rawCodes","CODE_CODE_A","CODE_START_B","CODE_CODE_B","CODE_CODE_C","isNextShifted","lastCode","checksumTotal","multiplier","lastCharacterWasPrintable","upperMode","shiftUpperMode","unshift","CODE_STOP","reduce","previous","current","CODE_FNC_1","CODE_FNC_2","CODE_FNC_3","CODE_FNC_4_A","CODE_SHIFT","CODE_FNC_4_B","resultLength","rawCodesSize","AbstractRSSReader_1","Pair_1","FinderPattern_1","DataCharacter_1","RSSUtils_1","leftPair","decodePair","addOrTally","possibleLeftPairs","rightPair","possibleRightPairs","_c","_d","_e","_f","constructResult","possiblePairs","pair","found","possiblePairs_1","possiblePairs_1_1","incrementCount","symbolValue","leftPoints","getFinderPattern","rightPoints","checkValue","targetCheckValue","startEnd","findFinderPattern","parseFoundFinderPattern","resultPointCallback","outside","decodeDataCharacter","inside","outsideChar","getDataCharacterCounters","getStartEnd","numModules","elementWidth","oddCounts","getOddCounts","evenCounts","getEvenCounts","oddRoundingErrors","getOddRoundingErrors","evenRoundingErrors","getEvenRoundingErrors","adjustOddEvenCounts","oddSum","oddChecksumPortion","evenChecksumPortion","evenSum","evenWidest","oddWidest","OUTSIDE_ODD_WIDEST","group","vOdd","getRSSvalue","vEven","tEven","OUTSIDE_EVEN_TOTAL_SUBSET","gSum","OUTSIDE_GSUM","INSIDE_ODD_WIDEST","tOdd","INSIDE_ODD_TOTAL_SUBSET","INSIDE_GSUM","rightFinderPattern","getDecodeFinderCounters","isFinderPattern","firstIsBlack","firstElementStart","firstCounter","parseFinderValue","FINDER_PATTERNS","incrementOdd","decrementOdd","incrementEven","decrementEven","mismatch","oddParityBad","evenParityBad","increment","decrement","AbstractRSSReader","decodeFinderCounters","dataCharacterCounters","finderPatterns","errors","biggestError","firstTwoSum","ratio","MIN_FINDER_PATTERN_RATIO","MAX_FINDER_PATTERN_RATIO","maxCounter","FinderPattern","RSSUtils","widths","maxWidth","noNarrow","widths_1","widths_1_1","narrowMask","elements","bar","elmWidth","subVal","combins","lessVal","mxwElement","maxDenom","minDenom","decodeStart","endRange","decodeMiddle","allowedLengths","DEFAULT_ALLOWED_LENGTHS","lengthOK","maxAllowedLength","allowedLengths_1","allowedLengths_1_1","payloadStart","payloadEnd","counterDigitPair","counterBlack","counterWhite","twoK","counterDigit","skipWhiteSpace","startPattern","START_PATTERN","narrowLineWidth","validateQuietZone","quietCount","endPattern","END_PATTERN_REVERSED","PATTERNS","W","w","N","UPCEANReader_1","decodeMiddleCounters","lgPatternFound","L_AND_G_PATTERNS","determineFirstDigit","counters_2","counters_2_1","FIRST_DIGIT_ENCODINGS","UPCEANExtensionSupport_1","AbstractUPCEANReader_1","UPCEANReader","startGuardRange","resultPoint_1","budello","resultPoint_2","resultPoint_3","quietEnd","resultPoint","decodeResult","extensionLength","extensionResult","allowedExtensions","valid","reversedWidths","PDF417Reader_1","setHints","decodeInternal","decodeWithState","formats","addOneDReader","some","ex","FormatInformation","decodeFormatInformation","maskedFormatInfo1","maskedFormatInfo2","formatInfo","doDecodeFormatInformation","FORMAT_INFO_MASK_QR","bestFormatInfo","FORMAT_INFO_DECODE_LOOKUP","decodeInfo","targetInfo","getErrorCorrectionLevel","errorCorrectionLevel","getDataMask","dataMask","QRCodeDecoderMetaData","isMirrored","mirrored","bottomLeft","ModeValues","TERMINATOR","STRUCTURED_APPEND","FNC1_FIRST_POSITION","FNC1_SECOND_POSITION","HANZI","Mode","characterCountBitsForVersions","PDF417Common_1","PDF417ScanningDecoder_1","PDF417Reader","decodeMultiple","multiple","results","detectMultiple","getMinCodewordWidth","getMaxCodewordWidth","pdf417ResultMetadata","getMaxWidth","getMinWidth","p","ModulusPoly","add","subtract","negative","multiplyOther","negativeCoefficients","BoundingBox","constructor_1","topLeft","topRight","bottomRight","leftUnspecified","rightUnspecified","minX","maxX","minY","maxY","constructor_2","boundingBox","getTopLeft","getBottomLeft","getTopRight","getBottomRight","getMinX","getMaxX","getMinY","getMaxY","merge","leftBox","rightBox","addMissingRows","missingStartRows","missingEndRows","isLeft","newTopLeft","newBottomLeft","newTopRight","newBottomRight","newMinY","newTop","newMaxY","newBottom","Formatter_1","BoundingBox_1","DetectionResultColumn","getCodewordNearby","imageRow","codeword","MAX_NEARBY_DISTANCE","nearImageRow","imageRowToCodewordIndex","codewords","setCodeword","getBoundingBox","getCodewords","formatter","getRowNumber","BarcodeValue","setValue","confidence","entry","maxConfidence","entries","__read","getConfidence","buildGenerator","cachedGenerators","lastGenerator","nextGenerator","generator","infoCoefficients","info","numZeroCoefficients","MaskUtil","applyMaskPenaltyRule1Internal","getArray","arrayY","N2","numPenalties","isWhiteHorizontal","isWhiteVertical","N3","col","numDarkCells","numTotalCells","N4","getDataMaskBit","intermediate","isHorizontal","iLimit","jLimit","numSameBitCells","prevBit","N1","contents","quietZone","QUIET_ZONE_SIZE","renderResult","input","inputWidth","inputHeight","qrWidth","qrHeight","outputWidth","outputHeight","leftPadding","topPadding","output","inputY","outputY","inputX","outputX","DecodedChar_1","DecodedNumeric_1","DecodedInformation_1","FieldParser_1","BlockParsedResult_1","GeneralAppIdDecoder","decodeAllCodes","buff","currentPosition","remaining","decodeGeneralPurposeField","parsedFields","parseFieldsInGeneralPurpose","getNewString","isRemaining","getRemainingValue","isStillNumeric","decodeNumeric","numeric_1","FNC1","numeric","digit1","digit2","setPosition","lastDecoded","parseBlocks","getPosition","isFinished","isAlpha","parseAlphaBlock","isIsoIec646","parseIsoIec646Block","parseNumericBlock","getDecodedInformation","isFirstDigitFNC1","isSecondDigitFNC1","getSecondDigit","getFirstDigit","isNumericToAlphaNumericLatch","setAlpha","incrementPosition","isStillIsoIec646","iso","decodeIsoIec646","isFNC1","isAlphaOr646ToNumericLatch","setNumeric","isAlphaTo646ToAlphaLatch","isStillAlpha","alpha","decodeAlphanumeric","setIsoIec646","fiveBitValue","sevenBitValue","eightBitValue","sixBitValue","GeneralAppIdDecoder_1","AbstractExpandedDecoder","getInformation","generalDecoder","AI01weightDecoder_1","AI013x0xDecoder","parseInformation","HEADER_SIZE","WEIGHT_SIZE","encodeCompressedWeight","AI01decoder_1","AI01weightDecoder","weightSize","originalWeightNumeric","addWeightCode","weightNumeric","checkWeight","currentDivisor","__export","BrowserCodeReader_1","BrowserAztecCodeReader","fixStack","target","fn","captureStackTrace","extendStatics","_newTarget","__","customErrorFactory","parent","bind","concat","defineProperties","writable","IndexOutOfBoundsException_1","ArrayIndexOutOfBoundsException","Table","__1","UPPER","LOWER","MIXED","DIGIT","PUNCT","BINARY","Decoder","ddata","rawbits","extractBits","correctedBits","correctBits","convertBoolArrayToByteArray","getEncodedData","highLevelDecode","endIndex","latchTable","shiftTable","readCode","charCount","getCharacter","startsWith","getTable","table","UPPER_TABLE","LOWER_TABLE","MIXED_TABLE","PUNCT_TABLE","DIGIT_TABLE","gf","codewordSize","getNbLayers","numDataCodewords","getNbDatablocks","numCodewords","dataWords","stuffedBits","dataWord","compact","isCompact","layers","baseMatrixSize","alignmentMap","totalBitsInLayer","matrixSize","origCenter","newOffset","low","high","columnOffset","startIndex","res","readByte","boolArr","byteArr","AztecDetectorResult_1","Point","toResultPoint","Detector","isMirror","pCenter","getMatrixCenter","bullsEyeCorners","getBullsEyeCorners","extractParameters","shift","corners","getMatrixCornerPoints","nbDataBlocks","nbLayers","isValidPoint","nbCenterLayers","sides","sampleLine","getRotation","parameterData","side","correctedData","getCorrectedParameterData","cornerBits","EXPECTED_CORNER_BITS","numECCodewords","parameterWords","pina","pinb","pinc","pind","color","pouta","getFirstDifferent","poutb","poutc","poutd","distancePoint","isWhiteOrBlackRectangle","pinax","pinbx","pincx","pindx","expandSquare","pointD","cornerPoints","cx_1","cy_1","cx","cy","getDimension","sampler","distanceResultPoint","px","py","dx","dy","cInit","getColor","colorModel","iMax","errRatio","init","isValid","oldSide","newSide","centerx","centery","result0","result2","AztecDetectorResult","nbDatablocks","BrowserBarcodeReader","Pair","finderPattern","EAN8Reader_1","MultiFormatUPCEANReader","UPCEANExtension5Support_1","UPCEANExtension2Support_1","UPCEANExtensionSupport","extensionStartRange","EXTENSION_START_PATTERN","UPCEANExtension5Support","extensionData","parseExtensionString","determineCheckDigit","extensionChecksum","CHECK_DIGIT_ENCODINGS","raw","parseExtension5String","currency","rawAmount","hundredths","UPCEANExtension2Support","checkParity","g","EAN8Reader","BrowserDatamatrixCodeReader","BitMatrixParser_1","DataBlock_1","DecodedBitStreamParser_1","parser","readCodewords","dataBlocks","getDataBlocks","totalBytes","dataBlocks_1","dataBlocks_1_1","getNumDataCodewords","resultBytes","dataBlocksCount","dataBlock","codewordBytes","correctErrors","codewordsInts","rsDecoder","BitMatrixParser","readVersion","numRows","numColumns","getVersionForDimensions","Int8Array","resultOffset","column","mappingBitMatrix","corner1Read","corner2Read","corner3Read","corner4Read","readMappingMatrix","readUtah","readCorner4","readCorner3","readCorner2","readCorner1","readModule","currentByte","extractDataRegion","symbolSizeRows","getSymbolSizeRows","symbolSizeColumns","getSymbolSizeColumns","dataRegionSizeRows","getDataRegionSizeRows","dataRegionSizeColumns","getDataRegionSizeColumns","numDataRegionsRow","numDataRegionsColumn","sizeDataRegionRow","sizeDataRegionColumn","bitMatrixWithoutAlignment","dataRegionRow","dataRegionRowOffset","dataRegionColumn","dataRegionColumnOffset","readRowOffset","writeRowOffset","readColumnOffset","writeColumnOffset","ECBlocks","getECCodewords","ecBlocks1","ecBlocks2","ECB","dataCodewords","buildVersions","DataBlock","rawCodewords","totalBlocks","ecBlockArray","ecBlockArray_1","ecBlockArray_1_1","numResultBlocks","ecBlockArray_2","ecBlockArray_2_1","numBlockCodewords","longerBlocksNumDataCodewords","shorterBlocksNumDataCodewords","rawCodewordsOffset","specialVersion","numLongerBlocks","jOffset","PAD_ENCODE","ASCII_ENCODE","C40_ENCODE","TEXT_ENCODE","ANSIX12_ENCODE","EDIFACT_ENCODE","BASE256_ENCODE","DecodedBitStreamParser","resultTrailer","decodeAsciiSegment","decodeC40Segment","decodeTextSegment","decodeAnsiX12Segment","decodeEdifactSegment","decodeBase256Segment","upperShift","oneByte","cValues","firstByte","parseTwoBytes","cValue","C40_BASIC_SET_CHARS","c40char","C40_SHIFT2_SET_CHARS","TEXT_BASIC_SET_CHARS","textChar","TEXT_SHIFT2_SET_CHARS","TEXT_SHIFT3_SET_CHARS","secondByte","fullBitValue","edifactValue","codewordPosition","d1","unrandomize255State","randomizedBase256Codeword","base256CodewordPosition","tempVariable","rectangleDetector","detectSolid1","detectSolid2","correctTopRight","shiftToModuleCenter","dimensionTop","transitionsBetween","dimensionRight","shiftPoint","div","moveAway","fromX","fromY","trAB","trBC","trCD","trDA","tr","pointBs","pointCs","trTop","trRight","pointAs","candidate1","candidate2","sumc1","dimH","dimV","pointDs","centerX","centerY","toX","toY","steep","ystep","xstep","isBlack","BrowserMultiFormatReader","decodeBooleanArray","decodeBitMatrixParser","remask","setMirror","readFormatInformation","mirror","dataBlocks_2","dataBlocks_2_1","DataMask_1","parsedFormatInfo","formatInfoBits1","copyBit","formatInfoBits2","jMin","parsedVersion","ijMin","theParsedVersion","unmaskBitMatrix","functionPattern","readingUp","bitsRead","ecCodewordsPerBlock","ecBlocks_1","ecBlocks_1_1","DataMaskValues","DATA_MASK_000","DATA_MASK_001","DATA_MASK_010","DATA_MASK_011","DATA_MASK_100","DATA_MASK_101","DATA_MASK_110","DATA_MASK_111","DataMask","isMasked","shorterBlocksTotalCodewords","longerBlocksStartAt","symbolSequence","parityData","currentCharacterSetECI","fc1InEffect","modeBits","parseECIValue","subset","countHanzi","GB2312_SUBSET","decodeHanziSegment","decodeNumericSegment","decodeAlphanumericSegment","decodeByteSegment","decodeKanjiSegment","iae","twoBytes","assembledTwoBytes","readBytes","toAlphaNumericChar","ALPHANUMERIC_CHARS","nextTwoCharsBits","threeDigitsBits","twoDigitsBits","digitBits","FinderPatternFinder_1","AlignmentPatternFinder_1","getImage","getResultPointCallback","processFinderPatternInfo","calculateModuleSize","computeDimension","modulesBetweenFPCenters","alignmentPattern","bottomRightX","bottomRightY","correctionToTopLeft","estAlignmentX","estAlignmentY","findAlignmentInRegion","createTransform","sourceBottomRightX","sourceBottomRightY","dimMinusThree","tltrCentersDimension","tlblCentersDimension","calculateModuleSizeOneWay","otherPattern","moduleSizeEst1","sizeOfBlackWhiteBlackRunBothWays","moduleSizeEst2","isNaN","sizeOfBlackWhiteBlackRun","otherToX","otherToY","state","xLimit","realX","realY","overallEstModuleSize","allowanceFactor","allowance","alignmentAreaLeftX","alignmentAreaRightX","alignmentAreaTopY","alignmentAreaBottomY","FinderPatternInfo_1","FinderPatternFinder","getPossibleCenters","possibleCenters","pureBarcode","maxI","maxJ","iSkip","MAX_MODULES","MIN_SKIP","stateCount","currentState","foundPatternCross","handlePossibleCenter","hasSkipped","haveMultiplyConfirmedCenters","rowSkip","findRowSkip","patternInfo","selectBestPatterns","centerFromEnd","totalModuleSize","maxVariance","getCrossCheckStateCount","crossCheckStateCount","crossCheckDiagonal","startI","centerJ","maxCount","originalStateCountTotal","stateCountTotal","crossCheckVertical","crossCheckHorizontal","startJ","centerI","estimatedModuleSize","aboutEquals","combineEstimate","firstConfirmedCenter","CENTER_QUORUM","confirmedCount","getEstimatedModuleSize","totalDeviation","startSize","square","stdDev","sort","center1","center2","dA","dB","limit","possibleCenters_1","possibleCenters_1_1","moduleSizeDiff","newModuleSize","combinedCount","posX","posY","FinderPatternInfo","patternCenters","AlignmentPattern_1","AlignmentPatternFinder","startX","middleI","startY","iGen","confirmed","AlignmentPattern","PDF417DetectorResult_1","barcodeCoordinates","foundBarcodeInRow","vertices","findVertices","barcodeCoordinates_1","barcodeCoordinates_1_1","barcodeCoordinate","ROW_STEP","startRow","startColumn","copyToResult","findRowsWithPattern","INDEXES_START_PATTERN","STOP_PATTERN","INDEXES_STOP_PATTERN","tmpResult","destinationIndexes","loc","previousRowLoc","stopRow","skippedRowCount","MAX_PATTERN_DRIFT","SKIPPED_ROW_COUNT_MAX","BARCODE_MIN_HEIGHT","pixelDrift","MAX_PIXEL_DRIFT","Infinity","PDF417DetectorResult","ErrorCorrection_1","DetectionResultRowIndicatorColumn_1","DetectionResult_1","DetectionResultColumn_1","Codeword_1","BarcodeValue_1","PDF417CodewordDecoder_1","PDF417ScanningDecoder","imageTopLeft","imageBottomLeft","imageTopRight","imageBottomRight","minCodewordWidth","maxCodewordWidth","detectionResult","leftRowIndicatorColumn","rightRowIndicatorColumn","firstPass","getRowIndicatorColumn","resultBox","setBoundingBox","maxBarcodeColumn","getBarcodeColumnCount","setDetectionResultColumn","leftToRight","barcodeColumnCount","barcodeColumn","getDetectionResultColumn","detectionResultColumn","previousStartColumn","getStartColumn","detectCodeword","createDecoderResult","barcodeMetadata","getBarcodeMetadata","adjustBoundingBox","rowIndicatorColumn","rowHeights","getRowHeights","maxRowHeight","getMax","rowHeights_1","rowHeights_1_1","rowHeight","maxValue","values_1","values_1_1","leftBarcodeMetadata","rightBarcodeMetadata","getColumnCount","getRowCount","startPoint","getStartX","getEndX","adjustCodewordCount","barcodeMatrix","barcodeMatrix01","numberOfCodewords","calculatedNumberOfCodewords","getBarcodeRowCount","getNumberOfECCodeWords","getBarcodeECLevel","createBarcodeMatrix","ambiguousIndexValuesList","ambiguousIndexesList","codewordIndex","ambiguousIndexValues","createDecoderResultFromAmbiguousValues","erasureArray","ambiguousIndexes","ambiguousIndexCount","tries","decodeCodewords","column_1","getDetectionResultColumns","isValidBarcodeColumn","skippedColumns","previousRowCodeword","minColumn","maxColumn","adjustCodewordStartColumn","endColumn","getModuleBitCount","codewordBitCount","tmpCount","checkCodewordSkew","decodedValue","getDecodedValue","getCodewordBucketNumber","imageColumn","moduleNumber","previousPixelValue","barcodeECLevel","codewordStartColumn","correctedStartColumn","CODEWORD_SKEW_SIZE","correctedErrorsCount","verifyCodewordCount","MAX_ERRORS","MAX_EC_CODEWORDS","errorCorrection","getBitCountForCodeword","previousValue","getCodewordBucketNumber_Int32Array","getCodewordBucketNumber_number","barcodeValue","ModulusPoly_1","ModulusGF_1","ErrorCorrection","S","evaluation","knownErrors","erasures_1","erasures_1_1","erasure","errorLocatorDegree","formalDerivativeCoefficients","formalDerivative","numerator","PDF417_GF","ModulusBase_1","ModulusGF","modulus","ModulusBase","BarcodeMetadata_1","DetectionResultRowIndicatorColumn","setRowNumbers","setRowNumberAsRowIndicatorColumn","adjustCompleteIndicatorColumnRowNumbers","removeIncorrectCodewords","_isLeft","firstRow","lastRow","barcodeRow","currentRowHeight","codewordsRow","rowDifference","checkedRows","closePreviousCodewordFound","adjustIncompleteIndicatorColumnRowNumbers","barcodeRowCountUpperPart","barcodeRowCountLowerPart","codewords_1","codewords_1_1","rowIndicatorValue","codewordRowNumber","codewordRow","getRowCountUpperPart","getRowCountLowerPart","BarcodeMetadata","columnCount","rowCount","rowCountUpperPart","rowCountLowerPart","DetectionResult","adjustIndicatorColumnRowNumbers","detectionResultColumns","previousUnadjustedCount","unadjustedCodewordCount","adjustRowNumbersAndGetCount","unadjustedCount","adjustRowNumbersByRow","hasValidRowNumber","adjustRowNumbers","adjustRowNumbersFromBothRI","adjustRowNumbersFromLRI","adjustRowNumbersFromRRI","LRIcodewords","RRIcodewords","setRowNumber","rowIndicatorRowNumber","invalidRowCounts","ADJUST_ROW_NUMBER_SKIP","adjustRowNumberIfValid","isValidRowNumber","previousColumnCodewords","nextColumnCodewords","otherCodewords","otherCodewords_1","otherCodewords_1_1","otherCodeword","adjustRowNumber","getBucket","Codeword","BARCODE_ROW_UNKNOWN","bucket","endX","PDF417CodewordDecoder","initialize","currentSymbol","currentBit","RATIOS_TABLE","fround","bSymbolTableReady","getDecodedCodewordValue","sampleBitCounts","getClosestDecodedValue","bitCountSum","bitCountIndex","sumPreviousBits","sampleIndex","getBitValue","bitCountRatios","bestMatchError","ratioTableRow","diff","BigInteger","PDF417ResultMetadata_1","Long_1","ByteArrayOutputStream_1","getBigIntConstructor","BigInt","global","createBigInt","ALPHA","ALPHA_SHIFT","PUNCT_SHIFT","codeIndex","TEXT_COMPACTION_MODE_LATCH","textCompaction","BYTE_COMPACTION_MODE_LATCH","BYTE_COMPACTION_MODE_LATCH_6","byteCompaction","MODE_SHIFT_TO_BYTE_COMPACTION_MODE","NUMERIC_COMPACTION_MODE_LATCH","numericCompaction","ECI_CHARSET","ECI_GENERAL_PURPOSE","ECI_USER_DEFINED","BEGIN_MACRO_PDF417_CONTROL_BLOCK","decodeMacroBlock","BEGIN_MACRO_PDF417_OPTIONAL_FIELD","MACRO_PDF417_TERMINATOR","NUMBER_OF_SEQUENCE_CODEWORDS","segmentIndexArray","setSegmentIndex","decodeBase900toBase10","fileId","setFileId","optionalFieldsStart","MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME","fileName","setFileName","MACRO_PDF417_OPTIONAL_FIELD_SENDER","sender","setSender","MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE","addressee","setAddressee","MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT","segmentCount","setSegmentCount","MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP","setTimestamp","parseLong","MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM","checksum","setChecksum","MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE","fileSize","setFileSize","setLastSegment","optionalFieldsLength","isLastSegment","setOptionalData","textCompactionData","byteCompactionData","decodeTextCompaction","subMode","priorToShiftMode","subModeCh","LL","ML","PS","AS","PL","MIXED_CHARS","AL","PAL","PUNCT_CHARS","decodedBytes","byteCompactedCodewords","nextCode","write","toByteArray","numericCodewords","MAX_NUMERIC_CODEWORDS","EXP900","nineHundred","Function","PDF417ResultMetadata","getSegmentIndex","segmentIndex","getFileId","getOptionalData","optionalData","lastSegment","getSegmentCount","getSender","getAddressee","getFileName","getFileSize","getChecksum","Long","OutputStream_1","OutOfMemoryError_1","ByteArrayOutputStream","minCapacity","grow","newCapacity","writeBytesOffset","off","writeTo","out","param","toString_string","toString_number","toString_void","charsetName","hibyte","close","NullPointerException_1","OutputStream","writeBytes","flush","NullPointerException","OutOfMemoryError","BrowserPDF417Reader","BrowserQRCodeReader","BrowserQRCodeSvgWriter","writeToDom","containerElement","querySelector","svgElement","appendChild","createSVGElement","svgRectElement","createSvgRectElement","createElementNS","SVG_NS","setAttributeNS","rect","ByteMatrix","setNumber","setBoolean","aByte","bytesY","otherBytesY","MatrixUtil","clearMatrix","embedBasicPatterns","embedTypeInfo","maybeEmbedVersionInfo","embedDataBits","embedPositionDetectionPatternsAndSeparators","embedDarkDotAtLeftBottomCorner","maybeEmbedPositionAdjustmentPatterns","embedTimingPatterns","typeInfoBits","makeTypeInfoBits","coordinates","TYPE_INFO_COORDINATES","versionInfoBits","makeVersionInfoBits","bitIndex","direction","isEmpty","findMSBSet","calculateBCHCode","msbSetInPoly","typeInfo","bchCode","TYPE_INFO_POLY","maskBits","TYPE_INFO_MASK_PATTERN","VERSION_INFO_POLY","embedHorizontalSeparationPattern","xStart","yStart","embedVerticalSeparationPattern","embedPositionAdjustmentPattern","patternY","POSITION_ADJUSTMENT_PATTERN","embedPositionDetectionPattern","POSITION_DETECTION_PATTERN","pdpWidth","hspWidth","POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE","BlockPair","errorCorrectionBytes","writer","dataWidth","yuvData","dataHeight","area","inputOffset","outputOffset","renderThumbnail","THUMBNAIL_SCALE_FACTOR","pixels","yuv","grey","getThumbnailWidth","getThumbnailHeight","reverseHorizontal","rowStart","BYTES_PER_ELEMENT","luminancesUint8Array","g2","AbstractExpandedDecoderComplement_1","ExpandedPair_1","ExpandedRow_1","BitArrayBuilder_1","pairs","startFromEven","decodeRow2pairs","tryStackedDecode","retrieveNextPair","storeRow","ps","checkRowsBoolean","checkRows","collectedRows","currentRow","collectedRows_1","collectedRows_1_1","collectedRow","getPairs","isValidSequence","rs","FINDER_PATTERN_SEQUENCES","sequence","stop_1","wasReversed","insertPos","prevIsSame","nextIsSame","erow","isEquivalent","isPartialRow","removePartialRows","rows_1","rows_1_1","pairs_1","pairs_1_1","pp","rows_2","rows_2_1","allFound","pairs_2","pairs_2_1","getRows","binary","buildBitArray","resultingString","createDecoder","firstPoints","lastPoints","firstPair","checkCharacter","getLeftChar","firstCharacter","getRightChar","currentPair","currentRightChar","getNextSecondBar","initialPos","previousPairs","isOddPattern","keepFinding","forcedOffset","findNextPair","rightChar","leftChar","isEmptyPair","mustBeLast","searchingEvenPair","reverseCounters","tmp","oddPattern","expectedElementWidth","value_1","weightRowNumber","isNotA1left","weight","WEIGHTS","SYMBOL_WIDEST","EVEN_TOTAL_SUBSET","GSUM","FINDER_PAT_A","FINDER_PAT_B","FINDER_PAT_C","FINDER_PAT_D","FINDER_PAT_E","FINDER_PAT_F","MAX_PAIRS","AI01AndOtherAIs_1","AnyAIDecoder_1","AI013103decoder_1","AI01320xDecoder_1","AI01392xDecoder_1","AI01393xDecoder_1","AI013x0x1xDecoder_1","DecodedObject_1","DecodedChar","DecodedNumeric","firstDigit","secondDigit","isAnyFNC1","DecodedInformation","newString","remainingValue","FieldParser","rawInformation","firstTwoDigits","TWO_DIGIT_DATA_LENGTH","dataLength","VARIABLE_LENGTH","processVariableAI","processFixedAI","firstThreeDigits","_g","THREE_DIGIT_DATA_LENGTH","_h","_j","THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH","_k","firstFourDigits","_l","FOUR_DIGIT_DATA_LENGTH","_m","aiSize","fieldSize","ai","parsedAI","variableFieldSize","BlockParsedResult","decodedInformation","finished","AI01AndOtherAIs","initialGtinPosition","firstGtinDigit","AnyAIDecoder","AI013x0xDecoder_1","AI013103decoder","AI01320xDecoder","AI01392xDecoder","lastAIdigit","LAST_DIGIT_SIZE","AI01393xDecoder","FIRST_THREE_DIGITS_SIZE","generalInformation","AI013x0x1xDecoder","DATE_SIZE","encodeCompressedDate","numericDate","dateCode","day","month","year","firstAIdigits","ExpandedPair","mayBeLast","maybeLast","leftchar","rightchar","finderpattern","o1","o2","equalsOrNull","hashNotNull","finderPatter","ExpandedRow","isReversed","otherPairs","checkEqualitity","pair1","pair2","e1","e2","getFinderPatter","BitArrayBuilder","charNumber","accPos","firstValue","leftValue","rightValue","getter","toStringTag","__esModule","ns","object","property","moduleId","modules"],"mappings":"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,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,IAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,SAKS+W,EAAAY,eAAiB5X,WAAWC,KAAK,CAC5D,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC3G,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAC5G,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAC5G,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAC5G,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAC7G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAC1G,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC5G,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,IAC3G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KACzG,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IACzG,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAC1G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,I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KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAC7G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC5G,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KACxG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC5G,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KACxG,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAC7G,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IACzG,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAC3G,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAC1G,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAC3G,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KACxG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KACzG,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAC5G,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAC3G,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KACxG,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IACxG,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAC5G,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAC7G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KACxG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAC1G,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAC5G,KAAM,KAAM,IAAK,KAAM,KAAM,GAAI,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,GACzG,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,KAAM,GAAI,GAAI,GAAI,KAAM,GAAI,KAC5G,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,EAC9G,KAAM,EAAG,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAC7G,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IACzG,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAC5G,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAC1G,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAC1G,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAC5G,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAC3G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAC5G,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1G,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAC1G,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IACxG,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,IAC5G,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KACzG,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAC5G,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAC5G,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,KAC5G,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,GAAI,KAC1G,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,EAAG,KAAM,EAAG,KAAM,IAAK,IAAK,IACzG,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAC3G,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAC5G,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAC1G,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAC7G,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IACzG,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACzG,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxG,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KACzG,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK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AG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,G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","file":"index.min.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(\"ZXing\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ZXing\"] = factory();\n\telse\n\t\troot[\"ZXing\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 92);\n","import Exception from './Exception';\n\n/**\n * Custom Error class of type Exception.\n */\nexport default class NotFoundException extends Exception {\n static getNotFoundInstance(): NotFoundException {\n return new NotFoundException();\n }\n}\n","import Exception from './Exception';\n\n/**\n * Custom Error class of type Exception.\n */\nexport default class IllegalArgumentException extends Exception {}\n","import Exception from './Exception';\n\n/**\n * Custom Error class of type Exception.\n */\nexport default class FormatException extends Exception {\n\n static getFormatInstance(): FormatException {\n return new FormatException();\n }\n}\n","/*\n * Direct port to TypeScript of ZXing by Adrian Toșcă\n */\n\n/*\n * Copyright 2009 ZXing authors\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\n/*namespace com.google.zxing {*/\n\n/**\n * Enumerates barcode formats known to this package. Please keep alphabetized.\n *\n * @author Sean Owen\n */\nenum BarcodeFormat {\n /** Aztec 2D barcode format. */\n AZTEC,\n\n /** CODABAR 1D format. */\n CODABAR,\n\n /** Code 39 1D format. */\n CODE_39,\n\n /** Code 93 1D format. */\n CODE_93,\n\n /** Code 128 1D format. */\n CODE_128,\n\n /** Data Matrix 2D barcode format. */\n DATA_MATRIX,\n\n /** EAN-8 1D format. */\n EAN_8,\n\n /** EAN-13 1D format. */\n EAN_13,\n\n /** ITF (Interleaved Two of Five) 1D format. */\n ITF,\n\n /** MaxiCode 2D barcode format. */\n MAXICODE,\n\n /** PDF417 format. */\n PDF_417,\n\n /** QR Code 2D barcode format. */\n QR_CODE,\n\n /** RSS 14 */\n RSS_14,\n\n /** RSS EXPANDED */\n RSS_EXPANDED,\n\n /** UPC-A 1D format. */\n UPC_A,\n\n /** UPC-E 1D format. */\n UPC_E,\n\n /** UPC/EAN extension format. Not a stand-alone format. */\n UPC_EAN_EXTENSION\n\n}\n\nexport default BarcodeFormat;\n","/*\n * Copyright 2007 ZXing authors\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\n/*namespace com.google.zxing {*/\n\nimport MathUtils from './common/detector/MathUtils';\nimport Float from './util/Float';\nimport { float, int } from '../customTypings';\n\n/**\n *
Encapsulates a point of interest in an image containing a barcode. Typically, this\n * would be the location of a finder pattern or the corner of the barcode, for example.
\n *\n * @author Sean Owen\n */\nexport default class ResultPoint {\n\n public constructor(private x: float, private y: float) { }\n\n public getX(): float {\n return this.x;\n }\n\n public getY(): float {\n return this.y;\n }\n\n /*@Override*/\n public equals(other: Object): boolean {\n if (other instanceof ResultPoint) {\n const otherPoint =Encapsulates the result of decoding a barcode within an image.
\n *\n * @author Sean Owen\n */\nexport default class Result {\n\n private resultMetadata: MapRepresents a 2D matrix of bits. In function arguments below, and throughout the common\n * module, x is the column position, and y is the row position. The ordering is always x, y.\n * The origin is at the top-left.
\n *\n *Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins\n * with a new int. This is done intentionally so that we can copy out a row into a BitArray very\n * efficiently.
\n *\n *The ordering of bits is row-major. Within each int, the least significant bits are used first,\n * meaning they represent lower x values. This is compatible with BitArray's implementation.
\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\nexport default class BitMatrix /*implements Cloneable*/ {\n\n /**\n * Creates an empty square {@link BitMatrix}.\n *\n * @param dimension height and width\n */\n // public constructor(dimension: number /*int*/) {\n // this(dimension, dimension)\n // }\n\n /**\n * Creates an empty {@link BitMatrix}.\n *\n * @param width bit matrix width\n * @param height bit matrix height\n */\n // public constructor(width: number /*int*/, height: number /*int*/) {\n // if (width < 1 || height < 1) {\n // throw new IllegalArgumentException(\"Both dimensions must be greater than 0\")\n // }\n // this.width = width\n // this.height = height\n // this.rowSize = (width + 31) / 32\n // bits = new int[rowSize * height];\n // }\n\n public constructor(private width: number /*int*/, private height?: number /*int*/,\n private rowSize?: number /*int*/, private bits?: Int32Array) {\n if (undefined === height || null === height) {\n height = width;\n }\n this.height = height;\n if (width < 1 || height < 1) {\n throw new IllegalArgumentException('Both dimensions must be greater than 0');\n }\n if (undefined === rowSize || null === rowSize) {\n rowSize = Math.floor((width + 31) / 32);\n }\n this.rowSize = rowSize;\n if (undefined === bits || null === bits) {\n this.bits = new Int32Array(this.rowSize * this.height);\n }\n }\n\n /**\n * Interprets a 2D array of booleans as a {@link BitMatrix}, where \"true\" means an \"on\" bit.\n *\n * @function parse\n * @param image bits of the image, as a row-major 2D array. Elements are arrays representing rows\n * @return {@link BitMatrix} representation of image\n */\n public static parseFromBooleanArray(image: boolean[][]): BitMatrix {\n const height = image.length;\n const width = image[0].length;\n const bits = new BitMatrix(width, height);\n for (let i = 0; i < height; i++) {\n const imageI = image[i];\n for (let j = 0; j < width; j++) {\n if (imageI[j]) {\n bits.set(j, i);\n }\n }\n }\n return bits;\n }\n\n /**\n *\n * @function parse\n * @param stringRepresentation\n * @param setString\n * @param unsetString\n */\n public static parseFromString(stringRepresentation: string, setString: string, unsetString: string): BitMatrix {\n if (stringRepresentation === null) {\n throw new IllegalArgumentException('stringRepresentation cannot be null');\n }\n\n const bits = new ArrayGets the requested bit, where true means black.
\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n * @return value of given bit in matrix\n */\n public get(x: number /*int*/, y: number /*int*/): boolean {\n const offset = y * this.rowSize + Math.floor(x / 32);\n return ((this.bits[offset] >>> (x & 0x1f)) & 1) !== 0;\n }\n\n /**\n *Sets the given bit to true.
\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n public set(x: number /*int*/, y: number /*int*/): void {\n const offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] |= (1 << (x & 0x1f)) & 0xFFFFFFFF;\n }\n\n public unset(x: number /*int*/, y: number /*int*/): void {\n const offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] &= ~((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n\n /**\n *Flips the given bit.
\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n public flip(x: number /*int*/, y: number /*int*/): void {\n const offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] ^= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n\n /**\n * Exclusive-or (XOR): Flip the bit in this {@code BitMatrix} if the corresponding\n * mask bit is set.\n *\n * @param mask XOR mask\n */\n public xor(mask: BitMatrix): void {\n if (this.width !== mask.getWidth() || this.height !== mask.getHeight()\n || this.rowSize !== mask.getRowSize()) {\n throw new IllegalArgumentException('input matrix dimensions do not match');\n }\n const rowArray = new BitArray(Math.floor(this.width / 32) + 1);\n const rowSize = this.rowSize;\n const bits = this.bits;\n for (let y = 0, height = this.height; y < height; y++) {\n const offset = y * rowSize;\n const row = mask.getRow(y, rowArray).getBitArray();\n for (let x = 0; x < rowSize; x++) {\n bits[offset + x] ^= row[x];\n }\n }\n }\n\n /**\n * Clears all bits (sets to false).\n */\n public clear(): void {\n const bits = this.bits;\n const max = bits.length;\n for (let i = 0; i < max; i++) {\n bits[i] = 0;\n }\n }\n\n /**\n *Sets a square region of the bit matrix to true.
\n *\n * @param left The horizontal position to begin at (inclusive)\n * @param top The vertical position to begin at (inclusive)\n * @param width The width of the region\n * @param height The height of the region\n */\n public setRegion(left: number /*int*/, top: number /*int*/, width: number /*int*/, height: number /*int*/): void {\n if (top < 0 || left < 0) {\n throw new IllegalArgumentException('Left and top must be nonnegative');\n }\n if (height < 1 || width < 1) {\n throw new IllegalArgumentException('Height and width must be at least 1');\n }\n const right = left + width;\n const bottom = top + height;\n if (bottom > this.height || right > this.width) {\n throw new IllegalArgumentException('The region must fit inside the matrix');\n }\n const rowSize = this.rowSize;\n const bits = this.bits;\n for (let y = top; y < bottom; y++) {\n const offset = y * rowSize;\n for (let x = left; x < right; x++) {\n bits[offset + Math.floor(x / 32)] |= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n }\n }\n\n /**\n * A fast method to retrieve one row of data from the matrix as a BitArray.\n *\n * @param y The row to retrieve\n * @param row An optional caller-allocated BitArray, will be allocated if null or too small\n * @return The resulting BitArray - this reference should always be used even when passing\n * your own row\n */\n public getRow(y: number /*int*/, row?: BitArray): BitArray {\n if (row === null || row === undefined || row.getSize() < this.width) {\n row = new BitArray(this.width);\n } else {\n row.clear();\n }\n const rowSize = this.rowSize;\n const bits = this.bits;\n const offset = y * rowSize;\n for (let x = 0; x < rowSize; x++) {\n row.setBulk(x * 32, bits[offset + x]);\n }\n return row;\n }\n\n /**\n * @param y row to set\n * @param row {@link BitArray} to copy from\n */\n public setRow(y: number /*int*/, row: BitArray): void {\n System.arraycopy(row.getBitArray(), 0, this.bits, y * this.rowSize, this.rowSize);\n }\n\n /**\n * Modifies this {@code BitMatrix} to represent the same but rotated 180 degrees\n */\n public rotate180(): void {\n const width = this.getWidth();\n const height = this.getHeight();\n let topRow = new BitArray(width);\n let bottomRow = new BitArray(width);\n for (let i = 0, length = Math.floor((height + 1) / 2); i < length; i++) {\n topRow = this.getRow(i, topRow);\n bottomRow = this.getRow(height - 1 - i, bottomRow);\n topRow.reverse();\n bottomRow.reverse();\n this.setRow(i, bottomRow);\n this.setRow(height - 1 - i, topRow);\n }\n }\n\n /**\n * This is useful in detecting the enclosing rectangle of a 'pure' barcode.\n *\n * @return {@code left,top,width,height} enclosing rectangle of all 1 bits, or null if it is all white\n */\n public getEnclosingRectangle(): Int32Array {\n const width = this.width;\n const height = this.height;\n const rowSize = this.rowSize;\n const bits = this.bits;\n\n let left = width;\n let top = height;\n let right = -1;\n let bottom = -1;\n\n for (let y = 0; y < height; y++) {\n for (let x32 = 0; x32 < rowSize; x32++) {\n const theBits = bits[y * rowSize + x32];\n if (theBits !== 0) {\n if (y < top) {\n top = y;\n }\n if (y > bottom) {\n bottom = y;\n }\n if (x32 * 32 < left) {\n let bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n if ((x32 * 32 + bit) < left) {\n left = x32 * 32 + bit;\n }\n }\n if (x32 * 32 + 31 > right) {\n let bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n if ((x32 * 32 + bit) > right) {\n right = x32 * 32 + bit;\n }\n }\n }\n }\n }\n\n if (right < left || bottom < top) {\n return null;\n }\n\n return Int32Array.from([left, top, right - left + 1, bottom - top + 1]);\n }\n\n /**\n * This is useful in detecting a corner of a 'pure' barcode.\n *\n * @return {@code x,y} coordinate of top-left-most 1 bit, or null if it is all white\n */\n public getTopLeftOnBit(): Int32Array {\n const rowSize = this.rowSize;\n const bits = this.bits;\n\n let bitsOffset = 0;\n while (bitsOffset < bits.length && bits[bitsOffset] === 0) {\n bitsOffset++;\n }\n if (bitsOffset === bits.length) {\n return null;\n }\n const y = bitsOffset / rowSize;\n let x = (bitsOffset % rowSize) * 32;\n\n const theBits = bits[bitsOffset];\n let bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n x += bit;\n return Int32Array.from([x, y]);\n }\n\n public getBottomRightOnBit(): Int32Array {\n const rowSize = this.rowSize;\n const bits = this.bits;\n\n let bitsOffset = bits.length - 1;\n while (bitsOffset >= 0 && bits[bitsOffset] === 0) {\n bitsOffset--;\n }\n if (bitsOffset < 0) {\n return null;\n }\n\n const y = Math.floor(bitsOffset / rowSize);\n let x = Math.floor(bitsOffset % rowSize) * 32;\n\n const theBits = bits[bitsOffset];\n let bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n x += bit;\n\n return Int32Array.from([x, y]);\n }\n\n /**\n * @return The width of the matrix\n */\n public getWidth(): number /*int*/ {\n return this.width;\n }\n\n /**\n * @return The height of the matrix\n */\n public getHeight(): number /*int*/ {\n return this.height;\n }\n\n /**\n * @return The row size of the matrix\n */\n public getRowSize(): number /*int*/ {\n return this.rowSize;\n }\n\n /*@Override*/\n public equals(o: Object): boolean {\n if (!(o instanceof BitMatrix)) {\n return false;\n }\n const other =2D barcode formats typically encode text, but allow for a sort of 'byte mode'\n * which is sometimes used to encode binary data. While {@link Result} makes available\n * the complete raw bytes in the barcode for these formats, it does not offer the bytes\n * from the byte segments alone.
\n *\n *This maps to a {@link java.util.List} of byte arrays corresponding to the\n * raw bytes in the byte segments in the barcode, in order.
\n */\n BYTE_SEGMENTS,\n\n /**\n * Error correction level used, if applicable. The value type depends on the\n * format, but is typically a String.\n */\n ERROR_CORRECTION_LEVEL,\n\n /**\n * For some periodicals, indicates the issue number as an {@link Integer}.\n */\n ISSUE_NUMBER,\n\n /**\n * For some products, indicates the suggested retail price in the barcode as a\n * formatted {@link String}.\n */\n SUGGESTED_PRICE,\n\n /**\n * For some products, the possible country of manufacture as a {@link String} denoting the\n * ISO country code. Some map to multiple possible countries, like \"US/CA\".\n */\n POSSIBLE_COUNTRY,\n\n /**\n * For some products, the extension text\n */\n UPC_EAN_EXTENSION,\n\n /**\n * PDF417-specific metadata\n */\n PDF417_EXTRA_METADATA,\n\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * sequence number is given with it.\n */\n STRUCTURED_APPEND_SEQUENCE,\n\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * parity is given with it.\n */\n STRUCTURED_APPEND_PARITY,\n\n}\n\nexport default ResultMetadataType;\n","/*\n * Copyright 2008 ZXing authors\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\n/*namespace com.google.zxing.oned {*/\n\nimport BinaryBitmap from '../BinaryBitmap';\nimport BitArray from '../common/BitArray';\nimport DecodeHintType from '../DecodeHintType';\n\nimport Reader from '../Reader';\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport NotFoundException from '../NotFoundException';\n\n/**\n * Encapsulates functionality and implementation that is common to all families\n * of one-dimensional barcodes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n */\nexport default abstract class OneDReader implements Reader {\n\n /*\n @Override\n public Result decode(BinaryBitmap image) throws NotFoundException, FormatException {\n return decode(image, null);\n }\n */\n\n // Note that we don't try rotation without the try harder flag, even if rotation was supported.\n // @Override\n public decode(image: BinaryBitmap, hints?: MapAttempts to decode a one-dimensional barcode format given a single row of\n * an image.
\n *\n * @param rowNumber row number from top of the row\n * @param row the black/white pixel data of the row\n * @param hints decode hints\n * @return {@link Result} containing encoded string and start/end of barcode\n * @throws NotFoundException if no potential barcode is found\n * @throws ChecksumException if a potential barcode is found but does not pass its checksum\n * @throws FormatException if a potential barcode is found but format is invalid\n */\n public abstract decodeRow(rowNumber: number, row: BitArray, hints?: MapA simple, fast array of bits, represented compactly by an array of ints internally.
\n *\n * @author Sean Owen\n */\nexport default class BitArray /*implements Cloneable*/ {\n\n private size: number;\n private bits: Int32Array;\n\n // public constructor() {\n // this.size = 0\n // this.bits = new Int32Array(1)\n // }\n\n // public constructor(size?: number /*int*/) {\n // if (undefined === size) {\n // this.size = 0\n // } else {\n // this.size = size\n // }\n // this.bits = this.makeArray(size)\n // }\n\n // For testing only\n public constructor(size?: number /*int*/, bits?: Int32Array) {\n if (undefined === size) {\n this.size = 0;\n this.bits = new Int32Array(1);\n } else {\n this.size = size;\n if (undefined === bits || null === bits) {\n this.bits = BitArray.makeArray(size);\n } else {\n this.bits = bits;\n }\n }\n }\n\n public getSize(): number /*int*/ {\n return this.size;\n }\n\n public getSizeInBytes(): number /*int*/ {\n return Math.floor((this.size + 7) / 8);\n }\n\n private ensureCapacity(size: number /*int*/): void {\n if (size > this.bits.length * 32) {\n const newBits = BitArray.makeArray(size);\n System.arraycopy(this.bits, 0, newBits, 0, this.bits.length);\n this.bits = newBits;\n }\n }\n\n /**\n * @param i bit to get\n * @return true iff bit i is set\n */\n public get(i: number /*int*/): boolean {\n return (this.bits[Math.floor(i / 32)] & (1 << (i & 0x1F))) !== 0;\n }\n\n /**\n * Sets bit i.\n *\n * @param i bit to set\n */\n public set(i: number /*int*/): void {\n this.bits[Math.floor(i / 32)] |= 1 << (i & 0x1F);\n }\n\n /**\n * Flips bit i.\n *\n * @param i bit to set\n */\n public flip(i: number /*int*/): void {\n this.bits[Math.floor(i / 32)] ^= 1 << (i & 0x1F);\n }\n\n /**\n * @param from first bit to check\n * @return index of first bit that is set, starting from the given index, or size if none are set\n * at or beyond this given index\n * @see #getNextUnset(int)\n */\n public getNextSet(from: number /*int*/): number /*int*/ {\n const size = this.size;\n if (from >= size) {\n return size;\n }\n const bits = this.bits;\n let bitsOffset = Math.floor(from / 32);\n let currentBits = bits[bitsOffset];\n // mask off lesser bits first\n currentBits &= ~((1 << (from & 0x1F)) - 1);\n const length = bits.length;\n while (currentBits === 0) {\n if (++bitsOffset === length) {\n return size;\n }\n currentBits = bits[bitsOffset];\n }\n const result = (bitsOffset * 32) + Integer.numberOfTrailingZeros(currentBits);\n return result > size ? size : result;\n }\n\n /**\n * @param from index to start looking for unset bit\n * @return index of next unset bit, or {@code size} if none are unset until the end\n * @see #getNextSet(int)\n */\n public getNextUnset(from: number /*int*/): number /*int*/ {\n const size = this.size;\n if (from >= size) {\n return size;\n }\n const bits = this.bits;\n let bitsOffset = Math.floor(from / 32);\n let currentBits = ~bits[bitsOffset];\n // mask off lesser bits first\n currentBits &= ~((1 << (from & 0x1F)) - 1);\n const length = bits.length;\n while (currentBits === 0) {\n if (++bitsOffset === length) {\n return size;\n }\n currentBits = ~bits[bitsOffset];\n }\n const result = (bitsOffset * 32) + Integer.numberOfTrailingZeros(currentBits);\n return result > size ? size : result;\n }\n\n /**\n * Sets a block of 32 bits, starting at bit i.\n *\n * @param i first bit to set\n * @param newBits the new value of the next 32 bits. Note again that the least-significant bit\n * corresponds to bit i, the next-least-significant to i+1, and so on.\n */\n public setBulk(i: number /*int*/, newBits: number /*int*/): void {\n this.bits[Math.floor(i / 32)] = newBits;\n }\n\n /**\n * Sets a range of bits.\n *\n * @param start start of range, inclusive.\n * @param end end of range, exclusive\n */\n public setRange(start: number /*int*/, end: number /*int*/): void {\n if (end < start || start < 0 || end > this.size) {\n throw new IllegalArgumentException();\n }\n if (end === start) {\n return;\n }\n end--; // will be easier to treat this as the last actually set bit -- inclusive\n const firstInt = Math.floor(start / 32);\n const lastInt = Math.floor(end / 32);\n const bits = this.bits;\n for (let i = firstInt; i <= lastInt; i++) {\n const firstBit = i > firstInt ? 0 : start & 0x1F;\n const lastBit = i < lastInt ? 31 : end & 0x1F;\n // Ones from firstBit to lastBit, inclusive\n const mask = (2 << lastBit) - (1 << firstBit);\n bits[i] |= mask;\n }\n }\n\n /**\n * Clears all bits (sets to false).\n */\n public clear(): void {\n const max = this.bits.length;\n const bits = this.bits;\n for (let i = 0; i < max; i++) {\n bits[i] = 0;\n }\n }\n\n /**\n * Efficient method to check if a range of bits is set, or not set.\n *\n * @param start start of range, inclusive.\n * @param end end of range, exclusive\n * @param value if true, checks that bits in range are set, otherwise checks that they are not set\n * @return true iff all bits are set or not set in range, according to value argument\n * @throws IllegalArgumentException if end is less than start or the range is not contained in the array\n */\n public isRange(start: number /*int*/, end: number /*int*/, value: boolean): boolean {\n if (end < start || start < 0 || end > this.size) {\n throw new IllegalArgumentException();\n }\n if (end === start) {\n return true; // empty range matches\n }\n end--; // will be easier to treat this as the last actually set bit -- inclusive\n const firstInt = Math.floor(start / 32);\n const lastInt = Math.floor(end / 32);\n const bits = this.bits;\n for (let i = firstInt; i <= lastInt; i++) {\n const firstBit = i > firstInt ? 0 : start & 0x1F;\n const lastBit = i < lastInt ? 31 : end & 0x1F;\n // Ones from firstBit to lastBit, inclusive\n const mask = (2 << lastBit) - (1 << firstBit) & 0xFFFFFFFF;\n // TYPESCRIPTPORT: & 0xFFFFFFFF added to discard anything after 32 bits, as ES has 53 bits\n // Return false if we're looking for 1s and the masked bits[i] isn't all 1s (is: that,\n // equals the mask, or we're looking for 0s and the masked portion is not all 0s\n if ((bits[i] & mask) !== (value ? mask : 0)) {\n return false;\n }\n }\n return true;\n }\n\n public appendBit(bit: boolean): void {\n this.ensureCapacity(this.size + 1);\n if (bit) {\n this.bits[Math.floor(this.size / 32)] |= 1 << (this.size & 0x1F);\n }\n this.size++;\n }\n\n /**\n * Appends the least-significant bits, from value, in order from most-significant to\n * least-significant. For example, appending 6 bits from 0x000001E will append the bits\n * 0, 1, 1, 1, 1, 0 in that order.\n *\n * @param value {@code int} containing bits to append\n * @param numBits bits from value to append\n */\n public appendBits(value: number /*int*/, numBits: number /*int*/): void {\n if (numBits < 0 || numBits > 32) {\n throw new IllegalArgumentException('Num bits must be between 0 and 32');\n }\n this.ensureCapacity(this.size + numBits);\n const appendBit = this.appendBit;\n for (let numBitsLeft = numBits; numBitsLeft > 0; numBitsLeft--) {\n this.appendBit(((value >> (numBitsLeft - 1)) & 0x01) === 1);\n }\n }\n\n public appendBitArray(other: BitArray): void {\n const otherSize = other.size;\n this.ensureCapacity(this.size + otherSize);\n const appendBit = this.appendBit;\n for (let i = 0; i < otherSize; i++) {\n this.appendBit(other.get(i));\n }\n }\n\n public xor(other: BitArray): void {\n if (this.size !== other.size) {\n throw new IllegalArgumentException('Sizes don\\'t match');\n }\n const bits = this.bits;\n for (let i = 0, length = bits.length; i < length; i++) {\n // The last int could be incomplete (i.e. not have 32 bits in\n // it) but there is no problem since 0 XOR 0 == 0.\n bits[i] ^= other.bits[i];\n }\n }\n\n /**\n *\n * @param bitOffset first bit to start writing\n * @param array array to write into. Bytes are written most-significant byte first. This is the opposite\n * of the internal representation, which is exposed by {@link #getBitArray()}\n * @param offset position in array to start writing\n * @param numBytes how many bytes to write\n */\n public toBytes(bitOffset: number /*int*/, array: Uint8Array, offset: number /*int*/, numBytes: number /*int*/): void {\n for (let i = 0; i < numBytes; i++) {\n let theByte = 0;\n for (let j = 0; j < 8; j++) {\n if (this.get(bitOffset)) {\n theByte |= 1 << (7 - j);\n }\n bitOffset++;\n }\n array[offset + i] = /*(byte)*/ theByte;\n }\n }\n\n /**\n * @return underlying array of ints. The first element holds the first 32 bits, and the least\n * significant bit is bit 0.\n */\n public getBitArray(): Int32Array {\n return this.bits;\n }\n\n /**\n * Reverses all bits in the array.\n */\n public reverse(): void {\n const newBits = new Int32Array(this.bits.length);\n // reverse all int's first\n const len = Math.floor((this.size - 1) / 32);\n const oldBitsLen = len + 1;\n const bits = this.bits;\n for (let i = 0; i < oldBitsLen; i++) {\n let x = bits[i];\n x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1);\n x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2);\n x = ((x >> 4) & 0x0f0f0f0f) | ((x & 0x0f0f0f0f) << 4);\n x = ((x >> 8) & 0x00ff00ff) | ((x & 0x00ff00ff) << 8);\n x = ((x >> 16) & 0x0000ffff) | ((x & 0x0000ffff) << 16);\n newBits[len - i] = /*(int)*/ x;\n }\n // now correct the int's if the bit size isn't a multiple of 32\n if (this.size !== oldBitsLen * 32) {\n const leftOffset = oldBitsLen * 32 - this.size;\n let currentInt = newBits[0] >>> leftOffset;\n for (let i = 1; i < oldBitsLen; i++) {\n const nextInt = newBits[i];\n currentInt |= nextInt << (32 - leftOffset);\n newBits[i - 1] = currentInt;\n currentInt = nextInt >>> leftOffset;\n }\n newBits[oldBitsLen - 1] = currentInt;\n }\n this.bits = newBits;\n }\n\n private static makeArray(size: number /*int*/): Int32Array {\n return new Int32Array(Math.floor((size + 31) / 32));\n }\n\n /*@Override*/\n public equals(o: any): boolean {\n if (!(o instanceof BitArray)) {\n return false;\n }\n const other =This class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.
\n *\n *Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *
\n *\n * @author Sean Owen\n * @author David Olivier\n */\nexport default class GenericGF extends AbstractGenericGF {\n public static AZTEC_DATA_12 = new GenericGF(0x1069, 4096, 1); // x^12 + x^6 + x^5 + x^3 + 1\n public static AZTEC_DATA_10 = new GenericGF(0x409, 1024, 1); // x^10 + x^3 + 1\n public static AZTEC_DATA_6 = new GenericGF(0x43, 64, 1); // x^6 + x + 1\n public static AZTEC_PARAM = new GenericGF(0x13, 16, 1); // x^4 + x + 1\n public static QR_CODE_FIELD_256 = new GenericGF(0x011d, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1\n public static DATA_MATRIX_FIELD_256 = new GenericGF(0x012d, 256, 1); // x^8 + x^5 + x^3 + x^2 + 1\n public static AZTEC_DATA_8 = GenericGF.DATA_MATRIX_FIELD_256;\n public static MAXICODE_FIELD_64 = GenericGF.AZTEC_DATA_6;\n\n private zero: GenericGFPoly;\n private one: GenericGFPoly;\n\n /**\n * Create a representation of GF(size) using the given primitive polynomial.\n *\n * @param primitive irreducible polynomial whose coefficients are represented by\n * the bits of an int, where the least-significant bit represents the constant\n * coefficient\n * @param size the size of the field\n * @param b the factor b in the generator polynomial can be 0- or 1-based\n * (g(x) = (x+a^b)(x+a^(b+1))...(x+a^(b+2t-1))).\n * In most cases it should be 1, but for QR code it is 0.\n */\n public constructor(\n private primitive: number /*int*/,\n private size: number /*int*/,\n private generatorBase: number /*int*/\n ) {\n super();\n const expTable = new Int32Array(size);\n let x = 1;\n for (let i = 0; i < size; i++) {\n expTable[i] = x;\n x *= 2; // we're assuming the generator alpha is 2\n if (x >= size) {\n x ^= primitive;\n x &= size - 1;\n }\n }\n this.expTable = expTable;\n\n const logTable = new Int32Array(size);\n for (let i = 0; i < size - 1; i++) {\n logTable[expTable[i]] = i;\n }\n this.logTable = logTable;\n\n // logTable[0] == 0 but this should never be used\n this.zero = new GenericGFPoly(this, Int32Array.from([0]));\n this.one = new GenericGFPoly(this, Int32Array.from([1]));\n }\n\n public getZero(): GenericGFPoly {\n return this.zero;\n }\n\n public getOne(): GenericGFPoly {\n return this.one;\n }\n\n /**\n * @return the monomial representing coefficient * x^degree\n */\n public buildMonomial(\n degree: number /*int*/,\n coefficient: number /*int*/\n ): GenericGFPoly {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n const coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new GenericGFPoly(this, coefficients);\n }\n\n /**\n * @return multiplicative inverse of a\n */\n public inverse(a: number /*int*/): number /*int*/ {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.size - this.logTable[a] - 1];\n }\n\n /**\n * @return product of a and b in GF(size)\n */\n public multiply(a: number /*int*/, b: number /*int*/): number /*int*/ {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[\n (this.logTable[a] + this.logTable[b]) % (this.size - 1)\n ];\n }\n\n public getSize(): number /*int*/ {\n return this.size;\n }\n\n public getGeneratorBase(): number /*int*/ {\n return this.generatorBase;\n }\n\n /*@Override*/\n public toString(): string {\n return (\n 'GF(0x' + Integer.toHexString(this.primitive) + ',' + this.size + ')'\n );\n }\n\n public equals(o: Object): boolean {\n return o === this;\n }\n}\n","/*\n* Copyright 2009 ZXing authors\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// package com.google.zxing.pdf417;\n\n// import java.util.Arrays;\nimport Arrays from '../util/Arrays';\n// import java.util.Collection;\n\n// import com.google.zxing.common.detector.MathUtils;\nimport MathUtils from '../common/detector/MathUtils';\n\nimport { int } from '../../customTypings';\n\n/**\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author Guenther Grau\n */\nexport default /*public final*/ class PDF417Common {\n\n public static /*final int*/ NUMBER_OF_CODEWORDS = 929;\n // Maximum Codewords (Data + Error).\n public static /*final int*/ MAX_CODEWORDS_IN_BARCODE = PDF417Common.NUMBER_OF_CODEWORDS - 1;\n public static /*final int*/ MIN_ROWS_IN_BARCODE = 3;\n public static /*final int*/ MAX_ROWS_IN_BARCODE = 90;\n // One left row indication column + max 30 data columns + one right row indicator column\n // public static /*final*/ MAX_CODEWORDS_IN_ROW: /*int*/ number = 32;\n public static /*final int*/ MODULES_IN_CODEWORD = 17;\n public static /*final int*/ MODULES_IN_STOP_PATTERN = 18;\n public static /*final int*/ BARS_IN_MODULE = 8;\n\n private static /*final int[]*/ EMPTY_INT_ARRAY: Int32Array = new Int32Array([]);\n\n private PDF417Common() {\n }\n\n /**\n * @param moduleBitCount values to sum\n * @return sum of values\n * @deprecated call {@link MathUtils#sum(int[])}\n */\n // @Deprecated\n public static getBitCountSum(moduleBitCount: Int32Array): int {\n return MathUtils.sum(moduleBitCount);\n }\n\n public static toIntArray(list: /*CollectionEncapsulates the result of decoding a matrix of bits. This typically\n * applies to 2D barcode formats. For now it contains the raw bytes obtained,\n * as well as a String interpretation of those bytes, if applicable.
\n *\n * @author Sean Owen\n */\nexport default class DecoderResult {\n\n private numBits: number; /*int*/\n private errorsCorrected: number; /*Integer*/\n private erasures: number; /*Integer*/\n private other: any;\n\n // public constructor(rawBytes: Uint8Array,\n // text: string,\n // ListImplements Reed-Solomon decoding, as the name implies.
\n *\n *The algorithm will not be explained here, but the following references were helpful\n * in creating this implementation:
\n *\n *Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.
\n *\n * @author Sean Owen\n * @author William Rucklidge\n * @author sanfordsquires\n */\nexport default class ReedSolomonDecoder {\n\n public constructor(private field: GenericGF) { }\n\n /**\n *Decodes given set of received codewords, which include both data and error-correction\n * codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place,\n * in the input.
\n *\n * @param received data and error-correction codewords\n * @param twoS number of error-correction codewords available\n * @throws ReedSolomonException if decoding fails for any reason\n */\n public decode(received: Int32Array, twoS: number /*int*/): void /*throws ReedSolomonException*/ {\n const field = this.field;\n const poly = new GenericGFPoly(field, received);\n const syndromeCoefficients = new Int32Array(twoS);\n let noError: boolean = true;\n for (let i = 0; i < twoS; i++) {\n const evalResult = poly.evaluateAt(field.exp(i + field.getGeneratorBase()));\n syndromeCoefficients[syndromeCoefficients.length - 1 - i] = evalResult;\n if (evalResult !== 0) {\n noError = false;\n }\n }\n if (noError) {\n return;\n }\n const syndrome = new GenericGFPoly(field, syndromeCoefficients);\n const sigmaOmega = this.runEuclideanAlgorithm(field.buildMonomial(twoS, 1), syndrome, twoS);\n const sigma = sigmaOmega[0];\n const omega = sigmaOmega[1];\n const errorLocations = this.findErrorLocations(sigma);\n const errorMagnitudes = this.findErrorMagnitudes(omega, errorLocations);\n for (let i = 0; i < errorLocations.length; i++) {\n const position = received.length - 1 - field.log(errorLocations[i]);\n if (position < 0) {\n throw new ReedSolomonException('Bad error location');\n }\n received[position] = GenericGF.addOrSubtract(received[position], errorMagnitudes[i]);\n }\n }\n\n private runEuclideanAlgorithm(a: GenericGFPoly, b: GenericGFPoly, R: number /*int*/): GenericGFPoly[] {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n const temp = a;\n a = b;\n b = temp;\n }\n\n const field = this.field;\n\n let rLast = a;\n let r = b;\n let tLast = field.getZero();\n let t = field.getOne();\n\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= (R / 2 | 0)) {\n let rLastLast = rLast;\n let tLastLast = tLast;\n rLast = r;\n tLast = t;\n\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw new ReedSolomonException('r_{i-1} was zero');\n }\n r = rLastLast;\n let q = field.getZero();\n const denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n const dltInverse = field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n const degreeDiff = r.getDegree() - rLast.getDegree();\n const scale = field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));\n r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n\n t = q.multiply(tLast).addOrSubtract(tLastLast);\n\n if (r.getDegree() >= rLast.getDegree()) {\n throw new IllegalStateException('Division algorithm failed to reduce polynomial?');\n }\n }\n\n const sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw new ReedSolomonException('sigmaTilde(0) was zero');\n }\n\n const inverse = field.inverse(sigmaTildeAtZero);\n const sigma = t.multiplyScalar(inverse);\n const omega = r.multiplyScalar(inverse);\n return [sigma, omega];\n }\n\n private findErrorLocations(errorLocator: GenericGFPoly): Int32Array /*throws ReedSolomonException*/ {\n // This is a direct application of Chien's search\n const numErrors = errorLocator.getDegree();\n if (numErrors === 1) { // shortcut\n return Int32Array.from([errorLocator.getCoefficient(1)]);\n }\n const result = new Int32Array(numErrors);\n let e = 0;\n const field = this.field;\n for (let i = 1; i < field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw new ReedSolomonException('Error locator degree does not match number of roots');\n }\n return result;\n }\n\n private findErrorMagnitudes(errorEvaluator: GenericGFPoly, errorLocations: Int32Array): Int32Array {\n // This is directly applying Forney's Formula\n const s = errorLocations.length;\n const result = new Int32Array(s);\n const field = this.field;\n for (let i = 0; i < s; i++) {\n const xiInverse = field.inverse(errorLocations[i]);\n let denominator = 1;\n for (let j = 0; j < s; j++) {\n if (i !== j) {\n // denominator = field.multiply(denominator,\n // GenericGF.addOrSubtract(1, field.multiply(errorLocations[j], xiInverse)))\n // Above should work but fails on some Apple and Linux JDKs due to a Hotspot bug.\n // Below is a funny-looking workaround from Steven Parkes\n const term = field.multiply(errorLocations[j], xiInverse);\n const termPlus1 = (term & 0x1) === 0 ? term | 1 : term & ~1;\n denominator = field.multiply(denominator, termPlus1);\n }\n }\n result[i] = field.multiply(errorEvaluator.evaluateAt(xiInverse),\n field.inverse(denominator));\n if (field.getGeneratorBase() !== 0) {\n result[i] = field.multiply(result[i], xiInverse);\n }\n }\n return result;\n }\n\n}\n","/*\n * Copyright (C) 2010 ZXing authors\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\n/*namespace com.google.zxing.common {*/\n\n/*import java.nio.charset.Charset;*/\n/*import java.util.Map;*/\n\nimport DecodeHintType from '../DecodeHintType';\nimport CharacterSetECI from './CharacterSetECI';\nimport StringEncoding from '../util/StringEncoding';\nimport { int } from '../../customTypings';\nimport Charset from '../util/Charset';\n\n/**\n * Common string-related functions.\n *\n * @author Sean Owen\n * @author Alex Dupre\n */\nexport default class StringUtils {\n\n public static SHIFT_JIS = CharacterSetECI.SJIS.getName(); // \"SJIS\"\n public static GB2312 = 'GB2312';\n public static ISO88591 = CharacterSetECI.ISO8859_1.getName(); // \"ISO8859_1\"\n private static EUC_JP = 'EUC_JP';\n private static UTF8 = CharacterSetECI.UTF8.getName(); // \"UTF8\"\n private static PLATFORM_DEFAULT_ENCODING = StringUtils.UTF8; // \"UTF8\"//Charset.defaultCharset().name()\n private static ASSUME_SHIFT_JIS = false;\n // SHIFT_JIS.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING) ||\n // EUC_JP.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING);\n\n static castAsNonUtf8Char(code: number, encoding: Charset = null) {\n // ISO 8859-1 is the Java default as UTF-8 is JavaScripts\n // you can see this method as a Java version of String.fromCharCode\n const e = encoding ? encoding.getName() : this.ISO88591;\n // use passed format (fromCharCode will return UTF8 encoding)\n return StringEncoding.decode(new Uint8Array([code]), e);\n }\n\n /**\n * @param bytes bytes encoding a string, whose encoding should be guessed\n * @param hints decode hints if applicable\n * @return name of guessed encoding; at the moment will only guess one of:\n * {@link #SHIFT_JIS}, {@link #UTF8}, {@link #ISO88591}, or the platform\n * default encoding if none of these can possibly be correct\n */\n public static guessEncoding(bytes: Uint8Array, hints: MapRepresents a polynomial whose coefficients are elements of a GF.\n * Instances of this class are immutable.
\n *\n *Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.
\n *\n * @author Sean Owen\n */\nexport default class GenericGFPoly {\n\n private field: AbstractGenericGF;\n private coefficients: Int32Array;\n\n /**\n * @param field the {@link GenericGF} instance representing the field to use\n * to perform computations\n * @param coefficients coefficients as ints representing elements of GF(size), arranged\n * from most significant (highest-power term) coefficient to least significant\n * @throws IllegalArgumentException if argument is null or empty,\n * or if leading coefficient is 0 and this is not a\n * constant polynomial (that is, it is not the monomial \"0\")\n */\n public constructor(field: AbstractGenericGF, coefficients: Int32Array) {\n if (coefficients.length === 0) {\n throw new IllegalArgumentException();\n }\n this.field = field;\n const coefficientsLength = coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n let firstNonZero = 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = Int32Array.from([0]);\n } else {\n this.coefficients = new Int32Array(coefficientsLength - firstNonZero);\n System.arraycopy(coefficients,\n firstNonZero,\n this.coefficients,\n 0,\n this.coefficients.length);\n }\n } else {\n this.coefficients = coefficients;\n }\n }\n\n public getCoefficients(): Int32Array {\n return this.coefficients;\n }\n\n /**\n * @return degree of this polynomial\n */\n public getDegree(): number {\n return this.coefficients.length - 1;\n }\n\n /**\n * @return true iff this polynomial is the monomial \"0\"\n */\n public isZero(): boolean {\n return this.coefficients[0] === 0;\n }\n\n /**\n * @return coefficient of x^degree term in this polynomial\n */\n public getCoefficient(degree: number /*int*/): number {\n return this.coefficients[this.coefficients.length - 1 - degree];\n }\n\n /**\n * @return evaluation of this polynomial at a given point\n */\n public evaluateAt(a: number /*int*/): number {\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n const coefficients = this.coefficients;\n let result: number;\n if (a === 1) {\n // Just the sum of the coefficients\n result = 0;\n for (let i = 0, length = coefficients.length; i !== length; i++) {\n const coefficient = coefficients[i];\n result = AbstractGenericGF.addOrSubtract(result, coefficient);\n }\n return result;\n }\n result = coefficients[0];\n const size = coefficients.length;\n const field = this.field;\n for (let i = 1; i < size; i++) {\n result = AbstractGenericGF.addOrSubtract(field.multiply(a, result), coefficients[i]);\n }\n return result;\n }\n\n public addOrSubtract(other: GenericGFPoly): GenericGFPoly {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n\n let smallerCoefficients = this.coefficients;\n let largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n const temp = smallerCoefficients;\n smallerCoefficients = largerCoefficients;\n largerCoefficients = temp;\n }\n let sumDiff = new Int32Array(largerCoefficients.length);\n const lengthDiff = largerCoefficients.length - smallerCoefficients.length;\n // Copy high-order terms only found in higher-degree polynomial's coefficients\n System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff);\n\n for (let i = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = AbstractGenericGF.addOrSubtract(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n\n return new GenericGFPoly(this.field, sumDiff);\n }\n\n public multiply(other: GenericGFPoly): GenericGFPoly {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (this.isZero() || other.isZero()) {\n return this.field.getZero();\n }\n const aCoefficients = this.coefficients;\n const aLength = aCoefficients.length;\n const bCoefficients = other.coefficients;\n const bLength = bCoefficients.length;\n const product = new Int32Array(aLength + bLength - 1);\n const field = this.field;\n for (let i = 0; i < aLength; i++) {\n const aCoeff = aCoefficients[i];\n for (let j = 0; j < bLength; j++) {\n product[i + j] = AbstractGenericGF.addOrSubtract(product[i + j],\n field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new GenericGFPoly(field, product);\n }\n\n public multiplyScalar(scalar: number /*int*/): GenericGFPoly {\n if (scalar === 0) {\n return this.field.getZero();\n }\n if (scalar === 1) {\n return this;\n }\n const size = this.coefficients.length;\n const field = this.field;\n const product = new Int32Array(size);\n const coefficients = this.coefficients;\n for (let i = 0; i < size; i++) {\n product[i] = field.multiply(coefficients[i], scalar);\n }\n return new GenericGFPoly(field, product);\n }\n\n public multiplyByMonomial(degree: number /*int*/, coefficient: number /*int*/): GenericGFPoly {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.field.getZero();\n }\n const coefficients = this.coefficients;\n const size = coefficients.length;\n const product = new Int32Array(size + degree);\n const field = this.field;\n for (let i = 0; i < size; i++) {\n product[i] = field.multiply(coefficients[i], coefficient);\n }\n return new GenericGFPoly(field, product);\n }\n\n public divide(other: GenericGFPoly): GenericGFPoly[] {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (other.isZero()) {\n throw new IllegalArgumentException('Divide by 0');\n }\n\n const field = this.field;\n\n let quotient: GenericGFPoly = field.getZero();\n let remainder: GenericGFPoly = this;\n\n const denominatorLeadingTerm = other.getCoefficient(other.getDegree());\n const inverseDenominatorLeadingTerm = field.inverse(denominatorLeadingTerm);\n\n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n const degreeDifference = remainder.getDegree() - other.getDegree();\n const scale = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm);\n const term = other.multiplyByMonomial(degreeDifference, scale);\n const iterationQuotient = field.buildMonomial(degreeDifference, scale);\n quotient = quotient.addOrSubtract(iterationQuotient);\n remainder = remainder.addOrSubtract(term);\n }\n\n return [quotient, remainder];\n }\n\n /*@Override*/\n public toString(): string {\n let result = '';\n for (let degree = this.getDegree(); degree >= 0; degree--) {\n let coefficient = this.getCoefficient(degree);\n if (coefficient !== 0) {\n if (coefficient < 0) {\n result += ' - ';\n coefficient = -coefficient;\n } else {\n if (result.length > 0) {\n result += ' + ';\n }\n }\n if (degree === 0 || coefficient !== 1) {\n const alphaPower = this.field.log(coefficient);\n if (alphaPower === 0) {\n result += '1';\n } else if (alphaPower === 1) {\n result += 'a';\n } else {\n result += 'a^';\n result += alphaPower;\n }\n }\n if (degree !== 0) {\n if (degree === 1) {\n result += 'x';\n } else {\n result += 'x^';\n result += degree;\n }\n }\n }\n }\n return result;\n }\n\n}\n","/*\n * Copyright 2007 ZXing authors\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\n/*namespace com.google.zxing.common {*/\n\nimport ResultPoint from '../ResultPoint';\nimport BitMatrix from './BitMatrix';\n\n/**\n *Encapsulates the result of detecting a barcode in an image. This includes the raw\n * matrix of black/white pixels corresponding to the barcode, and possibly points of interest\n * in the image, like the location of finder patterns or corners of the barcode in the image.
\n *\n * @author Sean Owen\n */\nexport default class DetectorResult {\n\n private bits: BitMatrix;\n private points: ArrayEncapsulates functionality and implementation that is common to UPC and EAN families\n * of one-dimensional barcodes.
\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nexport default abstract class AbstractUPCEANReader extends OneDReader {\n // These two values are critical for determining how permissive the decoding will be.\n // We've arrived at these values through a lot of trial and error. Setting them any higher\n // lets false positives creep in quickly.\n private static MAX_AVG_VARIANCE = 0.48;\n private static MAX_INDIVIDUAL_VARIANCE = 0.7;\n\n /**\n * Start/end guard pattern.\n */\n public static START_END_PATTERN: number[] = [1, 1, 1];\n\n /**\n * Pattern marking the middle of a UPC/EAN pattern, separating the two halves.\n */\n public static MIDDLE_PATTERN: number[] = [1, 1, 1, 1, 1];\n /**\n * end guard pattern.\n */\n public static END_PATTERN: number[] = [1, 1, 1, 1, 1, 1];\n /**\n * \"Odd\", or \"L\" patterns used to encode UPC/EAN digits.\n */\n public static L_PATTERNS: number[][] = [\n [3, 2, 1, 1], // 0\n [2, 2, 2, 1], // 1\n [2, 1, 2, 2], // 2\n [1, 4, 1, 1], // 3\n [1, 1, 3, 2], // 4\n [1, 2, 3, 1], // 5\n [1, 1, 1, 4], // 6\n [1, 3, 1, 2], // 7\n [1, 2, 1, 3], // 8\n [3, 1, 1, 2], // 9\n ];\n\n /**\n * As above but also including the \"even\", or \"G\" patterns used to encode UPC/EAN digits.\n */\n public static L_AND_G_PATTERNS: number[][];\n\n protected decodeRowStringBuffer = '';\n // private final UPCEANExtensionSupport extensionReader;\n // private final EANManufacturerOrgSupport eanManSupport;\n\n\n /*\n protected UPCEANReader() {\n decodeRowStringBuffer = new StringBuilder(20);\n extensionReader = new UPCEANExtensionSupport();\n eanManSupport = new EANManufacturerOrgSupport();\n }\n */\n\n static findStartGuardPattern(row: BitArray): number[] {\n let foundStart = false;\n let startRange: number[] = null;\n let nextStart = 0;\n let counters = [0, 0, 0];\n while (!foundStart) {\n counters = [0, 0, 0];\n startRange = AbstractUPCEANReader.findGuardPattern(row, nextStart, false, this.START_END_PATTERN, counters);\n let start = startRange[0];\n nextStart = startRange[1];\n let quietStart = start - (nextStart - start);\n if (quietStart >= 0) {\n foundStart = row.isRange(quietStart, start, false);\n }\n }\n return startRange;\n }\n\n public abstract decodeRow(rowNumber: number, row: BitArray, hints?: MapSee ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels\n * defined by the QR code standard.
\n *\n * @author Sean Owen\n */\nexport default class ErrorCorrectionLevel {\n\n private static FOR_BITS = new Map\n * Detects a candidate barcode-like rectangular region within an image. It\n * starts around the center of the image, increases the size of the candidate\n * region until it finds a white rectangular region. By keeping track of the\n * last black points it encountered, it determines the corners of the barcode.\n *
\n *\n * @author David Olivier\n */\nexport default class WhiteRectangleDetector {\n\n private static INIT_SIZE = 10;\n private static CORR = 1;\n\n private height: number; /*int*/\n private width: number; /*int*/\n private leftInit: number; /*int*/\n private rightInit: number; /*int*/\n private downInit: number; /*int*/\n private upInit: number; /*int*/\n\n // public constructor(private image: BitMatrix) /*throws NotFoundException*/ {\n // this(image, INIT_SIZE, image.getWidth() / 2, image.getHeight() / 2)\n // }\n\n /**\n * @param image barcode image to find a rectangle in\n * @param initSize initial size of search area around center\n * @param x x position of search center\n * @param y y position of search center\n * @throws NotFoundException if image is too small to accommodate {@code initSize}\n */\n public constructor(private image: BitMatrix, initSize?: number /*int*/, x?: number /*int*/, y?: number /*int*/) /*throws NotFoundException*/ {\n this.height = image.getHeight();\n this.width = image.getWidth();\n if (undefined === initSize || null === initSize) {\n initSize = WhiteRectangleDetector.INIT_SIZE;\n }\n if (undefined === x || null === x) {\n x = image.getWidth() / 2 | 0;\n }\n if (undefined === y || null === y) {\n y = image.getHeight() / 2 | 0;\n }\n const halfsize = initSize / 2 | 0;\n this.leftInit = x - halfsize;\n this.rightInit = x + halfsize;\n this.upInit = y - halfsize;\n this.downInit = y + halfsize;\n if (this.upInit < 0 || this.leftInit < 0 || this.downInit >= this.height || this.rightInit >= this.width) {\n throw new NotFoundException();\n }\n }\n\n /**\n *\n * Detects a candidate barcode-like rectangular region within an image. It\n * starts around the center of the image, increases the size of the candidate\n * region until it finds a white rectangular region.\n *
\n *\n * @return {@link ResultPoint}[] describing the corners of the rectangular\n * region. The first and last points are opposed on the diagonal, as\n * are the second and third. The first point will be the topmost\n * point and the last, the bottommost. The second point will be\n * leftmost and the third, the rightmost\n * @throws NotFoundException if no Data Matrix Code can be found\n */\n public detect(): ArrayThis class implements a perspective transform in two dimensions. Given four source and four\n * destination points, it will compute the transformation implied between them. The code is based\n * directly upon section 3.4.2 of George Wolberg's \"Digital Image Warping\"; see pages 54-56.
\n *\n * @author Sean Owen\n */\nexport default class PerspectiveTransform {\n\n private constructor(private a11: number/*float*/, private a21: number/*float*/, private a31: number/*float*/,\n private a12: number/*float*/, private a22: number/*float*/, private a32: number/*float*/,\n private a13: number/*float*/, private a23: number/*float*/, private a33: number/*float*/) { }\n\n public static quadrilateralToQuadrilateral(\n x0: number/*float*/, y0: number/*float*/,\n x1: number/*float*/, y1: number/*float*/,\n x2: number/*float*/, y2: number/*float*/,\n x3: number/*float*/, y3: number/*float*/,\n x0p: number/*float*/, y0p: number/*float*/,\n x1p: number/*float*/, y1p: number/*float*/,\n x2p: number/*float*/, y2p: number/*float*/,\n x3p: number/*float*/, y3p: number/*float*/\n ): PerspectiveTransform {\n\n const qToS = PerspectiveTransform.quadrilateralToSquare(x0, y0, x1, y1, x2, y2, x3, y3);\n const sToQ = PerspectiveTransform.squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p);\n\n return sToQ.times(qToS);\n }\n\n public transformPoints(points: Float32Array): void {\n\n const max = points.length;\n\n const a11 = this.a11;\n const a12 = this.a12;\n const a13 = this.a13;\n const a21 = this.a21;\n const a22 = this.a22;\n const a23 = this.a23;\n const a31 = this.a31;\n const a32 = this.a32;\n const a33 = this.a33;\n\n for (let i = 0; i < max; i += 2) {\n const x = points[i];\n const y = points[i + 1];\n const denominator = a13 * x + a23 * y + a33;\n points[i] = (a11 * x + a21 * y + a31) / denominator;\n points[i + 1] = (a12 * x + a22 * y + a32) / denominator;\n }\n }\n\n public transformPointsWithValues(xValues: Float32Array, yValues: Float32Array): void {\n\n const a11 = this.a11;\n const a12 = this.a12;\n const a13 = this.a13;\n const a21 = this.a21;\n const a22 = this.a22;\n const a23 = this.a23;\n const a31 = this.a31;\n const a32 = this.a32;\n const a33 = this.a33;\n\n const n = xValues.length;\n\n for (let i = 0; i < n; i++) {\n const x = xValues[i];\n const y = yValues[i];\n const denominator = a13 * x + a23 * y + a33;\n\n xValues[i] = (a11 * x + a21 * y + a31) / denominator;\n yValues[i] = (a12 * x + a22 * y + a32) / denominator;\n }\n }\n\n public static squareToQuadrilateral(\n x0: number/*float*/, y0: number/*float*/,\n x1: number/*float*/, y1: number/*float*/,\n x2: number/*float*/, y2: number/*float*/,\n x3: number/*float*/, y3: number/*float*/\n ): PerspectiveTransform {\n\n const dx3 = x0 - x1 + x2 - x3;\n const dy3 = y0 - y1 + y2 - y3;\n\n if (dx3 === 0.0 && dy3 === 0.0) {\n // Affine\n return new PerspectiveTransform(x1 - x0, x2 - x1, x0,\n y1 - y0, y2 - y1, y0,\n 0.0, 0.0, 1.0);\n } else {\n const dx1 = x1 - x2;\n const dx2 = x3 - x2;\n const dy1 = y1 - y2;\n const dy2 = y3 - y2;\n\n const denominator = dx1 * dy2 - dx2 * dy1;\n\n const a13 = (dx3 * dy2 - dx2 * dy3) / denominator;\n const a23 = (dx1 * dy3 - dx3 * dy1) / denominator;\n\n return new PerspectiveTransform(\n x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0,\n y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0,\n a13, a23, 1.0\n );\n }\n }\n\n public static quadrilateralToSquare(\n x0: number/*float*/, y0: number/*float*/,\n x1: number/*float*/, y1: number/*float*/,\n x2: number/*float*/, y2: number/*float*/,\n x3: number/*float*/, y3: number/*float*/\n ): PerspectiveTransform {\n // Here, the adjoint serves as the inverse:\n return PerspectiveTransform.squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3).buildAdjoint();\n }\n\n protected buildAdjoint(): PerspectiveTransform {\n // Adjoint is the transpose of the cofactor matrix:\n return new PerspectiveTransform(\n this.a22 * this.a33 - this.a23 * this.a32,\n this.a23 * this.a31 - this.a21 * this.a33,\n this.a21 * this.a32 - this.a22 * this.a31,\n this.a13 * this.a32 - this.a12 * this.a33,\n this.a11 * this.a33 - this.a13 * this.a31,\n this.a12 * this.a31 - this.a11 * this.a32,\n this.a12 * this.a23 - this.a13 * this.a22,\n this.a13 * this.a21 - this.a11 * this.a23,\n this.a11 * this.a22 - this.a12 * this.a21\n );\n }\n\n protected times(other: PerspectiveTransform): PerspectiveTransform {\n return new PerspectiveTransform(\n this.a11 * other.a11 + this.a21 * other.a12 + this.a31 * other.a13,\n this.a11 * other.a21 + this.a21 * other.a22 + this.a31 * other.a23,\n this.a11 * other.a31 + this.a21 * other.a32 + this.a31 * other.a33,\n this.a12 * other.a11 + this.a22 * other.a12 + this.a32 * other.a13,\n this.a12 * other.a21 + this.a22 * other.a22 + this.a32 * other.a23,\n this.a12 * other.a31 + this.a22 * other.a32 + this.a32 * other.a33,\n this.a13 * other.a11 + this.a23 * other.a12 + this.a33 * other.a13,\n this.a13 * other.a21 + this.a23 * other.a22 + this.a33 * other.a23,\n this.a13 * other.a31 + this.a23 * other.a32 + this.a33 * other.a33\n );\n }\n\n}\n","/*\n * Copyright 2008 ZXing authors\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\n/*namespace com.google.zxing.oned {*/\n\nimport BarcodeFormat from '../BarcodeFormat';\nimport BitArray from '../common/BitArray';\nimport Code39Reader from './Code39Reader';\nimport Code128Reader from './Code128Reader';\nimport RSS14Reader from './rss/RSS14Reader';\nimport DecodeHintType from '../DecodeHintType';\nimport ITFReader from './ITFReader';\nimport MultiFormatUPCEANReader from './MultiFormatUPCEANReader';\nimport NotFoundException from '../NotFoundException';\nimport OneDReader from './OneDReader';\nimport Result from '../Result';\n\n/**\n * @author Daniel SwitkinThis provides an easy abstraction to read bits at a time from a sequence of bytes, where the\n * number of bits read is not often a multiple of 8.
\n *\n *This class is thread-safe but not reentrant -- unless the caller modifies the bytes array\n * it passed in, in which case all bets are off.
\n *\n * @author Sean Owen\n */\nexport default class BitSource {\n\n private byteOffset: number; /*int*/\n private bitOffset: number; /*int*/\n\n /**\n * @param bytes bytes from which this will read bits. Bits will be read from the first byte first.\n * Bits are read within a byte from most-significant to least-significant bit.\n */\n public constructor(private bytes: Uint8Array) {\n this.byteOffset = 0;\n this.bitOffset = 0;\n }\n\n /**\n * @return index of next bit in current byte which would be read by the next call to {@link #readBits(int)}.\n */\n public getBitOffset(): number /*int*/ {\n return this.bitOffset;\n }\n\n /**\n * @return index of next byte in input byte array which would be read by the next call to {@link #readBits(int)}.\n */\n public getByteOffset(): number /*int*/ {\n return this.byteOffset;\n }\n\n /**\n * @param numBits number of bits to read\n * @return int representing the bits read. The bits will appear as the least-significant\n * bits of the int\n * @throws IllegalArgumentException if numBits isn't in [1,32] or more than is available\n */\n public readBits(numBits: number /*int*/): number /*int*/ {\n if (numBits < 1 || numBits > 32 || numBits > this.available()) {\n throw new IllegalArgumentException('' + numBits);\n }\n\n let result = 0;\n\n let bitOffset = this.bitOffset;\n let byteOffset = this.byteOffset;\n\n const bytes = this.bytes;\n // First, read remainder from current byte\n if (bitOffset > 0) {\n const bitsLeft = 8 - bitOffset;\n const toRead = numBits < bitsLeft ? numBits : bitsLeft;\n const bitsToNotRead = bitsLeft - toRead;\n const mask = (0xFF >> (8 - toRead)) << bitsToNotRead;\n\n result = (bytes[byteOffset] & mask) >> bitsToNotRead;\n numBits -= toRead;\n bitOffset += toRead;\n\n if (bitOffset === 8) {\n bitOffset = 0;\n byteOffset++;\n }\n }\n\n // Next read whole bytes\n if (numBits > 0) {\n\n while (numBits >= 8) {\n result = (result << 8) | (bytes[byteOffset] & 0xFF);\n byteOffset++;\n numBits -= 8;\n }\n\n // Finally read a partial byte\n if (numBits > 0) {\n const bitsToNotRead = 8 - numBits;\n const mask = (0xFF >> bitsToNotRead) << bitsToNotRead;\n\n result = (result << numBits) | ((bytes[byteOffset] & mask) >> bitsToNotRead);\n bitOffset += numBits;\n }\n }\n\n this.bitOffset = bitOffset;\n this.byteOffset = byteOffset;\n\n return result;\n }\n\n /**\n * @return number of bits that can be read successfully\n */\n public available(): number /*int*/ {\n return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;\n }\n\n}\n","/*\n * Copyright 2007 ZXing authors\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\n/*namespace com.google.zxing.qrcode {*/\n\nimport BarcodeFormat from '../BarcodeFormat';\nimport BinaryBitmap from '../BinaryBitmap';\nimport DecodeHintType from '../DecodeHintType';\nimport Reader from '../Reader';\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport BitMatrix from '../common/BitMatrix';\nimport DecoderResult from '../common/DecoderResult';\nimport DetectorResult from '../common/DetectorResult';\nimport Decoder from './decoder/Decoder';\nimport QRCodeDecoderMetaData from './decoder/QRCodeDecoderMetaData';\nimport Detector from './detector/Detector';\n\nimport NotFoundException from '../NotFoundException';\n\n/*import java.util.List;*/\n/*import java.util.Map;*/\n\n/**\n * This implementation can detect and decode QR Codes in an image.\n *\n * @author Sean Owen\n */\nexport default class QRCodeReader implements Reader {\n\n private static NO_POINTS = new ArrayDeduces version information purely from QR Code dimensions.
\n *\n * @param dimension dimension in modules\n * @return Version for a QR Code of that dimension\n * @throws FormatException if dimension is not 1 mod 4\n */\n public static getProvisionalVersionForDimension(dimension: number /*int*/): Version /*throws FormatException */ {\n if (dimension % 4 !== 1) {\n throw new FormatException();\n }\n try {\n return this.getVersionForNumber((dimension - 17) / 4);\n } catch (ignored/*: IllegalArgumentException*/) {\n throw new FormatException();\n }\n }\n\n public static getVersionForNumber(versionNumber: number /*int*/): Version {\n if (versionNumber < 1 || versionNumber > 40) {\n throw new IllegalArgumentException();\n }\n return Version.VERSIONS[versionNumber - 1];\n }\n\n public static decodeVersionInformation(versionBits: number /*int*/): Version {\n let bestDifference = Number.MAX_SAFE_INTEGER;\n let bestVersion = 0;\n for (let i = 0; i < Version.VERSION_DECODE_INFO.length; i++) {\n const targetVersion = Version.VERSION_DECODE_INFO[i];\n // Do the version info bits match exactly? done.\n if (targetVersion === versionBits) {\n return Version.getVersionForNumber(i + 7);\n }\n // Otherwise see if this is the closest to a real version info bit string\n // we have seen so far\n const bitsDifference = FormatInformation.numBitsDiffering(versionBits, targetVersion);\n if (bitsDifference < bestDifference) {\n bestVersion = i + 7;\n bestDifference = bitsDifference;\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will\n // differ in less than 8 bits.\n if (bestDifference <= 3) {\n return Version.getVersionForNumber(bestVersion);\n }\n // If we didn't find a close enough match, fail\n return null;\n }\n\n /**\n * See ISO 18004:2006 Annex E\n */\n public buildFunctionPattern(): BitMatrix {\n const dimension = this.getDimensionForVersion();\n const bitMatrix = new BitMatrix(dimension);\n\n // Top left finder pattern + separator + format\n bitMatrix.setRegion(0, 0, 9, 9);\n // Top right finder pattern + separator + format\n bitMatrix.setRegion(dimension - 8, 0, 8, 9);\n // Bottom left finder pattern + separator + format\n bitMatrix.setRegion(0, dimension - 8, 9, 8);\n\n // Alignment patterns\n const max = this.alignmentPatternCenters.length;\n for (let x = 0; x < max; x++) {\n const i = this.alignmentPatternCenters[x] - 2;\n for (let y = 0; y < max; y++) {\n if ((x === 0 && (y === 0 || y === max - 1)) || (x === max - 1 && y === 0)) {\n // No alignment patterns near the three finder patterns\n continue;\n }\n bitMatrix.setRegion(this.alignmentPatternCenters[y] - 2, i, 5, 5);\n }\n }\n\n // Vertical timing pattern\n bitMatrix.setRegion(6, 9, 1, dimension - 17);\n // Horizontal timing pattern\n bitMatrix.setRegion(9, 6, dimension - 17, 1);\n\n if (this.versionNumber > 6) {\n // Version info, top right\n bitMatrix.setRegion(dimension - 11, 0, 3, 6);\n // Version info, bottom left\n bitMatrix.setRegion(0, dimension - 11, 6, 3);\n }\n\n return bitMatrix;\n }\n\n /*@Override*/\n public toString(): string {\n return '' + this.versionNumber;\n }\n}\n","/**\n * Java Formatter class polyfill that works in the JS way.\n */\nexport default class Formatter {\n\n /**\n * The internal formatted value.\n */\n buffer: string;\n\n constructor() {\n this.buffer = '';\n }\n\n /**\n *\n * @see https://stackoverflow.com/a/13439711/4367683\n *\n * @param str\n * @param arr\n */\n private static form(str: string, arr: any[]) {\n\n let i = -1;\n\n function callback(exp: string | number, p0: any, p1: any, p2: any, p3: any, p4: any) {\n\n if (exp === '%%') return '%';\n if (arr[++i] === undefined) return undefined;\n\n exp = p2 ? parseInt(p2.substr(1)) : undefined;\n\n let base = p3 ? parseInt(p3.substr(1)) : undefined;\n let val: string;\n\n switch (p4) {\n case 's': val = arr[i]; break;\n case 'c': val = arr[i][0]; break;\n case 'f': val = parseFloat(arr[i]).toFixed(exp); break;\n case 'p': val = parseFloat(arr[i]).toPrecision(exp); break;\n case 'e': val = parseFloat(arr[i]).toExponential(exp); break;\n case 'x': val = parseInt(arr[i]).toString(base ? base : 16); break;\n case 'd': val = parseFloat(parseInt(arr[i], base ? base : 10).toPrecision(exp)).toFixed(0); break;\n }\n\n val = typeof val === 'object' ? JSON.stringify(val) : (+val).toString(base);\n let size = parseInt(p1); /* padding size */\n let ch = p1 && (p1[0] + '') === '0' ? '0' : ' '; /* isnull? */\n\n while (val.length < size) val = p0 !== undefined ? val + ch : ch + val; /* isminus? */\n\n return val;\n }\n\n let regex = /%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;\n\n return str.replace(regex, callback);\n }\n\n /**\n *\n * @param append The new string to append.\n * @param args Argumets values to be formated.\n */\n format(append: string, ...args: any) {\n this.buffer += Formatter.form(append, args);\n }\n\n /**\n * Returns the Formatter string value.\n */\n toString(): string {\n return this.buffer;\n }\n}\n","/*\n * Copyright 2008 ZXing authors\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\n/*namespace com.google.zxing.qrcode.encoder {*/\n\nimport EncodeHintType from '../../EncodeHintType';\nimport BitArray from '../../common/BitArray';\nimport CharacterSetECI from '../../common/CharacterSetECI';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonEncoder from '../../common/reedsolomon/ReedSolomonEncoder';\nimport ErrorCorrectionLevel from '../decoder/ErrorCorrectionLevel';\nimport Mode from '../decoder/Mode';\nimport Version from '../decoder/Version';\nimport MaskUtil from './MaskUtil';\nimport ByteMatrix from './ByteMatrix';\nimport QRCode from './QRCode';\n\nimport ECBlocks from '../decoder/ECBlocks';\nimport MatrixUtil from './MatrixUtil';\nimport StringEncoding from '../../util/StringEncoding';\nimport BlockPair from './BlockPair';\nimport WriterException from '../../WriterException';\n\n/*import java.io.UnsupportedEncodingException;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collection;*/\n/*import java.util.Map;*/\n\n/**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\nexport default class Encoder {\n\n // The original table is defined in the table 5 of JISX0510:2004 (p.19).\n private static ALPHANUMERIC_TABLE = Int32Array.from([\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 0x00-0x0f\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 0x10-0x1f\n 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, // 0x20-0x2f\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, // 0x30-0x3f\n -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, // 0x40-0x4f\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, // 0x50-0x5f\n ]);\n\n public static DEFAULT_BYTE_MODE_ENCODING = CharacterSetECI.UTF8.getName(); // \"ISO-8859-1\"\n // TYPESCRIPTPORT: changed to UTF8, the default for js\n\n private constructor() { }\n\n // The mask penalty calculation is complicated. See Table 21 of JISX0510:2004 (p.45) for details.\n // Basically it applies four rules and summate all penalties.\n private static calculateMaskPenalty(matrix: ByteMatrix): number /*int*/ {\n return MaskUtil.applyMaskPenaltyRule1(matrix)\n + MaskUtil.applyMaskPenaltyRule2(matrix)\n + MaskUtil.applyMaskPenaltyRule3(matrix)\n + MaskUtil.applyMaskPenaltyRule4(matrix);\n }\n\n /**\n * @param content text to encode\n * @param ecLevel error correction level to use\n * @return {@link QRCode} representing the encoded QR code\n * @throws WriterException if encoding can't succeed, because of for example invalid content\n * or configuration\n */\n // public static encode(content: string, ecLevel: ErrorCorrectionLevel): QRCode /*throws WriterException*/ {\n // return encode(content, ecLevel, null)\n // }\n\n public static encode(content: string,\n ecLevel: ErrorCorrectionLevel,\n hints: MapThis class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.
\n *\n *Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *
\n *\n * @author Sean Owen\n * @author David Olivier\n */\nexport default abstract class AbstractGenericGF {\n protected expTable: Int32Array;\n protected logTable: Int32Array;\n\n public abstract getZero(): any; // GenericGFPoly\n public abstract buildMonomial(\n degree: number /*int*/,\n coefficient: number /*int*/\n ): any; // GenericGFPoly\n public abstract equals(o: Object): boolean;\n public abstract multiply(a: number /*int*/, b: number /*int*/): number;\n public abstract inverse(a: number /*int*/): number;\n\n /**\n * @return 2 to the power of a in GF(size)\n */\n public exp(a: number): number /*int*/ {\n return this.expTable[a];\n }\n\n /**\n * @return base 2 log of a in GF(size)\n */\n public log(a: number /*int*/): number /*int*/ {\n if (a === 0) {\n throw new IllegalArgumentException();\n }\n return this.logTable[a];\n }\n\n /**\n * Implements both addition and subtraction -- they are the same in GF(size).\n *\n * @return sum/difference of a and b\n */\n public static addOrSubtract(\n a: number /*int*/,\n b: number /*int*/\n ): number /*int*/ {\n return a ^ b;\n }\n}\n","import Exception from './Exception';\n\n/**\n * Custom Error class of type Exception.\n */\nexport default class ReedSolomonException extends Exception {}\n","/**\n * Ponyfill for Java's Float class.\n */\nexport default class Float {\n\n /**\n * The float max value in JS is the number max value.\n */\n static MAX_VALUE: number = Number.MAX_SAFE_INTEGER;\n\n /**\n * SincTS has no difference between int and float, there's all numbers,\n * this is used only to polyfill Java code.\n */\n public static floatToIntBits(f: number): number {\n return f;\n }\n}\n","/*\n * Copyright 2007 ZXing authors\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\n/*namespace com.google.zxing.common {*/\n\nimport GridSampler from './GridSampler';\nimport BitMatrix from './BitMatrix';\nimport PerspectiveTransform from './PerspectiveTransform';\n\nimport NotFoundException from '../NotFoundException';\n\nimport { float } from '../../customTypings';\n\n/**\n * @author Sean Owen\n */\nexport default class DefaultGridSampler extends GridSampler {\n\n /*@Override*/\n public sampleGrid(image: BitMatrix,\n dimensionX: number /*int*/,\n dimensionY: number /*int*/,\n p1ToX: number/*float*/, p1ToY: number/*float*/,\n p2ToX: number/*float*/, p2ToY: number/*float*/,\n p3ToX: number/*float*/, p3ToY: number/*float*/,\n p4ToX: number/*float*/, p4ToY: number/*float*/,\n p1FromX: number/*float*/, p1FromY: number/*float*/,\n p2FromX: number/*float*/, p2FromY: number/*float*/,\n p3FromX: number/*float*/, p3FromY: number/*float*/,\n p4FromX: number/*float*/, p4FromY: number/*float*/): BitMatrix /*throws NotFoundException*/ {\n\n const transform = PerspectiveTransform.quadrilateralToQuadrilateral(\n p1ToX, p1ToY, p2ToX, p2ToY, p3ToX, p3ToY, p4ToX, p4ToY,\n p1FromX, p1FromY, p2FromX, p2FromY, p3FromX, p3FromY, p4FromX, p4FromY);\n\n return this.sampleGridWithTransform(image, dimensionX, dimensionY, transform);\n }\n\n /*@Override*/\n public sampleGridWithTransform(image: BitMatrix,\n dimensionX: number /*int*/,\n dimensionY: number /*int*/,\n transform: PerspectiveTransform): BitMatrix /*throws NotFoundException*/ {\n if (dimensionX <= 0 || dimensionY <= 0) {\n throw new NotFoundException();\n }\n const bits = new BitMatrix(dimensionX, dimensionY);\n const points = new Float32Array(2 * dimensionX);\n for (let y = 0; y < dimensionY; y++) {\n const max = points.length;\n const iValue: number /*float*/ = y + 0.5;\n for (let x = 0; x < max; x += 2) {\n points[x] =Checks a set of points that have been transformed to sample points on an image against\n * the image's dimensions to see if the point are even within the image.
\n *\n *This method will actually \"nudge\" the endpoints back onto the image if they are found to be\n * barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder\n * patterns in an image where the QR Code runs all the way to the image border.
\n *\n *For efficiency, the method will check points from either end of the line until one is found\n * to be within the image. Because the set of points are assumed to be linear, this is valid.
\n *\n * @param image image into which the points should map\n * @param points actual points in x1,y1,...,xn,yn form\n * @throws NotFoundException if an endpoint is lies outside the image boundaries\n */\n protected static checkAndNudgePoints(\n image: BitMatrix,\n points: Float32Array\n ): void /*throws NotFoundException*/ {\n\n const width: number /*int*/ = image.getWidth();\n const height: number /*int*/ = image.getHeight();\n\n // Check and nudge points from start until we see some that are OK:\n let nudged: boolean = true;\n\n for (let offset = 0; offset < points.length && nudged; offset += 2) {\n\n const x = Math.floor(points[offset]);\n const y = Math.floor(points[offset + 1]);\n\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n\n nudged = false;\n\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n } else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n } else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n\n // Check and nudge points from end:\n nudged = true;\n\n for (let offset = points.length - 2; offset >= 0 && nudged; offset -= 2) {\n\n const x = Math.floor(points[offset]);\n const y = Math.floor(points[offset + 1]);\n\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n\n nudged = false;\n\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n } else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n } else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n }\n\n}\n\nexport default GridSampler;\n","/*\n * Copyright 2008 ZXing authors\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\n/*namespace com.google.zxing.oned {*/\n\nimport BarcodeFormat from '../BarcodeFormat';\nimport BitArray from '../common/BitArray';\nimport ChecksumException from '../ChecksumException';\nimport DecodeHintType from '../DecodeHintType';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\nimport OneDReader from './OneDReader';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\n\n/**\n *Decodes Code 39 barcodes. Supports \"Full ASCII Code 39\" if USE_CODE_39_EXTENDED_MODE is set.
\n *\n * @author Sean Owen\n * @see Code93Reader\n */\nexport default class Code39Reader extends OneDReader {\n\n private static readonly ALPHABET_STRING = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';\n\n /**\n * These represent the encodings of characters, as patterns of wide and narrow bars.\n * The 9 least-significant bits of each int correspond to the pattern of wide and narrow,\n * with 1s representing \"wide\" and 0s representing narrow.\n */\n private static readonly CHARACTER_ENCODINGS: number[] = [\n 0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064, // 0-9\n 0x109, 0x049, 0x148, 0x019, 0x118, 0x058, 0x00D, 0x10C, 0x04C, 0x01C, // A-J\n 0x103, 0x043, 0x142, 0x013, 0x112, 0x052, 0x007, 0x106, 0x046, 0x016, // K-T\n 0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x085, 0x184, 0x0C4, 0x0A8, // U-$\n 0x0A2, 0x08A, 0x02A // /-%\n ];\n\n private static readonly ASTERISK_ENCODING = 0x094;\n\n private usingCheckDigit: boolean;\n private extendedMode: boolean;\n private decodeRowResult: string;\n private counters: number[];\n\n /**\n * Creates a reader that assumes all encoded data is data, and does not treat the final\n * character as a check digit. It will not decoded \"extended Code 39\" sequences.\n */\n // public Code39Reader() {\n // this(false);\n // }\n\n /**\n * Creates a reader that can be configured to check the last character as a check digit.\n * It will not decoded \"extended Code 39\" sequences.\n *\n * @param usingCheckDigit if true, treat the last data character as a check digit, not\n * data, and verify that the checksum passes.\n */\n // public Code39Reader(boolean usingCheckDigit) {\n // this(usingCheckDigit, false);\n // }\n\n /**\n * Creates a reader that can be configured to check the last character as a check digit,\n * or optionally attempt to decode \"extended Code 39\" sequences that are used to encode\n * the full ASCII character set.\n *\n * @param usingCheckDigit if true, treat the last data character as a check digit, not\n * data, and verify that the checksum passes.\n * @param extendedMode if true, will attempt to decode extended Code 39 sequences in the\n * text.\n */\n public constructor(usingCheckDigit: boolean = false, extendedMode: boolean = false) {\n super();\n this.usingCheckDigit = usingCheckDigit;\n this.extendedMode = extendedMode;\n this.decodeRowResult = '';\n this.counters = new ArrayDecodes Code 128 barcodes.
\n *\n * @author Sean Owen\n */\nexport default class Code128Reader extends OneDReader {\n\n private static CODE_PATTERNS: number[][] = [\n [2, 1, 2, 2, 2, 2],\n [2, 2, 2, 1, 2, 2],\n [2, 2, 2, 2, 2, 1],\n [1, 2, 1, 2, 2, 3],\n [1, 2, 1, 3, 2, 2],\n [1, 3, 1, 2, 2, 2],\n [1, 2, 2, 2, 1, 3],\n [1, 2, 2, 3, 1, 2],\n [1, 3, 2, 2, 1, 2],\n [2, 2, 1, 2, 1, 3],\n [2, 2, 1, 3, 1, 2],\n [2, 3, 1, 2, 1, 2],\n [1, 1, 2, 2, 3, 2],\n [1, 2, 2, 1, 3, 2],\n [1, 2, 2, 2, 3, 1],\n [1, 1, 3, 2, 2, 2],\n [1, 2, 3, 1, 2, 2],\n [1, 2, 3, 2, 2, 1],\n [2, 2, 3, 2, 1, 1],\n [2, 2, 1, 1, 3, 2],\n [2, 2, 1, 2, 3, 1],\n [2, 1, 3, 2, 1, 2],\n [2, 2, 3, 1, 1, 2],\n [3, 1, 2, 1, 3, 1],\n [3, 1, 1, 2, 2, 2],\n [3, 2, 1, 1, 2, 2],\n [3, 2, 1, 2, 2, 1],\n [3, 1, 2, 2, 1, 2],\n [3, 2, 2, 1, 1, 2],\n [3, 2, 2, 2, 1, 1],\n [2, 1, 2, 1, 2, 3],\n [2, 1, 2, 3, 2, 1],\n [2, 3, 2, 1, 2, 1],\n [1, 1, 1, 3, 2, 3],\n [1, 3, 1, 1, 2, 3],\n [1, 3, 1, 3, 2, 1],\n [1, 1, 2, 3, 1, 3],\n [1, 3, 2, 1, 1, 3],\n [1, 3, 2, 3, 1, 1],\n [2, 1, 1, 3, 1, 3],\n [2, 3, 1, 1, 1, 3],\n [2, 3, 1, 3, 1, 1],\n [1, 1, 2, 1, 3, 3],\n [1, 1, 2, 3, 3, 1],\n [1, 3, 2, 1, 3, 1],\n [1, 1, 3, 1, 2, 3],\n [1, 1, 3, 3, 2, 1],\n [1, 3, 3, 1, 2, 1],\n [3, 1, 3, 1, 2, 1],\n [2, 1, 1, 3, 3, 1],\n [2, 3, 1, 1, 3, 1],\n [2, 1, 3, 1, 1, 3],\n [2, 1, 3, 3, 1, 1],\n [2, 1, 3, 1, 3, 1],\n [3, 1, 1, 1, 2, 3],\n [3, 1, 1, 3, 2, 1],\n [3, 3, 1, 1, 2, 1],\n [3, 1, 2, 1, 1, 3],\n [3, 1, 2, 3, 1, 1],\n [3, 3, 2, 1, 1, 1],\n [3, 1, 4, 1, 1, 1],\n [2, 2, 1, 4, 1, 1],\n [4, 3, 1, 1, 1, 1],\n [1, 1, 1, 2, 2, 4],\n [1, 1, 1, 4, 2, 2],\n [1, 2, 1, 1, 2, 4],\n [1, 2, 1, 4, 2, 1],\n [1, 4, 1, 1, 2, 2],\n [1, 4, 1, 2, 2, 1],\n [1, 1, 2, 2, 1, 4],\n [1, 1, 2, 4, 1, 2],\n [1, 2, 2, 1, 1, 4],\n [1, 2, 2, 4, 1, 1],\n [1, 4, 2, 1, 1, 2],\n [1, 4, 2, 2, 1, 1],\n [2, 4, 1, 2, 1, 1],\n [2, 2, 1, 1, 1, 4],\n [4, 1, 3, 1, 1, 1],\n [2, 4, 1, 1, 1, 2],\n [1, 3, 4, 1, 1, 1],\n [1, 1, 1, 2, 4, 2],\n [1, 2, 1, 1, 4, 2],\n [1, 2, 1, 2, 4, 1],\n [1, 1, 4, 2, 1, 2],\n [1, 2, 4, 1, 1, 2],\n [1, 2, 4, 2, 1, 1],\n [4, 1, 1, 2, 1, 2],\n [4, 2, 1, 1, 1, 2],\n [4, 2, 1, 2, 1, 1],\n [2, 1, 2, 1, 4, 1],\n [2, 1, 4, 1, 2, 1],\n [4, 1, 2, 1, 2, 1],\n [1, 1, 1, 1, 4, 3],\n [1, 1, 1, 3, 4, 1],\n [1, 3, 1, 1, 4, 1],\n [1, 1, 4, 1, 1, 3],\n [1, 1, 4, 3, 1, 1],\n [4, 1, 1, 1, 1, 3],\n [4, 1, 1, 3, 1, 1],\n [1, 1, 3, 1, 4, 1],\n [1, 1, 4, 1, 3, 1],\n [3, 1, 1, 1, 4, 1],\n [4, 1, 1, 1, 3, 1],\n [2, 1, 1, 4, 1, 2],\n [2, 1, 1, 2, 1, 4],\n [2, 1, 1, 2, 3, 2],\n [2, 3, 3, 1, 1, 1, 2]];\n\n private static MAX_AVG_VARIANCE = 0.25;\n private static MAX_INDIVIDUAL_VARIANCE = 0.7;\n\n private static CODE_SHIFT = 98;\n\n private static CODE_CODE_C = 99;\n private static CODE_CODE_B = 100;\n private static CODE_CODE_A = 101;\n\n private static CODE_FNC_1 = 102;\n private static CODE_FNC_2 = 97;\n private static CODE_FNC_3 = 96;\n private static CODE_FNC_4_A = 101;\n private static CODE_FNC_4_B = 100;\n\n private static CODE_START_A = 103;\n private static CODE_START_B = 104;\n private static CODE_START_C = 105;\n private static CODE_STOP = 106;\n\n private static findStartPattern(row: BitArray): number[] {\n const width = row.getSize();\n const rowOffset = row.getNextSet(0);\n\n let counterPosition = 0;\n const counters = [0, 0, 0, 0, 0, 0];\n let patternStart = rowOffset;\n let isWhite = false;\n const patternLength = 6;\n\n for (let i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n } else {\n if (counterPosition === (patternLength - 1)) {\n let bestVariance = Code128Reader.MAX_AVG_VARIANCE;\n let bestMatch = -1;\n for (let startCode = Code128Reader.CODE_START_A; startCode <= Code128Reader.CODE_START_C; startCode++) {\n const variance = OneDReader.patternMatchVariance(counters,\n Code128Reader.CODE_PATTERNS[startCode], Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = startCode;\n }\n }\n // Look for whitespace before start pattern, >= 50% of width of start pattern\n if (bestMatch >= 0 &&\n row.isRange(Math.max(0, patternStart - (i - patternStart) / 2), patternStart, false)) {\n return [patternStart, i, bestMatch];\n }\n patternStart += counters[0] + counters[1];\n\n counters.splice(0, 2);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n } else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n }\n\n private static decodeCode(row: BitArray, counters: number[], rowOffset: number): number {\n OneDReader.recordPattern(row, rowOffset, counters);\n let bestVariance = Code128Reader.MAX_AVG_VARIANCE; // worst variance we'll accept\n let bestMatch = -1;\n for (let d = 0; d < Code128Reader.CODE_PATTERNS.length; d++) {\n const pattern = Code128Reader.CODE_PATTERNS[d];\n const variance = this.patternMatchVariance(counters, pattern, Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = d;\n }\n }\n // TODO We're overlooking the fact that the STOP pattern has 7 values, not 6.\n if (bestMatch >= 0) {\n return bestMatch;\n } else {\n throw new NotFoundException();\n }\n }\n\n public decodeRow(rowNumber: number, row: BitArray, hints?: MapDecodes ITF barcodes.
\n *\n * @author Tjieco\n */\nexport default class ITFReader extends OneDReader {\n\n private static W = 3; // Pixel width of a 3x wide line\n private static w = 2; // Pixel width of a 2x wide line\n private static N = 1; // Pixed width of a narrow line\n\n private static PATTERNS: number[][] = [\n [1, 1, 2, 2, 1], // 0\n [2, 1, 1, 1, 2], // 1\n [1, 2, 1, 1, 2], // 2\n [2, 2, 1, 1, 1], // 3\n [1, 1, 2, 1, 2], // 4\n [2, 1, 2, 1, 1], // 5\n [1, 2, 2, 1, 1], // 6\n [1, 1, 1, 2, 2], // 7\n [2, 1, 1, 2, 1], // 8\n [1, 2, 1, 2, 1], // 9\n [1, 1, 3, 3, 1], // 0\n [3, 1, 1, 1, 3], // 1\n [1, 3, 1, 1, 3], // 2\n [3, 3, 1, 1, 1], // 3\n [1, 1, 3, 1, 3], // 4\n [3, 1, 3, 1, 1], // 5\n [1, 3, 3, 1, 1], // 6\n [1, 1, 1, 3, 3], // 7\n [3, 1, 1, 3, 1], // 8\n [1, 3, 1, 3, 1] // 9\n ];\n\n private static MAX_AVG_VARIANCE = 0.38;\n private static MAX_INDIVIDUAL_VARIANCE = 0.5;\n\n\n\n /* /!** Valid ITF lengths. Anything longer than the largest value is also allowed. *!/*/\n private static DEFAULT_ALLOWED_LENGTHS: number[] = [6, 8, 10, 12, 14];\n\n // Stores the actual narrow line width of the image being decoded.\n private narrowLineWidth = -1;\n\n /*/!**\n * Start/end guard pattern.\n *\n * Note: The end pattern is reversed because the row is reversed before\n * searching for the END_PATTERN\n *!/*/\n private static START_PATTERN = [1, 1, 1, 1];\n private static END_PATTERN_REVERSED: number[][] = [\n [1, 1, 2], // 2x\n [1, 1, 3] // 3x\n ];\n\n // See ITFWriter.PATTERNS\n /*\n\n /!**\n * Patterns of Wide / Narrow lines to indicate each digit\n *!/\n */\n\n public decodeRow(rowNumber: number, row: BitArray, hints?: MapImplements decoding of the EAN-13 format.
\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nexport default class EAN13Reader extends UPCEANReader {\n private static FIRST_DIGIT_ENCODINGS: number[] = [0x00, 0x0B, 0x0D, 0xE, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1A];\n\n private decodeMiddleCounters: number[];\n\n public constructor() {\n super();\n this.decodeMiddleCounters = [0, 0, 0, 0];\n }\n\n public decodeMiddle(row: BitArray, startRange: number[], resultString: string) {\n let counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n let end = row.getSize();\n let rowOffset = startRange[1];\n\n let lgPatternFound = 0;\n\n for (let x = 0; x < 6 && rowOffset < end; x++) {\n let bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n for (let counter of counters) {\n rowOffset += counter;\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (5 - x);\n }\n }\n\n resultString = EAN13Reader.determineFirstDigit(resultString, lgPatternFound);\n\n let middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));\n rowOffset = middleRange[1];\n\n for (let x = 0; x < 6 && rowOffset < end; x++) {\n let bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n for (let counter of counters) {\n rowOffset += counter;\n }\n }\n\n return {rowOffset, resultString};\n }\n\n public getBarcodeFormat(): BarcodeFormat {\n return BarcodeFormat.EAN_13;\n }\n\n static determineFirstDigit(resultString: string, lgPatternFound: number) {\n for (let d = 0; d < 10; d++) {\n if (lgPatternFound === this.FIRST_DIGIT_ENCODINGS[d]) {\n resultString = String.fromCharCode(('0'.charCodeAt(0) + d)) + resultString;\n return resultString;\n }\n }\n throw new NotFoundException();\n }\n}\n","/*\n * Copyright 2008 ZXing authors\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 BarcodeFormat from '../BarcodeFormat';\nimport BitArray from '../common/BitArray';\nimport DecodeHintType from '../DecodeHintType';\n\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport UPCEANExtensionSupport from './UPCEANExtensionSupport';\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport NotFoundException from '../NotFoundException';\nimport FormatException from '../FormatException';\nimport ChecksumException from '../ChecksumException';\n\n/**\n *Encapsulates functionality and implementation that is common to UPC and EAN families\n * of one-dimensional barcodes.
\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nexport default abstract class UPCEANReader extends AbstractUPCEANReader {\n\n public constructor() {\n super();\n this.decodeRowStringBuffer = '';\n\n UPCEANReader.L_AND_G_PATTERNS = UPCEANReader.L_PATTERNS.map(function(arr) {\n return arr.slice();\n });\n\n for (let i = 10; i < 20; i++) {\n let widths = UPCEANReader.L_PATTERNS[i - 10];\n let reversedWidths = new Array(widths.length);\n for (let j = 0; j < widths.length; j++) {\n reversedWidths[j] = widths[widths.length - j - 1];\n }\n UPCEANReader.L_AND_G_PATTERNS[i] = reversedWidths;\n }\n }\n\n public decodeRow(rowNumber: number, row: BitArray, hints?: MapEncapsulates a QR Code's format information, including the data mask used and\n * error correction level.
\n *\n * @author Sean Owen\n * @see DataMask\n * @see ErrorCorrectionLevel\n */\nexport default class FormatInformation {\n\n private static FORMAT_INFO_MASK_QR = 0x5412;\n\n /**\n * See ISO 18004:2006, Annex C, Table C.1\n */\n private static FORMAT_INFO_DECODE_LOOKUP = [\n Int32Array.from([0x5412, 0x00]),\n Int32Array.from([0x5125, 0x01]),\n Int32Array.from([0x5E7C, 0x02]),\n Int32Array.from([0x5B4B, 0x03]),\n Int32Array.from([0x45F9, 0x04]),\n Int32Array.from([0x40CE, 0x05]),\n Int32Array.from([0x4F97, 0x06]),\n Int32Array.from([0x4AA0, 0x07]),\n Int32Array.from([0x77C4, 0x08]),\n Int32Array.from([0x72F3, 0x09]),\n Int32Array.from([0x7DAA, 0x0A]),\n Int32Array.from([0x789D, 0x0B]),\n Int32Array.from([0x662F, 0x0C]),\n Int32Array.from([0x6318, 0x0D]),\n Int32Array.from([0x6C41, 0x0E]),\n Int32Array.from([0x6976, 0x0F]),\n Int32Array.from([0x1689, 0x10]),\n Int32Array.from([0x13BE, 0x11]),\n Int32Array.from([0x1CE7, 0x12]),\n Int32Array.from([0x19D0, 0x13]),\n Int32Array.from([0x0762, 0x14]),\n Int32Array.from([0x0255, 0x15]),\n Int32Array.from([0x0D0C, 0x16]),\n Int32Array.from([0x083B, 0x17]),\n Int32Array.from([0x355F, 0x18]),\n Int32Array.from([0x3068, 0x19]),\n Int32Array.from([0x3F31, 0x1A]),\n Int32Array.from([0x3A06, 0x1B]),\n Int32Array.from([0x24B4, 0x1C]),\n Int32Array.from([0x2183, 0x1D]),\n Int32Array.from([0x2EDA, 0x1E]),\n Int32Array.from([0x2BED, 0x1F]),\n ];\n\n private errorCorrectionLevel: ErrorCorrectionLevel;\n private dataMask: number; /*byte*/\n\n private constructor(formatInfo: number /*int*/) {\n // Bits 3,4\n this.errorCorrectionLevel = ErrorCorrectionLevel.forBits((formatInfo >> 3) & 0x03);\n // Bottom 3 bits\n this.dataMask = /*(byte) */(formatInfo & 0x07);\n }\n\n public static numBitsDiffering(a: number /*int*/, b: number /*int*/): number /*int*/ {\n return Integer.bitCount(a ^ b);\n }\n\n /**\n * @param maskedFormatInfo1 format info indicator, with mask still applied\n * @param maskedFormatInfo2 second copy of same info; both are checked at the same time\n * to establish best match\n * @return information about the format it specifies, or {@code null}\n * if doesn't seem to match any known pattern\n */\n public static decodeFormatInformation(maskedFormatInfo1: number /*int*/, maskedFormatInfo2: number /*int*/): FormatInformation {\n const formatInfo = FormatInformation.doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2);\n if (formatInfo !== null) {\n return formatInfo;\n }\n // Should return null, but, some QR codes apparently\n // do not mask this info. Try again by actually masking the pattern\n // first\n return FormatInformation.doDecodeFormatInformation(maskedFormatInfo1 ^ FormatInformation.FORMAT_INFO_MASK_QR,\n maskedFormatInfo2 ^ FormatInformation.FORMAT_INFO_MASK_QR);\n }\n\n private static doDecodeFormatInformation(maskedFormatInfo1: number /*int*/, maskedFormatInfo2: number /*int*/): FormatInformation {\n // Find the int in FORMAT_INFO_DECODE_LOOKUP with fewest bits differing\n let bestDifference = Number.MAX_SAFE_INTEGER;\n let bestFormatInfo = 0;\n for (const decodeInfo of FormatInformation.FORMAT_INFO_DECODE_LOOKUP) {\n const targetInfo = decodeInfo[0];\n if (targetInfo === maskedFormatInfo1 || targetInfo === maskedFormatInfo2) {\n // Found an exact match\n return new FormatInformation(decodeInfo[1]);\n }\n let bitsDifference = FormatInformation.numBitsDiffering(maskedFormatInfo1, targetInfo);\n if (bitsDifference < bestDifference) {\n bestFormatInfo = decodeInfo[1];\n bestDifference = bitsDifference;\n }\n if (maskedFormatInfo1 !== maskedFormatInfo2) {\n // also try the other option\n bitsDifference = FormatInformation.numBitsDiffering(maskedFormatInfo2, targetInfo);\n if (bitsDifference < bestDifference) {\n bestFormatInfo = decodeInfo[1];\n bestDifference = bitsDifference;\n }\n }\n }\n // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits\n // differing means we found a match\n if (bestDifference <= 3) {\n return new FormatInformation(bestFormatInfo);\n }\n return null;\n }\n\n public getErrorCorrectionLevel(): ErrorCorrectionLevel {\n return this.errorCorrectionLevel;\n }\n\n public getDataMask(): number/*byte*/ {\n return this.dataMask;\n }\n\n /*@Override*/\n public hashCode(): number /*int*/ {\n return (this.errorCorrectionLevel.getBits() << 3) | this.dataMask;\n }\n\n /*@Override*/\n public equals(o: Object): boolean {\n if (!(o instanceof FormatInformation)) {\n return false;\n }\n const other =See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which\n * data can be encoded to bits in the QR code standard.
\n *\n * @author Sean Owen\n */\nexport default class Mode {\n\n private static FOR_BITS = new MapImplements Reed-Solomon encoding, as the name implies.
\n *\n * @author Sean Owen\n * @author William Rucklidge\n */\nexport default class ReedSolomonEncoder {\n\n private field: GenericGF;\n private cachedGenerators: GenericGFPoly[];\n\n /**\n * A reed solomon error-correcting encoding constructor is created by\n * passing as Galois Field with of size equal to the number of code\n * words (symbols) in the alphabet (the number of values in each\n * element of arrays that are encoded/decoded).\n * @param field A galois field with a number of elements equal to the size\n * of the alphabet of symbols to encode.\n */\n public constructor(field: GenericGF) {\n this.field = field;\n this.cachedGenerators = [];\n this.cachedGenerators.push(new GenericGFPoly(field, Int32Array.from([1])));\n }\n\n private buildGenerator(degree: number /*int*/): GenericGFPoly {\n const cachedGenerators = this.cachedGenerators;\n if (degree >= cachedGenerators.length) {\n let lastGenerator = cachedGenerators[cachedGenerators.length - 1];\n const field = this.field;\n for (let d = cachedGenerators.length; d <= degree; d++) {\n const nextGenerator = lastGenerator.multiply(\n new GenericGFPoly(field, Int32Array.from([1, field.exp(d - 1 + field.getGeneratorBase())])));\n cachedGenerators.push(nextGenerator);\n lastGenerator = nextGenerator;\n }\n }\n return cachedGenerators[degree];\n }\n\n /**\n *Encode a sequence of code words (symbols) using Reed-Solomon to allow decoders\n * to detect and correct errors that may have been introduced when the resulting\n * data is stored or transmitted.
\n *\n * @param toEncode array used for both and output. Caller initializes the array with\n * the code words (symbols) to be encoded followed by empty elements allocated to make\n * space for error-correction code words in the encoded output. The array contains\n * the encdoded output when encode returns. Code words are encoded as numbers from\n * 0 to n-1, where n is the number of possible code words (symbols), as determined\n * by the size of the Galois Field passed in the constructor of this object.\n * @param ecBytes the number of elements reserved in the array (first parameter)\n * to store error-correction code words. Thus, the number of code words (symbols)\n * to encode in the first parameter is thus toEncode.length - ecBytes.\n * Note, the use of \"bytes\" in the name of this parameter is misleading, as there may\n * be more or fewer than 256 symbols being encoded, as determined by the number of\n * elements in the Galois Field passed as a constructor to this object.\n * @throws IllegalArgumentException thrown in response to validation errros.\n */\n public encode(toEncode: Int32Array, ecBytes: number /*int*/): void {\n if (ecBytes === 0) {\n throw new IllegalArgumentException('No error correction bytes');\n }\n const dataBytes = toEncode.length - ecBytes;\n if (dataBytes <= 0) {\n throw new IllegalArgumentException('No data bytes provided');\n }\n const generator = this.buildGenerator(ecBytes);\n const infoCoefficients: Int32Array = new Int32Array(dataBytes);\n System.arraycopy(toEncode, 0, infoCoefficients, 0, dataBytes);\n let info = new GenericGFPoly(this.field, infoCoefficients);\n info = info.multiplyByMonomial(ecBytes, 1);\n const remainder = info.divide(generator)[1];\n const coefficients = remainder.getCoefficients();\n const numZeroCoefficients = ecBytes - coefficients.length;\n for (let i = 0; i < numZeroCoefficients; i++) {\n toEncode[dataBytes + i] = 0;\n }\n System.arraycopy(coefficients, 0, toEncode, dataBytes + numZeroCoefficients, coefficients.length);\n }\n\n}\n","/*\n * Copyright 2008 ZXing authors\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\n/*namespace com.google.zxing.qrcode.encoder {*/\n\nimport ByteMatrix from './ByteMatrix';\n\nimport IllegalArgumentException from '../../IllegalArgumentException';\n\n/**\n * @author Satoru Takabayashi\n * @author Daniel Switkin\n * @author Sean Owen\n */\nexport default class MaskUtil {\n\n // Penalty weights from section 6.8.2.1\n private static N1 = 3;\n private static N2 = 3;\n private static N3 = 40;\n private static N4 = 10;\n\n private constructor() {\n // do nothing\n }\n\n /**\n * Apply mask penalty rule 1 and return the penalty. Find repetitive cells with the same color and\n * give penalty to them. Example: 00000 or 11111.\n */\n public static applyMaskPenaltyRule1(matrix: ByteMatrix): number /*int*/ {\n return MaskUtil.applyMaskPenaltyRule1Internal(matrix, true) + MaskUtil.applyMaskPenaltyRule1Internal(matrix, false);\n }\n\n /**\n * Apply mask penalty rule 2 and return the penalty. Find 2x2 blocks with the same color and give\n * penalty to them. This is actually equivalent to the spec's rule, which is to find MxN blocks and give a\n * penalty proportional to (M-1)x(N-1), because this is the number of 2x2 blocks inside such a block.\n */\n public static applyMaskPenaltyRule2(matrix: ByteMatrix): number /*int*/ {\n let penalty = 0;\n const array: ArrayThe main class which implements Aztec Code decoding -- as opposed to locating and extracting\n * the Aztec Code from an image.
\n *\n * @author David Olivier\n */\nexport default class Decoder {\n\n private static UPPER_TABLE: string[] = [\n 'CTRL_PS', ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'CTRL_LL', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n\n private static LOWER_TABLE: string[] = [\n 'CTRL_PS', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',\n 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'CTRL_US', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n\n private static MIXED_TABLE: string[] = [\n // Module parse failed: Octal literal in strict mode (50:29)\n // so number string were scaped\n 'CTRL_PS', ' ', '\\\\1', '\\\\2', '\\\\3', '\\\\4', '\\\\5', '\\\\6', '\\\\7', '\\b', '\\t', '\\n',\n '\\\\13', '\\f', '\\r', '\\\\33', '\\\\34', '\\\\35', '\\\\36', '\\\\37', '@', '\\\\', '^', '_',\n '`', '|', '~', '\\\\177', 'CTRL_LL', 'CTRL_UL', 'CTRL_PL', 'CTRL_BS'\n ];\n\n private static PUNCT_TABLE: string[] = [\n '', '\\r', '\\r\\n', '. ', ', ', ': ', '!', '\"', '#', '$', '%', '&', '\\'', '(', ')',\n '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '[', ']', '{', '}', 'CTRL_UL'\n ];\n\n private static DIGIT_TABLE: string[] = [\n 'CTRL_PS', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '.', 'CTRL_UL', 'CTRL_US'\n ];\n\n private ddata: AztecDetectorResult;\n\n public decode(detectorResult: AztecDetectorResult): DecoderResult {\n this.ddata = detectorResult;\n let matrix = detectorResult.getBits();\n let rawbits = this.extractBits(matrix);\n let correctedBits = this.correctBits(rawbits);\n let rawBytes = Decoder.convertBoolArrayToByteArray(correctedBits);\n let result = Decoder.getEncodedData(correctedBits);\n let decoderResult = new DecoderResult(rawBytes, result, null, null);\n decoderResult.setNumBits(correctedBits.length);\n return decoderResult;\n }\n\n // This method is used for testing the high-level encoder\n public static highLevelDecode(correctedBits: boolean[]): string {\n return this.getEncodedData(correctedBits);\n }\n\n /**\n * Gets the string encoded in the aztec code bits\n *\n * @return the decoded string\n */\n private static getEncodedData(correctedBits: boolean[]): string {\n let endIndex: number = correctedBits.length;\n let latchTable = Table.UPPER; // table most recently latched to\n let shiftTable = Table.UPPER; // table to use for the next read\n let result: string = '';\n let index = 0;\n while (index < endIndex) {\n if (shiftTable === Table.BINARY) {\n if (endIndex - index < 5) {\n break;\n }\n let length = Decoder.readCode(correctedBits, index, 5);\n index += 5;\n if (length === 0) {\n if (endIndex - index < 11) {\n break;\n }\n length = Decoder.readCode(correctedBits, index, 11) + 31;\n index += 11;\n }\n for (let charCount = 0; charCount < length; charCount++) {\n if (endIndex - index < 8) {\n index = endIndex; // Force outer loop to exit\n break;\n }\n const code: int = Decoder.readCode(correctedBits, index, 8);\n result += /*(char)*/ StringUtils.castAsNonUtf8Char(code);\n index += 8;\n }\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n } else {\n let size = shiftTable === Table.DIGIT ? 4 : 5;\n if (endIndex - index < size) {\n break;\n }\n let code = Decoder.readCode(correctedBits, index, size);\n index += size;\n let str = Decoder.getCharacter(shiftTable, code);\n if (str.startsWith('CTRL_')) {\n // Table changes\n // ISO/IEC 24778:2008 prescribes ending a shift sequence in the mode from which it was invoked.\n // That's including when that mode is a shift.\n // Our test case dlusbs.png for issue #642 exercises that.\n latchTable = shiftTable; // Latch the current mode, so as to return to Upper after U/S B/S\n shiftTable = Decoder.getTable(str.charAt(5));\n if (str.charAt(6) === 'L') {\n latchTable = shiftTable;\n }\n } else {\n result += str;\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n }\n }\n return result;\n }\n\n /**\n * gets the table corresponding to the char passed\n */\n private static getTable(t: string): Table {\n switch (t) {\n case 'L':\n return Table.LOWER;\n case 'P':\n return Table.PUNCT;\n case 'M':\n return Table.MIXED;\n case 'D':\n return Table.DIGIT;\n case 'B':\n return Table.BINARY;\n case 'U':\n default:\n return Table.UPPER;\n }\n }\n\n /**\n * Gets the character (or string) corresponding to the passed code in the given table\n *\n * @param table the table used\n * @param code the code of the character\n */\n private static getCharacter(table: Table, code: number): string {\n switch (table) {\n case Table.UPPER:\n return Decoder.UPPER_TABLE[code];\n case Table.LOWER:\n return Decoder.LOWER_TABLE[code];\n case Table.MIXED:\n return Decoder.MIXED_TABLE[code];\n case Table.PUNCT:\n return Decoder.PUNCT_TABLE[code];\n case Table.DIGIT:\n return Decoder.DIGIT_TABLE[code];\n default:\n // Should not reach here.\n throw new IllegalStateException('Bad table');\n }\n }\n\n /**\n *Performs RS error correction on an array of bits.
\n *\n * @return the corrected array\n * @throws FormatException if the input contains too many errors\n */\n private correctBits(rawbits: boolean[]): boolean[] {\n let gf: GenericGF;\n let codewordSize: number;\n\n if (this.ddata.getNbLayers() <= 2) {\n codewordSize = 6;\n gf = GenericGF.AZTEC_DATA_6;\n } else if (this.ddata.getNbLayers() <= 8) {\n codewordSize = 8;\n gf = GenericGF.AZTEC_DATA_8;\n } else if (this.ddata.getNbLayers() <= 22) {\n codewordSize = 10;\n gf = GenericGF.AZTEC_DATA_10;\n } else {\n codewordSize = 12;\n gf = GenericGF.AZTEC_DATA_12;\n }\n\n let numDataCodewords = this.ddata.getNbDatablocks();\n let numCodewords = rawbits.length / codewordSize;\n if (numCodewords < numDataCodewords) {\n throw new FormatException();\n }\n let offset = rawbits.length % codewordSize;\n\n let dataWords: Int32Array = new Int32Array(numCodewords);\n for (let i = 0; i < numCodewords; i++ , offset += codewordSize) {\n dataWords[i] = Decoder.readCode(rawbits, offset, codewordSize);\n }\n\n try {\n let rsDecoder = new ReedSolomonDecoder(gf);\n rsDecoder.decode(dataWords, numCodewords - numDataCodewords);\n } catch (ex) {\n throw new FormatException(ex);\n }\n\n // Now perform the unstuffing operation.\n // First, count how many bits are going to be thrown out as stuffing\n let mask = (1 << codewordSize) - 1;\n let stuffedBits = 0;\n for (let i = 0; i < numDataCodewords; i++) {\n let dataWord = dataWords[i];\n if (dataWord === 0 || dataWord === mask) {\n throw new FormatException();\n } else if (dataWord === 1 || dataWord === mask - 1) {\n stuffedBits++;\n }\n }\n // Now, actually unpack the bits and remove the stuffing\n let correctedBits: boolean[] = new Array(numDataCodewords * codewordSize - stuffedBits);\n let index = 0;\n for (let i = 0; i < numDataCodewords; i++) {\n let dataWord = dataWords[i];\n if (dataWord === 1 || dataWord === mask - 1) {\n // next codewordSize-1 bits are all zeros or all ones\n correctedBits.fill(dataWord > 1, index, index + codewordSize - 1);\n // Arrays.fill(correctedBits, index, index + codewordSize - 1, dataWord > 1);\n index += codewordSize - 1;\n } else {\n for (let bit = codewordSize - 1; bit >= 0; --bit) {\n correctedBits[index++] = (dataWord & (1 << bit)) !== 0;\n }\n }\n }\n return correctedBits;\n }\n\n /**\n * Gets the array of bits from an Aztec Code matrix\n *\n * @return the array of bits\n */\n private extractBits(matrix: BitMatrix): boolean[] {\n let compact = this.ddata.isCompact();\n let layers = this.ddata.getNbLayers();\n let baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines\n let alignmentMap = new Int32Array(baseMatrixSize);\n let rawbits: boolean[] = new Array(this.totalBitsInLayer(layers, compact));\n\n if (compact) {\n for (let i = 0; i < alignmentMap.length; i++) {\n alignmentMap[i] = i;\n }\n } else {\n let matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);\n let origCenter = baseMatrixSize / 2;\n let center = Integer.truncDivision(matrixSize, 2);\n for (let i = 0; i < origCenter; i++) {\n let newOffset = i + Integer.truncDivision(i, 15);\n alignmentMap[origCenter - i - 1] = center - newOffset - 1;\n alignmentMap[origCenter + i] = center + newOffset + 1;\n }\n }\n for (let i = 0, rowOffset = 0; i < layers; i++) {\n let rowSize = (layers - i) * 4 + (compact ? 9 : 12);\n // The top-left most point of this layer isExtends {@link DetectorResult} with more information specific to the Aztec format,\n * like the number of layers and whether it's compact.
\n *\n * @author Sean Owen\n */\nexport default class AztecDetectorResult extends DetectorResult {\n\n private compact: boolean;\n private nbDatablocks: number;\n private nbLayers: number;\n\n public constructor(bits: BitMatrix,\n points: ResultPoint[],\n compact: boolean,\n nbDatablocks: number,\n nbLayers: number) {\n super(bits, points);\n this.compact = compact;\n this.nbDatablocks = nbDatablocks;\n this.nbLayers = nbLayers;\n }\n\n public getNbLayers(): number {\n return this.nbLayers;\n }\n\n public getNbDatablocks(): number {\n return this.nbDatablocks;\n }\n\n public isCompact(): boolean {\n return this.compact;\n }\n}\n","import { BrowserCodeReader } from './BrowserCodeReader';\nimport MultiFormatOneDReader from '../core/oned/MultiFormatOneDReader';\nimport DecodeHintType from '../core/DecodeHintType';\n\n/**\n * @deprecated Moving to @zxing/browser\n *\n * Barcode reader reader to use from browser.\n */\nexport class BrowserBarcodeReader extends BrowserCodeReader {\n /**\n * Creates an instance of BrowserBarcodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n * @param {MapA reader that can read all available UPC/EAN formats. If a caller wants to try to\n * read all such formats, it is most efficient to use this implementation rather than invoke\n * individual readers.
\n *\n * @author Sean Owen\n */\nexport default class MultiFormatUPCEANReader extends OneDReader {\n private readers: UPCEANReader[];\n\n public constructor(hints?: MapImplements decoding of the EAN-8 format.
\n *\n * @author Sean Owen\n */\nexport default class EAN8Reader extends UPCEANReader {\n private decodeMiddleCounters: number[];\n\n public constructor() {\n super();\n this.decodeMiddleCounters = [0, 0, 0, 0];\n }\n\n public decodeMiddle(row: BitArray, startRange: number[], resultString: string) {\n let counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n let end = row.getSize();\n let rowOffset = startRange[1];\n\n for (let x = 0; x < 4 && rowOffset < end; x++) {\n let bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n\n for (let counter of counters) {\n rowOffset += counter;\n }\n }\n\n let middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));\n rowOffset = middleRange[1];\n\n for (let x = 0; x < 4 && rowOffset < end; x++) {\n let bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n\n for (let counter of counters) {\n rowOffset += counter;\n }\n }\n\n return {rowOffset, resultString};\n }\n\n public getBarcodeFormat(): BarcodeFormat {\n return BarcodeFormat.EAN_8;\n }\n}\n","import { BrowserCodeReader } from './BrowserCodeReader';\nimport DataMatrixReader from '../core/datamatrix/DataMatrixReader';\n\n/**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\nexport class BrowserDatamatrixCodeReader extends BrowserCodeReader {\n /**\n * Creates an instance of BrowserQRCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n public constructor(timeBetweenScansMillis: number = 500) {\n super(new DataMatrixReader(), timeBetweenScansMillis);\n }\n}\n","import ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport DecoderResult from '../../common/DecoderResult';\nimport BitMatrix from '../../common/BitMatrix';\nimport BitMatrixParser from './BitMatrixParser';\nimport DataBlock from './DataBlock';\nimport DecodedBitStreamParser from './DecodedBitStreamParser';\nimport ChecksumException from '../../ChecksumException';\n\n/*\n * Copyright 2007 ZXing authors\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\n/**\n *The main class which implements Data Matrix Code decoding -- as opposed to locating and extracting\n * the Data Matrix Code from an image.
\n *\n * @author bbrown@google.com (Brian Brown)\n */\nexport default class Decoder {\n\n private rsDecoder: ReedSolomonDecoder;\n\n constructor() {\n this.rsDecoder = new ReedSolomonDecoder(GenericGF.DATA_MATRIX_FIELD_256);\n }\n\n /**\n *Decodes a Data Matrix Code represented as a {@link BitMatrix}. A 1 or \"true\" is taken\n * to mean a black module.
\n *\n * @param bits booleans representing white/black Data Matrix Code modules\n * @return text and bytes encoded within the Data Matrix Code\n * @throws FormatException if the Data Matrix Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n public decode(bits: BitMatrix): DecoderResult {\n // Construct a parser and read version, error-correction level\n const parser = new BitMatrixParser(bits);\n const version = parser.getVersion();\n\n // Read codewords\n const codewords = parser.readCodewords();\n // Separate into data blocks\n const dataBlocks = DataBlock.getDataBlocks(codewords, version);\n\n // Count total number of data bytes\n let totalBytes = 0;\n for (let db of dataBlocks) {\n totalBytes += db.getNumDataCodewords();\n }\n const resultBytes = new Uint8Array(totalBytes);\n\n const dataBlocksCount = dataBlocks.length;\n // Error-correct and copy data blocks together into a stream of bytes\n for (let j = 0; j < dataBlocksCount; j++) {\n const dataBlock = dataBlocks[j];\n const codewordBytes = dataBlock.getCodewords();\n const numDataCodewords = dataBlock.getNumDataCodewords();\n this.correctErrors(codewordBytes, numDataCodewords);\n for (let i = 0; i < numDataCodewords; i++) {\n // De-interlace data blocks.\n resultBytes[i * dataBlocksCount + j] = codewordBytes[i];\n }\n }\n\n // Decode the contents of that stream of bytes\n return DecodedBitStreamParser.decode(resultBytes);\n }\n\n /**\n *Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place using Reed-Solomon error correction.
\n *\n * @param codewordBytes data and error correction codewords\n * @param numDataCodewords number of codewords that are data bytes\n * @throws ChecksumException if error correction fails\n */\n private correctErrors(codewordBytes: Uint8Array, numDataCodewords: number): void {\n const numCodewords = codewordBytes.length;\n // First read into an array of ints\n const codewordsInts = new Int32Array(codewordBytes);\n // for (let i = 0; i < numCodewords; i++) {\n // codewordsInts[i] = codewordBytes[i] & 0xFF;\n // }\n try {\n this.rsDecoder.decode(codewordsInts, codewordBytes.length - numDataCodewords);\n } catch (ignored /* ReedSolomonException */) {\n throw new ChecksumException();\n }\n // Copy back into array of bytes -- only need to worry about the bytes that were data\n // We don't care about errors in the error-correction codewords\n for (let i = 0; i < numDataCodewords; i++) {\n codewordBytes[i] = codewordsInts[i];\n }\n }\n\n}\n","import BitMatrix from '../../common/BitMatrix';\nimport Version from './Version';\n\nimport FormatException from '../../FormatException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n\n/*\n * Copyright 2007 ZXing authors\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\n/**\n * @author bbrown@google.com (Brian Brown)\n */\nexport default class BitMatrixParser {\n\n private mappingBitMatrix: BitMatrix;\n private readMappingMatrix: BitMatrix;\n private version: Version;\n\n /**\n * @param bitMatrix {@link BitMatrix} to parse\n * @throws FormatException if dimension is < 8 or > 144 or not 0 mod 2\n */\n constructor(bitMatrix: BitMatrix) {\n const dimension = bitMatrix.getHeight();\n if (dimension < 8 || dimension > 144 || (dimension & 0x01) !== 0) {\n throw new FormatException();\n }\n\n this.version = BitMatrixParser.readVersion(bitMatrix);\n this.mappingBitMatrix = this.extractDataRegion(bitMatrix);\n this.readMappingMatrix = new BitMatrix(this.mappingBitMatrix.getWidth(), this.mappingBitMatrix.getHeight());\n }\n\n getVersion(): Version {\n return this.version;\n }\n\n /**\n *Creates the version object based on the dimension of the original bit matrix from\n * the datamatrix code.
\n *\n *See ISO 16022:2006 Table 7 - ECC 200 symbol attributes
\n *\n * @param bitMatrix Original {@link BitMatrix} including alignment patterns\n * @return {@link Version} encapsulating the Data Matrix Code's \"version\"\n * @throws FormatException if the dimensions of the mapping matrix are not valid\n * Data Matrix dimensions.\n */\n public static readVersion(bitMatrix: BitMatrix): Version {\n const numRows = bitMatrix.getHeight();\n const numColumns = bitMatrix.getWidth();\n return Version.getVersionForDimensions(numRows, numColumns);\n }\n\n /**\n *Reads the bits in the {@link BitMatrix} representing the mapping matrix (No alignment patterns)\n * in the correct order in order to reconstitute the codewords bytes contained within the\n * Data Matrix Code.
\n *\n * @return bytes encoded within the Data Matrix Code\n * @throws FormatException if the exact number of bytes expected is not read\n */\n readCodewords(): Int8Array {\n\n const result = new Int8Array(this.version.getTotalCodewords());\n let resultOffset = 0;\n\n let row = 4;\n let column = 0;\n\n const numRows = this.mappingBitMatrix.getHeight();\n const numColumns = this.mappingBitMatrix.getWidth();\n\n let corner1Read = false;\n let corner2Read = false;\n let corner3Read = false;\n let corner4Read = false;\n\n // Read all of the codewords\n do {\n // Check the four corner cases\n if ((row === numRows) && (column === 0) && !corner1Read) {\n result[resultOffset++] = this.readCorner1(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner1Read = true;\n } else if ((row === numRows - 2) && (column === 0) && ((numColumns & 0x03) !== 0) && !corner2Read) {\n result[resultOffset++] = this.readCorner2(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner2Read = true;\n } else if ((row === numRows + 4) && (column === 2) && ((numColumns & 0x07) === 0) && !corner3Read) {\n result[resultOffset++] = this.readCorner3(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner3Read = true;\n } else if ((row === numRows - 2) && (column === 0) && ((numColumns & 0x07) === 4) && !corner4Read) {\n result[resultOffset++] = this.readCorner4(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner4Read = true;\n } else {\n // Sweep upward diagonally to the right\n do {\n if ((row < numRows) && (column >= 0) && !this.readMappingMatrix.get(column, row)) {\n result[resultOffset++] = this.readUtah(row, column, numRows, numColumns) & 0xff;\n }\n row -= 2;\n column += 2;\n } while ((row >= 0) && (column < numColumns));\n row += 1;\n column += 3;\n\n // Sweep downward diagonally to the left\n do {\n if ((row >= 0) && (column < numColumns) && !this.readMappingMatrix.get(column, row)) {\n result[resultOffset++] = this.readUtah(row, column, numRows, numColumns) & 0xff;\n }\n row += 2;\n column -= 2;\n } while ((row < numRows) && (column >= 0));\n row += 3;\n column += 1;\n }\n } while ((row < numRows) || (column < numColumns));\n\n if (resultOffset !== this.version.getTotalCodewords()) {\n throw new FormatException();\n }\n return result;\n }\n\n /**\n *Reads a bit of the mapping matrix accounting for boundary wrapping.
\n *\n * @param row Row to read in the mapping matrix\n * @param column Column to read in the mapping matrix\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return value of the given bit in the mapping matrix\n */\n private readModule(row: number, column: number, numRows: number, numColumns: number): boolean {\n // Adjust the row and column indices based on boundary wrapping\n if (row < 0) {\n row += numRows;\n column += 4 - ((numRows + 4) & 0x07);\n }\n if (column < 0) {\n column += numColumns;\n row += 4 - ((numColumns + 4) & 0x07);\n }\n this.readMappingMatrix.set(column, row);\n return this.mappingBitMatrix.get(column, row);\n }\n\n /**\n *Reads the 8 bits of the standard Utah-shaped pattern.
\n *\n *See ISO 16022:2006, 5.8.1 Figure 6
\n *\n * @param row Current row in the mapping matrix, anchored at the 8th bit (LSB) of the pattern\n * @param column Current column in the mapping matrix, anchored at the 8th bit (LSB) of the pattern\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the utah shape\n */\n private readUtah(row: number, column: number, numRows: number, numColumns: number): number {\n let currentByte = 0;\n if (this.readModule(row - 2, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 2, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n\n /**\n *Reads the 8 bits of the special corner condition 1.
\n *\n *See ISO 16022:2006, Figure F.3
\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 1\n */\n private readCorner1(numRows: number, numColumns: number): number {\n let currentByte = 0;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(2, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(3, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n\n /**\n *Reads the 8 bits of the special corner condition 2.
\n *\n *See ISO 16022:2006, Figure F.4
\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 2\n */\n private readCorner2(numRows: number, numColumns: number): number {\n let currentByte = 0;\n if (this.readModule(numRows - 3, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 2, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 4, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n\n /**\n *Reads the 8 bits of the special corner condition 3.
\n *\n *See ISO 16022:2006, Figure F.5
\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 3\n */\n private readCorner3(numRows: number, numColumns: number): number {\n let currentByte = 0;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n\n /**\n *Reads the 8 bits of the special corner condition 4.
\n *\n *See ISO 16022:2006, Figure F.6
\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 4\n */\n private readCorner4(numRows: number, numColumns: number): number {\n let currentByte = 0;\n if (this.readModule(numRows - 3, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 2, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(2, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(3, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n\n /**\n *Extracts the data region from a {@link BitMatrix} that contains\n * alignment patterns.
\n *\n * @param bitMatrix Original {@link BitMatrix} with alignment patterns\n * @return BitMatrix that has the alignment patterns removed\n */\n private extractDataRegion(bitMatrix: BitMatrix): BitMatrix {\n const symbolSizeRows = this.version.getSymbolSizeRows();\n const symbolSizeColumns = this.version.getSymbolSizeColumns();\n\n if (bitMatrix.getHeight() !== symbolSizeRows) {\n throw new IllegalArgumentException('Dimension of bitMatrix must match the version size');\n }\n\n const dataRegionSizeRows = this.version.getDataRegionSizeRows();\n const dataRegionSizeColumns = this.version.getDataRegionSizeColumns();\n\n const numDataRegionsRow = symbolSizeRows / dataRegionSizeRows | 0;\n const numDataRegionsColumn = symbolSizeColumns / dataRegionSizeColumns | 0;\n\n const sizeDataRegionRow = numDataRegionsRow * dataRegionSizeRows;\n const sizeDataRegionColumn = numDataRegionsColumn * dataRegionSizeColumns;\n\n const bitMatrixWithoutAlignment = new BitMatrix(sizeDataRegionColumn, sizeDataRegionRow);\n for (let dataRegionRow = 0; dataRegionRow < numDataRegionsRow; ++dataRegionRow) {\n const dataRegionRowOffset = dataRegionRow * dataRegionSizeRows;\n for (let dataRegionColumn = 0; dataRegionColumn < numDataRegionsColumn; ++dataRegionColumn) {\n const dataRegionColumnOffset = dataRegionColumn * dataRegionSizeColumns;\n for (let i = 0; i < dataRegionSizeRows; ++i) {\n const readRowOffset = dataRegionRow * (dataRegionSizeRows + 2) + 1 + i;\n const writeRowOffset = dataRegionRowOffset + i;\n for (let j = 0; j < dataRegionSizeColumns; ++j) {\n const readColumnOffset = dataRegionColumn * (dataRegionSizeColumns + 2) + 1 + j;\n if (bitMatrix.get(readColumnOffset, readRowOffset)) {\n const writeColumnOffset = dataRegionColumnOffset + j;\n bitMatrixWithoutAlignment.set(writeColumnOffset, writeRowOffset);\n }\n }\n }\n }\n }\n return bitMatrixWithoutAlignment;\n }\n\n}\n","\nimport FormatException from '../../FormatException';\n\n/*\n * Copyright 2007 ZXing authors\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\n\n /**\n *Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.
\n */\n export class ECBlocks {\n private ecCodewords: number;\n private ecBlocks: ECB[];\n\n constructor(ecCodewords: number, ecBlocks1: ECB, ecBlocks2?: ECB) {\n this.ecCodewords = ecCodewords;\n this.ecBlocks = [ ecBlocks1 ];\n ecBlocks2 && this.ecBlocks.push(ecBlocks2);\n }\n\n getECCodewords(): number {\n return this.ecCodewords;\n }\n\n getECBlocks(): ECB[] {\n return this.ecBlocks;\n }\n }\n\n /**\n *Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the Data Matrix code version's format.
\n */\nexport class ECB {\n private count: number;\n private dataCodewords: number;\n\n constructor(count: number, dataCodewords: number) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n\n getCount(): number {\n return this.count;\n }\n\n getDataCodewords(): number {\n return this.dataCodewords;\n }\n }\n\n/**\n * The Version object encapsulates attributes about a particular\n * size Data Matrix Code.\n *\n * @author bbrown@google.com (Brian Brown)\n */\nexport default class Version {\n\n private static VERSIONS: Version[] = Version.buildVersions();\n\n private versionNumber: number;\n private symbolSizeRows: number;\n private symbolSizeColumns: number;\n private dataRegionSizeRows: number;\n private dataRegionSizeColumns: number;\n private ecBlocks: ECBlocks;\n private totalCodewords: number;\n\n constructor(versionNumber,\n symbolSizeRows,\n symbolSizeColumns,\n dataRegionSizeRows,\n dataRegionSizeColumns,\n ecBlocks: ECBlocks) {\n this.versionNumber = versionNumber;\n this.symbolSizeRows = symbolSizeRows;\n this.symbolSizeColumns = symbolSizeColumns;\n this.dataRegionSizeRows = dataRegionSizeRows;\n this.dataRegionSizeColumns = dataRegionSizeColumns;\n this.ecBlocks = ecBlocks;\n\n // Calculate the total number of codewords\n let total = 0;\n const ecCodewords = ecBlocks.getECCodewords();\n const ecbArray = ecBlocks.getECBlocks();\n for (let ecBlock of ecbArray) {\n total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords);\n }\n this.totalCodewords = total;\n }\n\n public getVersionNumber(): number {\n return this.versionNumber;\n }\n\n public getSymbolSizeRows(): number {\n return this.symbolSizeRows;\n }\n\n public getSymbolSizeColumns(): number {\n return this.symbolSizeColumns;\n }\n\n public getDataRegionSizeRows(): number {\n return this.dataRegionSizeRows;\n }\n\n public getDataRegionSizeColumns(): number {\n return this.dataRegionSizeColumns;\n }\n\n public getTotalCodewords(): number {\n return this.totalCodewords;\n }\n\n public getECBlocks(): ECBlocks {\n return this.ecBlocks;\n }\n\n /**\n *Deduces version information from Data Matrix dimensions.
\n *\n * @param numRows Number of rows in modules\n * @param numColumns Number of columns in modules\n * @return Version for a Data Matrix Code of those dimensions\n * @throws FormatException if dimensions do correspond to a valid Data Matrix size\n */\n public static getVersionForDimensions(numRows: number, numColumns: number): Version {\n if ((numRows & 0x01) !== 0 || (numColumns & 0x01) !== 0) {\n throw new FormatException();\n }\n\n for (let version of Version.VERSIONS) {\n if (version.symbolSizeRows === numRows && version.symbolSizeColumns === numColumns) {\n return version;\n }\n }\n\n throw new FormatException();\n }\n\n// @Override\n public toString(): string {\n return '' + this.versionNumber;\n }\n\n /**\n * See ISO 16022:2006 5.5.1 Table 7\n */\n private static buildVersions(): Version[] {\n return [\n new Version(1, 10, 10, 8, 8,\n new ECBlocks(5, new ECB(1, 3))),\n new Version(2, 12, 12, 10, 10,\n new ECBlocks(7, new ECB(1, 5))),\n new Version(3, 14, 14, 12, 12,\n new ECBlocks(10, new ECB(1, 8))),\n new Version(4, 16, 16, 14, 14,\n new ECBlocks(12, new ECB(1, 12))),\n new Version(5, 18, 18, 16, 16,\n new ECBlocks(14, new ECB(1, 18))),\n new Version(6, 20, 20, 18, 18,\n new ECBlocks(18, new ECB(1, 22))),\n new Version(7, 22, 22, 20, 20,\n new ECBlocks(20, new ECB(1, 30))),\n new Version(8, 24, 24, 22, 22,\n new ECBlocks(24, new ECB(1, 36))),\n new Version(9, 26, 26, 24, 24,\n new ECBlocks(28, new ECB(1, 44))),\n new Version(10, 32, 32, 14, 14,\n new ECBlocks(36, new ECB(1, 62))),\n new Version(11, 36, 36, 16, 16,\n new ECBlocks(42, new ECB(1, 86))),\n new Version(12, 40, 40, 18, 18,\n new ECBlocks(48, new ECB(1, 114))),\n new Version(13, 44, 44, 20, 20,\n new ECBlocks(56, new ECB(1, 144))),\n new Version(14, 48, 48, 22, 22,\n new ECBlocks(68, new ECB(1, 174))),\n new Version(15, 52, 52, 24, 24,\n new ECBlocks(42, new ECB(2, 102))),\n new Version(16, 64, 64, 14, 14,\n new ECBlocks(56, new ECB(2, 140))),\n new Version(17, 72, 72, 16, 16,\n new ECBlocks(36, new ECB(4, 92))),\n new Version(18, 80, 80, 18, 18,\n new ECBlocks(48, new ECB(4, 114))),\n new Version(19, 88, 88, 20, 20,\n new ECBlocks(56, new ECB(4, 144))),\n new Version(20, 96, 96, 22, 22,\n new ECBlocks(68, new ECB(4, 174))),\n new Version(21, 104, 104, 24, 24,\n new ECBlocks(56, new ECB(6, 136))),\n new Version(22, 120, 120, 18, 18,\n new ECBlocks(68, new ECB(6, 175))),\n new Version(23, 132, 132, 20, 20,\n new ECBlocks(62, new ECB(8, 163))),\n new Version(24, 144, 144, 22, 22,\n new ECBlocks(62, new ECB(8, 156), new ECB(2, 155))),\n new Version(25, 8, 18, 6, 16,\n new ECBlocks(7, new ECB(1, 5))),\n new Version(26, 8, 32, 6, 14,\n new ECBlocks(11, new ECB(1, 10))),\n new Version(27, 12, 26, 10, 24,\n new ECBlocks(14, new ECB(1, 16))),\n new Version(28, 12, 36, 10, 16,\n new ECBlocks(18, new ECB(1, 22))),\n new Version(29, 16, 36, 14, 16,\n new ECBlocks(24, new ECB(1, 32))),\n new Version(30, 16, 48, 14, 22,\n new ECBlocks(28, new ECB(1, 49)))\n ];\n }\n\n}\n","import Version from './Version';\n\nimport IllegalArgumentException from '../../IllegalArgumentException';\n\n/*\n * Copyright 2008 ZXing authors\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\n/**\n *Encapsulates a block of data within a Data Matrix Code. Data Matrix Codes may split their data into\n * multiple blocks, each of which is a unit of data and error-correction codewords. Each\n * is represented by an instance of this class.
\n *\n * @author bbrown@google.com (Brian Brown)\n */\nexport default class DataBlock {\n\n private numDataCodewords: number;\n private codewords: Uint8Array;\n\n constructor(numDataCodewords: number, codewords: Uint8Array) {\n this.numDataCodewords = numDataCodewords;\n this.codewords = codewords;\n }\n\n /**\n *When Data Matrix Codes use multiple data blocks, they actually interleave the bytes of each of them.\n * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This\n * method will separate the data into original blocks.
\n *\n * @param rawCodewords bytes as read directly from the Data Matrix Code\n * @param version version of the Data Matrix Code\n * @return DataBlocks containing original bytes, \"de-interleaved\" from representation in the\n * Data Matrix Code\n */\n static getDataBlocks(rawCodewords: Int8Array,\n version: Version): DataBlock[] {\n // Figure out the number and size of data blocks used by this version\n const ecBlocks = version.getECBlocks();\n\n // First count the total number of data blocks\n let totalBlocks = 0;\n const ecBlockArray = ecBlocks.getECBlocks();\n for (let ecBlock of ecBlockArray) {\n totalBlocks += ecBlock.getCount();\n }\n\n // Now establish DataBlocks of the appropriate size and number of data codewords\n const result: DataBlock[] = new Array(totalBlocks);\n let numResultBlocks = 0;\n for (let ecBlock of ecBlockArray) {\n for (let i = 0; i < ecBlock.getCount(); i++) {\n const numDataCodewords = ecBlock.getDataCodewords();\n const numBlockCodewords = ecBlocks.getECCodewords() + numDataCodewords;\n result[numResultBlocks++] = new DataBlock(numDataCodewords, new Uint8Array(numBlockCodewords));\n }\n }\n\n // All blocks have the same amount of data, except that the last n\n // (where n may be 0) have 1 less byte. Figure out where these start.\n // TODO(bbrown): There is only one case where there is a difference for Data Matrix for size 144\n const longerBlocksTotalCodewords = result[0].codewords.length;\n // int shorterBlocksTotalCodewords = longerBlocksTotalCodewords - 1;\n\n const longerBlocksNumDataCodewords = longerBlocksTotalCodewords - ecBlocks.getECCodewords();\n const shorterBlocksNumDataCodewords = longerBlocksNumDataCodewords - 1;\n // The last elements of result may be 1 element shorter for 144 matrix\n // first fill out as many elements as all of them have minus 1\n let rawCodewordsOffset = 0;\n for (let i = 0; i < shorterBlocksNumDataCodewords; i++) {\n for (let j = 0; j < numResultBlocks; j++) {\n result[j].codewords[i] = rawCodewords[rawCodewordsOffset++];\n }\n }\n\n // Fill out the last data block in the longer ones\n const specialVersion = version.getVersionNumber() === 24;\n const numLongerBlocks = specialVersion ? 8 : numResultBlocks;\n for (let j = 0; j < numLongerBlocks; j++) {\n result[j].codewords[longerBlocksNumDataCodewords - 1] = rawCodewords[rawCodewordsOffset++];\n }\n\n // Now add in error correction blocks\n const max = result[0].codewords.length;\n for (let i = longerBlocksNumDataCodewords; i < max; i++) {\n for (let j = 0; j < numResultBlocks; j++) {\n const jOffset = specialVersion ? (j + 8) % numResultBlocks : j;\n const iOffset = specialVersion && jOffset > 7 ? i - 1 : i;\n result[jOffset].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];\n }\n }\n\n if (rawCodewordsOffset !== rawCodewords.length) {\n throw new IllegalArgumentException();\n }\n\n return result;\n }\n\n getNumDataCodewords(): number {\n return this.numDataCodewords;\n }\n\n getCodewords(): Uint8Array {\n return this.codewords;\n }\n\n}\n","import DecoderResult from '../../common/DecoderResult';\nimport BitSource from '../../common/BitSource';\nimport StringBuilder from '../../util/StringBuilder';\n\nimport StringEncoding from '../../util/StringEncoding';\nimport StringUtils from '../../common/StringUtils';\nimport FormatException from '../../FormatException';\nimport IllegalStateException from '../../IllegalStateException';\n\n/*\n * Copyright 2008 ZXing authors\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\nenum Mode {\n PAD_ENCODE, // Not really a mode\n ASCII_ENCODE,\n C40_ENCODE,\n TEXT_ENCODE,\n ANSIX12_ENCODE,\n EDIFACT_ENCODE,\n BASE256_ENCODE\n}\n\n/**\n *Data Matrix Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one Data Matrix Code. This class decodes the bits back into text.
\n *\n *See ISO 16022:2006, 5.2.1 - 5.2.9.2
\n *\n * @author bbrown@google.com (Brian Brown)\n * @author Sean Owen\n */\nexport default class DecodedBitStreamParser {\n\n /**\n * See ISO 16022:2006, Annex C Table C.1\n * The C40 Basic Character Set (*'s used for placeholders for the shift values)\n */\n private static C40_BASIC_SET_CHARS: string[] = [\n '*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'\n ];\n\n private static C40_SHIFT2_SET_CHARS: string[] = [\n '!', '\"', '#', '$', '%', '&', '\\'', '(', ')', '*', '+', ',', '-', '.',\n '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\\\', ']', '^', '_'\n ];\n\n /**\n * See ISO 16022:2006, Annex C Table C.2\n * The Text Basic Character Set (*'s used for placeholders for the shift values)\n */\n private static TEXT_BASIC_SET_CHARS: string[] = [\n '*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',\n 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'\n ];\n\n // Shift 2 for Text is the same encoding as C40\n private static TEXT_SHIFT2_SET_CHARS = DecodedBitStreamParser.C40_SHIFT2_SET_CHARS;\n\n private static TEXT_SHIFT3_SET_CHARS: string[] = [\n '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', String.fromCharCode(127)\n ];\n\n static decode(bytes: Uint8Array): DecoderResult {\n const bits = new BitSource(bytes);\n const result = new StringBuilder();\n const resultTrailer = new StringBuilder();\n const byteSegments = new ArrayEncapsulates logic that can detect a Data Matrix Code in an image, even if the Data Matrix Code\n * is rotated or skewed, or partially obscured.
\n *\n * @author Sean Owen\n */\nexport default class Detector {\n\n private image: BitMatrix;\n private rectangleDetector: WhiteRectangleDetector;\n\n constructor(image: BitMatrix) {\n this.image = image;\n this.rectangleDetector = new WhiteRectangleDetector(this.image);\n }\n\n /**\n *Detects a Data Matrix Code in an image.
\n *\n * @return {@link DetectorResult} encapsulating results of detecting a Data Matrix Code\n * @throws NotFoundException if no Data Matrix Code can be found\n */\n public detect(): DetectorResult {\n\n\n const cornerPoints = this.rectangleDetector.detect();\n\n let points = this.detectSolid1(cornerPoints);\n points = this.detectSolid2(points);\n points[3] = this.correctTopRight(points);\n if (!points[3]) {\n throw new NotFoundException();\n }\n points = this.shiftToModuleCenter(points);\n\n const topLeft = points[0];\n const bottomLeft = points[1];\n const bottomRight = points[2];\n const topRight = points[3];\n\n let dimensionTop = this.transitionsBetween(topLeft, topRight) + 1;\n let dimensionRight = this.transitionsBetween(bottomRight, topRight) + 1;\n if ((dimensionTop & 0x01) === 1) {\n dimensionTop += 1;\n }\n if ((dimensionRight & 0x01) === 1) {\n dimensionRight += 1;\n }\n\n if (4 * dimensionTop < 7 * dimensionRight && 4 * dimensionRight < 7 * dimensionTop) {\n // The matrix is square\n dimensionTop = dimensionRight = Math.max(dimensionTop, dimensionRight);\n }\n\n let bits = Detector.sampleGrid(this.image,\n topLeft,\n bottomLeft,\n bottomRight,\n topRight,\n dimensionTop,\n dimensionRight);\n\n return new DetectorResult(bits, [topLeft, bottomLeft, bottomRight, topRight]);\n }\n\n private static shiftPoint(point: ResultPoint, to: ResultPoint, div: float): ResultPoint {\n let x = (to.getX() - point.getX()) / (div + 1);\n let y = (to.getY() - point.getY()) / (div + 1);\n return new ResultPoint(point.getX() + x, point.getY() + y);\n }\n\n private static moveAway(point: ResultPoint, fromX: float, fromY: float): ResultPoint {\n let x = point.getX();\n let y = point.getY();\n\n if (x < fromX) {\n x -= 1;\n } else {\n x += 1;\n }\n\n if (y < fromY) {\n y -= 1;\n } else {\n y += 1;\n }\n\n return new ResultPoint(x, y);\n }\n\n /**\n * Detect a solid side which has minimum transition.\n */\n private detectSolid1(cornerPoints: ResultPoint[]): ResultPoint[] {\n // 0 2\n // 1 3\n let pointA = cornerPoints[0];\n let pointB = cornerPoints[1];\n let pointC = cornerPoints[3];\n let pointD = cornerPoints[2];\n\n let trAB = this.transitionsBetween(pointA, pointB);\n let trBC = this.transitionsBetween(pointB, pointC);\n let trCD = this.transitionsBetween(pointC, pointD);\n let trDA = this.transitionsBetween(pointD, pointA);\n\n // 0..3\n // : :\n // 1--2\n let min = trAB;\n let points = [pointD, pointA, pointB, pointC];\n if (min > trBC) {\n min = trBC;\n points[0] = pointA;\n points[1] = pointB;\n points[2] = pointC;\n points[3] = pointD;\n }\n if (min > trCD) {\n min = trCD;\n points[0] = pointB;\n points[1] = pointC;\n points[2] = pointD;\n points[3] = pointA;\n }\n if (min > trDA) {\n points[0] = pointC;\n points[1] = pointD;\n points[2] = pointA;\n points[3] = pointB;\n }\n\n return points;\n }\n\n /**\n * Detect a second solid side next to first solid side.\n */\n private detectSolid2(points: ResultPoint[]): ResultPoint[] {\n // A..D\n // : :\n // B--C\n let pointA = points[0];\n let pointB = points[1];\n let pointC = points[2];\n let pointD = points[3];\n\n // Transition detection on the edge is not stable.\n // To safely detect, shift the points to the module center.\n let tr = this.transitionsBetween(pointA, pointD);\n let pointBs = Detector.shiftPoint(pointB, pointC, (tr + 1) * 4);\n let pointCs = Detector.shiftPoint(pointC, pointB, (tr + 1) * 4);\n let trBA = this.transitionsBetween(pointBs, pointA);\n let trCD = this.transitionsBetween(pointCs, pointD);\n\n // 0..3\n // | :\n // 1--2\n if (trBA < trCD) {\n // solid sides: A-B-C\n points[0] = pointA;\n points[1] = pointB;\n points[2] = pointC;\n points[3] = pointD;\n } else {\n // solid sides: B-C-D\n points[0] = pointB;\n points[1] = pointC;\n points[2] = pointD;\n points[3] = pointA;\n }\n\n return points;\n }\n\n /**\n * Calculates the corner position of the white top right module.\n */\n private correctTopRight(points: ResultPoint[]): ResultPoint {\n // A..D\n // | :\n // B--C\n let pointA = points[0];\n let pointB = points[1];\n let pointC = points[2];\n let pointD = points[3];\n\n // shift points for safe transition detection.\n let trTop = this.transitionsBetween(pointA, pointD);\n let trRight = this.transitionsBetween(pointB, pointD);\n let pointAs = Detector.shiftPoint(pointA, pointB, (trRight + 1) * 4);\n let pointCs = Detector.shiftPoint(pointC, pointB, (trTop + 1) * 4);\n\n trTop = this.transitionsBetween(pointAs, pointD);\n trRight = this.transitionsBetween(pointCs, pointD);\n\n let candidate1 = new ResultPoint(\n pointD.getX() + (pointC.getX() - pointB.getX()) / (trTop + 1),\n pointD.getY() + (pointC.getY() - pointB.getY()) / (trTop + 1));\n let candidate2 = new ResultPoint(\n pointD.getX() + (pointA.getX() - pointB.getX()) / (trRight + 1),\n pointD.getY() + (pointA.getY() - pointB.getY()) / (trRight + 1));\n\n if (!this.isValid(candidate1)) {\n if (this.isValid(candidate2)) {\n return candidate2;\n }\n return null;\n }\n if (!this.isValid(candidate2)) {\n return candidate1;\n }\n\n let sumc1 = this.transitionsBetween(pointAs, candidate1) + this.transitionsBetween(pointCs, candidate1);\n let sumc2 = this.transitionsBetween(pointAs, candidate2) + this.transitionsBetween(pointCs, candidate2);\n\n if (sumc1 > sumc2) {\n return candidate1;\n } else {\n return candidate2;\n }\n }\n\n /**\n * Shift the edge points to the module center.\n */\n private shiftToModuleCenter(points: ResultPoint[]): ResultPoint[] {\n // A..D\n // | :\n // B--C\n let pointA = points[0];\n let pointB = points[1];\n let pointC = points[2];\n let pointD = points[3];\n\n // calculate pseudo dimensions\n let dimH = this.transitionsBetween(pointA, pointD) + 1;\n let dimV = this.transitionsBetween(pointC, pointD) + 1;\n\n // shift points for safe dimension detection\n let pointAs = Detector.shiftPoint(pointA, pointB, dimV * 4);\n let pointCs = Detector.shiftPoint(pointC, pointB, dimH * 4);\n\n // calculate more precise dimensions\n dimH = this.transitionsBetween(pointAs, pointD) + 1;\n dimV = this.transitionsBetween(pointCs, pointD) + 1;\n if ((dimH & 0x01) === 1) {\n dimH += 1;\n }\n if ((dimV & 0x01) === 1) {\n dimV += 1;\n }\n\n // WhiteRectangleDetector returns points inside of the rectangle.\n // I want points on the edges.\n let centerX = (pointA.getX() + pointB.getX() + pointC.getX() + pointD.getX()) / 4;\n let centerY = (pointA.getY() + pointB.getY() + pointC.getY() + pointD.getY()) / 4;\n pointA = Detector.moveAway(pointA, centerX, centerY);\n pointB = Detector.moveAway(pointB, centerX, centerY);\n pointC = Detector.moveAway(pointC, centerX, centerY);\n pointD = Detector.moveAway(pointD, centerX, centerY);\n\n let pointBs: ResultPoint;\n let pointDs: ResultPoint;\n\n // shift points to the center of each modules\n pointAs = Detector.shiftPoint(pointA, pointB, dimV * 4);\n pointAs = Detector.shiftPoint(pointAs, pointD, dimH * 4);\n pointBs = Detector.shiftPoint(pointB, pointA, dimV * 4);\n pointBs = Detector.shiftPoint(pointBs, pointC, dimH * 4);\n pointCs = Detector.shiftPoint(pointC, pointD, dimV * 4);\n pointCs = Detector.shiftPoint(pointCs, pointB, dimH * 4);\n pointDs = Detector.shiftPoint(pointD, pointC, dimV * 4);\n pointDs = Detector.shiftPoint(pointDs, pointA, dimH * 4);\n\n return [pointAs, pointBs, pointCs, pointDs];\n }\n\n private isValid(p: ResultPoint): boolean {\n return p.getX() >= 0 && p.getX() < this.image.getWidth() && p.getY() > 0 && p.getY() < this.image.getHeight();\n }\n\n private static sampleGrid(image: BitMatrix,\n topLeft: ResultPoint,\n bottomLeft: ResultPoint,\n bottomRight: ResultPoint,\n topRight: ResultPoint,\n dimensionX: int,\n dimensionY: int): BitMatrix {\n\n const sampler = GridSamplerInstance.getInstance();\n\n return sampler.sampleGrid(image,\n dimensionX,\n dimensionY,\n 0.5,\n 0.5,\n dimensionX - 0.5,\n 0.5,\n dimensionX - 0.5,\n dimensionY - 0.5,\n 0.5,\n dimensionY - 0.5,\n topLeft.getX(),\n topLeft.getY(),\n topRight.getX(),\n topRight.getY(),\n bottomRight.getX(),\n bottomRight.getY(),\n bottomLeft.getX(),\n bottomLeft.getY());\n }\n\n /**\n * Counts the number of black/white transitions between two points, using something like Bresenham's algorithm.\n */\n private transitionsBetween(from: ResultPoint, to: ResultPoint): int {\n // See QR Code Detector, sizeOfBlackWhiteBlackRun()\n let fromX = Math.trunc(from.getX());\n let fromY = Math.trunc(from.getY());\n let toX = Math.trunc(to.getX());\n let toY = Math.trunc(to.getY());\n let steep: boolean = Math.abs(toY - fromY) > Math.abs(toX - fromX);\n if (steep) {\n let temp = fromX;\n fromX = fromY;\n fromY = temp;\n temp = toX;\n toX = toY;\n toY = temp;\n }\n\n let dx = Math.abs(toX - fromX);\n let dy = Math.abs(toY - fromY);\n let error = -dx / 2;\n let ystep = fromY < toY ? 1 : -1;\n let xstep = fromX < toX ? 1 : -1;\n let transitions = 0;\n let inBlack: boolean = this.image.get(steep ? fromY : fromX, steep ? fromX : fromY);\n for (let x: int = fromX, y = fromY; x !== toX; x += xstep) {\n let isBlack: boolean = this.image.get(steep ? y : x, steep ? x : y);\n if (isBlack !== inBlack) {\n transitions++;\n inBlack = isBlack;\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += ystep;\n error -= dx;\n }\n }\n return transitions;\n }\n}\n","import { BrowserCodeReader } from './BrowserCodeReader';\nimport MultiFormatReader from '../core/MultiFormatReader';\nimport BinaryBitmap from '../core/BinaryBitmap';\nimport Result from '../core/Result';\nimport DecodeHintType from '../core/DecodeHintType';\n\nexport class BrowserMultiFormatReader extends BrowserCodeReader {\n\n protected readonly reader: MultiFormatReader;\n\n public constructor(\n hints: MapThe main class which implements QR Code decoding -- as opposed to locating and extracting\n * the QR Code from an image.
\n *\n * @author Sean Owen\n */\nexport default class Decoder {\n\n private rsDecoder: ReedSolomonDecoder;\n\n public constructor() {\n this.rsDecoder = new ReedSolomonDecoder(GenericGF.QR_CODE_FIELD_256);\n }\n\n // public decode(image: boolean[][]): DecoderResult /*throws ChecksumException, FormatException*/ {\n // return decode(image, null)\n // }\n\n /**\n *Convenience method that can decode a QR Code represented as a 2D array of booleans.\n * \"true\" is taken to mean a black module.
\n *\n * @param image booleans representing white/black QR Code modules\n * @param hints decoding hints that should be used to influence decoding\n * @return text and bytes encoded within the QR Code\n * @throws FormatException if the QR Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n public decodeBooleanArray(image: boolean[][], hints?: MapDecodes a QR Code represented as a {@link BitMatrix}. A 1 or \"true\" is taken to mean a black module.
\n *\n * @param bits booleans representing white/black QR Code modules\n * @param hints decoding hints that should be used to influence decoding\n * @return text and bytes encoded within the QR Code\n * @throws FormatException if the QR Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n public decodeBitMatrix(bits: BitMatrix, hints?: MapGiven data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place using Reed-Solomon error correction.
\n *\n * @param codewordBytes data and error correction codewords\n * @param numDataCodewords number of codewords that are data bytes\n * @throws ChecksumException if error correction fails\n */\n private correctErrors(codewordBytes: Uint8Array, numDataCodewords: number /*int*/): void /*throws ChecksumException*/ {\n const numCodewords = codewordBytes.length;\n // First read into an array of ints\n const codewordsInts = new Int32Array(codewordBytes);\n // TYPESCRIPTPORT: not realy necessary to transform to ints? could redesign everything to work with unsigned bytes?\n // const codewordsInts = new Int32Array(numCodewords)\n // for (let i = 0; i < numCodewords; i++) {\n // codewordsInts[i] = codewordBytes[i] & 0xFF\n // }\n try {\n this.rsDecoder.decode(codewordsInts, codewordBytes.length - numDataCodewords);\n } catch (ignored/*: ReedSolomonException*/) {\n throw new ChecksumException();\n }\n // Copy back into array of bytes -- only need to worry about the bytes that were data\n // We don't care about errors in the error-correction codewords\n for (let i = 0; i < numDataCodewords; i++) {\n codewordBytes[i] = /*(byte) */codewordsInts[i];\n }\n }\n\n}\n","/*\n * Copyright 2007 ZXing authors\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\n/*namespace com.google.zxing.qrcode.decoder {*/\n\nimport BitMatrix from '../../common/BitMatrix';\nimport Version from './Version';\nimport FormatInformation from './FormatInformation';\n\nimport DataMask from './DataMask';\nimport FormatException from '../../FormatException';\n/**\n * @author Sean Owen\n */\nexport default class BitMatrixParser {\n\n private bitMatrix: BitMatrix;\n private parsedVersion: Version;\n private parsedFormatInfo: FormatInformation;\n private isMirror: boolean;\n\n /**\n * @param bitMatrix {@link BitMatrix} to parse\n * @throws FormatException if dimension is not >= 21 and 1 mod 4\n */\n public constructor(bitMatrix: BitMatrix) /*throws FormatException*/ {\n const dimension = bitMatrix.getHeight();\n if (dimension < 21 || (dimension & 0x03) !== 1) {\n throw new FormatException();\n }\n this.bitMatrix = bitMatrix;\n }\n\n /**\n *Reads format information from one of its two locations within the QR Code.
\n *\n * @return {@link FormatInformation} encapsulating the QR Code's format info\n * @throws FormatException if both format information locations cannot be parsed as\n * the valid encoding of format information\n */\n public readFormatInformation(): FormatInformation /*throws FormatException*/ {\n\n if (this.parsedFormatInfo !== null && this.parsedFormatInfo !== undefined) {\n return this.parsedFormatInfo;\n }\n\n // Read top-left format info bits\n let formatInfoBits1 = 0;\n for (let i = 0; i < 6; i++) {\n formatInfoBits1 = this.copyBit(i, 8, formatInfoBits1);\n }\n // .. and skip a bit in the timing pattern ...\n formatInfoBits1 = this.copyBit(7, 8, formatInfoBits1);\n formatInfoBits1 = this.copyBit(8, 8, formatInfoBits1);\n formatInfoBits1 = this.copyBit(8, 7, formatInfoBits1);\n // .. and skip a bit in the timing pattern ...\n for (let j = 5; j >= 0; j--) {\n formatInfoBits1 = this.copyBit(8, j, formatInfoBits1);\n }\n\n // Read the top-right/bottom-left pattern too\n const dimension = this.bitMatrix.getHeight();\n let formatInfoBits2 = 0;\n const jMin = dimension - 7;\n for (let j = dimension - 1; j >= jMin; j--) {\n formatInfoBits2 = this.copyBit(8, j, formatInfoBits2);\n }\n for (let i = dimension - 8; i < dimension; i++) {\n formatInfoBits2 = this.copyBit(i, 8, formatInfoBits2);\n }\n\n this.parsedFormatInfo = FormatInformation.decodeFormatInformation(formatInfoBits1, formatInfoBits2);\n if (this.parsedFormatInfo !== null) {\n return this.parsedFormatInfo;\n }\n throw new FormatException();\n }\n\n /**\n *Reads version information from one of its two locations within the QR Code.
\n *\n * @return {@link Version} encapsulating the QR Code's version\n * @throws FormatException if both version information locations cannot be parsed as\n * the valid encoding of version information\n */\n public readVersion(): Version /*throws FormatException*/ {\n\n if (this.parsedVersion !== null && this.parsedVersion !== undefined) {\n return this.parsedVersion;\n }\n\n const dimension = this.bitMatrix.getHeight();\n\n const provisionalVersion = Math.floor((dimension - 17) / 4);\n if (provisionalVersion <= 6) {\n return Version.getVersionForNumber(provisionalVersion);\n }\n\n // Read top-right version info: 3 wide by 6 tall\n let versionBits = 0;\n const ijMin = dimension - 11;\n for (let j = 5; j >= 0; j--) {\n for (let i = dimension - 9; i >= ijMin; i--) {\n versionBits = this.copyBit(i, j, versionBits);\n }\n }\n\n let theParsedVersion = Version.decodeVersionInformation(versionBits);\n if (theParsedVersion !== null && theParsedVersion.getDimensionForVersion() === dimension) {\n this.parsedVersion = theParsedVersion;\n return theParsedVersion;\n }\n\n // Hmm, failed. Try bottom left: 6 wide by 3 tall\n versionBits = 0;\n for (let i = 5; i >= 0; i--) {\n for (let j = dimension - 9; j >= ijMin; j--) {\n versionBits = this.copyBit(i, j, versionBits);\n }\n }\n\n theParsedVersion = Version.decodeVersionInformation(versionBits);\n if (theParsedVersion !== null && theParsedVersion.getDimensionForVersion() === dimension) {\n this.parsedVersion = theParsedVersion;\n return theParsedVersion;\n }\n throw new FormatException();\n }\n\n private copyBit(i: number /*int*/, j: number /*int*/, versionBits: number /*int*/): number /*int*/ {\n const bit: boolean = this.isMirror ? this.bitMatrix.get(j, i) : this.bitMatrix.get(i, j);\n return bit ? (versionBits << 1) | 0x1 : versionBits << 1;\n }\n\n /**\n *Reads the bits in the {@link BitMatrix} representing the finder pattern in the\n * correct order in order to reconstruct the codewords bytes contained within the\n * QR Code.
\n *\n * @return bytes encoded within the QR Code\n * @throws FormatException if the exact number of bytes expected is not read\n */\n public readCodewords(): Uint8Array /*throws FormatException*/ {\n\n const formatInfo = this.readFormatInformation();\n const version = this.readVersion();\n\n // Get the data mask for the format used in this QR Code. This will exclude\n // some bits from reading as we wind through the bit matrix.\n const dataMask = DataMask.values.get(formatInfo.getDataMask());\n const dimension = this.bitMatrix.getHeight();\n dataMask.unmaskBitMatrix(this.bitMatrix, dimension);\n\n const functionPattern = version.buildFunctionPattern();\n\n let readingUp: boolean = true;\n const result = new Uint8Array(version.getTotalCodewords());\n let resultOffset = 0;\n let currentByte = 0;\n let bitsRead = 0;\n // Read columns in pairs, from right to left\n for (let j = dimension - 1; j > 0; j -= 2) {\n if (j === 6) {\n // Skip whole column with vertical alignment pattern\n // saves time and makes the other code proceed more cleanly\n j--;\n }\n // Read alternatingly from bottom to top then top to bottom\n for (let count = 0; count < dimension; count++) {\n const i = readingUp ? dimension - 1 - count : count;\n for (let col = 0; col < 2; col++) {\n // Ignore bits covered by the function pattern\n if (!functionPattern.get(j - col, i)) {\n // Read a bit\n bitsRead++;\n currentByte <<= 1;\n if (this.bitMatrix.get(j - col, i)) {\n currentByte |= 1;\n }\n // If we've made a whole byte, save it off\n if (bitsRead === 8) {\n result[resultOffset++] = /*(byte) */currentByte;\n bitsRead = 0;\n currentByte = 0;\n }\n }\n }\n }\n readingUp = !readingUp; // readingUp ^= true; // readingUp = !readingUp; // switch directions\n }\n if (resultOffset !== version.getTotalCodewords()) {\n throw new FormatException();\n }\n return result;\n }\n\n /**\n * Revert the mask removal done while reading the code words. The bit matrix should revert to its original state.\n */\n public remask(): void {\n if (this.parsedFormatInfo === null) {\n return; // We have no format information, and have no data mask\n }\n const dataMask = DataMask.values[this.parsedFormatInfo.getDataMask()];\n const dimension = this.bitMatrix.getHeight();\n dataMask.unmaskBitMatrix(this.bitMatrix, dimension);\n }\n\n /**\n * Prepare the parser for a mirrored operation.\n * This flag has effect only on the {@link #readFormatInformation()} and the\n * {@link #readVersion()}. Before proceeding with {@link #readCodewords()} the\n * {@link #mirror()} method should be called.\n *\n * @param mirror Whether to read version and format information mirrored.\n */\n public setMirror(isMirror: boolean): void {\n this.parsedVersion = null;\n this.parsedFormatInfo = null;\n this.isMirror = isMirror;\n }\n\n /** Mirror the bit matrix in order to attempt a second reading. */\n public mirror(): void {\n const bitMatrix = this.bitMatrix;\n for (let x = 0, width = bitMatrix.getWidth(); x < width; x++) {\n for (let y = x + 1, height = bitMatrix.getHeight(); y < height; y++) {\n if (bitMatrix.get(x, y) !== bitMatrix.get(y, x)) {\n bitMatrix.flip(y, x);\n bitMatrix.flip(x, y);\n }\n }\n }\n }\n\n}\n","import ECB from './ECB';\n\n/**\n *Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.
\n */\nexport default class ECBlocks {\n private ecBlocks: ECB[];\n\n public constructor(private ecCodewordsPerBlock: number /*int*/, ...ecBlocks: ECB[]) {\n this.ecBlocks = ecBlocks;\n }\n\n public getECCodewordsPerBlock(): number /*int*/ {\n return this.ecCodewordsPerBlock;\n }\n\n public getNumBlocks(): number /*int*/ {\n let total = 0;\n const ecBlocks = this.ecBlocks;\n for (const ecBlock of ecBlocks) {\n total += ecBlock.getCount();\n }\n return total;\n }\n\n public getTotalECCodewords(): number /*int*/ {\n return this.ecCodewordsPerBlock * this.getNumBlocks();\n }\n\n public getECBlocks(): ECB[] {\n return this.ecBlocks;\n }\n}\n","/**\n *Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the QR code version's format.
\n */\nexport default class ECB {\n private count: number; /*int*/\n private dataCodewords: number; /*int*/\n\n public constructor(count: number /*int*/, dataCodewords: number /*int*/) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n\n public getCount(): number /*int*/ {\n return this.count;\n }\n\n public getDataCodewords(): number /*int*/ {\n return this.dataCodewords;\n }\n}\n","/*\n * Copyright 2007 ZXing authors\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\n/*namespace com.google.zxing.qrcode.decoder {*/\n\nimport BitMatrix from '../../common/BitMatrix';\n\nexport enum DataMaskValues {\n DATA_MASK_000,\n DATA_MASK_001,\n DATA_MASK_010,\n DATA_MASK_011,\n DATA_MASK_100,\n DATA_MASK_101,\n DATA_MASK_110,\n DATA_MASK_111\n}\n\n/**\n *Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8. Implementations\n * of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix,\n * including areas used for finder patterns, timing patterns, etc. These areas should be unused\n * after the point they are unmasked anyway.
\n *\n *Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position\n * and j is row position. In fact, as the text says, i is row position and j is column position.
\n *\n * @author Sean Owen\n */\nexport default class DataMask {\n\n // See ISO 18004:2006 6.8.1\n\n public constructor(private value: DataMaskValues, private isMasked: (i: number, j: number) => boolean) {\n }\n\n public static values = new MapImplementations of this method reverse the data masking process applied to a QR Code and\n * make its bits ready to read.
\n *\n * @param bits representation of QR Code bits\n * @param dimension dimension of QR Code, represented by bits, being unmasked\n */\n public unmaskBitMatrix(bits: BitMatrix, dimension: number /*int*/): void {\n for (let i = 0; i < dimension; i++) {\n for (let j = 0; j < dimension; j++) {\n if (this.isMasked(i, j)) {\n bits.flip(j, i);\n }\n }\n }\n }\n\n // abstract boolean isMasked(i: number /*int*/, j: number /*int*/);\n\n}\n","/*\n * Copyright 2007 ZXing authors\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\n/*namespace com.google.zxing.qrcode.decoder {*/\n\nimport Version from './Version';\nimport ECBlocks from './ECBlocks';\nimport ECB from './ECB';\nimport ErrorCorrectionLevel from './ErrorCorrectionLevel';\n\nimport IllegalArgumentException from '../../IllegalArgumentException';\n\n/**\n *Encapsulates a block of data within a QR Code. QR Codes may split their data into\n * multiple blocks, each of which is a unit of data and error-correction codewords. Each\n * is represented by an instance of this class.
\n *\n * @author Sean Owen\n */\nexport default class DataBlock {\n\n private constructor(private numDataCodewords: number /*int*/, private codewords: Uint8Array) { }\n\n /**\n *When QR Codes use multiple data blocks, they are actually interleaved.\n * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This\n * method will separate the data into original blocks.
\n *\n * @param rawCodewords bytes as read directly from the QR Code\n * @param version version of the QR Code\n * @param ecLevel error-correction level of the QR Code\n * @return DataBlocks containing original bytes, \"de-interleaved\" from representation in the\n * QR Code\n */\n public static getDataBlocks(rawCodewords: Uint8Array,\n version: Version,\n ecLevel: ErrorCorrectionLevel): DataBlock[] {\n\n if (rawCodewords.length !== version.getTotalCodewords()) {\n throw new IllegalArgumentException();\n }\n\n // Figure out the number and size of data blocks used by this version and\n // error correction level\n const ecBlocks: ECBlocks = version.getECBlocksForLevel(ecLevel);\n\n // First count the total number of data blocks\n let totalBlocks = 0;\n const ecBlockArray: ECB[] = ecBlocks.getECBlocks();\n for (const ecBlock of ecBlockArray) {\n totalBlocks += ecBlock.getCount();\n }\n\n // Now establish DataBlocks of the appropriate size and number of data codewords\n const result = new ArrayQR Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one QR Code. This class decodes the bits back into text.
\n *\n *See ISO 18004:2006, 6.4.3 - 6.4.7
\n *\n * @author Sean Owen\n */\nexport default class DecodedBitStreamParser {\n\n /**\n * See ISO 18004:2006, 6.4.4 Table 5\n */\n private static ALPHANUMERIC_CHARS =\n '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:';\n private static GB2312_SUBSET = 1;\n\n public static decode(bytes: Uint8Array,\n version: Version,\n ecLevel: ErrorCorrectionLevel,\n hints: MapEncapsulates logic that can detect a QR Code in an image, even if the QR Code\n * is rotated or skewed, or partially obscured.
\n *\n * @author Sean Owen\n */\nexport default class Detector {\n\n private resultPointCallback: ResultPointCallback;\n\n public constructor(private image: BitMatrix) { }\n\n protected getImage(): BitMatrix {\n return this.image;\n }\n\n protected getResultPointCallback(): ResultPointCallback {\n return this.resultPointCallback;\n }\n\n /**\n *Detects a QR Code in an image.
\n *\n * @return {@link DetectorResult} encapsulating results of detecting a QR Code\n * @throws NotFoundException if QR Code cannot be found\n * @throws FormatException if a QR Code cannot be decoded\n */\n // public detect(): DetectorResult /*throws NotFoundException, FormatException*/ {\n // return detect(null)\n // }\n\n /**\n *Detects a QR Code in an image.
\n *\n * @param hints optional hints to detector\n * @return {@link DetectorResult} encapsulating results of detecting a QR Code\n * @throws NotFoundException if QR Code cannot be found\n * @throws FormatException if a QR Code cannot be decoded\n */\n public detect(hints: MapComputes the dimension (number of modules on a size) of the QR Code based on the position\n * of the finder patterns and estimated module size.
\n */\n private static computeDimension(topLeft: ResultPoint,\n topRight: ResultPoint,\n bottomLeft: ResultPoint,\n moduleSize: number/*float*/): number /*int*/ /*throws NotFoundException*/ {\n const tltrCentersDimension = MathUtils.round(ResultPoint.distance(topLeft, topRight) / moduleSize);\n const tlblCentersDimension = MathUtils.round(ResultPoint.distance(topLeft, bottomLeft) / moduleSize);\n let dimension = Math.floor((tltrCentersDimension + tlblCentersDimension) / 2) + 7;\n switch (dimension & 0x03) { // mod 4\n case 0:\n dimension++;\n break;\n // 1? do nothing\n case 2:\n dimension--;\n break;\n case 3:\n throw new NotFoundException('Dimensions could be not found.');\n }\n return dimension;\n }\n\n /**\n *Computes an average estimated module size based on estimated derived from the positions\n * of the three finder patterns.
\n *\n * @param topLeft detected top-left finder pattern center\n * @param topRight detected top-right finder pattern center\n * @param bottomLeft detected bottom-left finder pattern center\n * @return estimated module size\n */\n protected calculateModuleSize(topLeft: ResultPoint,\n topRight: ResultPoint,\n bottomLeft: ResultPoint): number/*float*/ {\n // Take the average\n return (this.calculateModuleSizeOneWay(topLeft, topRight) +\n this.calculateModuleSizeOneWay(topLeft, bottomLeft)) / 2.0;\n }\n\n /**\n *Estimates module size based on two finder patterns -- it uses\n * {@link #sizeOfBlackWhiteBlackRunBothWays(int, int, int, int)} to figure the\n * width of each, measuring along the axis between their centers.
\n */\n private calculateModuleSizeOneWay(pattern: ResultPoint, otherPattern: ResultPoint): number/*float*/ {\n const moduleSizeEst1: number /*float*/ = this.sizeOfBlackWhiteBlackRunBothWays(/*(int) */Math.floor(pattern.getX()),\n /*(int) */Math.floor(pattern.getY()),\n /*(int) */Math.floor(otherPattern.getX()),\n /*(int) */Math.floor(otherPattern.getY()));\n const moduleSizeEst2: number /*float*/ = this.sizeOfBlackWhiteBlackRunBothWays(/*(int) */Math.floor(otherPattern.getX()),\n /*(int) */Math.floor(otherPattern.getY()),\n /*(int) */Math.floor(pattern.getX()),\n /*(int) */Math.floor(pattern.getY()));\n if (isNaN(moduleSizeEst1)) {\n return moduleSizeEst2 / 7.0;\n }\n if (isNaN(moduleSizeEst2)) {\n return moduleSizeEst1 / 7.0;\n }\n // Average them, and divide by 7 since we've counted the width of 3 black modules,\n // and 1 white and 1 black module on either side. Ergo, divide sum by 14.\n return (moduleSizeEst1 + moduleSizeEst2) / 14.0;\n }\n\n /**\n * See {@link #sizeOfBlackWhiteBlackRun(int, int, int, int)}; computes the total width of\n * a finder pattern by looking for a black-white-black run from the center in the direction\n * of another point (another finder pattern center), and in the opposite direction too.\n */\n private sizeOfBlackWhiteBlackRunBothWays(fromX: number /*int*/, fromY: number /*int*/, toX: number /*int*/, toY: number /*int*/): number/*float*/ {\n\n let result: number /*float*/ = this.sizeOfBlackWhiteBlackRun(fromX, fromY, toX, toY);\n\n // Now count other way -- don't run off image though of course\n let scale: number /*float*/ = 1.0;\n let otherToX = fromX - (toX - fromX);\n if (otherToX < 0) {\n scale = fromX / /*(float) */(fromX - otherToX);\n otherToX = 0;\n } else if (otherToX >= this.image.getWidth()) {\n scale = (this.image.getWidth() - 1 - fromX) / /*(float) */(otherToX - fromX);\n otherToX = this.image.getWidth() - 1;\n }\n let otherToY = /*(int) */Math.floor(fromY - (toY - fromY) * scale);\n\n scale = 1.0;\n if (otherToY < 0) {\n scale = fromY / /*(float) */(fromY - otherToY);\n otherToY = 0;\n } else if (otherToY >= this.image.getHeight()) {\n scale = (this.image.getHeight() - 1 - fromY) / /*(float) */(otherToY - fromY);\n otherToY = this.image.getHeight() - 1;\n }\n otherToX = /*(int) */Math.floor(fromX + (otherToX - fromX) * scale);\n\n result += this.sizeOfBlackWhiteBlackRun(fromX, fromY, otherToX, otherToY);\n\n // Middle pixel is double-counted this way; subtract 1\n return result - 1.0;\n }\n\n /**\n *This method traces a line from a point in the image, in the direction towards another point.\n * It begins in a black region, and keeps going until it finds white, then black, then white again.\n * It reports the distance from the start to this point.
\n *\n *This is used when figuring out how wide a finder pattern is, when the finder pattern\n * may be skewed or rotated.
\n */\n private sizeOfBlackWhiteBlackRun(fromX: number /*int*/, fromY: number /*int*/, toX: number /*int*/, toY: number /*int*/): number/*float*/ {\n // Mild variant of Bresenham's algorithm\n // see http://en.wikipedia.org/wiki/Bresenham's_line_algorithm\n const steep: boolean = Math.abs(toY - fromY) > Math.abs(toX - fromX);\n if (steep) {\n let temp = fromX;\n fromX = fromY;\n fromY = temp;\n temp = toX;\n toX = toY;\n toY = temp;\n }\n\n const dx = Math.abs(toX - fromX);\n const dy = Math.abs(toY - fromY);\n let error = -dx / 2;\n const xstep = fromX < toX ? 1 : -1;\n const ystep = fromY < toY ? 1 : -1;\n\n // In black pixels, looking for white, first or second time.\n let state = 0;\n // Loop up until x == toX, but not beyond\n const xLimit = toX + xstep;\n for (let x = fromX, y = fromY; x !== xLimit; x += xstep) {\n const realX = steep ? y : x;\n const realY = steep ? x : y;\n\n // Does current pixel mean we have moved white to black or vice versa?\n // Scanning black in state 0,2 and white in state 1, so if we find the wrong\n // color, advance to next state or end if we are in state 2 already\n if ((state === 1) === this.image.get(realX, realY)) {\n if (state === 2) {\n return MathUtils.distance(x, y, fromX, fromY);\n }\n state++;\n }\n\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += ystep;\n error -= dx;\n }\n }\n // Found black-white-black; give the benefit of the doubt that the next pixel outside the image\n // is \"white\" so this last point at (toX+xStep,toY) is the right ending. This is really a\n // small approximation; (toX+xStep,toY+yStep) might be really correct. Ignore this.\n if (state === 2) {\n return MathUtils.distance(toX + xstep, toY, fromX, fromY);\n }\n // else we didn't find even black-white-black; no estimate is really possible\n return NaN;\n }\n\n /**\n *Attempts to locate an alignment pattern in a limited region of the image, which is\n * guessed to contain it. This method uses {@link AlignmentPattern}.
\n *\n * @param overallEstModuleSize estimated module size so far\n * @param estAlignmentX x coordinate of center of area probably containing alignment pattern\n * @param estAlignmentY y coordinate of above\n * @param allowanceFactor number of pixels in all directions to search from the center\n * @return {@link AlignmentPattern} if found, or null otherwise\n * @throws NotFoundException if an unexpected error occurs during detection\n */\n protected findAlignmentInRegion(overallEstModuleSize: number/*float*/,\n estAlignmentX: number /*int*/,\n estAlignmentY: number /*int*/,\n allowanceFactor: number/*float*/): AlignmentPattern {\n // Look for an alignment pattern (3 modules in size) around where it\n // should be\n const allowance = /*(int) */Math.floor(allowanceFactor * overallEstModuleSize);\n const alignmentAreaLeftX = Math.max(0, estAlignmentX - allowance);\n const alignmentAreaRightX = Math.min(this.image.getWidth() - 1, estAlignmentX + allowance);\n if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) {\n throw new NotFoundException('Alignment top exceeds estimated module size.');\n }\n\n const alignmentAreaTopY = Math.max(0, estAlignmentY - allowance);\n const alignmentAreaBottomY = Math.min(this.image.getHeight() - 1, estAlignmentY + allowance);\n if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) {\n throw new NotFoundException('Alignment bottom exceeds estimated module size.');\n }\n\n const alignmentFinder = new AlignmentPatternFinder(\n this.image,\n alignmentAreaLeftX,\n alignmentAreaTopY,\n alignmentAreaRightX - alignmentAreaLeftX,\n alignmentAreaBottomY - alignmentAreaTopY,\n overallEstModuleSize,\n this.resultPointCallback\n );\n\n return alignmentFinder.find();\n }\n\n}\n","/*\n * Copyright 2007 ZXing authors\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\n/*namespace com.google.zxing.qrcode.detector {*/\n\nimport DecodeHintType from '../../DecodeHintType';\nimport ResultPoint from '../../ResultPoint';\nimport ResultPointCallback from '../../ResultPointCallback';\nimport BitMatrix from '../../common/BitMatrix';\nimport FinderPattern from './FinderPattern';\nimport FinderPatternInfo from './FinderPatternInfo';\n\nimport NotFoundException from '../../NotFoundException';\n\nimport { float } from '../../../customTypings';\n\n/*import java.io.Serializable;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collections;*/\n/*import java.util.Comparator;*/\n/*import java.util.List;*/\n/*import java.util.Map;*/\n\n/**\n *This class attempts to find finder patterns in a QR Code. Finder patterns are the square\n * markers at three corners of a QR Code.
\n *\n *This class is thread-safe but not reentrant. Each thread must allocate its own object.\n *\n * @author Sean Owen\n */\nexport default class FinderPatternFinder {\n\n private static CENTER_QUORUM = 2;\n protected static MIN_SKIP = 3; // 1 pixel/module times 3 modules/center\n protected static MAX_MODULES = 57; // support up to version 10 for mobile clients\n\n private possibleCenters: FinderPattern[];\n private hasSkipped: boolean;\n private crossCheckStateCount: Int32Array;\n\n /**\n *
Creates a finder that will search the image for three finder patterns.
\n *\n * @param image image to search\n */\n // public constructor(image: BitMatrix) {\n // this(image, null)\n // }\n\n public constructor(private image: BitMatrix, private resultPointCallback: ResultPointCallback) {\n this.possibleCenters = [];\n this.crossCheckStateCount = new Int32Array(5);\n this.resultPointCallback = resultPointCallback;\n }\n\n protected getImage(): BitMatrix {\n return this.image;\n }\n\n protected getPossibleCenters(): FinderPattern[] {\n return this.possibleCenters;\n }\n\n public find(hints: MapAfter a horizontal scan finds a potential finder pattern, this method\n * \"cross-checks\" by scanning down vertically through the center of the possible\n * finder pattern to see if the same proportion is detected.
\n *\n * @param startI row where a finder pattern was detected\n * @param centerJ center of the section that appears to cross a finder pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @return vertical center of finder pattern, or {@link Float#NaN} if not found\n */\n private crossCheckVertical(startI: number /*int*/, centerJ: number /*int*/, maxCount: number /*int*/,\n originalStateCountTotal: number /*int*/): number/*float*/ {\n const image: BitMatrix = this.image;\n\n const maxI = image.getHeight();\n const stateCount: Int32Array = this.getCrossCheckStateCount();\n\n // Start counting up from center\n let i = startI;\n while (i >= 0 && image.get(centerJ, i)) {\n stateCount[2]++;\n i--;\n }\n if (i < 0) {\n return NaN;\n }\n while (i >= 0 && !image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i--;\n }\n // If already too many modules in this state or ran off the edge:\n if (i < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i >= 0 && image.get(centerJ, i) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n i--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n\n // Now also count down from center\n i = startI + 1;\n while (i < maxI && image.get(centerJ, i)) {\n stateCount[2]++;\n i++;\n }\n if (i === maxI) {\n return NaN;\n }\n while (i < maxI && !image.get(centerJ, i) && stateCount[3] < maxCount) {\n stateCount[3]++;\n i++;\n }\n if (i === maxI || stateCount[3] >= maxCount) {\n return NaN;\n }\n while (i < maxI && image.get(centerJ, i) && stateCount[4] < maxCount) {\n stateCount[4]++;\n i++;\n }\n if (stateCount[4] >= maxCount) {\n return NaN;\n }\n\n // If we found a finder-pattern-like section, but its size is more than 40% different than\n // the original, assume it's a false positive\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) {\n return NaN;\n }\n\n return FinderPatternFinder.foundPatternCross(stateCount) ? FinderPatternFinder.centerFromEnd(stateCount, i) : NaN;\n }\n\n /**\n *Like {@link #crossCheckVertical(int, int, int, int)}, and in fact is basically identical,\n * except it reads horizontally instead of vertically. This is used to cross-cross\n * check a vertical cross check and locate the real center of the alignment pattern.
\n */\n private crossCheckHorizontal(startJ: number /*int*/, centerI: number /*int*/, maxCount: number /*int*/,\n originalStateCountTotal: number /*int*/): number/*float*/ {\n const image: BitMatrix = this.image;\n\n const maxJ = image.getWidth();\n const stateCount: Int32Array = this.getCrossCheckStateCount();\n\n let j = startJ;\n while (j >= 0 && image.get(j, centerI)) {\n stateCount[2]++;\n j--;\n }\n if (j < 0) {\n return NaN;\n }\n while (j >= 0 && !image.get(j, centerI) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n j--;\n }\n if (j < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (j >= 0 && image.get(j, centerI) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n j--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n\n j = startJ + 1;\n while (j < maxJ && image.get(j, centerI)) {\n stateCount[2]++;\n j++;\n }\n if (j === maxJ) {\n return NaN;\n }\n while (j < maxJ && !image.get(j, centerI) && stateCount[3] < maxCount) {\n stateCount[3]++;\n j++;\n }\n if (j === maxJ || stateCount[3] >= maxCount) {\n return NaN;\n }\n while (j < maxJ && image.get(j, centerI) && stateCount[4] < maxCount) {\n stateCount[4]++;\n j++;\n }\n if (stateCount[4] >= maxCount) {\n return NaN;\n }\n\n // If we found a finder-pattern-like section, but its size is significantly different than\n // the original, assume it's a false positive\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) {\n return NaN;\n }\n\n return FinderPatternFinder.foundPatternCross(stateCount) ? FinderPatternFinder.centerFromEnd(stateCount, j) : NaN;\n }\n\n /**\n *This is called when a horizontal scan finds a possible alignment pattern. It will\n * cross check with a vertical scan, and if successful, will, ah, cross-cross-check\n * with another horizontal scan. This is needed primarily to locate the real horizontal\n * center of the pattern in cases of extreme skew.\n * And then we cross-cross-cross check with another diagonal scan.
\n *\n *If that succeeds the finder pattern location is added to a list that tracks\n * the number of times each location has been nearly-matched as a finder pattern.\n * Each additional find is more evidence that the location is in fact a finder\n * pattern center\n *\n * @param stateCount reading state module counts from horizontal scan\n * @param i row where finder pattern may be found\n * @param j end of possible finder pattern in row\n * @param pureBarcode true if in \"pure barcode\" mode\n * @return true if a finder pattern candidate was found this time\n */\n protected handlePossibleCenter(stateCount: Int32Array, i: number /*int*/, j: number /*int*/, pureBarcode: boolean): boolean {\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n let centerJ: number /*float*/ = FinderPatternFinder.centerFromEnd(stateCount, j);\n let centerI: number /*float*/ = this.crossCheckVertical(i, /*(int) */Math.floor(centerJ), stateCount[2], stateCountTotal);\n if (!isNaN(centerI)) {\n // Re-cross check\n centerJ = this.crossCheckHorizontal(/*(int) */Math.floor(centerJ), /*(int) */Math.floor(centerI), stateCount[2], stateCountTotal);\n if (!isNaN(centerJ) &&\n (!pureBarcode || this.crossCheckDiagonal(/*(int) */Math.floor(centerI), /*(int) */Math.floor(centerJ), stateCount[2], stateCountTotal))) {\n const estimatedModuleSize: number /*float*/ = stateCountTotal / 7.0;\n let found: boolean = false;\n const possibleCenters = this.possibleCenters;\n for (let index = 0, length = possibleCenters.length; index < length; index++) {\n const center: FinderPattern = possibleCenters[index];\n // Look for about the same center and module size:\n if (center.aboutEquals(estimatedModuleSize, centerI, centerJ)) {\n possibleCenters[index] = center.combineEstimate(centerI, centerJ, estimatedModuleSize);\n found = true;\n break;\n }\n }\n if (!found) {\n const point: FinderPattern = new FinderPattern(centerJ, centerI, estimatedModuleSize);\n possibleCenters.push(point);\n if (this.resultPointCallback !== null && this.resultPointCallback !== undefined) {\n this.resultPointCallback.foundPossibleResultPoint(point);\n }\n }\n return true;\n }\n }\n return false;\n }\n\n /**\n * @return number of rows we could safely skip during scanning, based on the first\n * two finder patterns that have been located. In some cases their position will\n * allow us to infer that the third pattern must lie below a certain point farther\n * down in the image.\n */\n private findRowSkip(): number /*int*/ {\n const max = this.possibleCenters.length;\n if (max <= 1) {\n return 0;\n }\n let firstConfirmedCenter: ResultPoint = null;\n for (const center of this.possibleCenters) {\n if (center.getCount() >= FinderPatternFinder.CENTER_QUORUM) {\n if (firstConfirmedCenter == null) {\n firstConfirmedCenter = center;\n } else {\n // We have two confirmed centers\n // How far down can we skip before resuming looking for the next\n // pattern? In the worst case, only the difference between the\n // difference in the x / y coordinates of the two centers.\n // This is the case where you find top left last.\n this.hasSkipped = true;\n return /*(int) */Math.floor((Math.abs(firstConfirmedCenter.getX() - center.getX()) -\n Math.abs(firstConfirmedCenter.getY() - center.getY())) / 2);\n }\n }\n }\n return 0;\n }\n\n /**\n * @return true iff we have found at least 3 finder patterns that have been detected\n * at least {@link #CENTER_QUORUM} times each, and, the estimated module size of the\n * candidates is \"pretty similar\"\n */\n private haveMultiplyConfirmedCenters(): boolean {\n let confirmedCount = 0;\n let totalModuleSize: number /*float*/ = 0.0;\n const max = this.possibleCenters.length;\n for (const pattern of this.possibleCenters) {\n if (pattern.getCount() >= FinderPatternFinder.CENTER_QUORUM) {\n confirmedCount++;\n totalModuleSize += pattern.getEstimatedModuleSize();\n }\n }\n if (confirmedCount < 3) {\n return false;\n }\n // OK, we have at least 3 confirmed centers, but, it's possible that one is a \"false positive\"\n // and that we need to keep looking. We detect this by asking if the estimated module sizes\n // vary too much. We arbitrarily say that when the total deviation from average exceeds\n // 5% of the total module size estimates, it's too much.\n const average: number /*float*/ = totalModuleSize / max;\n let totalDeviation: number /*float*/ = 0.0;\n for (const pattern of this.possibleCenters) {\n totalDeviation += Math.abs(pattern.getEstimatedModuleSize() - average);\n }\n return totalDeviation <= 0.05 * totalModuleSize;\n }\n\n /**\n * @return the 3 best {@link FinderPattern}s from our list of candidates. The \"best\" are\n * those that have been detected at least {@link #CENTER_QUORUM} times, and whose module\n * size differs from the average among those patterns the least\n * @throws NotFoundException if 3 such finder patterns do not exist\n */\n private selectBestPatterns(): FinderPattern[] /*throws NotFoundException */ {\n\n const startSize = this.possibleCenters.length;\n if (startSize < 3) {\n // Couldn't find enough finder patterns\n throw new NotFoundException();\n }\n\n const possibleCenters = this.possibleCenters;\n\n let average: float;\n // Filter outlier possibilities whose module size is too different\n if (startSize > 3) {\n // But we can only afford to do so if we have at least 4 possibilities to choose from\n let totalModuleSize: float = 0.0;\n let square: float = 0.0;\n for (const center of this.possibleCenters) {\n const size: float = center.getEstimatedModuleSize();\n totalModuleSize += size;\n square += size * size;\n }\n average = totalModuleSize / startSize;\n let stdDev: float = Orders by furthest from average Orders by {@link FinderPattern#getCount()}, descending. Encapsulates a finder pattern, which are the three square patterns found in\n * the corners of QR Codes. It also encapsulates a count of similar finder patterns,\n * as a convenience to the finder's bookkeeping. Determines if this finder pattern \"about equals\" a finder pattern at the stated\n * position and size -- meaning, it is at nearly the same center with nearly the same size. Encapsulates information about finder patterns in an image, including the location of\n * the three finder patterns, and their estimated module size. This class attempts to find alignment patterns in a QR Code. Alignment patterns look like finder\n * patterns but are smaller and appear at regular intervals throughout the image. At the moment this only looks for the bottom-right alignment pattern. This is mostly a simplified copy of {@link FinderPatternFinder}. It is copied,\n * pasted and stripped down here for maximum performance but does unfortunately duplicate\n * some code. This class is thread-safe but not reentrant. Each thread must allocate its own object. Creates a finder that will look in a portion of the whole image. This method attempts to find the bottom-right alignment pattern in the image. It is a bit messy since\n * it's pretty performance-critical and so is written to be fast foremost. After a horizontal scan finds a potential alignment pattern, this method\n * \"cross-checks\" by scanning down vertically through the center of the possible\n * alignment pattern to see if the same proportion is detected. This is called when a horizontal scan finds a possible alignment pattern. It will\n * cross check with a vertical scan, and if successful, will see if this pattern had been\n * found on a previous horizontal scan. If so, we consider it confirmed and conclude we have\n * found the alignment pattern. Encapsulates an alignment pattern, which are the smaller square patterns found in\n * all but the simplest QR Codes. Determines if this alignment pattern \"about equals\" an alignment pattern at the stated\n * position and size -- meaning, it is at nearly the same center with nearly the same size. Encapsulates logic that can detect a PDF417 Code in an image, even if the\n * PDF417 Code is rotated or skewed, or partially obscured. Detects a PDF417 Code in an image. Only checks 0 and 180 degree rotations. Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place.