Files

3 lines
19 KiB
JavaScript
Raw Permalink Normal View History

2026-10-21 23:46:31 +03:00
var QRCode;!function(){function t(t){this.mode=o.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(let t=0,e=this.data.length;t<e;t++){let e=[],o=this.data.charCodeAt(t);o>65536?(e[0]=240|(1835008&o)>>>18,e[1]=128|(258048&o)>>>12,e[2]=128|(4032&o)>>>6,e[3]=128|63&o):o>2048?(e[0]=224|(61440&o)>>>12,e[1]=128|(4032&o)>>>6,e[2]=128|63&o):o>128?(e[0]=192|(1984&o)>>>6,e[1]=128|63&o):e[0]=o,this.parsedData.push(e)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function e(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}t.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(let e=0,o=this.parsedData.length;e<o;e++)t.put(this.parsedData[e],8)}},e.prototype={addData:function(e){let o=new t(e);this.dataList.push(o),this.dataCache=null},isDark:function(t,e){if(t<0||this.moduleCount<=t||e<0||this.moduleCount<=e)throw new Error(t+","+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,o){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(let t=0;t<this.moduleCount;t++){this.modules[t]=new Array(this.moduleCount);for(let e=0;e<this.moduleCount;e++)this.modules[t][e]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,o),this.typeNumber>=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,o)},setupPositionProbePattern:function(t,e){for(let o=-1;o<=7;o++)if(!(t+o<=-1||this.moduleCount<=t+o))for(let i=-1;i<=7;i++)e+i<=-1||this.moduleCount<=e+i||(this.modules[t+o][e+i]=0<=o&&o<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==o||6==o)||2<=o&&o<=4&&2<=i&&i<=4)},getBestMaskPattern:function(){let t=0,e=0;for(let o=0;o<8;o++){this.makeImpl(!0,o);let i=f.getLostPoint(this);(0==o||t>i)&&(t=i,e=o)}return e},createMovieClip:function(t,e,o){let i=t.createEmptyMovieClip(e,o);this.make();for(let t=0;t<this.modules.length;t++){let e=1*t;for(let o=0;o<this.modules[t].length;o++){let n=1*o;this.modules[t][o]&&(i.beginFill(0,100),i.moveTo(n,e),i.lineTo(n+1,e),i.lineTo(n+1,e+1),i.lineTo(n,e+1),i.endFill())}}return i},setupTimingPattern:function(){for(let t=8;t<this.moduleCount-8;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(let t=8;t<this.moduleCount-8;t++)null==this.modules[6][t]&&(this.modules[6][t]=t%2==0)},setupPositionAdjustPattern:function(){let t=f.getPatternPosition(this.typeNumber);for(let e=0;e<t.length;e++)for(let o=0;o<t.length;o++){let i=t[e],n=t[o];if(null==this.modules[i][n])for(let t=-2;t<=2;t++)for(let e=-2;e<=2;e++)this.modules[i+t][n+e]=-2==t||2==t||-2==e||2==e||0==t&&0==e}},setupTypeNumber:function(t){let e=f.getBCHTypeNumber(this.typeNumber);for(let o=0;o<18;o++){let i=!t&&1==(e>>o&1);this.modules[Math.floor(o/3)][o%3+this.moduleCount-8-3]=i}for(let o=0;o<18;o++){let i=!t&&1==(e>>o&1);this.modules[o%3+this.moduleCount-8-3][Math.floor(o/3)]=i}},setupTypeInfo:function(t,e){let o=this.errorCorrectLevel<<3|e,i=f.getBCHTypeInfo(o);for(let e=0;e<15;e++){let o=!t&&1==(i>>e&1);e<6?this.modules[e][8]=o:e<8?this.modules[e+1][8]=o:this.modules[this.moduleCount-15+e][8]=o}for(let e=0;e<15;e++){let o=!t&&1==(i>>e&1);e<8?this.modules[8][this.moduleCount-e-1]=o:e<9?this.modules[8][15-e-1+1]=o:this.modules[8][15-e-1]=o}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){let o=-1,i=this.moduleCount-1,n=7,r=0;for(let l=this.moduleCount-1;l>0;l-=2)for(6==l&&l--;;){for(let o=0;o<2;o++)if(null==this.modules[i][l-o]){let s=!1;r<t.length&&(s=1==(t[r]>>>n&1)),f.getMask(e,i,l-o)&&(s=!s),this.modules[i][l-o]=s,n--,-1==n&&(r++,n=7)}if(i+=o,i<0||this.moduleCount<=i){i-=o,o=-o;break}
//used var instead of let!!