@qr-platform/qr-code.js 0.8.21 → 0.8.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/docs/documentation.md +5 -4
  2. package/lib/chunks/zbar-scan-validator-B3GQk_mt.js +1 -0
  3. package/lib/chunks/zxing-scan-validator-CYcyNnMt.js +1 -0
  4. package/lib/core/qr-templates.d.ts +1 -0
  5. package/lib/index.d.ts +18 -4
  6. package/lib/index.js +1 -0
  7. package/lib/lib/zxing-js/src/browser/BrowserCodeReader.d.ts +3 -263
  8. package/lib/lib/zxing-js/src/core/NodeLuminanceSource.d.ts +10 -13
  9. package/lib/node.d.ts +18 -3
  10. package/lib/node.js +1 -0
  11. package/lib/utils/scan-validator-zxing-node.d.ts +18 -0
  12. package/package.json +8 -8
  13. package/lib/builder/index.d.ts +0 -13
  14. package/lib/builder/node.d.ts +0 -13
  15. package/lib/builder/qr-code-builder.d.ts +0 -25
  16. package/lib/lib/zxing-js/src/browser/BrowserQRCodeSvgWriter.d.ts +0 -46
  17. package/lib/lib/zxing-js/src/browser/BrowserSvgCodeWriter.d.ts +0 -49
  18. package/lib/lib/zxing-js/src/browser/DecodeContinuouslyCallback.d.ts +0 -6
  19. package/lib/lib/zxing-js/src/browser/VideoInputDevice.d.ts +0 -22
  20. package/lib/lib/zxing-js/src/core/Dimension.d.ts +0 -13
  21. package/lib/lib/zxing-js/src/core/EncodeHintType.d.ts +0 -99
  22. package/lib/lib/zxing-js/src/core/PlanarYUVLuminanceSource.d.ts +0 -35
  23. package/lib/lib/zxing-js/src/core/RGBLuminanceSource.d.ts +0 -21
  24. package/lib/lib/zxing-js/src/core/Writer.d.ts +0 -30
  25. package/lib/lib/zxing-js/src/core/WriterException.d.ts +0 -7
  26. package/lib/lib/zxing-js/src/core/common/ECIEncoderSet.d.ts +0 -37
  27. package/lib/lib/zxing-js/src/core/common/ECIInput.d.ts +0 -79
  28. package/lib/lib/zxing-js/src/core/common/MinimalECIInput.d.ts +0 -123
  29. package/lib/lib/zxing-js/src/core/common/detector/CornerDetector.d.ts +0 -35
  30. package/lib/lib/zxing-js/src/core/common/detector/WhiteRectangleDetector.d.ts +0 -71
  31. package/lib/lib/zxing-js/src/core/common/reedsolomon/AbstractGenericGFPoly.d.ts +0 -36
  32. package/lib/lib/zxing-js/src/core/common/reedsolomon/ReedSolomonEncoder.d.ts +0 -41
  33. package/lib/lib/zxing-js/src/core/qrcode/QRCodeWriter.d.ts +0 -13
  34. package/lib/lib/zxing-js/src/core/qrcode/encoder/BlockPair.d.ts +0 -7
  35. package/lib/lib/zxing-js/src/core/qrcode/encoder/ByteMatrix.d.ts +0 -24
  36. package/lib/lib/zxing-js/src/core/qrcode/encoder/Encoder.d.ts +0 -85
  37. package/lib/lib/zxing-js/src/core/qrcode/encoder/MaskUtil.d.ts +0 -47
  38. package/lib/lib/zxing-js/src/core/qrcode/encoder/MatrixUtil.d.ts +0 -37
  39. package/lib/lib/zxing-js/src/core/qrcode/encoder/QRCode.d.ts +0 -29
  40. package/lib/lib/zxing-js/src/core/util/ByteArrayOutputStream.d.ts +0 -174
  41. package/lib/lib/zxing-js/src/core/util/Collections.d.ts +0 -11
  42. package/lib/lib/zxing-js/src/core/util/Formatter.d.ts +0 -28
  43. package/lib/lib/zxing-js/src/core/util/Long.d.ts +0 -12
  44. package/lib/lib/zxing-js/src/core/util/OutputStream.d.ts +0 -106
  45. package/lib/lib/zxing-js/src/core/util/StandardCharsets.d.ts +0 -7
  46. package/lib/qr-code-js-node.js +0 -1
  47. package/lib/qr-code-js.js +0 -1
