"use strict";var Mode=require("./mode"),Polynomial=require("./Polynomial"),math=require("./math"),QRMaskPattern={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},QRUtil={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]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(r){for(var t=r<<10;0<=QRUtil.getBCHDigit(t)-QRUtil.getBCHDigit(QRUtil.G15);)t^=QRUtil.G15<>>=1;return t},getPatternPosition:function(r){return QRUtil.PATTERN_POSITION_TABLE[r-1]},getMask:function(r,t,e){switch(r){case QRMaskPattern.PATTERN000:return(t+e)%2==0;case QRMaskPattern.PATTERN001:return t%2==0;case QRMaskPattern.PATTERN010:return e%3==0;case QRMaskPattern.PATTERN011:return(t+e)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(t/2)+Math.floor(e/3))%2==0;case QRMaskPattern.PATTERN101:return t*e%2+t*e%3==0;case QRMaskPattern.PATTERN110:return(t*e%2+t*e%3)%2==0;case QRMaskPattern.PATTERN111:return(t*e%3+(t+e)%2)%2==0;default:throw new Error("bad maskPattern:"+r)}},getErrorCorrectPolynomial:function(r){for(var t=new Polynomial([1],0),e=0;e