{"ast":null,"code":"var Mode = require('./mode');\n\nvar Polynomial = require('./Polynomial');\n\nvar math = require('./math');\n\nvar QRMaskPattern = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n};\nvar QRUtil = {\n PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]],\n G15: 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0,\n G18: 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0,\n G15_MASK: 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1,\n getBCHTypeInfo: function (data) {\n var d = data << 10;\n\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n d ^= QRUtil.G15 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15);\n }\n\n return (data << 10 | d) ^ QRUtil.G15_MASK;\n },\n getBCHTypeNumber: function (data) {\n var d = data << 12;\n\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n d ^= QRUtil.G18 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18);\n }\n\n return data << 12 | d;\n },\n getBCHDigit: function (data) {\n var digit = 0;\n\n while (data != 0) {\n digit++;\n data >>>= 1;\n }\n\n return digit;\n },\n getPatternPosition: function (typeNumber) {\n return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n getMask: function (maskPattern, i, j) {\n switch (maskPattern) {\n case QRMaskPattern.PATTERN000:\n return (i + j) % 2 == 0;\n\n case QRMaskPattern.PATTERN001:\n return i % 2 == 0;\n\n case QRMaskPattern.PATTERN010:\n return j % 3 == 0;\n\n case QRMaskPattern.PATTERN011:\n return (i + j) % 3 == 0;\n\n case QRMaskPattern.PATTERN100:\n return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;\n\n case QRMaskPattern.PATTERN101:\n return i * j % 2 + i * j % 3 == 0;\n\n case QRMaskPattern.PATTERN110:\n return (i * j % 2 + i * j % 3) % 2 == 0;\n\n case QRMaskPattern.PATTERN111:\n return (i * j % 3 + (i + j) % 2) % 2 == 0;\n\n default:\n throw new Error(\"bad maskPattern:\" + maskPattern);\n }\n },\n getErrorCorrectPolynomial: function (errorCorrectLength) {\n var a = new Polynomial([1], 0);\n\n for (var i = 0; i < errorCorrectLength; i++) {\n a = a.multiply(new Polynomial([1, math.gexp(i)], 0));\n }\n\n return a;\n },\n getLengthInBits: function (mode, type) {\n if (1 <= type && type < 10) {\n // 1 - 9\n switch (mode) {\n case Mode.MODE_NUMBER:\n return 10;\n\n case Mode.MODE_ALPHA_NUM:\n return 9;\n\n case Mode.MODE_8BIT_BYTE:\n return 8;\n\n case Mode.MODE_KANJI:\n return 8;\n\n default:\n throw new Error(\"mode:\" + mode);\n }\n } else if (type < 27) {\n // 10 - 26\n switch (mode) {\n case Mode.MODE_NUMBER:\n return 12;\n\n case Mode.MODE_ALPHA_NUM:\n return 11;\n\n case Mode.MODE_8BIT_BYTE:\n return 16;\n\n case Mode.MODE_KANJI:\n return 10;\n\n default:\n throw new Error(\"mode:\" + mode);\n }\n } else if (type < 41) {\n // 27 - 40\n switch (mode) {\n case Mode.MODE_NUMBER:\n return 14;\n\n case Mode.MODE_ALPHA_NUM:\n return 13;\n\n case Mode.MODE_8BIT_BYTE:\n return 16;\n\n case Mode.MODE_KANJI:\n return 12;\n\n default:\n throw new Error(\"mode:\" + mode);\n }\n } else {\n throw new Error(\"type:\" + type);\n }\n },\n getLostPoint: function (qrCode) {\n var moduleCount = qrCode.getModuleCount();\n var lostPoint = 0; // LEVEL1\n\n for (var row = 0; row < moduleCount; row++) {\n for (var col = 0; col < moduleCount; col++) {\n var sameCount = 0;\n var dark = qrCode.isDark(row, col);\n\n for (var r = -1; r <= 1; r++) {\n if (row + r < 0 || moduleCount <= row + r) {\n continue;\n }\n\n for (var c = -1; c <= 1; c++) {\n if (col + c < 0 || moduleCount <= col + c) {\n continue;\n }\n\n if (r == 0 && c == 0) {\n continue;\n }\n\n if (dark == qrCode.isDark(row + r, col + c)) {\n sameCount++;\n }\n }\n }\n\n if (sameCount > 5) {\n lostPoint += 3 + sameCount - 5;\n }\n }\n } // LEVEL2\n\n\n for (var row = 0; row < moduleCount - 1; row++) {\n for (var col = 0; col < moduleCount - 1; col++) {\n var count = 0;\n if (qrCode.isDark(row, col)) count++;\n if (qrCode.isDark(row + 1, col)) count++;\n if (qrCode.isDark(row, col + 1)) count++;\n if (qrCode.isDark(row + 1, col + 1)) count++;\n\n if (count == 0 || count == 4) {\n lostPoint += 3;\n }\n }\n } // LEVEL3\n\n\n for (var row = 0; row < moduleCount; row++) {\n for (var col = 0; col < moduleCount - 6; col++) {\n if (qrCode.isDark(row, col) && !qrCode.isDark(row, col + 1) && qrCode.isDark(row, col + 2) && qrCode.isDark(row, col + 3) && qrCode.isDark(row, col + 4) && !qrCode.isDark(row, col + 5) && qrCode.isDark(row, col + 6)) {\n lostPoint += 40;\n }\n }\n }\n\n for (var col = 0; col < moduleCount; col++) {\n for (var row = 0; row < moduleCount - 6; row++) {\n if (qrCode.isDark(row, col) && !qrCode.isDark(row + 1, col) && qrCode.isDark(row + 2, col) && qrCode.isDark(row + 3, col) && qrCode.isDark(row + 4, col) && !qrCode.isDark(row + 5, col) && qrCode.isDark(row + 6, col)) {\n lostPoint += 40;\n }\n }\n } // LEVEL4\n\n\n var darkCount = 0;\n\n for (var col = 0; col < moduleCount; col++) {\n for (var row = 0; row < moduleCount; row++) {\n if (qrCode.isDark(row, col)) {\n darkCount++;\n }\n }\n }\n\n var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n lostPoint += ratio * 10;\n return lostPoint;\n }\n};\nmodule.exports = QRUtil;","map":{"version":3,"names":["Mode","require","Polynomial","math","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHTypeInfo","data","d","getBCHDigit","getBCHTypeNumber","digit","getPatternPosition","typeNumber","getMask","maskPattern","i","j","Math","floor","Error","getErrorCorrectPolynomial","errorCorrectLength","a","multiply","gexp","getLengthInBits","mode","type","MODE_NUMBER","MODE_ALPHA_NUM","MODE_8BIT_BYTE","MODE_KANJI","getLostPoint","qrCode","moduleCount","getModuleCount","lostPoint","row","col","sameCount","dark","isDark","r","c","count","darkCount","ratio","abs","module","exports"],"sources":["/Users/mahdi/Documents/work/programming/barnameNegar/arbaeenWebApp/node_modules/qr.js/lib/util.js"],"sourcesContent":["var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n"],"mappings":"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"},"metadata":{},"sourceType":"script"}