/**
 * Javascript chess.
 * Based on p4wn project (http://p4wn.sourceforge.net/) by Douglas Bagnall
 * @author Sergey Chikuyonok (gonarch@design.ru)
 * @author Douglas Bagnall (http://p4wn.sourceforge.net/)
 * @copyright Art.Lebedev Studio (http://www.artlebedev.ru)
 */

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('d r={2o:2,3E:[\'\',\'1i-3q\',\'1i-3r\',\'1i-3S\',\'1i-3X\',\'1i-3t\',\'1i-3R\',\'\',\'\',\'1u-3q\',\'1u-3r\',\'1u-3S\',\'1u-3X\',\'1u-3t\',\'1u-3R\'],2E:7,1P:50,2p:1,2v:2,2n:3,2s:4,3a:v(1h){c.1l=$(\'#4O\');c.3D=c.1l.3I(\'.l\');c.2T=c.1l.3I(\'.5l\');g(!c.13){c.13={};c.13[r.2p]=\'1S\';c.13[r.2v]=\'4P 4Q 1G 4R 1S!\';c.13[r.2n]=\'\';c.13[r.2s]=\'\'}c.u={1K:2c};c.29=[0,0,[1,10],[21,19,12,8],[11,9],[1,10,11,9],[1,10,11,9],0];c.1c=[3,3];c.3b=[25,4U];c.1t=[0,1,5,3,3,9,4V,0];c.1v=[];c.4S=[[],[]];c.1X=[10,-10];c.L=(1h)?21:0;c.4W=[[],[]];A(d i=0;i<8;i++){c.1t[i+8]=c.1t[i]*=10;d 1H=c.29[i];g(1H){A(d j=0,2x=1H.H;j<2x;){1H[2x+j]=-1H[j++]}}}c.l=[];d x=\'3M\';d y=\'3N\';g(!1h)1h=y+y+"5d"+x+x+x+x+"4Z"+y+y;d 3z=x+x+x+"4A";c.2b=[];d 3c=\'52\';c.2S=[];c.2f=[];c.1A=[];A(d i=0;i<12;i++){A(d j=0;j<10;j++){d z=(i*10)+j;c.2S[z]=1m(3c.23(i));c.2f[z]=1m(3z.23((z<4x)?z:2a-z),35)&7;c.l[z]=1m(1h.23(z),35);c.1A[z]=z}}c.l[T]=0;c.J=[];c.54=3;c.1O=4;c.3Z=1;c.41=v(a,b){D b[0]-a[0]};c.G=0;c.4r=0;c.33=0;c.17=0;c.L=0;c.57=0;c.V=0;c.2l=0;c.3v=0;c.2G=0;c.1o=4o;c.1e=-c.1o;c.58=0;c.5a="5b";c.2F=[];c.1T();c.3C()},3C:v(){d 1l=c.3D;1l.4C();d f=v(K){D r.3n(K)};d 2h,z;A(d y=5e;y>10;y-=10){A(d x=0;x<10;x++){z=y+x;g(x&&x<9){2h=$(\'<5f>\').22(\'N\',\'i\'+z).1w(\'p\').3T({1D:(x-1)*r.1P+r.2E,1M:(9-y/10)*r.1P+r.2E});1l.5h(2h);2h.3o(f)}}}$(5i).3p(f).3w(f);c.2j(0)},1T:v(){g(!(c.L&7)&&c.1O>1)c.1O--;c.3Z=(c.L>>4)&1;c.J[0]=[];c.J[8]=[];c.2Q=[];c.1x=[[],[]];A(d z=21;z<3g;z++){d a=c.l[z];g(a&7){c.J[a&8][c.J[a&8].H]=[a,z]}c.2b[z]=c.2f[z]*c.1O;c.2Q[z]=(c.L>40)||(10-2*c.2f[z])*c.1O;c.1x[1][2a-z]=c.1x[0][z]=c.2S[z];g(c.L<5&&z>40)c.1x[0][z]=c.1x[1][2a-z]+=(1N.3k()*c.2b[z])>>1}},2z:v(M,1g,2P){d q,w;d h;d E,a;d 1d;d F;d k=-1;d P=M>>3;d C=M^8;d 5j=C>>3;d I=c.1X[P];d Q=[];d m;d O;d 1a=c.1x[P];d 1v;d 1V=c.1c[P];d z;d 1B;d 2N;d 1k=c.J[M];g(!1k)5m(\'5n 1k\');d 45=1k.H;d B=c.l;A(z=0;z<45;z++){q=1k[z][1];a=B[q];g(1k[z][0]==a){a&=7;g(a>1){1B=a==6;1v=1B?c.2Q:c.2b;O=2P-1v[q];F=c.29[a];g(a==3||1B){A(1d=0;1d<8;){w=q+F[1d++];E=B[w];g(!E||(E&24)==C){Q[++k]=[O+c.1t[E]+1v[w],q,w]}}g(1B&&1V){g(1V&1&&!(B[q-1]+B[q-2]+B[q-3])&&c.1S(q-2,C,I,-1)){Q[++k]=[O+11,q,q-2]}g(1V&2&&!(B[q+1]+B[q+2])&&c.1S(q,C,I,1)){Q[++k]=[O+12,q,q+2]}}}14{2N=F.H;A(1d=0;1d<2N;){E=0;m=F[1d++];w=q;2k(!E){w+=m;E=B[w];g(!E||(E&24)==C){Q[++k]=[O+c.1t[E]+1v[w],q,w]}}}}}14{O=2P-1a[q];w=q+I;g(!B[w]){Q[++k]=[O+1a[w],q,w];g(!1a[q]&&(!B[w+I])){Q[++k]=[O+1a[w+I],q,w+I,w]}}g(1g&&(1g==w+1||1g==w-1)){Q[++k]=[O+1a[w],q,1g]}A(h=w-1;h<w+2;h+=2){E=B[h]+M;g(E&7&&E&8){Q[++k]=[O+c.1t[E]+1a[h],q,h]}}}}}D Q},1S:v(q,C,I,1z){d w,E,5w,5x=q%10,x,m,3F=q+3,3A=I+2,k=c.29[3],B=c.l;A(;q<3F;q++){A(m=I-2;++m<3A;){E=B[q+m];g(E&&(E&8)==C&&((E&7)==1||(E&7)==6))D 0;E=0;w=q;2k(!E){w+=m;E=B[w];g((E==C+2+(m!=I)*2)||E==C+5)D 0}}A(z=0;z<8;){g(B[q+k[z++]]-C==3)D 0}}E=0;q-=3;2k(!E){q-=1z;E=B[q];g(E==C+2||E==C+5)D 0}D 1},18:v(1j,M,1s,s,e,W,1y,1g,5B){d z=-1;1s=-1s;d C=8-M;g(1s<-1W)D[1s,s,e];d b=c.1e;d S,E=c.l[e];c.l[e]=S=c.l[s];c.l[s]=0;g(S)c.J[C][c.J[C].H]=[S,e];d 1R,1n;g(S&7==1&&c.l[e+c.1X[M>>3]]>15){c.l[e]+=4-2w}g(S&7==6&&(s-e==2||e-s==2)){1R=s-4+(s<e)*7;1n=(s+e)>>1;c.l[1R]=0;c.l[1n]=M+2}d X;d Z;d F;X=c.2z(M,1g,1s);Z=X.H;c.2l+=Z;c.2G++;g(Z){g(1j){d t;d 42=c.41;X.5D(42);1j--;d 1L=X[0];d 1E=1L[1];d 1G=1L[2];b=-c.18(1j,C,1L[0],1E,1G,-1y,-W,1L[3])[0];A(z=1;z<Z;z++){g(b>W)W=b;F=X[z];t=-c.18(1j,C,F[0],F[1],F[2],-W-1,-W,F[3])[0];g((t>W)&&(t<1y)){t=-c.18(1j,C,F[0],F[1],F[2],-1y,-t,F[3])[0]}g(t>b){b=t;1E=F[1];1G=F[2];g(t>W)W=t;g(b>1y){2g}}}}14{b=c.1e;2k(--Z&&1y>b){g(X[Z][0]>b){b=X[Z][0]}}}}g(1R){c.l[1R]=M+2;c.l[1n]=0}c.l[s]=S;c.l[e]=E;g(c.J[C].H)c.J[C].H--;D[b,1E,1G]},3u:v(){d s,e,2D,R,46,1E;d 2Z=2X 2Y();d 47=r.2o;c.2G=c.2l=c.3v=0;R=c.3e(c.G);d 3i=2X 2Y();2D=R[0];s=R[1];e=R[2];D c.2V(s,e,0,2D+" "+(3i-2Z)+\'4c\')},3e:v(1z){g(4d(1z)==\'4e\')1z=c.G;D c.18(r.2o,1z,0,T,T,c.1e,c.1o,c.V)},2V:v(s,e,2w,4h,20){d E=c.l[e];d S=c.l[s];d a=S&7;d P=c.G>>3;d I=c.1X[P];d x=s%10;d 2e=e-s;d 1J;d 38=0,z=0;c.1C(0);d R;c.l[e]=S;c.l[s]=0;d p=c.J[c.G];A(z=0;z<p.H;z++){g(p[z][1]==s)p[z][1]=e}R=c.18(0,8-c.G,0,T,T,c.1e,c.1o,c.V);g(R[0]>1W){c.1C(r.2v);c.l[e]=E;c.l[s]=S;c.2A(c.G);D 2c}p=c.J[c.G];A(z=0;z<p.H;z++){g(p[z][1]==s)p[z][1]=e}R=c.18(0,c.G,0,T,T,c.1e,c.1o,c.V);g(R[0]>1W){c.1C(r.2p);c.2A(8-c.G);1J=1}d 31=c.18(1,8-c.G,0,T,T,c.1e,c.1o,c.V);g(31[0]<-1W){c.33=0;c.1C(1J?r.2n:r.2s);c.3m(1J)}c.l[s]=S;c.l[e]=E;c.2F[c.L]=[c.l.36(),c.1c.36(),c.V];c.V=0;g(a==1){g(c.l[e+I]>15)c.l[s]+=4-2w;g(e==s+2*I&&(c.l[e-1]&1||c.l[e+1]&1))c.V=s+I;g(!E&&(s-e)%10)c.1Z(e,e-I)}g(s==21+P*37||s==28+P*37)c.1c[P]&=(x<5)+1;g(a==6){c.3b[P]=e;g(2e*2e==4){c.1Z(s-4+(s<e)*7,s+2e/2)}c.1c[P]=0}c.1Z(s,e,20);c.1T();c.L++;c.G=8-c.G;D 1},1Z:v(s,e,20){d z=0,a=c.l[s],p=c.J[c.G];c.l[e]=a;c.l[s]=0;A(z=0;z<p.H;z++){g((p[z][1]=s))p[z][1]=e}g(20){c.1r(s,0,1);c.1r(e,a,1)}14{c.3Y(s,e,a)}},3Y:v(2M,2L,1b){d s=c.2B(2M);d e=c.2B(2L);d 2i=s.3x().22(\'N\',\'\').1w(\'1b-2i\').3y(s.1w(\'2u\'));2i.2C({1D:e[0].2d,1M:e[0].1U},4t,\'2r.2q\',v(){2i.2m();r.1r(2M,0,1);r.1r(2L,1b,1)})},2B:v(N){g(N==1m(N,10))N=\'i\'+N;D $(\'#\'+N)},2j:v(3f){c.17=3f;A(d z=0;z<T;z++){c.1A[z]=(z);g(c.l[z]<16)c.1r(c.1A[z],c.l[z],1)}},4z:v(x){g(x>c.L)D;c.L-=x;d b=c.2F[L];c.l=3h("["+b[0]+"]");c.1c=3h("["+b[1]+"]");c.V=b[2];c.G=c.L%2;c.2j(c.G)},1r:v(1q,3l,3j){g(1q!=\'4D\'){g(3j){1q="i"+(c.17?2a-1q:1q)}$(\'#\'+1q)[0].3B=\'p \'+r.3E[3l]}},3n:v(K){4F(K.4H){2H\'3o\':c.3s(K);2g;2H\'3p\':c.3W(K);2g;2H\'3w\':c.34(K);2g}},3s:v(K){d Y=$(K.4L);d 1n=/1i\\-/;g(!(c.G&8)&&1n.38(Y[0].3B)){c.u.1K=2W;c.u.1b=Y;c.u.3H=K.3G;c.u.3L=K.3K;c.u.32=Y[0].2d;c.u.3J=Y[0].1U;c.u.1p=Y.3x().22(\'N\',\'\').1w(\'1b-4X\').3y(Y.1w(\'2u\'));d 1Q=1m(Y.22(\'N\').44(1),10);d p=r.2z(0,r.V,0),m;c.u.2O=[];A(d i=0,1I=p.H;i<1I;i++){m=p[i];g(m[1]==1Q){c.u.2O.59(m[2])}}c.u.1Q=1Q;c.u.U=3V}},34:v(K){g(c.u.1K){d x=c.u.32+(K.3G-c.u.3H);d y=c.u.3J+(K.3K-c.u.3L);c.u.1p.3T({1D:x,1M:y});g(c.u.U)c.u.U.2t(\'26 2K\');d 3Q=1N.3U(x/r.1P)+1;d 3O=1N.3U(y/r.1P)+1;d 2R=3P(10-3O)+3P(3Q);d 2J=2c;$.5r(c.u.2O,v(i,n){g(n==2R){2J=2W}});d 27=$(\'#i\'+2R);g(27.H){27.1w((2J)?\'26\':\'2K\');c.u.U=27}14{c.u.U=3V}}},3W:v(K){g(c.u.1K){c.u.1K=2c;g(c.u.U&&c.u.U.5E(\'.26\')){d o=c.u.U[0];c.u.1p.2C({1D:o.2d,1M:o.1U},30,\'2r.2q\',v(){g(r.2V(43(r.u.1Q),43(o.N.44(1)),0,10,2W)){r.u.1p.2m();r.3u()}14{r.2U()}})}14{c.2U()}g(c.u.U)c.u.U.2t(\'26 2K\')}},2U:v(){d o=c.u.1b[0];c.u.1p.2C({1D:o.2d,1M:o.1U},30,\'2r.2q\',v(){r.u.1b.2t(\'2u\');r.u.1p.2m()})},1C:v(1Y){g(1Y&&c.13[1Y]){c.2T.3d(c.13[1Y])}14{c.2T.3d(\'\')}},2A:v(17){c.J[17]=[];A(d z=21;z<3g;z++){d a=c.l[z];g((a&7)&&(a&8)==17){c.J[17][c.J[17].H]=[a,z]}}},3m:v(1J){D},2y:v(1f){d 1F=\'[\';A(d i=0,1I=1f.H;i<1I;i++){1F+=(1f[i]4I 4J)?c.2y(1f[i]):1f[i];g(i!=1I-1)1F+=\', \'}1F+=\']\';D 1F},4Y:v(1f){53.55(c.2y(1f))}};$(v(){d x=\'3M\';d y=\'3N\';d 2I=[y+y+\'39\'+\'5o\'+"5q"+\'5t\'+\'5u\'+\'5y\'+\'5z\'+\'5A\'+y+y,y+y+\'5F\'+\'5G\'+\'5I\'+\'5K\'+\'48\'+\'49\'+\'4b\'+\'4f\'+y+y,y+y+\'39\'+\'4j\'+\'4k\'+\'4l\'+\'4n\'+\'4p\'+\'4q\'+\'4s\'+y+y,y+y+\'4u\'+\'4v\'+\'4y\'+\'4B\'+\'4E\'+\'4G\'+\'4K\'+\'4M\'+y+y,y+y+\'4N\'+\'4T\'+\'56\'+\'5c\'+\'5g\'+\'5k\'+\'5p\'+\'5s\'+y+y,y+y+\'5v\'+\'5C\'+\'5H\'+\'5J\'+\'4a\'+\'4g\'+\'4i\'+\'4m\'+y+y];r.3a();d 1h=2I[1N.4w(1N.3k()*2I.H)];A(d i=0;i<12;i++){A(d j=0;j<10;j++){d z=(i*10)+j;r.l[z]=1m(1h.23(z),35);r.1A[z]=z}}r.L=51;r.1T();r.1c=[0,0];r.2j(0)});',62,357,'||||||||||||this|var|||if|||||board|||||yx|Chess|||drag|function|tyx||||for||nbm|return||mv|bmove|length|dir|pieces|evt|moveno|bm|id|wate|bmx|mvl|themove||120|last_cell|ep|alpha|movelist|obj|movecount||||messages|else|||player|treeclimber||pweight|piece|castle|cx|Al|data|EP|bstring|white|count|pbm|root|parseInt|re|Bt|elem|img|Bim|sc|pv|black|weight|addClass|pweights|beta|side|screenboard|ak|showMessage|left|bs|str|be|mz|il|ch|state|best|top|Math|s0|CELL_SIZE|cell|rs|check|prepare|offsetTop|cbmx|400|dirs|msg_id|shift|no_anim||attr|charAt|||available|cell_elem||moves|119|weights|false|offsetLeft|gap|b_weights|break|item|mover|refresh|while|parsees|remove|MESSAGE_CHECKMATE|AI_LEVEL|MESSAGE_CHECK|easeInOut|Cubic|MESSAGE_STALEMATE|removeClass|hidden|MESSAGE_IN_CHECK|queener|jl|dump|parse|restore_peices|getPiece|animate|pn|PIECE_OFFSET|boardheap|evaluees|case|init_strings|can_move|denied|to|from|mlen|avail_moves|tpn|kweights|cell_id|b_pweights|message_elem|_snapBack|move|true|new|Date|millisecs1|200|themove2|elem_x|going|onMouseMove||toString|70|test|g20052060g|init|kp|pw|html|getBestMove|bw|99|eval|millisecs2|swap|random|src|finish|dispatchEvent|mousedown|mouseup|pawn|rook|onMouseDown|queen|findmove|prunees|mousemove|clone|insertAfter|wstring|md|className|generateBoard|board_elem|PIECES|ex|pageX|start_x|find|elem_y|pageY|start_y|g00000000g|gggggggggg|cell_y|String|cell_x|king|knight|css|round|null|onMouseUp|bishop|movePiece|s1||comp|cmp|Number|substr|pbl|sb|level|g90009000g|g0D090A00g|g00001000g|g0000B099g|ms|typeof|undefined|g0A00000Eg|g90090B90g|score|g000009C9g|g00430100g|g01104011g|g10001000g|gA00DA0E0g|g09919300g|1999|g90090009g|g000CC99Bg|inhand|gA00DABE0g|500|g20420060g|g11100111g|floor|60|g00300300g|goback|000111100000123321000123553210|g00511000g|empty|pih|g00009000g|switch|g9099099Bg|type|instanceof|Array|g009C00C9g|target|gA00DE00Ag|g20006002g|chess|you|will|in|pawns|g11005111g|95|63|PV|dragger|print_vars|g99999999ggABCDECBAg|||000012346900|console|s00|log|g00340300g|mn50|ss|push|lttrs|abcdefgh|g00100000g|g23456432gg11111111g|90|div|g00D01000g|append|document|nx|g09B09009g|message|alert|no|g00040110g|g9C090990g|g04000301g|each|gA000BAE0g|g09001000g|g10019000g|g20020060g|E7|sx|g00090B00g|g00DC0999g|gAA000CE0g|dbg|g110500C0g|sort|is|g00050260g|g00400111g|g00300031g|g01100000g|g00190100g|g20000000g'.split('|'),0,{}))