@@ -0,0 +1 @@
1
+ import{A as t}from"./zbar-scan-validator-B3GQk_mt.js";var e,r,n=(e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},e(t,r)},function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}),s=function(t){function e(e,r){var n,s,i,o=this.constructor,a=t.call(this,e,r)||this;return Object.defineProperty(a,"name",{value:o.name,enumerable:!1,configurable:!0}),n=a,s=o.prototype,(i=Object.setPrototypeOf)?i(n,s):n.__proto__=s,function(t,e){void 0===e&&(e=t.constructor);var r=Error.captureStackTrace;r&&r(t,e)}(a),a}return n(e,t),e}(Error);class i extends s{constructor(t=void 0){super(t),this.message=t}getKind(){return this.constructor.kind}}i.kind="Exception";class o extends i{static getNotFoundInstance(){return new o}}o.kind="NotFoundException",function(t){t[t.AZTEC=0]="AZTEC",t[t.CODABAR=1]="CODABAR",t[t.CODE_39=2]="CODE_39",t[t.CODE_93=3]="CODE_93",t[t.CODE_128=4]="CODE_128",t[t.DATA_MATRIX=5]="DATA_MATRIX",t[t.EAN_8=6]="EAN_8",t[t.EAN_13=7]="EAN_13",t[t.ITF=8]="ITF",t[t.MAXICODE=9]="MAXICODE",t[t.PDF_417=10]="PDF_417",t[t.QR_CODE=11]="QR_CODE",t[t.RSS_14=12]="RSS_14",t[t.RSS_EXPANDED=13]="RSS_EXPANDED",t[t.UPC_A=14]="UPC_A",t[t.UPC_E=15]="UPC_E",t[t.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"}(r||(r={}));var a,h=r;class l extends i{}l.kind="IllegalArgumentException";class c extends i{}c.kind="IndexOutOfBoundsException";class u extends c{constructor(t,e){super(e),this.index=t,this.message=e}}u.kind="ArrayIndexOutOfBoundsException";class w{static arraycopy(t,e,r,n,s){if(t===r&&e<n)for(n+=s-1,e+=s-1;s--;)r[n--]=t[e--];else for(;s--;)r[n++]=t[e++]}static currentTimeMillis(){return Date.now()}}class d{static fill(t,e){for(let r=0,n=t.length;r<n;r++)t[r]=e}static fillWithin(t,e,r,n){d.rangeCheck(t.length,e,r);for(let s=e;s<r;s++)t[s]=n}static rangeCheck(t,e,r){if(e>r)throw new l("fromIndex("+e+") > toIndex("+r+")");if(e<0)throw new u(e);if(r>t)throw new u(r)}static asList(...t){return t}static create(t,e,r){return Array.from({length:t}).map((t=>Array.from({length:e}).fill(r)))}static createInt32Array(t,e,r){return Array.from({length:t}).map((t=>Int32Array.from({length:e}).fill(r)))}static equals(t,e){if(!t)return!1;if(!e)return!1;if(!t.length)return!1;if(!e.length)return!1;if(t.length!==e.length)return!1;for(let r=0,n=t.length;r<n;r++)if(t[r]!==e[r])return!1;return!0}static hashCode(t){if(null===t)return 0;let e=1;for(const r of t)e=31*e+r;return e}static fillUint8Array(t,e){for(let r=0;r!==t.length;r++)t[r]=e}static copyOf(t,e){return t.slice(0,e)}static copyOfUint8Array(t,e){if(t.length<=e){const r=new Uint8Array(e);return r.set(t),r}return t.slice(0,e)}static copyOfRange(t,e,r){const n=r-e,s=new Int32Array(n);return w.arraycopy(t,e,s,0,n),s}static binarySearch(t,e,r){void 0===r&&(r=d.numberComparator);let n=0,s=t.length-1;for(;n<=s;){const i=s+n>>1,o=r(e,t[i]);if(o>0)n=i+1;else{if(!(o<0))return i;s=i-1}}return-n-1}static numberComparator(t,e){return t-e}}!function(t){t[t.OTHER=0]="OTHER",t[t.PURE_BARCODE=1]="PURE_BARCODE",t[t.POSSIBLE_FORMATS=2]="POSSIBLE_FORMATS",t[t.TRY_HARDER=3]="TRY_HARDER",t[t.CHARACTER_SET=4]="CHARACTER_SET",t[t.ALLOWED_LENGTHS=5]="ALLOWED_LENGTHS",t[t.ASSUME_CODE_39_CHECK_DIGIT=6]="ASSUME_CODE_39_CHECK_DIGIT",t[t.ENABLE_CODE_39_EXTENDED_MODE=7]="ENABLE_CODE_39_EXTENDED_MODE",t[t.ASSUME_GS1=8]="ASSUME_GS1",t[t.RETURN_CODABAR_START_END=9]="RETURN_CODABAR_START_END",t[t.NEED_RESULT_POINT_CALLBACK=10]="NEED_RESULT_POINT_CALLBACK",t[t.ALLOWED_EAN_EXTENSIONS=11]="ALLOWED_EAN_EXTENSIONS"}(a||(a={}));var f,g,m=a;class I extends i{static getFormatInstance(){return new I}}I.kind="FormatException",function(t){t[t.Cp437=0]="Cp437",t[t.ISO8859_1=1]="ISO8859_1",t[t.ISO8859_2=2]="ISO8859_2",t[t.ISO8859_3=3]="ISO8859_3",t[t.ISO8859_4=4]="ISO8859_4",t[t.ISO8859_5=5]="ISO8859_5",t[t.ISO8859_6=6]="ISO8859_6",t[t.ISO8859_7=7]="ISO8859_7",t[t.ISO8859_8=8]="ISO8859_8",t[t.ISO8859_9=9]="ISO8859_9",t[t.ISO8859_10=10]="ISO8859_10",t[t.ISO8859_11=11]="ISO8859_11",t[t.ISO8859_13=12]="ISO8859_13",t[t.ISO8859_14=13]="ISO8859_14",t[t.ISO8859_15=14]="ISO8859_15",t[t.ISO8859_16=15]="ISO8859_16",t[t.SJIS=16]="SJIS",t[t.Cp1250=17]="Cp1250",t[t.Cp1251=18]="Cp1251",t[t.Cp1252=19]="Cp1252",t[t.Cp1256=20]="Cp1256",t[t.UnicodeBigUnmarked=21]="UnicodeBigUnmarked",t[t.UTF8=22]="UTF8",t[t.ASCII=23]="ASCII",t[t.Big5=24]="Big5",t[t.GB18030=25]="GB18030",t[t.EUC_KR=26]="EUC_KR"}(f||(f={}));class S{constructor(t,e,r,...n){this.valueIdentifier=t,this.name=r,this.values="number"==typeof e?Int32Array.from([e]):e,this.otherEncodingNames=n,S.VALUE_IDENTIFIER_TO_ECI.set(t,this),S.NAME_TO_ECI.set(r,this);const s=this.values;for(let t=0,e=s.length;t!==e;t++){const e=s[t];S.VALUES_TO_ECI.set(e,this)}for(const t of n)S.NAME_TO_ECI.set(t,this)}getValueIdentifier(){return this.valueIdentifier}getName(){return this.name}getValue(){return this.values[0]}static getCharacterSetECIByValue(t){if(t<0||t>=900)throw new I("incorect value");const e=S.VALUES_TO_ECI.get(t);if(void 0===e)throw new I("incorect value");return e}static getCharacterSetECIByName(t){const e=S.NAME_TO_ECI.get(t);if(void 0===e)throw new I("incorect value");return e}equals(t){if(!(t instanceof S))return!1;const e=t;return this.getName()===e.getName()}}S.VALUE_IDENTIFIER_TO_ECI=new Map,S.VALUES_TO_ECI=new Map,S.NAME_TO_ECI=new Map,S.Cp437=new S(f.Cp437,Int32Array.from([0,2]),"Cp437"),S.ISO8859_1=new S(f.ISO8859_1,Int32Array.from([1,3]),"ISO-8859-1","ISO88591","ISO8859_1"),S.ISO8859_2=new S(f.ISO8859_2,4,"ISO-8859-2","ISO88592","ISO8859_2"),S.ISO8859_3=new S(f.ISO8859_3,5,"ISO-8859-3","ISO88593","ISO8859_3"),S.ISO8859_4=new S(f.ISO8859_4,6,"ISO-8859-4","ISO88594","ISO8859_4"),S.ISO8859_5=new S(f.ISO8859_5,7,"ISO-8859-5","ISO88595","ISO8859_5"),S.ISO8859_6=new S(f.ISO8859_6,8,"ISO-8859-6","ISO88596","ISO8859_6"),S.ISO8859_7=new S(f.ISO8859_7,9,"ISO-8859-7","ISO88597","ISO8859_7"),S.ISO8859_8=new S(f.ISO8859_8,10,"ISO-8859-8","ISO88598","ISO8859_8"),S.ISO8859_9=new S(f.ISO8859_9,11,"ISO-8859-9","ISO88599","ISO8859_9"),S.ISO8859_10=new S(f.ISO8859_10,12,"ISO-8859-10","ISO885910","ISO8859_10"),S.ISO8859_11=new S(f.ISO8859_11,13,"ISO-8859-11","ISO885911","ISO8859_11"),S.ISO8859_13=new S(f.ISO8859_13,15,"ISO-8859-13","ISO885913","ISO8859_13"),S.ISO8859_14=new S(f.ISO8859_14,16,"ISO-8859-14","ISO885914","ISO8859_14"),S.ISO8859_15=new S(f.ISO8859_15,17,"ISO-8859-15","ISO885915","ISO8859_15"),S.ISO8859_16=new S(f.ISO8859_16,18,"ISO-8859-16","ISO885916","ISO8859_16"),S.SJIS=new S(f.SJIS,20,"SJIS","Shift_JIS"),S.Cp1250=new S(f.Cp1250,21,"Cp1250","windows-1250"),S.Cp1251=new S(f.Cp1251,22,"Cp1251","windows-1251"),S.Cp1252=new S(f.Cp1252,23,"Cp1252","windows-1252"),S.Cp1256=new S(f.Cp1256,24,"Cp1256","windows-1256"),S.UnicodeBigUnmarked=new S(f.UnicodeBigUnmarked,25,"UnicodeBigUnmarked","UTF-16BE","UnicodeBig"),S.UTF8=new S(f.UTF8,26,"UTF8","UTF-8"),S.ASCII=new S(f.ASCII,Int32Array.from([27,170]),"ASCII","US-ASCII"),S.Big5=new S(f.Big5,28,"Big5"),S.GB18030=new S(f.GB18030,29,"GB18030","GB2312","EUC_CN","GBK"),S.EUC_KR=new S(f.EUC_KR,30,"EUC_KR","EUC-KR");class A extends i{}A.kind="UnsupportedOperationException";class C{static decode(t,e){const r=this.encodingName(e);return this.customDecoder?this.customDecoder(t,r):"undefined"==typeof TextDecoder||this.shouldDecodeOnFallback(r)?this.decodeFallback(t,r):new TextDecoder(r).decode(t)}static shouldDecodeOnFallback(t){return!C.isBrowser()&&"ISO-8859-1"===t}static encode(t,e){const r=this.encodingName(e);return this.customEncoder?this.customEncoder(t,r):"undefined"==typeof TextEncoder?this.encodeFallback(t):(new TextEncoder).encode(t)}static isBrowser(){return"undefined"!=typeof window&&"[object Window]"==={}.toString.call(window)}static encodingName(t){return"string"==typeof t?t:t.getName()}static encodingCharacterSet(t){return t instanceof S?t:S.getCharacterSetECIByName(t)}static decodeFallback(t,e){const r=this.encodingCharacterSet(e);if(C.isDecodeFallbackSupported(r)){let e="";for(let r=0,n=t.length;r<n;r++){let n=t[r].toString(16);n.length<2&&(n="0"+n),e+="%"+n}return decodeURIComponent(e)}if(r.equals(S.UnicodeBigUnmarked))return String.fromCharCode.apply(null,new Uint16Array(t.buffer));throw new A(`Encoding ${this.encodingName(e)} not supported by fallback.`)}static isDecodeFallbackSupported(t){return t.equals(S.UTF8)||t.equals(S.ISO8859_1)||t.equals(S.ASCII)}static encodeFallback(t){const e=btoa(unescape(encodeURIComponent(t))).split(""),r=[];for(let t=0;t<e.length;t++)r.push(e[t].charCodeAt(0));return new Uint8Array(r)}}class E{static castAsNonUtf8Char(t,e=null){const r=e?e.getName():this.ISO88591;return C.decode(new Uint8Array([t]),r)}static guessEncoding(t,e){if(null!=e&&void 0!==e.get(m.CHARACTER_SET))return e.get(m.CHARACTER_SET).toString();const r=t.length;let n=!0,s=!0,i=!0,o=0,a=0,h=0,l=0,c=0,u=0,w=0,d=0,f=0,g=0,I=0;const S=t.length>3&&239===t[0]&&187===t[1]&&191===t[2];for(let e=0;e<r&&(n||s||i);e++){const r=255&t[e];i&&(o>0?128&r?o--:i=!1:128&r&&(64&r?(o++,32&r?(o++,16&r?(o++,8&r?i=!1:l++):h++):a++):i=!1)),n&&(r>127&&r<160?n=!1:r>159&&(r<192||215===r||247===r)&&I++),s&&(c>0?r<64||127===r||r>252?s=!1:c--:128===r||160===r||r>239?s=!1:r>160&&r<224?(u++,d=0,w++,w>f&&(f=w)):r>127?(c++,w=0,d++,d>g&&(g=d)):(w=0,d=0))}return i&&o>0&&(i=!1),s&&c>0&&(s=!1),i&&(S||a+h+l>0)?E.UTF8:s&&(E.ASSUME_SHIFT_JIS||f>=3||g>=3)?E.SHIFT_JIS:n&&s?2===f&&2===u||10*I>=r?E.SHIFT_JIS:E.ISO88591:n?E.ISO88591:s?E.SHIFT_JIS:i?E.UTF8:E.PLATFORM_DEFAULT_ENCODING}static format(t,...e){let r=-1;return t.replace(/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g,(function(t,n,s,i,o,a){if("%%"===t)return"%";if(void 0===e[++r])return;t=i?parseInt(i.substr(1)):void 0;let h,l=o?parseInt(o.substr(1)):void 0;switch(a){case"s":h=e[r];break;case"c":h=e[r][0];break;case"f":h=parseFloat(e[r]).toFixed(t);break;case"p":h=parseFloat(e[r]).toPrecision(t);break;case"e":h=parseFloat(e[r]).toExponential(t);break;case"x":h=parseInt(e[r]).toString(l||16);break;case"d":h=parseFloat(parseInt(e[r],l||10).toPrecision(t)).toFixed(0)}h="object"==typeof h?JSON.stringify(h):(+h).toString(l);let c=parseInt(s),u=s&&s[0]+""=="0"?"0":" ";for(;h.length<c;)h=void 0!==n?h+u:u+h;return h}))}static getBytes(t,e){return C.encode(t,e)}static getCharCode(t,e=0){return t.charCodeAt(e)}static getCharAt(t){return String.fromCharCode(t)}}E.SHIFT_JIS=S.SJIS.getName(),E.GB2312="GB2312",E.ISO88591=S.ISO8859_1.getName(),E.EUC_JP="EUC_JP",E.UTF8=S.UTF8.getName(),E.PLATFORM_DEFAULT_ENCODING=E.UTF8,E.ASSUME_SHIFT_JIS=!1;class _{constructor(t=""){this.value=t}enableDecoding(t){return this.encoding=t,this}append(t){return"string"==typeof t?this.value+=t.toString():this.encoding?this.value+=E.castAsNonUtf8Char(t,this.encoding):this.value+=String.fromCharCode(t),this}appendChars(t,e,r){for(let n=e;e<e+r;n++)this.append(t[n]);return this}length(){return this.value.length}charAt(t){return this.value.charAt(t)}deleteCharAt(t){this.value=this.value.substr(0,t)+this.value.substring(t+1)}setCharAt(t,e){this.value=this.value.substr(0,t)+e+this.value.substr(t+1)}substring(t,e){return this.value.substring(t,e)}setLengthToZero(){this.value=""}toString(){return this.value}insert(t,e){this.value=this.value.substring(0,t)+e+this.value.substring(t)}}class p{static numberOfTrailingZeros(t){let e;if(0===t)return 32;let r=31;return e=t<<16,0!==e&&(r-=16,t=e),e=t<<8,0!==e&&(r-=8,t=e),e=t<<4,0!==e&&(r-=4,t=e),e=t<<2,0!==e&&(r-=2,t=e),r-(t<<1>>>31)}static numberOfLeadingZeros(t){if(0===t)return 32;let e=1;return t>>>16==0&&(e+=16,t<<=16),t>>>24==0&&(e+=8,t<<=8),t>>>28==0&&(e+=4,t<<=4),t>>>30==0&&(e+=2,t<<=2),e-=t>>>31,e}static toHexString(t){return t.toString(16)}static toBinaryString(t){return String(parseInt(String(t),2))}static bitCount(t){return t=(t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135,t+=t>>>8,63&(t+=t>>>16)}static truncDivision(t,e){return Math.trunc(t/e)}static parseInt(t,e=void 0){return parseInt(t,e)}}p.MIN_VALUE_32_BITS=-2147483648,p.MAX_VALUE=Number.MAX_SAFE_INTEGER;class M{constructor(t,e){void 0===t?(this.size=0,this.bits=new Int32Array(1)):(this.size=t,this.bits=null==e?M.makeArray(t):e)}getSize(){return this.size}getSizeInBytes(){return Math.floor((this.size+7)/8)}ensureCapacity(t){if(t>32*this.bits.length){const e=M.makeArray(t);w.arraycopy(this.bits,0,e,0,this.bits.length),this.bits=e}}get(t){return!!(this.bits[Math.floor(t/32)]&1<<(31&t))}set(t){this.bits[Math.floor(t/32)]|=1<<(31&t)}flip(t){this.bits[Math.floor(t/32)]^=1<<(31&t)}getNextSet(t){const e=this.size;if(t>=e)return e;const r=this.bits;let n=Math.floor(t/32),s=r[n];s&=~((1<<(31&t))-1);const i=r.length;for(;0===s;){if(++n===i)return e;s=r[n]}const o=32*n+p.numberOfTrailingZeros(s);return o>e?e:o}getNextUnset(t){const e=this.size;if(t>=e)return e;const r=this.bits;let n=Math.floor(t/32),s=~r[n];s&=~((1<<(31&t))-1);const i=r.length;for(;0===s;){if(++n===i)return e;s=~r[n]}const o=32*n+p.numberOfTrailingZeros(s);return o>e?e:o}setBulk(t,e){this.bits[Math.floor(t/32)]=e}setRange(t,e){if(e<t||t<0||e>this.size)throw new l;if(e===t)return;e--;const r=Math.floor(t/32),n=Math.floor(e/32),s=this.bits;for(let i=r;i<=n;i++){const o=(2<<(i<n?31:31&e))-(1<<(i>r?0:31&t));s[i]|=o}}clear(){const t=this.bits.length,e=this.bits;for(let r=0;r<t;r++)e[r]=0}isRange(t,e,r){if(e<t||t<0||e>this.size)throw new l;if(e===t)return!0;e--;const n=Math.floor(t/32),s=Math.floor(e/32),i=this.bits;for(let o=n;o<=s;o++){const a=(2<<(o<s?31:31&e))-(1<<(o>n?0:31&t))&4294967295;if((i[o]&a)!==(r?a:0))return!1}return!0}appendBit(t){this.ensureCapacity(this.size+1),t&&(this.bits[Math.floor(this.size/32)]|=1<<(31&this.size)),this.size++}appendBits(t,e){if(e<0||e>32)throw new l("Num bits must be between 0 and 32");this.ensureCapacity(this.size+e);for(let r=e;r>0;r--)this.appendBit(1==(t>>r-1&1))}appendBitArray(t){const e=t.size;this.ensureCapacity(this.size+e);for(let r=0;r<e;r++)this.appendBit(t.get(r))}xor(t){if(this.size!==t.size)throw new l("Sizes don't match");const e=this.bits;for(let r=0,n=e.length;r<n;r++)e[r]^=t.bits[r]}toBytes(t,e,r,n){for(let s=0;s<n;s++){let n=0;for(let e=0;e<8;e++)this.get(t)&&(n|=1<<7-e),t++;e[r+s]=n}}getBitArray(){return this.bits}reverse(){const t=new Int32Array(this.bits.length),e=Math.floor((this.size-1)/32),r=e+1,n=this.bits;for(let s=0;s<r;s++){let r=n[s];r=r>>1&1431655765|(1431655765&r)<<1,r=r>>2&858993459|(858993459&r)<<2,r=r>>4&252645135|(252645135&r)<<4,r=r>>8&16711935|(16711935&r)<<8,r=r>>16&65535|(65535&r)<<16,t[e-s]=r}if(this.size!==32*r){const e=32*r-this.size;let n=t[0]>>>e;for(let s=1;s<r;s++){const r=t[s];n|=r<<32-e,t[s-1]=n,n=r>>>e}t[r-1]=n}this.bits=t}static makeArray(t){return new Int32Array(Math.floor((t+31)/32))}equals(t){if(!(t instanceof M))return!1;const e=t;return this.size===e.size&&d.equals(this.bits,e.bits)}hashCode(){return 31*this.size+d.hashCode(this.bits)}toString(){let t="";for(let e=0,r=this.size;e<r;e++)7&e||(t+=" "),t+=this.get(e)?"X":".";return t}clone(){return new M(this.size,this.bits.slice())}toArray(){let t=[];for(let e=0,r=this.size;e<r;e++)t.push(this.get(e));return t}}class O{constructor(t,e,r,n){if(this.width=t,this.height=e,this.rowSize=r,this.bits=n,null==e&&(e=t),this.height=e,t<1||e<1)throw new l("Both dimensions must be greater than 0");null==r&&(r=(t+31)/32|0),this.rowSize=r,null==n&&(this.bits=new Int32Array(this.rowSize*this.height))}static parseFromBooleanArray(t){const e=t.length,r=t[0].length,n=new O(r,e);for(let s=0;s<e;s++){const e=t[s];for(let t=0;t<r;t++)e[t]&&n.set(t,s)}return n}static parseFromString(t,e,r){if(null===t)throw new l("stringRepresentation cannot be null");const n=new Array(t.length);let s=0,i=0,o=-1,a=0,h=0;for(;h<t.length;){const c=t.charAt(h);if("\n"===c||"\r"===c){if(s>i){if(-1===o)o=s-i;else if(s-i!==o)throw new l("row lengths do not match");i=s,a++}h++}else if(t.substring(h,h+e.length)===e)h+=e.length,n[s++]=!0;else{if(t.substring(h,h+r.length)!==r)throw new l("illegal character encountered: "+t.substring(h));h+=r.length,n[s++]=!1}}if(s>i){if(-1===o)o=s-i;else if(s-i!==o)throw new l("row lengths do not match");a++}const c=new O(o,a);for(let t=0;t<s;t++)n[t]&&c.set(t%o,Math.floor(t/o));return c}get(t,e){const r=e*this.rowSize+(t>>5);return!!(this.bits[r]>>>(31&t)&1)}set(t,e){const r=e*this.rowSize+(t>>5);this.bits[r]|=1<<(31&t)}unset(t,e){const r=e*this.rowSize+(t>>5);this.bits[r]&=~(1<<(31&t))}flip(t,e){const r=e*this.rowSize+(t>>5);this.bits[r]^=1<<(31&t)}xor(t){if(this.width!==t.getWidth()||this.height!==t.getHeight()||this.rowSize!==t.getRowSize())throw new l("input matrix dimensions do not match");const e=new M(1+(this.width>>5)),r=this.rowSize,n=this.bits;for(let s=0,i=this.height;s<i;s++){const i=s*r,o=t.getRow(s,e).getBitArray();for(let t=0;t<r;t++)n[i+t]^=o[t]}}clear(){const t=this.bits,e=t.length;for(let r=0;r<e;r++)t[r]=0}setRegion(t,e,r,n){if(e<0||t<0)throw new l("Left and top must be nonnegative");if(n<1||r<1)throw new l("Height and width must be at least 1");const s=t+r,i=e+n;if(i>this.height||s>this.width)throw new l("The region must fit inside the matrix");const o=this.rowSize,a=this.bits;for(let r=e;r<i;r++){const e=r*o;for(let r=t;r<s;r++)a[e+(r>>5)]|=1<<(31&r)}}getRow(t,e){null==e||e.getSize()<this.width?e=new M(this.width):e.clear();const r=this.rowSize,n=this.bits,s=t*r;for(let t=0;t<r;t++)e.setBulk(32*t,n[s+t]);return e}setRow(t,e){w.arraycopy(e.getBitArray(),0,this.bits,t*this.rowSize,this.rowSize)}rotate180(){const t=this.getWidth(),e=this.getHeight();let r=new M(t),n=new M(t);for(let t=0,s=Math.floor((e+1)/2);t<s;t++)r=this.getRow(t,r),n=this.getRow(e-1-t,n),r.reverse(),n.reverse(),this.setRow(t,n),this.setRow(e-1-t,r)}getEnclosingRectangle(){const t=this.width,e=this.height,r=this.rowSize,n=this.bits;let s=t,i=e,o=-1,a=-1;for(let t=0;t<e;t++)for(let e=0;e<r;e++){const h=n[t*r+e];if(0!==h){if(t<i&&(i=t),t>a&&(a=t),32*e<s){let t=0;for(;h<<31-t>>>0==0;)t++;32*e+t<s&&(s=32*e+t)}if(32*e+31>o){let t=31;for(;h>>>t==0;)t--;32*e+t>o&&(o=32*e+t)}}}return o<s||a<i?null:Int32Array.from([s,i,o-s+1,a-i+1])}getTopLeftOnBit(){const t=this.rowSize,e=this.bits;let r=0;for(;r<e.length&&0===e[r];)r++;if(r===e.length)return null;const n=Math.floor(r/t);let s=r%t<<5;const i=e[r];let o=0;for(;i<<31-o>>>0==0;)o++;return s+=o,Int32Array.from([s,n])}getBottomRightOnBit(){const t=this.rowSize,e=this.bits;let r=e.length-1;for(;r>=0&&0===e[r];)r--;if(r<0)return null;const n=Math.floor(r/t);let s=r%t<<5;const i=e[r];let o=31;for(;i>>>o==0;)o--;return s+=o,Int32Array.from([s,n])}getWidth(){return this.width}getHeight(){return this.height}getRowSize(){return this.rowSize}equals(t){if(!(t instanceof O))return!1;const e=t;return this.width===e.width&&this.height===e.height&&this.rowSize===e.rowSize&&d.equals(this.bits,e.bits)}hashCode(){let t=this.width;return t=31*t+this.height,t=31*t+this.rowSize,t=31*t+d.hashCode(this.bits),t}toString(t="X ",e=" ",r="\n"){return this.buildToString(t,e,r)}buildToString(t,e,r){const n=new _,s=this.height,i=this.width;if(void 0===s||void 0===i)throw new Error("Matrix dimensions are undefined");for(let o=0;o<s;o++){for(let r=0;r<i;r++)n.append(this.get(r,o)?t:e);n.append(r)}return n.toString()}clone(){return new O(this.width,this.height,this.rowSize,this.bits.slice())}}class N{constructor(t=null,e,r=(null==e?0:8*e.length),n,s,i=w.currentTimeMillis()){this.text=t,this.rawBytes=e,this.numBits=r,this.resultPoints=n,this.format=s,this.timestamp=i,this.text=t,this.rawBytes=e,this.numBits=null==r?null==e?0:8*e.length:r,this.resultPoints=n,this.format=s,this.resultMetadata=new Map,this.timestamp=null==i?w.currentTimeMillis():i}getText(){return this.text?this.text:null}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}getResultPoints(){return this.resultPoints}getBarcodeFormat(){return this.format}getResultMetadata(){return this.resultMetadata}putMetadata(t,e){null===this.resultMetadata&&(this.resultMetadata=new Map),this.resultMetadata.set(t,e)}putAllMetadata(t){null!==t&&(null===this.resultMetadata?this.resultMetadata=t:this.resultMetadata=new Map(t))}addResultPoints(t){const e=this.resultPoints;if(null===e)this.resultPoints=t;else if(null!==t&&t.length>0){const r=new Array(e.length+t.length);w.arraycopy(e,0,r,0,e.length),w.arraycopy(t,0,r,e.length,t.length),this.resultPoints=r}}getTimestamp(){return this.timestamp}toString(){return null===this.text?this.resultPoints.toString():this.text}}!function(t){t[t.OTHER=0]="OTHER",t[t.ORIENTATION=1]="ORIENTATION",t[t.BYTE_SEGMENTS=2]="BYTE_SEGMENTS",t[t.ERROR_CORRECTION_LEVEL=3]="ERROR_CORRECTION_LEVEL",t[t.ISSUE_NUMBER=4]="ISSUE_NUMBER",t[t.SUGGESTED_PRICE=5]="SUGGESTED_PRICE",t[t.POSSIBLE_COUNTRY=6]="POSSIBLE_COUNTRY",t[t.UPC_EAN_EXTENSION=7]="UPC_EAN_EXTENSION",t[t.PDF417_EXTRA_METADATA=8]="PDF417_EXTRA_METADATA",t[t.STRUCTURED_APPEND_SEQUENCE=9]="STRUCTURED_APPEND_SEQUENCE",t[t.STRUCTURED_APPEND_PARITY=10]="STRUCTURED_APPEND_PARITY"}(g||(g={}));var y,T,b,R=g;class B extends i{static getChecksumInstance(){return new B}}B.kind="ChecksumException";class D extends i{}D.kind="ArithmeticException";class P{exp(t){return this.expTable[t]}log(t){if(0===t)throw new l;return this.logTable[t]}static addOrSubtract(t,e){return t^e}}class v{constructor(t,e){if(0===e.length)throw new l;this.field=t;const r=e.length;if(r>1&&0===e[0]){let t=1;for(;t<r&&0===e[t];)t++;t===r?this.coefficients=Int32Array.from([0]):(this.coefficients=new Int32Array(r-t),w.arraycopy(e,t,this.coefficients,0,this.coefficients.length))}else this.coefficients=e}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return 0===this.coefficients[0]}getCoefficient(t){return this.coefficients[this.coefficients.length-1-t]}evaluateAt(t){if(0===t)return this.getCoefficient(0);const e=this.coefficients;let r;if(1===t){r=0;for(let t=0,n=e.length;t!==n;t++){const n=e[t];r=P.addOrSubtract(r,n)}return r}r=e[0];const n=e.length,s=this.field;for(let i=1;i<n;i++)r=P.addOrSubtract(s.multiply(t,r),e[i]);return r}addOrSubtract(t){if(!this.field.equals(t.field))throw new l("GenericGFPolys do not have same GenericGF field");if(this.isZero())return t;if(t.isZero())return this;let e=this.coefficients,r=t.coefficients;if(e.length>r.length){const t=e;e=r,r=t}let n=new Int32Array(r.length);const s=r.length-e.length;w.arraycopy(r,0,n,0,s);for(let t=s;t<r.length;t++)n[t]=P.addOrSubtract(e[t-s],r[t]);return new v(this.field,n)}multiply(t){if(!this.field.equals(t.field))throw new l("GenericGFPolys do not have same GenericGF field");if(this.isZero()||t.isZero())return this.field.getZero();const e=this.coefficients,r=e.length,n=t.coefficients,s=n.length,i=new Int32Array(r+s-1),o=this.field;for(let t=0;t<r;t++){const r=e[t];for(let e=0;e<s;e++)i[t+e]=P.addOrSubtract(i[t+e],o.multiply(r,n[e]))}return new v(o,i)}multiplyScalar(t){if(0===t)return this.field.getZero();if(1===t)return this;const e=this.coefficients.length,r=this.field,n=new Int32Array(e),s=this.coefficients;for(let i=0;i<e;i++)n[i]=r.multiply(s[i],t);return new v(r,n)}multiplyByMonomial(t,e){if(t<0)throw new l;if(0===e)return this.field.getZero();const r=this.coefficients,n=r.length,s=new Int32Array(n+t),i=this.field;for(let t=0;t<n;t++)s[t]=i.multiply(r[t],e);return new v(i,s)}divide(t){if(!this.field.equals(t.field))throw new l("GenericGFPolys do not have same GenericGF field");if(t.isZero())throw new l("Divide by 0");const e=this.field;let r=e.getZero(),n=this;const s=t.getCoefficient(t.getDegree()),i=e.inverse(s);for(;n.getDegree()>=t.getDegree()&&!n.isZero();){const s=n.getDegree()-t.getDegree(),o=e.multiply(n.getCoefficient(n.getDegree()),i),a=t.multiplyByMonomial(s,o),h=e.buildMonomial(s,o);r=r.addOrSubtract(h),n=n.addOrSubtract(a)}return[r,n]}toString(){let t="";for(let e=this.getDegree();e>=0;e--){let r=this.getCoefficient(e);if(0!==r){if(r<0?(t+=" - ",r=-r):t.length>0&&(t+=" + "),0===e||1!==r){const e=this.field.log(r);0===e?t+="1":1===e?t+="a":(t+="a^",t+=e)}0!==e&&(1===e?t+="x":(t+="x^",t+=e))}}return t}}class F extends P{constructor(t,e,r){super(),this.primitive=t,this.size=e,this.generatorBase=r;const n=new Int32Array(e);let s=1;for(let r=0;r<e;r++)n[r]=s,s*=2,s>=e&&(s^=t,s&=e-1);this.expTable=n;const i=new Int32Array(e);for(let t=0;t<e-1;t++)i[n[t]]=t;this.logTable=i,this.zero=new v(this,Int32Array.from([0])),this.one=new v(this,Int32Array.from([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(t,e){if(t<0)throw new l;if(0===e)return this.zero;const r=new Int32Array(t+1);return r[0]=e,new v(this,r)}inverse(t){if(0===t)throw new D;return this.expTable[this.size-this.logTable[t]-1]}multiply(t,e){return 0===t||0===e?0:this.expTable[(this.logTable[t]+this.logTable[e])%(this.size-1)]}getSize(){return this.size}getGeneratorBase(){return this.generatorBase}toString(){return"GF(0x"+p.toHexString(this.primitive)+","+this.size+")"}equals(t){return t===this}}F.AZTEC_DATA_12=new F(4201,4096,1),F.AZTEC_DATA_10=new F(1033,1024,1),F.AZTEC_DATA_6=new F(67,64,1),F.AZTEC_PARAM=new F(19,16,1),F.QR_CODE_FIELD_256=new F(285,256,0),F.DATA_MATRIX_FIELD_256=new F(301,256,1),F.AZTEC_DATA_8=F.DATA_MATRIX_FIELD_256,F.MAXICODE_FIELD_64=F.AZTEC_DATA_6;class U extends i{}U.kind="IllegalStateException";class k extends i{}k.kind="ReedSolomonException";class x{constructor(t){this.field=t}decode(t,e){const r=this.field,n=new v(r,t),s=new Int32Array(e);let i=!0;for(let t=0;t<e;t++){const e=n.evaluateAt(r.exp(t+r.getGeneratorBase()));s[s.length-1-t]=e,0!==e&&(i=!1)}if(i)return;const o=new v(r,s),a=this.runEuclideanAlgorithm(r.buildMonomial(e,1),o,e),h=a[0],l=a[1],c=this.findErrorLocations(h),u=this.findErrorMagnitudes(l,c);for(let e=0;e<c.length;e++){const n=t.length-1-r.log(c[e]);if(n<0)throw new k("Bad error location");t[n]=F.addOrSubtract(t[n],u[e])}}runEuclideanAlgorithm(t,e,r){if(t.getDegree()<e.getDegree()){const r=t;t=e,e=r}const n=this.field;let s=t,i=e,o=n.getZero(),a=n.getOne();for(;i.getDegree()>=(r/2|0);){let t=s,e=o;if(s=i,o=a,s.isZero())throw new k("r_{i-1} was zero");i=t;let r=n.getZero();const h=s.getCoefficient(s.getDegree()),l=n.inverse(h);for(;i.getDegree()>=s.getDegree()&&!i.isZero();){const t=i.getDegree()-s.getDegree(),e=n.multiply(i.getCoefficient(i.getDegree()),l);r=r.addOrSubtract(n.buildMonomial(t,e)),i=i.addOrSubtract(s.multiplyByMonomial(t,e))}if(a=r.multiply(o).addOrSubtract(e),i.getDegree()>=s.getDegree())throw new U("Division algorithm failed to reduce polynomial?")}const h=a.getCoefficient(0);if(0===h)throw new k("sigmaTilde(0) was zero");const l=n.inverse(h);return[a.multiplyScalar(l),i.multiplyScalar(l)]}findErrorLocations(t){const e=t.getDegree();if(1===e)return Int32Array.from([t.getCoefficient(1)]);const r=new Int32Array(e);let n=0;const s=this.field;for(let i=1;i<s.getSize()&&n<e;i++)0===t.evaluateAt(i)&&(r[n]=s.inverse(i),n++);if(n!==e)throw new k("Error locator degree does not match number of roots");return r}findErrorMagnitudes(t,e){const r=e.length,n=new Int32Array(r),s=this.field;for(let i=0;i<r;i++){const o=s.inverse(e[i]);let a=1;for(let t=0;t<r;t++)if(i!==t){const r=s.multiply(e[t],o),n=1&r?-2&r:1|r;a=s.multiply(a,n)}n[i]=s.multiply(t.evaluateAt(o),s.inverse(a)),0!==s.getGeneratorBase()&&(n[i]=s.multiply(n[i],o))}return n}}!function(t){t[t.DATA_MASK_000=0]="DATA_MASK_000",t[t.DATA_MASK_001=1]="DATA_MASK_001",t[t.DATA_MASK_010=2]="DATA_MASK_010",t[t.DATA_MASK_011=3]="DATA_MASK_011",t[t.DATA_MASK_100=4]="DATA_MASK_100",t[t.DATA_MASK_101=5]="DATA_MASK_101",t[t.DATA_MASK_110=6]="DATA_MASK_110",t[t.DATA_MASK_111=7]="DATA_MASK_111"}(y||(y={}));class L{constructor(t,e){this.value=t,this.isMasked=e}unmaskBitMatrix(t,e){for(let r=0;r<e;r++)for(let n=0;n<e;n++)this.isMasked(r,n)&&t.flip(n,r)}}L.values=new Map([[y.DATA_MASK_000,new L(y.DATA_MASK_000,((t,e)=>!(t+e&1)))],[y.DATA_MASK_001,new L(y.DATA_MASK_001,((t,e)=>!(1&t)))],[y.DATA_MASK_010,new L(y.DATA_MASK_010,((t,e)=>e%3==0))],[y.DATA_MASK_011,new L(y.DATA_MASK_011,((t,e)=>(t+e)%3==0))],[y.DATA_MASK_100,new L(y.DATA_MASK_100,((t,e)=>!(Math.floor(t/2)+Math.floor(e/3)&1)))],[y.DATA_MASK_101,new L(y.DATA_MASK_101,((t,e)=>t*e%6==0))],[y.DATA_MASK_110,new L(y.DATA_MASK_110,((t,e)=>t*e%6<3))],[y.DATA_MASK_111,new L(y.DATA_MASK_111,((t,e)=>!(t+e+t*e%3&1)))]]);class z extends i{}z.kind="ArgumentException",function(t){t[t.L=0]="L",t[t.M=1]="M",t[t.Q=2]="Q",t[t.H=3]="H"}(T||(T={}));class H{constructor(t,e,r){this.value=t,this.stringValue=e,this.bits=r,H.FOR_BITS.set(r,this),H.FOR_VALUE.set(t,this)}getValue(){return this.value}getBits(){return this.bits}static fromString(t){switch(t){case"L":return H.L;case"M":return H.M;case"Q":return H.Q;case"H":return H.H;default:throw new z(t+"not available")}}toString(){return this.stringValue}equals(t){if(!(t instanceof H))return!1;const e=t;return this.value===e.value}static forBits(t){if(t<0||t>=H.FOR_BITS.size)throw new l;return H.FOR_BITS.get(t)}}H.FOR_BITS=new Map,H.FOR_VALUE=new Map,H.L=new H(T.L,"L",1),H.M=new H(T.M,"M",0),H.Q=new H(T.Q,"Q",3),H.H=new H(T.H,"H",2);class K{constructor(t){this.errorCorrectionLevel=H.forBits(t>>3&3),this.dataMask=7&t}static numBitsDiffering(t,e){return p.bitCount(t^e)}static decodeFormatInformation(t,e){const r=K.doDecodeFormatInformation(t,e);return null!==r?r:K.doDecodeFormatInformation(t^K.FORMAT_INFO_MASK_QR,e^K.FORMAT_INFO_MASK_QR)}static doDecodeFormatInformation(t,e){let r=Number.MAX_SAFE_INTEGER,n=0;for(const s of K.FORMAT_INFO_DECODE_LOOKUP){const i=s[0];if(i===t||i===e)return new K(s[1]);let o=K.numBitsDiffering(t,i);o<r&&(n=s[1],r=o),t!==e&&(o=K.numBitsDiffering(e,i),o<r&&(n=s[1],r=o))}return r<=3?new K(n):null}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getDataMask(){return this.dataMask}hashCode(){return this.errorCorrectionLevel.getBits()<<3|this.dataMask}equals(t){if(!(t instanceof K))return!1;const e=t;return this.errorCorrectionLevel===e.errorCorrectionLevel&&this.dataMask===e.dataMask}}K.FORMAT_INFO_MASK_QR=21522,K.FORMAT_INFO_DECODE_LOOKUP=[Int32Array.from([21522,0]),Int32Array.from([20773,1]),Int32Array.from([24188,2]),Int32Array.from([23371,3]),Int32Array.from([17913,4]),Int32Array.from([16590,5]),Int32Array.from([20375,6]),Int32Array.from([19104,7]),Int32Array.from([30660,8]),Int32Array.from([29427,9]),Int32Array.from([32170,10]),Int32Array.from([30877,11]),Int32Array.from([26159,12]),Int32Array.from([25368,13]),Int32Array.from([27713,14]),Int32Array.from([26998,15]),Int32Array.from([5769,16]),Int32Array.from([5054,17]),Int32Array.from([7399,18]),Int32Array.from([6608,19]),Int32Array.from([1890,20]),Int32Array.from([597,21]),Int32Array.from([3340,22]),Int32Array.from([2107,23]),Int32Array.from([13663,24]),Int32Array.from([12392,25]),Int32Array.from([16177,26]),Int32Array.from([14854,27]),Int32Array.from([9396,28]),Int32Array.from([8579,29]),Int32Array.from([11994,30]),Int32Array.from([11245,31])];class V{constructor(t,e){this.count=t,this.dataCodewords=e}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class G{constructor(t,...e){this.ecCodewordsPerBlock=t,this.ecBlocks=e}getECCodewordsPerBlock(){return this.ecCodewordsPerBlock}getNumBlocks(){let t=0;const e=this.ecBlocks;for(const r of e)t+=r.getCount();return t}getTotalECCodewords(){return this.ecCodewordsPerBlock*this.getNumBlocks()}getECBlocks(){return this.ecBlocks}}class W{constructor(t,e,...r){this.versionNumber=t,this.alignmentPatternCenters=e,this.ecBlocks=r;let n=0;const s=r[0].getECCodewordsPerBlock(),i=r[0].getECBlocks();for(const t of i)n+=t.getCount()*(t.getDataCodewords()+s);this.totalCodewords=n}getVersionNumber(){return this.versionNumber}getAlignmentPatternCenters(){return this.alignmentPatternCenters}getTotalCodewords(){return this.totalCodewords}getDimensionForVersion(){return 17+4*this.versionNumber}getECBlocksForLevel(t){return this.ecBlocks[t.getValue()]}static getProvisionalVersionForDimension(t){if(t%4!=1)throw new I;try{return this.getVersionForNumber((t-17)/4)}catch(t){throw new I}}static getVersionForNumber(t){if(t<1||t>40)throw new l;return W.VERSIONS[t-1]}static decodeVersionInformation(t){let e=Number.MAX_SAFE_INTEGER,r=0;for(let n=0;n<W.VERSION_DECODE_INFO.length;n++){const s=W.VERSION_DECODE_INFO[n];if(s===t)return W.getVersionForNumber(n+7);const i=K.numBitsDiffering(t,s);i<e&&(r=n+7,e=i)}return e<=3?W.getVersionForNumber(r):null}buildFunctionPattern(){const t=this.getDimensionForVersion(),e=new O(t);e.setRegion(0,0,9,9),e.setRegion(t-8,0,8,9),e.setRegion(0,t-8,9,8);const r=this.alignmentPatternCenters.length;for(let t=0;t<r;t++){const n=this.alignmentPatternCenters[t]-2;for(let s=0;s<r;s++)0===t&&(0===s||s===r-1)||t===r-1&&0===s||e.setRegion(this.alignmentPatternCenters[s]-2,n,5,5)}return e.setRegion(6,9,1,t-17),e.setRegion(9,6,t-17,1),this.versionNumber>6&&(e.setRegion(t-11,0,3,6),e.setRegion(0,t-11,6,3)),e}toString(){return""+this.versionNumber}}W.VERSION_DECODE_INFO=Int32Array.from([31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017]),W.VERSIONS=[new W(1,new Int32Array(0),new G(7,new V(1,19)),new G(10,new V(1,16)),new G(13,new V(1,13)),new G(17,new V(1,9))),new W(2,Int32Array.from([6,18]),new G(10,new V(1,34)),new G(16,new V(1,28)),new G(22,new V(1,22)),new G(28,new V(1,16))),new W(3,Int32Array.from([6,22]),new G(15,new V(1,55)),new G(26,new V(1,44)),new G(18,new V(2,17)),new G(22,new V(2,13))),new W(4,Int32Array.from([6,26]),new G(20,new V(1,80)),new G(18,new V(2,32)),new G(26,new V(2,24)),new G(16,new V(4,9))),new W(5,Int32Array.from([6,30]),new G(26,new V(1,108)),new G(24,new V(2,43)),new G(18,new V(2,15),new V(2,16)),new G(22,new V(2,11),new V(2,12))),new W(6,Int32Array.from([6,34]),new G(18,new V(2,68)),new G(16,new V(4,27)),new G(24,new V(4,19)),new G(28,new V(4,15))),new W(7,Int32Array.from([6,22,38]),new G(20,new V(2,78)),new G(18,new V(4,31)),new G(18,new V(2,14),new V(4,15)),new G(26,new V(4,13),new V(1,14))),new W(8,Int32Array.from([6,24,42]),new G(24,new V(2,97)),new G(22,new V(2,38),new V(2,39)),new G(22,new V(4,18),new V(2,19)),new G(26,new V(4,14),new V(2,15))),new W(9,Int32Array.from([6,26,46]),new G(30,new V(2,116)),new G(22,new V(3,36),new V(2,37)),new G(20,new V(4,16),new V(4,17)),new G(24,new V(4,12),new V(4,13))),new W(10,Int32Array.from([6,28,50]),new G(18,new V(2,68),new V(2,69)),new G(26,new V(4,43),new V(1,44)),new G(24,new V(6,19),new V(2,20)),new G(28,new V(6,15),new V(2,16))),new W(11,Int32Array.from([6,30,54]),new G(20,new V(4,81)),new G(30,new V(1,50),new V(4,51)),new G(28,new V(4,22),new V(4,23)),new G(24,new V(3,12),new V(8,13))),new W(12,Int32Array.from([6,32,58]),new G(24,new V(2,92),new V(2,93)),new G(22,new V(6,36),new V(2,37)),new G(26,new V(4,20),new V(6,21)),new G(28,new V(7,14),new V(4,15))),new W(13,Int32Array.from([6,34,62]),new G(26,new V(4,107)),new G(22,new V(8,37),new V(1,38)),new G(24,new V(8,20),new V(4,21)),new G(22,new V(12,11),new V(4,12))),new W(14,Int32Array.from([6,26,46,66]),new G(30,new V(3,115),new V(1,116)),new G(24,new V(4,40),new V(5,41)),new G(20,new V(11,16),new V(5,17)),new G(24,new V(11,12),new V(5,13))),new W(15,Int32Array.from([6,26,48,70]),new G(22,new V(5,87),new V(1,88)),new G(24,new V(5,41),new V(5,42)),new G(30,new V(5,24),new V(7,25)),new G(24,new V(11,12),new V(7,13))),new W(16,Int32Array.from([6,26,50,74]),new G(24,new V(5,98),new V(1,99)),new G(28,new V(7,45),new V(3,46)),new G(24,new V(15,19),new V(2,20)),new G(30,new V(3,15),new V(13,16))),new W(17,Int32Array.from([6,30,54,78]),new G(28,new V(1,107),new V(5,108)),new G(28,new V(10,46),new V(1,47)),new G(28,new V(1,22),new V(15,23)),new G(28,new V(2,14),new V(17,15))),new W(18,Int32Array.from([6,30,56,82]),new G(30,new V(5,120),new V(1,121)),new G(26,new V(9,43),new V(4,44)),new G(28,new V(17,22),new V(1,23)),new G(28,new V(2,14),new V(19,15))),new W(19,Int32Array.from([6,30,58,86]),new G(28,new V(3,113),new V(4,114)),new G(26,new V(3,44),new V(11,45)),new G(26,new V(17,21),new V(4,22)),new G(26,new V(9,13),new V(16,14))),new W(20,Int32Array.from([6,34,62,90]),new G(28,new V(3,107),new V(5,108)),new G(26,new V(3,41),new V(13,42)),new G(30,new V(15,24),new V(5,25)),new G(28,new V(15,15),new V(10,16))),new W(21,Int32Array.from([6,28,50,72,94]),new G(28,new V(4,116),new V(4,117)),new G(26,new V(17,42)),new G(28,new V(17,22),new V(6,23)),new G(30,new V(19,16),new V(6,17))),new W(22,Int32Array.from([6,26,50,74,98]),new G(28,new V(2,111),new V(7,112)),new G(28,new V(17,46)),new G(30,new V(7,24),new V(16,25)),new G(24,new V(34,13))),new W(23,Int32Array.from([6,30,54,78,102]),new G(30,new V(4,121),new V(5,122)),new G(28,new V(4,47),new V(14,48)),new G(30,new V(11,24),new V(14,25)),new G(30,new V(16,15),new V(14,16))),new W(24,Int32Array.from([6,28,54,80,106]),new G(30,new V(6,117),new V(4,118)),new G(28,new V(6,45),new V(14,46)),new G(30,new V(11,24),new V(16,25)),new G(30,new V(30,16),new V(2,17))),new W(25,Int32Array.from([6,32,58,84,110]),new G(26,new V(8,106),new V(4,107)),new G(28,new V(8,47),new V(13,48)),new G(30,new V(7,24),new V(22,25)),new G(30,new V(22,15),new V(13,16))),new W(26,Int32Array.from([6,30,58,86,114]),new G(28,new V(10,114),new V(2,115)),new G(28,new V(19,46),new V(4,47)),new G(28,new V(28,22),new V(6,23)),new G(30,new V(33,16),new V(4,17))),new W(27,Int32Array.from([6,34,62,90,118]),new G(30,new V(8,122),new V(4,123)),new G(28,new V(22,45),new V(3,46)),new G(30,new V(8,23),new V(26,24)),new G(30,new V(12,15),new V(28,16))),new W(28,Int32Array.from([6,26,50,74,98,122]),new G(30,new V(3,117),new V(10,118)),new G(28,new V(3,45),new V(23,46)),new G(30,new V(4,24),new V(31,25)),new G(30,new V(11,15),new V(31,16))),new W(29,Int32Array.from([6,30,54,78,102,126]),new G(30,new V(7,116),new V(7,117)),new G(28,new V(21,45),new V(7,46)),new G(30,new V(1,23),new V(37,24)),new G(30,new V(19,15),new V(26,16))),new W(30,Int32Array.from([6,26,52,78,104,130]),new G(30,new V(5,115),new V(10,116)),new G(28,new V(19,47),new V(10,48)),new G(30,new V(15,24),new V(25,25)),new G(30,new V(23,15),new V(25,16))),new W(31,Int32Array.from([6,30,56,82,108,134]),new G(30,new V(13,115),new V(3,116)),new G(28,new V(2,46),new V(29,47)),new G(30,new V(42,24),new V(1,25)),new G(30,new V(23,15),new V(28,16))),new W(32,Int32Array.from([6,34,60,86,112,138]),new G(30,new V(17,115)),new G(28,new V(10,46),new V(23,47)),new G(30,new V(10,24),new V(35,25)),new G(30,new V(19,15),new V(35,16))),new W(33,Int32Array.from([6,30,58,86,114,142]),new G(30,new V(17,115),new V(1,116)),new G(28,new V(14,46),new V(21,47)),new G(30,new V(29,24),new V(19,25)),new G(30,new V(11,15),new V(46,16))),new W(34,Int32Array.from([6,34,62,90,118,146]),new G(30,new V(13,115),new V(6,116)),new G(28,new V(14,46),new V(23,47)),new G(30,new V(44,24),new V(7,25)),new G(30,new V(59,16),new V(1,17))),new W(35,Int32Array.from([6,30,54,78,102,126,150]),new G(30,new V(12,121),new V(7,122)),new G(28,new V(12,47),new V(26,48)),new G(30,new V(39,24),new V(14,25)),new G(30,new V(22,15),new V(41,16))),new W(36,Int32Array.from([6,24,50,76,102,128,154]),new G(30,new V(6,121),new V(14,122)),new G(28,new V(6,47),new V(34,48)),new G(30,new V(46,24),new V(10,25)),new G(30,new V(2,15),new V(64,16))),new W(37,Int32Array.from([6,28,54,80,106,132,158]),new G(30,new V(17,122),new V(4,123)),new G(28,new V(29,46),new V(14,47)),new G(30,new V(49,24),new V(10,25)),new G(30,new V(24,15),new V(46,16))),new W(38,Int32Array.from([6,32,58,84,110,136,162]),new G(30,new V(4,122),new V(18,123)),new G(28,new V(13,46),new V(32,47)),new G(30,new V(48,24),new V(14,25)),new G(30,new V(42,15),new V(32,16))),new W(39,Int32Array.from([6,26,54,82,110,138,166]),new G(30,new V(20,117),new V(4,118)),new G(28,new V(40,47),new V(7,48)),new G(30,new V(43,24),new V(22,25)),new G(30,new V(10,15),new V(67,16))),new W(40,Int32Array.from([6,30,58,86,114,142,170]),new G(30,new V(19,118),new V(6,119)),new G(28,new V(18,47),new V(31,48)),new G(30,new V(34,24),new V(34,25)),new G(30,new V(20,15),new V(61,16)))];class Z{constructor(t){const e=t.getHeight();if(e<21||1!=(3&e))throw new I;this.bitMatrix=t}readFormatInformation(){if(null!==this.parsedFormatInfo&&void 0!==this.parsedFormatInfo)return this.parsedFormatInfo;let t=0;for(let e=0;e<6;e++)t=this.copyBit(e,8,t);t=this.copyBit(7,8,t),t=this.copyBit(8,8,t),t=this.copyBit(8,7,t);for(let e=5;e>=0;e--)t=this.copyBit(8,e,t);const e=this.bitMatrix.getHeight();let r=0;const n=e-7;for(let t=e-1;t>=n;t--)r=this.copyBit(8,t,r);for(let t=e-8;t<e;t++)r=this.copyBit(t,8,r);if(this.parsedFormatInfo=K.decodeFormatInformation(t,r),null!==this.parsedFormatInfo)return this.parsedFormatInfo;throw new I}readVersion(){if(null!==this.parsedVersion&&void 0!==this.parsedVersion)return this.parsedVersion;const t=this.bitMatrix.getHeight(),e=Math.floor((t-17)/4);if(e<=6)return W.getVersionForNumber(e);let r=0;const n=t-11;for(let e=5;e>=0;e--)for(let s=t-9;s>=n;s--)r=this.copyBit(s,e,r);let s=W.decodeVersionInformation(r);if(null!==s&&s.getDimensionForVersion()===t)return this.parsedVersion=s,s;r=0;for(let e=5;e>=0;e--)for(let s=t-9;s>=n;s--)r=this.copyBit(e,s,r);if(s=W.decodeVersionInformation(r),null!==s&&s.getDimensionForVersion()===t)return this.parsedVersion=s,s;throw new I}copyBit(t,e,r){return(this.isMirror?this.bitMatrix.get(e,t):this.bitMatrix.get(t,e))?r<<1|1:r<<1}readCodewords(){const t=this.readFormatInformation(),e=this.readVersion(),r=L.values.get(t.getDataMask()),n=this.bitMatrix.getHeight();r?.unmaskBitMatrix(this.bitMatrix,n);const s=e.buildFunctionPattern();let i=!0;const o=new Uint8Array(e.getTotalCodewords());let a=0,h=0,l=0;for(let t=n-1;t>0;t-=2){6===t&&t--;for(let e=0;e<n;e++){const r=i?n-1-e:e;for(let e=0;e<2;e++)s.get(t-e,r)||(l++,h<<=1,this.bitMatrix.get(t-e,r)&&(h|=1),8===l&&(o[a++]=h,l=0,h=0))}i=!i}if(a!==e.getTotalCodewords())throw new I;return o}remask(){if(null===this.parsedFormatInfo)return;const t=this.parsedFormatInfo&&L.values.get(this.parsedFormatInfo.getDataMask()),e=this.bitMatrix.getHeight();t?.unmaskBitMatrix(this.bitMatrix,e)}setMirror(t){this.parsedVersion=null,this.parsedFormatInfo=null,this.isMirror=t}mirror(){const t=this.bitMatrix;for(let e=0,r=t.getWidth();e<r;e++)for(let r=e+1,n=t.getHeight();r<n;r++)t.get(e,r)!==t.get(r,e)&&(t.flip(r,e),t.flip(e,r))}}class X{constructor(t,e){this.numDataCodewords=t,this.codewords=e}static getDataBlocks(t,e,r){if(t.length!==e.getTotalCodewords())throw new l;const n=e.getECBlocksForLevel(r);let s=0;const i=n.getECBlocks();for(const t of i)s+=t.getCount();const o=new Array(s);let a=0;for(const t of i)for(let e=0;e<t.getCount();e++){const e=t.getDataCodewords(),r=n.getECCodewordsPerBlock()+e;o[a++]=new X(e,new Uint8Array(r))}const h=o[0].codewords.length;let c=o.length-1;for(;c>=0;){if(o[c].codewords.length===h)break;c--}c++;const u=h-n.getECCodewordsPerBlock();let w=0;for(let e=0;e<u;e++)for(let r=0;r<a;r++)o[r].codewords[e]=t[w++];for(let e=c;e<a;e++)o[e].codewords[u]=t[w++];const d=o[0].codewords.length;for(let e=u;e<d;e++)for(let r=0;r<a;r++){const n=r<c?e:e+1;o[r].codewords[n]=t[w++]}return o}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}class Y{constructor(t){this.bytes=t,this.byteOffset=0,this.bitOffset=0}getBitOffset(){return this.bitOffset}getByteOffset(){return this.byteOffset}readBits(t){if(t<1||t>32||t>this.available())throw new l(""+t);let e=0,r=this.bitOffset,n=this.byteOffset;const s=this.bytes;if(r>0){const i=8-r,o=t<i?t:i,a=i-o,h=255>>8-o<<a;e=(s[n]&h)>>a,t-=o,r+=o,8===r&&(r=0,n++)}if(t>0){for(;t>=8;)e=e<<8|255&s[n],n++,t-=8;if(t>0){const i=8-t,o=255>>i<<i;e=e<<t|(s[n]&o)>>i,r+=t}}return this.bitOffset=r,this.byteOffset=n,e}available(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset}}class q{constructor(t,e,r,n,s=-1,i=-1){this.rawBytes=t,this.text=e,this.byteSegments=r,this.ecLevel=n,this.structuredAppendSequenceNumber=s,this.structuredAppendParity=i,this.numBits=null==t?0:8*t.length}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}setNumBits(t){this.numBits=t}getText(){return this.text}getByteSegments(){return this.byteSegments}getECLevel(){return this.ecLevel}getErrorsCorrected(){return this.errorsCorrected}setErrorsCorrected(t){this.errorsCorrected=t}getErasures(){return this.erasures}setErasures(t){this.erasures=t}getOther(){return this.other}setOther(t){this.other=t}hasStructuredAppend(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0}getStructuredAppendParity(){return this.structuredAppendParity}getStructuredAppendSequenceNumber(){return this.structuredAppendSequenceNumber}}!function(t){t[t.TERMINATOR=0]="TERMINATOR",t[t.NUMERIC=1]="NUMERIC",t[t.ALPHANUMERIC=2]="ALPHANUMERIC",t[t.STRUCTURED_APPEND=3]="STRUCTURED_APPEND",t[t.BYTE=4]="BYTE",t[t.ECI=5]="ECI",t[t.KANJI=6]="KANJI",t[t.FNC1_FIRST_POSITION=7]="FNC1_FIRST_POSITION",t[t.FNC1_SECOND_POSITION=8]="FNC1_SECOND_POSITION",t[t.HANZI=9]="HANZI"}(b||(b={}));class Q{constructor(t,e,r,n){this.value=t,this.stringValue=e,this.characterCountBitsForVersions=r,this.bits=n,Q.FOR_BITS.set(n,this),Q.FOR_VALUE.set(t,this)}static forBits(t){const e=Q.FOR_BITS.get(t);if(void 0===e)throw new l;return e}getCharacterCountBits(t){const e=t.getVersionNumber();let r;return r=e<=9?0:e<=26?1:2,this.characterCountBitsForVersions[r]}getValue(){return this.value}getBits(){return this.bits}equals(t){if(!(t instanceof Q))return!1;const e=t;return this.value===e.value}toString(){return this.stringValue}}Q.FOR_BITS=new Map,Q.FOR_VALUE=new Map,Q.TERMINATOR=new Q(b.TERMINATOR,"TERMINATOR",Int32Array.from([0,0,0]),0),Q.NUMERIC=new Q(b.NUMERIC,"NUMERIC",Int32Array.from([10,12,14]),1),Q.ALPHANUMERIC=new Q(b.ALPHANUMERIC,"ALPHANUMERIC",Int32Array.from([9,11,13]),2),Q.STRUCTURED_APPEND=new Q(b.STRUCTURED_APPEND,"STRUCTURED_APPEND",Int32Array.from([0,0,0]),3),Q.BYTE=new Q(b.BYTE,"BYTE",Int32Array.from([8,16,16]),4),Q.ECI=new Q(b.ECI,"ECI",Int32Array.from([0,0,0]),7),Q.KANJI=new Q(b.KANJI,"KANJI",Int32Array.from([8,10,12]),8),Q.FNC1_FIRST_POSITION=new Q(b.FNC1_FIRST_POSITION,"FNC1_FIRST_POSITION",Int32Array.from([0,0,0]),5),Q.FNC1_SECOND_POSITION=new Q(b.FNC1_SECOND_POSITION,"FNC1_SECOND_POSITION",Int32Array.from([0,0,0]),9),Q.HANZI=new Q(b.HANZI,"HANZI",Int32Array.from([8,10,12]),13);class J{static decode(t,e,r,n){const s=new Y(t);let i=new _;const o=new Array;let a=-1,h=-1;try{let t,r=null,l=!1;do{if(s.available()<4)t=Q.TERMINATOR;else{const e=s.readBits(4);t=Q.forBits(e)}switch(t){case Q.TERMINATOR:break;case Q.FNC1_FIRST_POSITION:case Q.FNC1_SECOND_POSITION:l=!0;break;case Q.STRUCTURED_APPEND:if(s.available()<16)throw new I;a=s.readBits(8),h=s.readBits(8);break;case Q.ECI:const c=J.parseECIValue(s);if(r=S.getCharacterSetECIByValue(c),null===r)throw new I;break;case Q.HANZI:const u=s.readBits(4),w=s.readBits(t.getCharacterCountBits(e));u===J.GB2312_SUBSET&&J.decodeHanziSegment(s,i,w);break;default:const d=s.readBits(t.getCharacterCountBits(e));switch(t){case Q.NUMERIC:J.decodeNumericSegment(s,i,d);break;case Q.ALPHANUMERIC:J.decodeAlphanumericSegment(s,i,d,l);break;case Q.BYTE:J.decodeByteSegment(s,i,d,r,o,n);break;case Q.KANJI:J.decodeKanjiSegment(s,i,d);break;default:throw new I}}}while(t!==Q.TERMINATOR)}catch(t){throw new I}return new q(t,i.toString(),0===o.length?null:o,null===r?null:r.toString(),a,h)}static decodeHanziSegment(t,e,r){if(13*r>t.available())throw new I;const n=new Uint8Array(2*r);let s=0;for(;r>0;){const e=t.readBits(13);let i=e/96<<8&4294967295|e%96;i+=i<959?41377:42657,n[s]=i>>8&255,n[s+1]=255&i,s+=2,r--}try{e.append(C.decode(n,E.GB2312))}catch(t){throw new I(t)}}static decodeKanjiSegment(t,e,r){if(13*r>t.available())throw new I;const n=new Uint8Array(2*r);let s=0;for(;r>0;){const e=t.readBits(13);let i=e/192<<8&4294967295|e%192;i+=i<7936?33088:49472,n[s]=i>>8,n[s+1]=i,s+=2,r--}try{e.append(C.decode(n,E.SHIFT_JIS))}catch(t){throw new I(t)}}static decodeByteSegment(t,e,r,n,s,i){if(8*r>t.available())throw new I;const o=new Uint8Array(r);for(let e=0;e<r;e++)o[e]=t.readBits(8);let a;a=null===n?E.guessEncoding(o,i):n.getName();try{e.append(C.decode(o,a))}catch(t){throw new I(t)}s.push(o)}static toAlphaNumericChar(t){if(t>=J.ALPHANUMERIC_CHARS.length)throw new I;return J.ALPHANUMERIC_CHARS[t]}static decodeAlphanumericSegment(t,e,r,n){const s=e.length();for(;r>1;){if(t.available()<11)throw new I;const n=t.readBits(11);e.append(J.toAlphaNumericChar(Math.floor(n/45))),e.append(J.toAlphaNumericChar(n%45)),r-=2}if(1===r){if(t.available()<6)throw new I;e.append(J.toAlphaNumericChar(t.readBits(6)))}if(n)for(let t=s;t<e.length();t++)"%"===e.charAt(t)&&(t<e.length()-1&&"%"===e.charAt(t+1)?e.deleteCharAt(t+1):e.setCharAt(t,String.fromCharCode(29)))}static decodeNumericSegment(t,e,r){for(;r>=3;){if(t.available()<10)throw new I;const n=t.readBits(10);if(n>=1e3)throw new I;e.append(J.toAlphaNumericChar(Math.floor(n/100))),e.append(J.toAlphaNumericChar(Math.floor(n/10)%10)),e.append(J.toAlphaNumericChar(n%10)),r-=3}if(2===r){if(t.available()<7)throw new I;const r=t.readBits(7);if(r>=100)throw new I;e.append(J.toAlphaNumericChar(Math.floor(r/10))),e.append(J.toAlphaNumericChar(r%10))}else if(1===r){if(t.available()<4)throw new I;const r=t.readBits(4);if(r>=10)throw new I;e.append(J.toAlphaNumericChar(r))}}static parseECIValue(t){const e=t.readBits(8);if(!(128&e))return 127&e;if(128==(192&e)){return(63&e)<<8&4294967295|t.readBits(8)}if(192==(224&e)){return(31&e)<<16&4294967295|t.readBits(16)}throw new I}}J.ALPHANUMERIC_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",J.GB2312_SUBSET=1;class j{constructor(t){this.mirrored=t}isMirrored(){return this.mirrored}applyMirroredCorrection(t){if(!this.mirrored||null===t||t.length<3)return;const e=t[0];t[0]=t[2],t[2]=e}}class ${constructor(){this.rsDecoder=new x(F.QR_CODE_FIELD_256)}decodeBooleanArray(t,e){return this.decodeBitMatrix(O.parseFromBooleanArray(t),e)}decodeBitMatrix(t,e){const r=new Z(t);let n=null;try{return this.decodeBitMatrixParser(r,e)}catch(t){n=t}try{r.remask(),r.setMirror(!0),r.readVersion(),r.readFormatInformation(),r.mirror();const t=this.decodeBitMatrixParser(r,e);return t.setOther(new j(!0)),t}catch(t){if(null!==n)throw n;throw t}}decodeBitMatrixParser(t,e){const r=t.readVersion(),n=t.readFormatInformation().getErrorCorrectionLevel(),s=t.readCodewords(),i=X.getDataBlocks(s,r,n);let o=0;for(const t of i)o+=t.getNumDataCodewords();const a=new Uint8Array(o);let h=0;for(const t of i){const e=t.getCodewords(),r=t.getNumDataCodewords();this.correctErrors(e,r);for(let t=0;t<r;t++)a[h++]=e[t]}return J.decode(a,r,n,e)}correctErrors(t,e){const r=new Int32Array(t);try{this.rsDecoder.decode(r,t.length-e)}catch(t){throw new B}for(let n=0;n<e;n++)t[n]=r[n]}}class tt{constructor(){}static round(t){return isNaN(t)?0:t<=Number.MIN_SAFE_INTEGER?Number.MIN_SAFE_INTEGER:t>=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t+(t<0?-.5:.5)|0}static distance(t,e,r,n){const s=t-r,i=e-n;return Math.sqrt(s*s+i*i)}static sum(t){let e=0;for(let r=0,n=t.length;r!==n;r++){e+=t[r]}return e}}class et{constructor(t,e){this.bits=t,this.points=e}getBits(){return this.bits}getPoints(){return this.points}}class rt{static checkAndNudgePoints(t,e){const r=t.getWidth(),n=t.getHeight();let s=!0;for(let t=0;t<e.length&&s;t+=2){const i=Math.floor(e[t]),a=Math.floor(e[t+1]);if(i<-1||i>r||a<-1||a>n)throw new o;s=!1,-1===i?(e[t]=0,s=!0):i===r&&(e[t]=r-1,s=!0),-1===a?(e[t+1]=0,s=!0):a===n&&(e[t+1]=n-1,s=!0)}s=!0;for(let t=e.length-2;t>=0&&s;t-=2){const i=Math.floor(e[t]),a=Math.floor(e[t+1]);if(i<-1||i>r||a<-1||a>n)throw new o;s=!1,-1===i?(e[t]=0,s=!0):i===r&&(e[t]=r-1,s=!0),-1===a?(e[t+1]=0,s=!0):a===n&&(e[t+1]=n-1,s=!0)}}}class nt{constructor(t,e,r,n,s,i,o,a,h){this.a11=t,this.a21=e,this.a31=r,this.a12=n,this.a22=s,this.a32=i,this.a13=o,this.a23=a,this.a33=h}static quadrilateralToQuadrilateral(t,e,r,n,s,i,o,a,h,l,c,u,w,d,f,g){const m=nt.quadrilateralToSquare(t,e,r,n,s,i,o,a);return nt.squareToQuadrilateral(h,l,c,u,w,d,f,g).times(m)}transformPoints(t){const e=t.length,r=this.a11,n=this.a12,s=this.a13,i=this.a21,o=this.a22,a=this.a23,h=this.a31,l=this.a32,c=this.a33;for(let u=0;u<e;u+=2){const e=t[u],w=t[u+1],d=s*e+a*w+c;t[u]=(r*e+i*w+h)/d,t[u+1]=(n*e+o*w+l)/d}}transformPointsWithValues(t,e){const r=this.a11,n=this.a12,s=this.a13,i=this.a21,o=this.a22,a=this.a23,h=this.a31,l=this.a32,c=this.a33,u=t.length;for(let w=0;w<u;w++){const u=t[w],d=e[w],f=s*u+a*d+c;t[w]=(r*u+i*d+h)/f,e[w]=(n*u+o*d+l)/f}}static squareToQuadrilateral(t,e,r,n,s,i,o,a){const h=t-r+s-o,l=e-n+i-a;if(0===h&&0===l)return new nt(r-t,s-r,t,n-e,i-n,e,0,0,1);{const c=r-s,u=o-s,w=n-i,d=a-i,f=c*d-u*w,g=(h*d-u*l)/f,m=(c*l-h*w)/f;return new nt(r-t+g*r,o-t+m*o,t,n-e+g*n,a-e+m*a,e,g,m,1)}}static quadrilateralToSquare(t,e,r,n,s,i,o,a){return nt.squareToQuadrilateral(t,e,r,n,s,i,o,a).buildAdjoint()}buildAdjoint(){return new nt(this.a22*this.a33-this.a23*this.a32,this.a23*this.a31-this.a21*this.a33,this.a21*this.a32-this.a22*this.a31,this.a13*this.a32-this.a12*this.a33,this.a11*this.a33-this.a13*this.a31,this.a12*this.a31-this.a11*this.a32,this.a12*this.a23-this.a13*this.a22,this.a13*this.a21-this.a11*this.a23,this.a11*this.a22-this.a12*this.a21)}times(t){return new nt(this.a11*t.a11+this.a21*t.a12+this.a31*t.a13,this.a11*t.a21+this.a21*t.a22+this.a31*t.a23,this.a11*t.a31+this.a21*t.a32+this.a31*t.a33,this.a12*t.a11+this.a22*t.a12+this.a32*t.a13,this.a12*t.a21+this.a22*t.a22+this.a32*t.a23,this.a12*t.a31+this.a22*t.a32+this.a32*t.a33,this.a13*t.a11+this.a23*t.a12+this.a33*t.a13,this.a13*t.a21+this.a23*t.a22+this.a33*t.a23,this.a13*t.a31+this.a23*t.a32+this.a33*t.a33)}}class st{static setGridSampler(t){st.gridSampler=t}static getInstance(){return st.gridSampler}}st.gridSampler=new class extends rt{sampleGrid(t,e,r,n,s,i,o,a,h,l,c,u,w,d,f,g,m,I,S){const A=nt.quadrilateralToQuadrilateral(n,s,i,o,a,h,l,c,u,w,d,f,g,m,I,S);return this.sampleGridWithTransform(t,e,r,A)}sampleGridWithTransform(t,e,r,n){if(e<=0||r<=0)throw new o;const s=new O(e,r),i=new Float32Array(2*e);for(let e=0;e<r;e++){const r=i.length,a=e+.5;for(let t=0;t<r;t+=2)i[t]=t/2+.5,i[t+1]=a;n.transformPoints(i),rt.checkAndNudgePoints(t,i);try{for(let n=0;n<r;n+=2)t.get(Math.floor(i[n]),Math.floor(i[n+1]))&&s.set(n/2,e)}catch(t){throw new o}}return s}};class it{static floatToIntBits(t){return t}}it.MAX_VALUE=Number.MAX_SAFE_INTEGER;class ot{constructor(t,e){this.x=t,this.y=e}getX(){return this.x}getY(){return this.y}equals(t){if(t instanceof ot){const e=t;return this.x===e.x&&this.y===e.y}return!1}hashCode(){return 31*it.floatToIntBits(this.x)+it.floatToIntBits(this.y)}toString(){return"("+this.x+","+this.y+")"}static orderBestPatterns(t){const e=this.distance(t[0],t[1]),r=this.distance(t[1],t[2]),n=this.distance(t[0],t[2]);let s,i,o;if(r>=e&&r>=n?(i=t[0],s=t[1],o=t[2]):n>=r&&n>=e?(i=t[1],s=t[0],o=t[2]):(i=t[2],s=t[0],o=t[1]),this.crossProductZ(s,i,o)<0){const t=s;s=o,o=t}t[0]=s,t[1]=i,t[2]=o}static distance(t,e){return tt.distance(t.x,t.y,e.x,e.y)}static crossProductZ(t,e,r){const n=e.x,s=e.y;return(r.x-n)*(t.y-s)-(r.y-s)*(t.x-n)}}class at extends ot{constructor(t,e,r){super(t,e),this.estimatedModuleSize=r}aboutEquals(t,e,r){if(Math.abs(e-this.getY())<=t&&Math.abs(r-this.getX())<=t){const e=Math.abs(t-this.estimatedModuleSize);return e<=1||e<=this.estimatedModuleSize}return!1}combineEstimate(t,e,r){const n=(this.getX()+e)/2,s=(this.getY()+t)/2,i=(this.estimatedModuleSize+r)/2;return new at(n,s,i)}}class ht{constructor(t,e,r,n,s,i,o){this.image=t,this.startX=e,this.startY=r,this.width=n,this.height=s,this.moduleSize=i,this.resultPointCallback=o,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(3)}find(){const t=this.startX,e=this.height,r=t+this.width,n=this.startY+e/2,s=new Int32Array(3),i=this.image;for(let o=0;o<e;o++){const e=n+(1&o?-Math.floor((o+1)/2):Math.floor((o+1)/2));s[0]=0,s[1]=0,s[2]=0;let a=t;for(;a<r&&!i.get(a,e);)a++;let h=0;for(;a<r;){if(i.get(a,e))if(1===h)s[1]++;else if(2===h){if(this.foundPatternCross(s)){const t=this.handlePossibleCenter(s,e,a);if(null!==t)return t}s[0]=s[2],s[1]=1,s[2]=0,h=1}else s[++h]++;else 1===h&&h++,s[h]++;a++}if(this.foundPatternCross(s)){const t=this.handlePossibleCenter(s,e,r);if(null!==t)return t}}if(0!==this.possibleCenters.length)return this.possibleCenters[0];throw new o}static centerFromEnd(t,e){return e-t[2]-t[1]/2}foundPatternCross(t){const e=this.moduleSize,r=e/2;for(let n=0;n<3;n++)if(Math.abs(e-t[n])>=r)return!1;return!0}crossCheckVertical(t,e,r,n){const s=this.image,i=s.getHeight(),o=this.crossCheckStateCount;o[0]=0,o[1]=0,o[2]=0;let a=t;for(;a>=0&&s.get(e,a)&&o[1]<=r;)o[1]++,a--;if(a<0||o[1]>r)return NaN;for(;a>=0&&!s.get(e,a)&&o[0]<=r;)o[0]++,a--;if(o[0]>r)return NaN;for(a=t+1;a<i&&s.get(e,a)&&o[1]<=r;)o[1]++,a++;if(a===i||o[1]>r)return NaN;for(;a<i&&!s.get(e,a)&&o[2]<=r;)o[2]++,a++;if(o[2]>r)return NaN;const h=o[0]+o[1]+o[2];return 5*Math.abs(h-n)>=2*n?NaN:this.foundPatternCross(o)?ht.centerFromEnd(o,a):NaN}handlePossibleCenter(t,e,r){const n=t[0]+t[1]+t[2],s=ht.centerFromEnd(t,r),i=this.crossCheckVertical(e,s,2*t[1],n);if(!isNaN(i)){const e=(t[0]+t[1]+t[2])/3;for(const t of this.possibleCenters)if(t.aboutEquals(e,i,s))return t.combineEstimate(i,s,e);const r=new at(s,i,e);this.possibleCenters.push(r),null!==this.resultPointCallback&&void 0!==this.resultPointCallback&&this.resultPointCallback.foundPossibleResultPoint(r)}return null}}class lt extends ot{constructor(t,e,r,n){super(t,e),this.estimatedModuleSize=r,this.count=n,void 0===n&&(this.count=1)}getEstimatedModuleSize(){return this.estimatedModuleSize}getCount(){return this.count}aboutEquals(t,e,r){if(Math.abs(e-this.getY())<=t&&Math.abs(r-this.getX())<=t){const e=Math.abs(t-this.estimatedModuleSize);return e<=1||e<=this.estimatedModuleSize}return!1}combineEstimate(t,e,r){const n=this.count??0,s=n+1,i=(n*this.getX()+e)/s,o=(n*this.getY()+t)/s,a=(n*this.estimatedModuleSize+r)/s;return new lt(i,o,a,s)}}class ct{constructor(t){this.bottomLeft=t[0],this.topLeft=t[1],this.topRight=t[2]}getBottomLeft(){return this.bottomLeft}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}}class ut{constructor(t,e){this.image=t,this.resultPointCallback=e,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(5),this.resultPointCallback=e}getImage(){return this.image}getPossibleCenters(){return this.possibleCenters}find(t){const e=null!=t&&void 0!==t.get(m.TRY_HARDER),r=null!=t&&void 0!==t.get(m.PURE_BARCODE),n=this.image,s=n.getHeight(),i=n.getWidth();let o=Math.floor(3*s/(4*ut.MAX_MODULES));(o<ut.MIN_SKIP||e)&&(o=ut.MIN_SKIP);let a=!1;const h=new Int32Array(5);for(let t=o-1;t<s&&!a;t+=o){h[0]=0,h[1]=0,h[2]=0,h[3]=0,h[4]=0;let e=0;for(let s=0;s<i;s++)if(n.get(s,t))1&~e||e++,h[e]++;else if(1&e)h[e]++;else if(4===e)if(ut.foundPatternCross(h)){if(!0!==this.handlePossibleCenter(h,t,s,r)){h[0]=h[2],h[1]=h[3],h[2]=h[4],h[3]=1,h[4]=0,e=3;continue}if(o=2,!0===this.hasSkipped)a=this.haveMultiplyConfirmedCenters();else{const e=this.findRowSkip();e>h[2]&&(t+=e-h[2]-o,s=i-1)}e=0,h[0]=0,h[1]=0,h[2]=0,h[3]=0,h[4]=0}else h[0]=h[2],h[1]=h[3],h[2]=h[4],h[3]=1,h[4]=0,e=3;else h[++e]++;if(ut.foundPatternCross(h)){!0===this.handlePossibleCenter(h,t,i,r)&&(o=h[0],this.hasSkipped&&(a=this.haveMultiplyConfirmedCenters()))}}const l=this.selectBestPatterns();return ot.orderBestPatterns(l),new ct(l)}static centerFromEnd(t,e){return e-t[4]-t[3]-t[2]/2}static foundPatternCross(t){let e=0;for(let r=0;r<5;r++){const n=t[r];if(0===n)return!1;e+=n}if(e<7)return!1;const r=e/7,n=r/2;return Math.abs(r-t[0])<n&&Math.abs(r-t[1])<n&&Math.abs(3*r-t[2])<3*n&&Math.abs(r-t[3])<n&&Math.abs(r-t[4])<n}getCrossCheckStateCount(){const t=this.crossCheckStateCount;return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t}crossCheckDiagonal(t,e,r,n){const s=this.getCrossCheckStateCount();let i=0;const o=this.image;for(;t>=i&&e>=i&&o.get(e-i,t-i);)s[2]++,i++;if(t<i||e<i)return!1;for(;t>=i&&e>=i&&!o.get(e-i,t-i)&&s[1]<=r;)s[1]++,i++;if(t<i||e<i||s[1]>r)return!1;for(;t>=i&&e>=i&&o.get(e-i,t-i)&&s[0]<=r;)s[0]++,i++;if(s[0]>r)return!1;const a=o.getHeight(),h=o.getWidth();for(i=1;t+i<a&&e+i<h&&o.get(e+i,t+i);)s[2]++,i++;if(t+i>=a||e+i>=h)return!1;for(;t+i<a&&e+i<h&&!o.get(e+i,t+i)&&s[3]<r;)s[3]++,i++;if(t+i>=a||e+i>=h||s[3]>=r)return!1;for(;t+i<a&&e+i<h&&o.get(e+i,t+i)&&s[4]<r;)s[4]++,i++;if(s[4]>=r)return!1;const l=s[0]+s[1]+s[2]+s[3]+s[4];return Math.abs(l-n)<2*n&&ut.foundPatternCross(s)}crossCheckVertical(t,e,r,n){const s=this.image,i=s.getHeight(),o=this.getCrossCheckStateCount();let a=t;for(;a>=0&&s.get(e,a);)o[2]++,a--;if(a<0)return NaN;for(;a>=0&&!s.get(e,a)&&o[1]<=r;)o[1]++,a--;if(a<0||o[1]>r)return NaN;for(;a>=0&&s.get(e,a)&&o[0]<=r;)o[0]++,a--;if(o[0]>r)return NaN;for(a=t+1;a<i&&s.get(e,a);)o[2]++,a++;if(a===i)return NaN;for(;a<i&&!s.get(e,a)&&o[3]<r;)o[3]++,a++;if(a===i||o[3]>=r)return NaN;for(;a<i&&s.get(e,a)&&o[4]<r;)o[4]++,a++;if(o[4]>=r)return NaN;const h=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(h-n)>=2*n?NaN:ut.foundPatternCross(o)?ut.centerFromEnd(o,a):NaN}crossCheckHorizontal(t,e,r,n){const s=this.image,i=s.getWidth(),o=this.getCrossCheckStateCount();let a=t;for(;a>=0&&s.get(a,e);)o[2]++,a--;if(a<0)return NaN;for(;a>=0&&!s.get(a,e)&&o[1]<=r;)o[1]++,a--;if(a<0||o[1]>r)return NaN;for(;a>=0&&s.get(a,e)&&o[0]<=r;)o[0]++,a--;if(o[0]>r)return NaN;for(a=t+1;a<i&&s.get(a,e);)o[2]++,a++;if(a===i)return NaN;for(;a<i&&!s.get(a,e)&&o[3]<r;)o[3]++,a++;if(a===i||o[3]>=r)return NaN;for(;a<i&&s.get(a,e)&&o[4]<r;)o[4]++,a++;if(o[4]>=r)return NaN;const h=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(h-n)>=n?NaN:ut.foundPatternCross(o)?ut.centerFromEnd(o,a):NaN}handlePossibleCenter(t,e,r,n){const s=t[0]+t[1]+t[2]+t[3]+t[4];let i=ut.centerFromEnd(t,r),o=this.crossCheckVertical(e,Math.floor(i),t[2],s);if(!isNaN(o)&&(i=this.crossCheckHorizontal(Math.floor(i),Math.floor(o),t[2],s),!isNaN(i)&&(!n||this.crossCheckDiagonal(Math.floor(o),Math.floor(i),t[2],s)))){const t=s/7;let e=!1;const r=this.possibleCenters;for(let n=0,s=r.length;n<s;n++){const s=r[n];if(s.aboutEquals(t,o,i)){r[n]=s.combineEstimate(o,i,t),e=!0;break}}if(!e){const e=new lt(i,o,t);r.push(e),null!==this.resultPointCallback&&void 0!==this.resultPointCallback&&this.resultPointCallback.foundPossibleResultPoint(e)}return!0}return!1}findRowSkip(){if(this.possibleCenters.length<=1)return 0;let t=null;for(const e of this.possibleCenters){const r=e?.getCount();if(void 0!==r&&r>=ut.CENTER_QUORUM){if(null!=t)return this.hasSkipped=!0,Math.floor((Math.abs(t.getX()-e.getX())-Math.abs(t.getY()-e.getY()))/2);t=e}}return 0}haveMultiplyConfirmedCenters(){let t=0,e=0;const r=this.possibleCenters.length;for(const r of this.possibleCenters){const n=r.getCount();void 0!==n&&n>=ut.CENTER_QUORUM&&(t++,e+=r.getEstimatedModuleSize())}if(t<3)return!1;const n=e/r;let s=0;for(const t of this.possibleCenters)s+=Math.abs(t.getEstimatedModuleSize()-n);return s<=.05*e}selectBestPatterns(){const t=this.possibleCenters.length;if(t<3)throw new o;const e=this.possibleCenters;let r;if(t>3){let n=0,s=0;for(const t of this.possibleCenters){const e=t.getEstimatedModuleSize();n+=e,s+=e*e}r=n/t;let i=Math.sqrt(s/t-r*r);e.sort(((t,e)=>{const n=Math.abs(e.getEstimatedModuleSize()-r),s=Math.abs(t.getEstimatedModuleSize()-r);return n<s?-1:n>s?1:0}));const o=Math.max(.2*r,i);for(let t=0;t<e.length&&e.length>3;t++){const n=e[t];Math.abs(n.getEstimatedModuleSize()-r)>o&&(e.splice(t,1),t--)}}if(e.length>3){let t=0;for(const r of e)t+=r.getEstimatedModuleSize();r=t/e.length,e.sort(((t,e)=>{if(e.getCount()===t.getCount()){const n=Math.abs(e.getEstimatedModuleSize()-r),s=Math.abs(t.getEstimatedModuleSize()-r);return n<s?1:n>s?-1:0}return(e.getCount()??0)-(t.getCount()??0)})),e.splice(3)}return[e[0],e[1],e[2]]}}ut.CENTER_QUORUM=2,ut.MIN_SKIP=3,ut.MAX_MODULES=57;class wt{constructor(t){this.image=t}getImage(){return this.image}getResultPointCallback(){return this.resultPointCallback}detect(t){this.resultPointCallback=null==t?null:t.get(m.NEED_RESULT_POINT_CALLBACK);const e=new ut(this.image,this.resultPointCallback).find(t);return this.processFinderPatternInfo(e)}processFinderPatternInfo(t){const e=t.getTopLeft(),r=t.getTopRight(),n=t.getBottomLeft(),s=this.calculateModuleSize(e,r,n);if(s<1)throw new o("No pattern found in proccess finder.");const i=wt.computeDimension(e,r,n,s),a=W.getProvisionalVersionForDimension(i),h=a.getDimensionForVersion()-7;let l=null;if(a.getAlignmentPatternCenters().length>0){const t=r.getX()-e.getX()+n.getX(),i=r.getY()-e.getY()+n.getY(),a=1-3/h,c=Math.floor(e.getX()+a*(t-e.getX())),u=Math.floor(e.getY()+a*(i-e.getY()));for(let t=4;t<=16;t<<=1)try{l=this.findAlignmentInRegion(s,c,u,t);break}catch(t){if(!(t instanceof o))throw t}}const c=wt.createTransform(e,r,n,l,i),u=wt.sampleGrid(this.image,c,i);let w;return w=null===l?[n,e,r]:[n,e,r,l],new et(u,w)}static createTransform(t,e,r,n,s){const i=s-3.5;let o,a,h,l;return null!==n?(o=n.getX(),a=n.getY(),h=i-3,l=h):(o=e.getX()-t.getX()+r.getX(),a=e.getY()-t.getY()+r.getY(),h=i,l=i),nt.quadrilateralToQuadrilateral(3.5,3.5,i,3.5,h,l,3.5,i,t.getX(),t.getY(),e.getX(),e.getY(),o,a,r.getX(),r.getY())}static sampleGrid(t,e,r){return st.getInstance().sampleGridWithTransform(t,r,r,e)}static computeDimension(t,e,r,n){const s=tt.round(ot.distance(t,e)/n),i=tt.round(ot.distance(t,r)/n);let a=Math.floor((s+i)/2)+7;switch(3&a){case 0:a++;break;case 2:a--;break;case 3:throw new o("Dimensions could be not found.")}return a}calculateModuleSize(t,e,r){return(this.calculateModuleSizeOneWay(t,e)+this.calculateModuleSizeOneWay(t,r))/2}calculateModuleSizeOneWay(t,e){const r=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(t.getX()),Math.floor(t.getY()),Math.floor(e.getX()),Math.floor(e.getY())),n=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(e.getX()),Math.floor(e.getY()),Math.floor(t.getX()),Math.floor(t.getY()));return isNaN(r)?n/7:isNaN(n)?r/7:(r+n)/14}sizeOfBlackWhiteBlackRunBothWays(t,e,r,n){let s=this.sizeOfBlackWhiteBlackRun(t,e,r,n),i=1,o=t-(r-t);o<0?(i=t/(t-o),o=0):o>=this.image.getWidth()&&(i=(this.image.getWidth()-1-t)/(o-t),o=this.image.getWidth()-1);let a=Math.floor(e-(n-e)*i);return i=1,a<0?(i=e/(e-a),a=0):a>=this.image.getHeight()&&(i=(this.image.getHeight()-1-e)/(a-e),a=this.image.getHeight()-1),o=Math.floor(t+(o-t)*i),s+=this.sizeOfBlackWhiteBlackRun(t,e,o,a),s-1}sizeOfBlackWhiteBlackRun(t,e,r,n){const s=Math.abs(n-e)>Math.abs(r-t);if(s){let s=t;t=e,e=s,s=r,r=n,n=s}const i=Math.abs(r-t),o=Math.abs(n-e);let a=-i/2;const h=t<r?1:-1,l=e<n?1:-1;let c=0;const u=r+h;for(let r=t,w=e;r!==u;r+=h){const h=s?w:r,u=s?r:w;if(1===c===this.image.get(h,u)){if(2===c)return tt.distance(r,w,t,e);c++}if(a+=o,a>0){if(w===n)break;w+=l,a-=i}}return 2===c?tt.distance(r+h,n,t,e):NaN}findAlignmentInRegion(t,e,r,n){const s=Math.floor(n*t),i=Math.max(0,e-s),a=Math.min(this.image.getWidth()-1,e+s);if(a-i<3*t)throw new o("Alignment top exceeds estimated module size.");const h=Math.max(0,r-s),l=Math.min(this.image.getHeight()-1,r+s);if(l-h<3*t)throw new o("Alignment bottom exceeds estimated module size.");return new ht(this.image,i,h,a-i,l-h,t,this.resultPointCallback).find()}}class dt{constructor(){this.decoder=new $}getDecoder(){return this.decoder}decode(t,e){let r,n;const s=null==e?(new Map).set(m.TRY_HARDER,!0):e;try{const e=dt.extractPureBits(t.getBlackMatrix());r=this.decoder.decodeBitMatrix(e,s),n=dt.NO_POINTS}catch(e){const i=new wt(t.getBlackMatrix()).detect(s);r=this.decoder.decodeBitMatrix(i.getBits(),s),n=i.getPoints()}r.getOther()instanceof j&&r.getOther().applyMirroredCorrection(n);const i=new N(r.getText(),r.getRawBytes(),void 0,n,h.QR_CODE,void 0),o=r.getByteSegments();o&&i.putMetadata(R.BYTE_SEGMENTS,o);const a=r.getECLevel();return a&&i.putMetadata(R.ERROR_CORRECTION_LEVEL,a),r.hasStructuredAppend()&&(i.putMetadata(R.STRUCTURED_APPEND_SEQUENCE,r.getStructuredAppendSequenceNumber()),i.putMetadata(R.STRUCTURED_APPEND_PARITY,r.getStructuredAppendParity())),i}decode2(t,e){let r,n;const s=null==e||null==e?(new Map).set(m.TRY_HARDER,!0):void 0;console.log("hintsDef",s);const i=dt.extractPureBits(t.getBlackMatrix());r=this.decoder.decodeBitMatrix(i,s),n=dt.NO_POINTS,r.getOther()instanceof j&&r.getOther().applyMirroredCorrection(n);const o=new N(r.getText(),r.getRawBytes(),void 0,n,h.QR_CODE,void 0),a=r.getByteSegments();null!==a&&o.putMetadata(R.BYTE_SEGMENTS,a);const l=r.getECLevel();return null!==l&&o.putMetadata(R.ERROR_CORRECTION_LEVEL,l),r.hasStructuredAppend()&&(o.putMetadata(R.STRUCTURED_APPEND_SEQUENCE,r.getStructuredAppendSequenceNumber()),o.putMetadata(R.STRUCTURED_APPEND_PARITY,r.getStructuredAppendParity())),o}reset(){}static extractPureBits(t){const e=t.getTopLeftOnBit(),r=t.getBottomRightOnBit();if(null===e||null===r)throw new o;const n=this.moduleSize(e,t);let s=e[1],i=r[1],a=e[0],h=r[0];if(a>=h||s>=i)throw new o;if(i-s!=h-a&&(h=a+(i-s),h>=t.getWidth()))throw new o;const l=Math.round((h-a+1)/n),c=Math.round((i-s+1)/n);if(l<=0||c<=0)throw new o;if(c!==l)throw new o;const u=Math.floor(n/2);s+=u,a+=u;const w=a+Math.floor((l-1)*n)-h;if(w>0){if(w>u)throw new o;a-=w}const d=s+Math.floor((c-1)*n)-i;if(d>0){if(d>u)throw new o;s-=d}const f=new O(l,c);for(let e=0;e<c;e++){const r=s+Math.floor(e*n);for(let s=0;s<l;s++)t.get(a+Math.floor(s*n),r)&&f.set(s,e)}return f}static moduleSize(t,e){const r=e.getHeight(),n=e.getWidth();let s=t[0],i=t[1],a=!0,h=0;for(;s<n&&i<r;){if(a!==e.get(s,i)){if(5==++h)break;a=!a}s++,i++}if(s===n||i===r)throw new o;return(s-t[0])/7}}dt.NO_POINTS=new Array;class ft{constructor(t){if(this.binarizer=t,null===t)throw new l("Binarizer must be non-null.")}getWidth(){return this.binarizer.getWidth()}getHeight(){return this.binarizer.getHeight()}getBlackRow(t,e){return this.binarizer.getBlackRow(t,e)}getBlackMatrix(){return null!==this.matrix&&void 0!==this.matrix||(this.matrix=this.binarizer.getBlackMatrix()),this.matrix}isCropSupported(){return this.binarizer.getLuminanceSource().isCropSupported()}crop(t,e,r,n){const s=this.binarizer.getLuminanceSource().crop(t,e,r,n);return new ft(this.binarizer.createBinarizer(s))}isRotateSupported(){return this.binarizer.getLuminanceSource().isRotateSupported()}rotateCounterClockwise(){const t=this.binarizer.getLuminanceSource().rotateCounterClockwise();return new ft(this.binarizer.createBinarizer(t))}rotateCounterClockwise45(){const t=this.binarizer.getLuminanceSource().rotateCounterClockwise45();return new ft(this.binarizer.createBinarizer(t))}toString(){try{return this.getBlackMatrix().toString()}catch(t){return""}}}class gt{constructor(t){this.source=t}getLuminanceSource(){return this.source}getWidth(){return this.source.getWidth()}getHeight(){return this.source.getHeight()}}class mt extends gt{constructor(t){super(t),this.luminances=mt.EMPTY,this.buckets=new Int32Array(mt.LUMINANCE_BUCKETS)}getBlackRow(t,e){const r=this.getLuminanceSource(),n=r.getWidth();null==e||e.getSize()<n?e=new M(n):e.clear(),this.initArrays(n);const s=r.getRow(t,this.luminances),i=this.buckets;for(let t=0;t<n;t++)i[(255&s[t])>>mt.LUMINANCE_SHIFT]++;const o=mt.estimateBlackPoint(i);if(n<3)for(let t=0;t<n;t++)(255&s[t])<o&&e.set(t);else{let t=255&s[0],r=255&s[1];for(let i=1;i<n-1;i++){const n=255&s[i+1];(4*r-t-n)/2<o&&e.set(i),t=r,r=n}}return e}getBlackMatrix(){const t=this.getLuminanceSource(),e=t.getWidth(),r=t.getHeight(),n=new O(e,r);this.initArrays(e);const s=this.buckets;for(let n=1;n<5;n++){const i=Math.floor(r*n/5),o=t.getRow(i,this.luminances),a=Math.floor(4*e/5);for(let t=Math.floor(e/5);t<a;t++){s[(255&o[t])>>mt.LUMINANCE_SHIFT]++}}const i=mt.estimateBlackPoint(s),o=t.getMatrix();for(let t=0;t<r;t++){const r=t*e;for(let s=0;s<e;s++){(255&o[r+s])<i&&n.set(s,t)}}return n}createBinarizer(t){return new mt(t)}initArrays(t){this.luminances.length<t&&(this.luminances=new Uint8ClampedArray(t));const e=this.buckets;for(let t=0;t<mt.LUMINANCE_BUCKETS;t++)e[t]=0}static estimateBlackPoint(t){const e=t.length;let r=0,n=0,s=0;for(let i=0;i<e;i++)t[i]>s&&(n=i,s=t[i]),t[i]>r&&(r=t[i]);let i=0,a=0;for(let r=0;r<e;r++){const e=r-n,s=t[r]*e*e;s>a&&(i=r,a=s)}if(n>i){const t=n;n=i,i=t}if(i-n<=e/16)throw new o;let h=i-1,l=-1;for(let e=i-1;e>n;e--){const s=e-n,o=s*s*(i-e)*(r-t[e]);o>l&&(h=e,l=o)}return h<<mt.LUMINANCE_SHIFT}}mt.LUMINANCE_BITS=5,mt.LUMINANCE_SHIFT=8-mt.LUMINANCE_BITS,mt.LUMINANCE_BUCKETS=1<<mt.LUMINANCE_BITS,mt.EMPTY=Uint8ClampedArray.from([0]);class It extends mt{constructor(t){super(t),this.matrix=null}getBlackMatrix(){if(null!==this.matrix)return this.matrix;const t=this.getLuminanceSource(),e=t.getWidth(),r=t.getHeight();if(e>=It.MINIMUM_DIMENSION&&r>=It.MINIMUM_DIMENSION){const n=t.getMatrix();let s=e>>It.BLOCK_SIZE_POWER;e&It.BLOCK_SIZE_MASK&&s++;let i=r>>It.BLOCK_SIZE_POWER;r&It.BLOCK_SIZE_MASK&&i++;const o=It.calculateBlackPoints(n,s,i,e,r),a=new O(e,r);It.calculateThresholdForBlock(n,s,i,e,r,o,a),this.matrix=a}else this.matrix=super.getBlackMatrix();return this.matrix}createBinarizer(t){return new It(t)}static calculateThresholdForBlock(t,e,r,n,s,i,o){const a=s-It.BLOCK_SIZE,h=n-It.BLOCK_SIZE;for(let s=0;s<r;s++){let l=s<<It.BLOCK_SIZE_POWER;l>a&&(l=a);const c=It.cap(s,2,r-3);for(let r=0;r<e;r++){let s=r<<It.BLOCK_SIZE_POWER;s>h&&(s=h);const a=It.cap(r,2,e-3);let u=0;for(let t=-2;t<=2;t++){const e=i[c+t];u+=e[a-2]+e[a-1]+e[a]+e[a+1]+e[a+2]}const w=u/25;It.thresholdBlock(t,s,l,w,n,o)}}}static cap(t,e,r){return t<e?e:t>r?r:t}static thresholdBlock(t,e,r,n,s,i){for(let o=0,a=r*s+e;o<It.BLOCK_SIZE;o++,a+=s)for(let s=0;s<It.BLOCK_SIZE;s++)(255&t[a+s])<=n&&i.set(e+s,r+o)}static calculateBlackPoints(t,e,r,n,s){const i=s-It.BLOCK_SIZE,o=n-It.BLOCK_SIZE,a=new Array(r);for(let s=0;s<r;s++){a[s]=new Int32Array(e);let r=s<<It.BLOCK_SIZE_POWER;r>i&&(r=i);for(let i=0;i<e;i++){let e=i<<It.BLOCK_SIZE_POWER;e>o&&(e=o);let h=0,l=255,c=0;for(let s=0,i=r*n+e;s<It.BLOCK_SIZE;s++,i+=n){for(let e=0;e<It.BLOCK_SIZE;e++){const r=255&t[i+e];h+=r,r<l&&(l=r),r>c&&(c=r)}if(c-l>It.MIN_DYNAMIC_RANGE)for(s++,i+=n;s<It.BLOCK_SIZE;s++,i+=n)for(let e=0;e<It.BLOCK_SIZE;e++)h+=255&t[i+e]}let u=h>>2*It.BLOCK_SIZE_POWER;if(c-l<=It.MIN_DYNAMIC_RANGE&&(u=l/2,s>0&&i>0)){const t=(a[s-1][i]+2*a[s][i-1]+a[s-1][i-1])/4;l<t&&(u=t)}a[s][i]=u}}return a}}It.BLOCK_SIZE_POWER=3,It.BLOCK_SIZE=1<<It.BLOCK_SIZE_POWER,It.BLOCK_SIZE_MASK=It.BLOCK_SIZE-1,It.MINIMUM_DIMENSION=5*It.BLOCK_SIZE,It.MIN_DYNAMIC_RANGE=24;class St{constructor(t,e){this.width=t,this.height=e}getWidth(){return this.width}getHeight(){return this.height}isCropSupported(){return!1}crop(t,e,r,n){throw new A("This luminance source does not support cropping.")}isRotateSupported(){return!1}rotateCounterClockwise(){throw new A("This luminance source does not support rotation by 90 degrees.")}rotateCounterClockwise45(){throw new A("This luminance source does not support rotation by 45 degrees.")}toString(){const t=new Uint8ClampedArray(this.width);let e=new _;for(let r=0;r<this.height;r++){const n=this.getRow(r,t);for(let t=0;t<this.width;t++){const r=255&n[t];let s;s=r<64?"#":r<128?"+":r<192?".":" ",e.append(s)}e.append("\n")}return e.toString()}}class At extends St{constructor(t){super(t.getWidth(),t.getHeight()),this.delegate=t}getRow(t,e){const r=this.delegate.getRow(t,e),n=this.getWidth();for(let t=0;t<n;t++)r[t]=255-(255&r[t]);return r}getMatrix(){const t=this.delegate.getMatrix(),e=this.getWidth()*this.getHeight(),r=new Uint8ClampedArray(e);for(let n=0;n<e;n++)r[n]=255-(255&t[n]);return r}isCropSupported(){return this.delegate.isCropSupported()}crop(t,e,r,n){return new At(this.delegate.crop(t,e,r,n))}isRotateSupported(){return this.delegate.isRotateSupported()}invert(){return this.delegate}rotateCounterClockwise(){return new At(this.delegate.rotateCounterClockwise())}rotateCounterClockwise45(){return new At(this.delegate.rotateCounterClockwise45())}}class Ct extends St{constructor(t,e=128){super(t.getWidth(),t.getHeight()),this.delegate=t,this.threshold=e}getRow(t,e){const r=this.delegate.getRow(t,e),n=this.getWidth();for(let t=0;t<n;t++)r[t]=r[t]<this.threshold?0:255;return r}getMatrix(){const t=this.delegate.getMatrix(),e=this.getWidth()*this.getHeight(),r=new Uint8ClampedArray(e);for(let n=0;n<e;n++)r[n]=t[n]<this.threshold?0:255;return r}isCropSupported(){return this.delegate.isCropSupported()}crop(t,e,r,n){return new Ct(this.delegate.crop(t,e,r,n),this.threshold)}isRotateSupported(){return this.delegate.isRotateSupported()}rotateCounterClockwise(){return new Ct(this.delegate.rotateCounterClockwise(),this.threshold)}rotateCounterClockwise45(){return new Ct(this.delegate.rotateCounterClockwise45(),this.threshold)}invert(){return new At(this)}highContrast(){return this}}class Et extends St{constructor(t,e=!1){super(t.width,t.height),this.canvas=t,this.tempCanvasElement=null,this.buffer=Et.makeBufferFromCanvasImageData(t,e)}static makeBufferFromCanvasImageData(t,e=!1){const r=t.getContext("2d").getImageData(0,0,t.width,t.height);return Et.toGrayscaleBuffer(r.data,t.width,t.height,e)}static toGrayscaleBuffer(t,e,r,n=!1){const s=new Uint8ClampedArray(e*r);if(Et.FRAME_INDEX=!Et.FRAME_INDEX,Et.FRAME_INDEX||!n)for(let e=0,r=0,n=t.length;e<n;e+=4,r++){let n;if(0===t[e+3])n=255;else{n=306*t[e]+601*t[e+1]+117*t[e+2]+512>>10}s[r]=n}else for(let e=0,r=0,n=t.length;e<n;e+=4,r++){let n;if(0===t[e+3])n=255;else{n=306*t[e]+601*t[e+1]+117*t[e+2]+512>>10}s[r]=255-n}return s}getRow(t,e){if(t<0||t>=this.getHeight())throw new l("Requested row is outside the image: "+t);const r=this.getWidth(),n=t*r;return null===e?e=this.buffer.slice(n,n+r):(e.length<r&&(e=new Uint8ClampedArray(r)),e.set(this.buffer.slice(n,n+r))),e}getMatrix(){return this.buffer}isCropSupported(){return!0}crop(t,e,r,n){return super.crop(t,e,r,n),this}isRotateSupported(){return!0}rotateCounterClockwise(){return this.rotate(-90),this}rotateCounterClockwise45(){return this.rotate(-45),this}getTempCanvasElement(){if(null===this.tempCanvasElement){const t=this.canvas.ownerDocument.createElement("canvas");t.width=this.canvas.width,t.height=this.canvas.height,this.tempCanvasElement=t}return this.tempCanvasElement}rotate(t){const e=this.getTempCanvasElement(),r=e.getContext("2d"),n=t*Et.DEGREE_TO_RADIANS,s=this.canvas.width,i=this.canvas.height,o=Math.ceil(Math.abs(Math.cos(n))*s+Math.abs(Math.sin(n))*i),a=Math.ceil(Math.abs(Math.sin(n))*s+Math.abs(Math.cos(n))*i);return e.width=o,e.height=a,r.translate(o/2,a/2),r.rotate(n),r.drawImage(this.canvas,s/-2,i/-2),this.buffer=Et.makeBufferFromCanvasImageData(e),this}invert(){return new At(this)}hightContrast(t=128){return new Ct(this,t)}}Et.DEGREE_TO_RADIANS=Math.PI/180,Et.FRAME_INDEX=!0;class _t{get hasNavigator(){return"undefined"!=typeof navigator}get isMediaDevicesSuported(){return this.hasNavigator&&!!navigator.mediaDevices}get canEnumerateDevices(){return!(!this.isMediaDevicesSuported||!navigator.mediaDevices.enumerateDevices)}get timeBetweenDecodingAttempts(){return this._timeBetweenDecodingAttempts}set timeBetweenDecodingAttempts(t){this._timeBetweenDecodingAttempts=t<0?0:t}set hints(t){this._hints=t||null}get hints(){return this._hints}constructor(t,e=500,r){this.reader=t,this.timeBetweenScansMillis=e,this._hints=r,this._timeBetweenDecodingAttempts=0}getMediaElement(t,e){const r=document.getElementById(t);if(!r)throw new z(`element with id '${t}' not found`);if(r.nodeName.toLowerCase()!==e.toLowerCase())throw new z(`element with id '${t}' must be an ${e} element`);return r}decodeFromImage(t,e){if(!t&&!e)throw new z("either imageElement with a src set or an url must be provided");return e&&!t?this.decodeFromImageUrl(e):this.decodeFromImageElement(t)}decodeFromImageElement(t){if(!t)throw new z("An image element must be provided.");this.reset();const e=this.prepareImageElement(t);let r;return this.imageElement=e,r=this.isImageLoaded(e)?this.decodeOnce(e,!1,!0):this._decodeOnLoadImage(e),r}decodeFromImageUrl(t){if(!t)throw new z("An URL must be provided.");this.reset();const e=this.prepareImageElement();this.imageElement=e;const r=this._decodeOnLoadImage(e);return e.src=t,r}_decodeOnLoadImage(t){return new Promise(((e,r)=>{this.imageLoadedListener=()=>this.decodeOnce(t,!1,!0).then(e,r),t.addEventListener("load",this.imageLoadedListener)}))}isImageLoaded(t){return!!t.complete&&0!==t.naturalWidth}prepareImageElement(t){let e;return void 0===t&&(e=document.createElement("img"),e.width=200,e.height=200),"string"==typeof t&&(e=this.getMediaElement(t,"img")),t instanceof HTMLImageElement&&(e=t),e}decodeOnce(t,e=!0,r=!0){const n=(s,i)=>{try{s(this.decode(t))}catch(t){if(e&&t instanceof o||(t instanceof B||t instanceof I)&&r)return setTimeout(n,this._timeBetweenDecodingAttempts,s,i);i(t)}};return new Promise(((t,e)=>n(t,e)))}decode(t){const e=this.createBinaryBitmap(t);return this.decodeBitmap(e)}createBinaryBitmap(t){this.getCaptureCanvasContext(t),this.drawImageOnCanvas(t);const e=this.getCaptureCanvas(t),r=new Et(e),n=new It(r);return new ft(n)}getCaptureCanvasContext(t){if(!this.captureCanvasContext){const e=this.getCaptureCanvas(t);let r;try{r=e.getContext("2d",{willReadFrequently:!0})}catch(t){r=e.getContext("2d")}this.captureCanvasContext=r}return this.captureCanvasContext}getCaptureCanvas(t){if(!this.captureCanvas){const e=this.createCaptureCanvas(t);this.captureCanvas=e}return this.captureCanvas}drawImageOnCanvas(t,e={sx:0,sy:0,sWidth:t.naturalWidth,sHeight:t.naturalHeight,dx:0,dy:0,dWidth:t.naturalWidth,dHeight:t.naturalHeight},r=this.captureCanvasContext){r.drawImage(t,e.sx,e.sy,e.sWidth,e.sHeight,e.dx,e.dy,e.dWidth,e.dHeight)}decodeBitmap(t){try{return this.reader.decode(t,this._hints)}finally{this.reader.reset()}}createCaptureCanvas(t){if("undefined"==typeof document)return this._destroyCaptureCanvas(),null;const e=document.createElement("canvas");let r,n;return void 0!==t&&t instanceof HTMLImageElement&&(r=t.naturalWidth||t.width,n=t.naturalHeight||t.height),e.style.width=r+"px",e.style.height=n+"px",e.width=r,e.height=n,e}reset(){this._destroyImageElement(),this._destroyCaptureCanvas()}_destroyImageElement(){this.imageElement&&(void 0!==this.imageLoadedListener&&this.imageElement.removeEventListener("load",this.imageLoadedListener),this.imageElement.src="",this.imageElement.removeAttribute("src"),this.imageElement=void 0)}_destroyCaptureCanvas(){this.captureCanvasContext=void 0,this.captureCanvas=void 0}}class pt extends _t{constructor(t=100){const e=new dt;super(e,t),this.inProgressDecodes=0,this.qrReader=e}safeReset(){if(0===this.inProgressDecodes)try{this.qrReader.reset()}catch(t){}}decodeBitmap(t){if(!t)throw new o("Bitmap cannot be null");this.inProgressDecodes++;try{return this.qrReader.decode(t,this._hints)}catch(t){throw t}finally{this.inProgressDecodes--,setTimeout((()=>this.safeReset()),0)}}async decodeFromImageUrl(t){this.inProgressDecodes++;try{const e=document.createElement("img");return e.src=t,new Promise(((t,r)=>{e.onload=()=>{try{const r=this.decode(e);t(r)}catch(t){r(t)}},e.onerror=()=>{r(new Error("Failed to load image"))}}))}finally{this.inProgressDecodes--}}reset(){0===this.inProgressDecodes?super.reset():setTimeout((()=>{0===this.inProgressDecodes&&super.reset()}),100)}}class Mt extends t{constructor(t=!1){super(),this.debug=t,this.validatorName="ZXing Data URL Validator",this.validator=new pt}async validate(t,e,r=!1){this.debug=this.debug||r;const n=[{name:"Normal SVG",execute:async()=>{if(!t)throw new Error("No svg source");const e="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(t),r=await this.validator.decodeFromImageUrl(e);if(!r.getText())throw new Error("No text found in normal QR code");return{isValid:!0,decodedText:r.getText(),message:"Decoded successfully."}}},{name:"Inverted SVG",execute:async()=>{const t=await e();if(!t)throw new Error("Failed to get inverted SVG");const r="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(t),n=await this.validator.decodeFromImageUrl(r);if(!n.getText())throw new Error("No text found in inverted QR code");return{isValid:!0,isInverted:!0,decodedText:n.getText(),message:"Decoded successfully (inverted)."}}}];for(const t of n)try{this.log(`Trying ${t.name} decode...`);return await t.execute()}catch(e){this.log(`${t.name} decode failed:`),this.log(e)}return{isValid:!1,message:"Failed to decode QR code after all attempts."}}}export{Mt as default};
@@ -1,5 +1,6 @@
1
1
  import { type Options } from '~/utils/options';
2
2
  import { RecursivePartial } from '~/types/helper';
3
+ export declare const plainQRTemplate: RecursivePartial<Options>;
3
4
  export declare const basicQRTemplate: RecursivePartial<Options>;
4
5
  export declare const roundedQRTemplate: RecursivePartial<Options>;
5
6
  export declare const dotsQRTemplate: RecursivePartial<Options>;
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { QRCodeBuilder } from './builder';
2
1
  import { QRCodeJs as _QRCodeJs } from './core/qr-code-js';
3
- import { type Options as QRCodeJsOptions } from './utils/options';
2
+ import { RecursivePartial } from './types/helper';
3
+ import { Options, type Options as QRCodeJsOptions } from './utils/options';
4
4
  import { ScanValidatorResponse } from './utils/scan-validators/abstract-scan-validator';
5
5
  import { type DecodedLicenseToken } from './utils/token-validator';
6
6
  export { ErrorCorrectionLevel, Mode, TypeNumber } from './lib/qrcode/QRCodeMinimal';
@@ -44,11 +44,11 @@ export declare class QRCodeJs extends _QRCodeJs {
44
44
  token: string | null;
45
45
  license: DecodedLicenseToken | null;
46
46
  }>;
47
- validateScanning(validatorId?: string, // Default validator
47
+ validateScanning(_validatorId?: string, // Default validator
48
48
  debug?: boolean): Promise<ScanValidatorResponse>;
49
49
  /**
50
50
  * Creates a QRCodeBuilder instance initialized with a specific template.
51
- * Allows for fluent configuration chaining.
51
+ * Allows for fluent configuration chaining. We need it here to avoid circular dependency
52
52
  * @param templateName - The name of the template to start with.
53
53
  * @returns A new QRCodeBuilder instance.
54
54
  */
@@ -58,3 +58,17 @@ export declare class _ extends QRCodeJs {
58
58
  protected _hls(): boolean;
59
59
  constructor(options: QRCodeJsOptions);
60
60
  }
61
+ declare class QRCodeBuilder {
62
+ protected config: RecursivePartial<Options>;
63
+ /**
64
+ * Creates a new QRCodeBuilderCore instance.
65
+ * @param templateName - Optional name of a predefined template to start with.
66
+ */
67
+ constructor(templateName?: string);
68
+ /**
69
+ * Merges the provided options into the builder's configuration and creates the QRCodeJs instance.
70
+ * @param options - A partial options object to merge.
71
+ * @returns The created QRCodeJs instance.
72
+ */
73
+ options(options: RecursivePartial<Options>): QRCodeJs;
74
+ }