// Generated by js_of_ocaml 2.4.1 (function(E){"use strict";var cr=254,ce=".",a9=255,aA='"',a8="E",cg=250,cq="<",cp="(",co="jsError",az="px 'Arial'",cf="input",cd=785140586,cn=512,cl=982028505,cc=" ",ay=")",a7=256,ck="X",cj="Cannot happen in insert_rule",f="",aj=100,a_=" : file already exists",u="T",cb="/",cm="fd ",ci="\n",ch="index out of bounds",a$=">",a6="number";function fD(a,b,c,d,e){if(d<=b)for(var f=1;f<=e;f++)c[d+f]=a[b+f];else for(var f=e;f>=1;f--)c[d+f]=a[b+f];return 0}function cy(a,b){throw[0,a,b]}function bd(a){if(a.charCodeAt(a.length-1)==10)a=a.substr(0,a.length-1);var b=E.console;b&&b.error&&b.error(a)}var k=[0];function bc(a,b){if(!a)return f;if(a&1)return bc(a-1,b)+b;var c=bc(a>>1,b);return c+c}function v(a){this.string=this.array=null;if(a!==undefined){this.bytes=this.fullBytes=a;this.last=this.len=a.length}else{this.bytes=this.fullBytes=null;this.len=null;this.last=0}}function cz(){cy(k[4],new v(ch))}v.prototype={toJsString:function(){var a=this.getFullBytes();try{return this.string=decodeURIComponent(escape(a))}catch(f){bd('MlString.toJsString: wrong encoding for "'+a+aA);return a}},toBytes:function(){if(this.string!=null)try{var a=unescape(encodeURIComponent(this.string))}catch(f){bd('MlString.toBytes: wrong encoding for "'+this.string+aA);var a=this.string}else{var a=f,c=this.array,d=c.length;for(var b=0;b=0;e--)b[c+e]=g[a+e];else{var f=this.bytes;if(f==null)f=this.toBytes();var h=this.last-a;if(d<=h)for(var e=0;e=this.len)cz();return this.get(a)},set:function(a,b){var c=this.array;if(!c){if(this.last==a){this.bytes+=String.fromCharCode(b&a9);this.last++;return 0}c=this.toArray()}else if(this.bytes!=null)this.bytes=this.fullBytes=this.string=null;c[a]=b&a9;return 0},safeSet:function(a,b){if(this.len==null)this.toBytes();if(a<0||a>=this.len)cz();this.set(a,b)},fill:function(a,b,c){if(a>=this.last&&this.last&&c==0)return;var d=this.array;if(!d)d=this.toArray();else if(this.bytes!=null)this.bytes=this.fullBytes=this.string=null;var f=a+b;for(var e=a;ea.string)return 1;return 0}var b=this.getFullBytes(),c=a.getFullBytes();if(bc)return 1;return 0},equal:function(a){if(this.string!=null&&a.string!=null)return this.string==a.string;return this.getFullBytes()==a.getFullBytes()},lessThan:function(a){if(this.string!=null&&a.string!=null)return this.string=a.length-1)fE();return a[b+1]}function cs(a,b,c,d,e){if(e===0)return 0;if(a.array!=null&&c.last==0&&d==0&&e==c.len){c.array=a.array.slice(b,b+e);c.bytes=c.string=null;return 0}if(d===c.last&&c.bytes!=null){var f=a.bytes;if(f==null)f=a.toBytes();if(b>0||a.last>e)f=f.slice(b,b+e);c.bytes+=f;c.last+=f.length;return 0}var g=c.array;if(!g)g=c.toArray();else c.bytes=c.string=null;a.blitToArray(b,g,d,e);return 0}function N(c,b){if(c.fun)return N(c.fun,b);var a=c.length,d=a-b.length;if(d==0)return c.apply(null,b);else if(d<0)return N(c.apply(null,b.slice(0,a)),b.slice(a));else return function(a){return N(c,b.concat([a]))}}function fN(a,b){var c=a[3]<<16,d=b[3]<<16;if(c>d)return 1;if(cb[2])return 1;if(a[2]b[1])return 1;if(a[1]1)e.push(a,b,1)}}else return 1}else if(b instanceof v||b instanceof Array&&b[0]===(b[0]|0))return-1;else if(typeof a!=a6&&a&&a.compare)return a.compare(b,c);else{if(ab)return 1;if(a!=b){if(!c)return NaN;if(a==a)return 1;if(b==b)return-1}}if(e.length==0)return 0;var h=e.pop();b=e.pop();a=e.pop();if(h+1=0)}var aC={amp:/&/g,lt:/0?c.call(arguments):[undefined];return N(a,b)}}function fR(a,b){return+(al(a,b,false)<=0)}function fS(a,b){return+(al(a,b,false)<0)}function fJ(a){bb(k[3],a)}function o(a){a=a.getFullBytes();var c=[],d=a.length/2;for(var b=0;b>16;return c}function fT(a,b,c){var p=2,q=3,t=5,e=6,i=7,h=8,k=9,n=1,m=2,s=3,u=4,r=5;if(!a.lex_default){a.lex_base=o(a[n]);a.lex_backtrk=o(a[m]);a.lex_check=o(a[r]);a.lex_trans=o(a[u]);a.lex_default=o(a[s])}var f,d=b,l=c[p].getArray();if(d>=0){c[i]=c[t]=c[e];c[h]=-1}else d=-d-1;for(;;){var g=a.lex_base[d];if(g<0)return-g-1;var j=a.lex_backtrk[d];if(j>=0){c[i]=c[e];c[h]=j}if(c[e]>=c[q])if(c[k]==0)return-d-1;else f=a7;else{f=l[c[e]];c[e]++}d=a.lex_check[g+f]==d?a.lex_trans[g+f]:a.lex_default[d];if(d<0){c[e]=c[i];if(c[h]==-1)fJ("lexing: empty token");else return c[h]}else if(f==a7)c[k]=0}}function fU(a,b){var d=[0];for(var c=1;c<=a;c++)d[c]=b;return d}function w(a){bb(k[2],a)}function cv(a){if(!a.opened)w("Cannot flush a closed channel");if(a.buffer==f)return 0;if(a.output)switch(a.output.length){case 2:a.output(a,a.buffer);break;default:a.output(a.buffer)}a.buffer=f;return 0}function cx(a){a=a instanceof v?a.toString():a;w(a+": No such file or directory")}var fH=cb;function aD(a){a=a instanceof v?a.toString():a;if(a.charCodeAt(0)!=47)a=fH+a;var d=a.split(cb),b=[];for(var c=0;c1)b.pop();break;case ce:break;case f:if(b.length==0)b.push(f);break;default:b.push(d[c]);break}b.orig=a;return b}function M(){this.content={}}M.prototype={exists:function(a){return this.content[a]?1:0},mk:function(a,b){this.content[a]=b},get:function(a){return this.content[a]},list:function(){var a=[];for(var b in this.content)a.push(b);return a},remove:function(a){delete this.content[a]}};var aG=new M();aG.mk(f,new M());function ba(a){var b=aG;for(var c=0;c>16)*b<<16)+(a&65535)*b|0};var fZ=Math.imul;function f1(a){return+(a instanceof Array)}function f2(a){return a instanceof Array?a[0]:1e3}function f3(a,b,c,d){var x=a7,R=0,S=1,P=2,Q=3,O=4,K=5,r=6,H=7,F=8,G=9,w=10,N=0,t=1,L=2,M=3,J=4,I=5,p=1,E=2,D=3,q=4,B=5,V=6,h=7,v=8,X=9,W=10,y=11,T=12,U=13,A=14,C=15,z=16,ag=2,af=3,ab=4,aa=5,Z=6,_=7,ad=8,ac=9,$=10,s=11,ae=12,Y=13;if(!a.dgoto){a.defred=o(a[Z]);a.sindex=o(a[ad]);a.check=o(a[Y]);a.rindex=o(a[ac]);a.table=o(a[ae]);a.len=o(a[aa]);a.lhs=o(a[ab]);a.gindex=o(a[$]);a.dgoto=o(a[_])}var l=0,k,g,f,n,e=b[A],i=b[C],j=b[z];exit:for(;;)switch(c){case R:i=0;j=0;case r:k=a.defred[i];if(k!=0){c=w;break}if(b[h]>=0){c=H;break}l=N;break exit;case S:if(d instanceof Array){b[h]=a[af][d[0]+1];b[v]=d[1]}else{b[h]=a[ag][d+1];b[v]=0}case H:g=a.sindex[i];f=g+b[h];if(g!=0&&f>=0&&f<=a[s]&&a.check[f]==b[h]){c=F;break}g=a.rindex[i];f=g+b[h];if(g!=0&&f>=0&&f<=a[s]&&a.check[f]==b[h]){k=a.table[f];c=w;break}if(j<=0){l=I;break exit}case K:if(j<3){j=3;for(;;){n=b[p][e+1];g=a.sindex[n];f=g+x;if(g!=0&&f>=0&&f<=a[s]&&a.check[f]==x){c=G;break}else{if(e<=b[V])return t;e--}}}else{if(b[h]==0)return t;b[h]=-1;c=r;break}case F:b[h]=-1;if(j>0)j--;case G:i=a.table[f];e++;if(e>=b[B]){l=L;break exit}case P:b[p][e+1]=i;b[E][e+1]=b[v];b[D][e+1]=b[X];b[q][e+1]=b[W];c=r;break;case w:var m=a.len[k];b[y]=e;b[U]=k;b[T]=m;e=e-m+1;m=a.lhs[k];n=b[p][e];g=a.gindex[m];f=g+n;i=g!=0&&f>=0&&f<=a[s]&&a.check[f]==n?a.table[f]:a.dgoto[m];if(e>=b[B]){l=M;break exit}case Q:l=J;break exit;case O:b[p][e+1]=i;b[E][e+1]=d;var u=b[y];b[q][e+1]=b[q][u+1];if(e>u)b[D][e+1]=b[q][u+1];c=r;break;default:return t}b[A]=e;b[C]=i;b[z]=j;return l}function f4(a,b){k[a+1]=b}var cw={};function f5(a,b){cw[a.toString()]=b;return 0}function f7(a,b){var c=a.fullBytes,d=b.fullBytes;if(c!=null&&d!=null)return c==d?1:0;return a.getFullBytes()==b.getFullBytes()?1:0}function f8(){return 32}function f0(a){return cw[a]}function f$(a){if(a instanceof Array)return a;if(E.RangeError&&a instanceof E.RangeError&&a.message&&a.message.match(/maximum call stack/i))return[0,k[9]];if(E.InternalError&&a instanceof E.InternalError&&a.message&&a.message.match(/too much recursion/i))return[0,k[9]];if(a instanceof E.Error)return[0,f0(co),a];return[0,k[3],cu(String(a))]}var ax=fF,aw=cs,ag=ct,b8=fM,ca=fP,a5=cu,D=fU,b_=cv,b9=fW,b=aF,a=f4,b$=f5,ai=f7,S=f$;function e(a,b){return a.length==1?a(b):N(a,[b])}function j(a,b,c){return a.length==2?a(b,c):N(a,[b,c])}function ah(a,b,c,d){return a.length==3?a(b,c,d):N(a,[b,c,d])}var be=[0,b("Failure")],bf=[0,b("Invalid_argument")],F=[0,b("Not_found")],bh=[0,b("Assert_failure")],O=[0,b(f),0,0,-1],bl=[0,b(f),1,0,0],aS=b("#FFFFFF"),bY=[0,-1,-1];a(11,[0,b("Undefined_recursive_module")]);a(10,bh);a(9,[0,b("Sys_blocked_io")]);a(8,[0,b("Stack_overflow")]);a(7,[0,b("Match_failure")]);a(6,F);a(5,[0,b("Division_by_zero")]);a(4,[0,b("End_of_file")]);a(3,bf);a(2,be);a(1,[0,b("Sys_error")]);a(0,[0,b("Out_of_memory")]);var cD=b("output"),cF=b("Pervasives.do_at_exit"),cG=b("Array.blit"),cH=b("List.map2"),cI=b("String.blit"),cJ=b(f),cN=b("syntax error"),cK=b("Parsing.YYexit"),cL=b("Parsing.Parse_error"),cQ=b("Buffer.add_substring"),cP=b("Buffer.add: cannot grow buffer"),c2=[3,0,3],c3=b(ce),cY=b(a$),cZ=b("\0\n\0\x12\0 \0!\0\x16\0\x17\0\x18\x000\x009\0<\x000\0\x12\0\x13\0+\0,\0.\x002\x003\x004\0=\0\0\x005\x000\0\0\0\0\0\0\0\0\0\t\0\b\0\x07\0\x06\0"),eU=b("\x01\0\x1d\0\x06\x01\x01\0\x05\0\x03\0\n\x01\x02\0\x01\x01\x02\x01\x03\x01\x04\x01(\0)\0\x07\x01\n\0\t\x01\n\x01\x04\x01\n\x010\0\x07\x01\x04\x01\t\x01\n\x01\t\x01\b\x01\t\x01\n\x01\x04\x01\x07\x01\x04\x01\x07\x01=\0\x07\x01\n\x01\x04\x01\n\x01\x01\x01\x02\x01\x03\x01\t\x01\n\x01\x07\x01*\0\x01\0\x02\0\x03\0\x04\0\x05\0\x01\x01\x02\x01\x03\x01\n\x01\x05\x015\0\x01\x01\x02\x01\x03\x01<\0\x05\x01\x01\x01\x02\x01\x03\x01\x01\x01\x02\x01\x03\x01\x06\x01\x04\x01\b\x01\x06\x01\x01\x01\x02\x01\x10\0\x11\0\n\x01\n\x01\x04\x01\x04\x01\x07\x01\xff\xff\x06\x01\x06\x01\xff\xff\xff\xff\xff\xff\xff\xff\n\x01\n\x01\n\x01\n\x01"),eV=b("LPAREN\0RPAREN\0FUN\0ARROW\0COLON\0COMMA\0DARROW\0EOI\0"),eW=b("VAR\0LVAR\0"),fv=b("unknown token"),fu=[0,b("\0\0\xf3\xffM\0\xa0\0\x01\0\xf7\xff\xf8\xff\x01\0\0\0\x01\0\xeb\0\xfd\xff\xfe\xff\x01\x006\x01\x81\x01\xfb\xff\xfa\xff\xf9\xff\xf6\xff"),b("\xff\xff\xff\xff\x0b\0\n\0\f\0\xff\xff\xff\xff\f\0\f\0\f\0\x0b\0\xff\xff\xff\xff\0\0\x0b\0\x03\0\xff\xff\xff\xff\xff\xff\xff\xff"),b("\x01\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0"),b("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\r\0\r\0\0\0\0\0\r\0\r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\r\0\r\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\x0b\0\0\0\0\0\x05\0\t\0\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\x04\0\x13\0\b\0\x11\0\x10\0\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\n\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\x07\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\xff\xff\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x0e\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x0f\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),b("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\r\0\xff\xff\xff\xff\0\0\r\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\r\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\0\0\0\0\x07\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\x04\0\0\0\b\0\t\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\n\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0e\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"),b(f),b(f),b(f),b(f),b(f),b(f)],fy=b(";;");function T(a){throw[0,be,a]}function U(a){throw[0,bf,a]}function V(a,b){return b8(a,b)?a:b}var cA=-2147483648-1|0;function n(a,b){var c=a.getLen(),e=b.getLen(),d=ag(c+e|0);aw(a,0,d,0,c);aw(b,0,d,c,e);return d}function W(a){return b(f+a)}fV(0);var cB=b9(1),cC=b9(2),aH=[0,function(a){var b=fX(0);for(;;){if(b){var c=b[2],d=b[1];try{b_(d)}catch(f){}var b=c;continue}return 0}}];function bg(a){return e(aH[1],0)}b$(cF,bg);function an(a,b,c,d,e){if(0<=e)if(0<=b)if(!((a.length-1-e|0)'),k=j.tagName.toLowerCase()===cf?1:0,m=k?j.name==="x"?1:0:k,i=m}catch(f){var i=0}var l=i?cl:-1003883683;bJ[1]=l;continue}if(cl<=h){var e=new bF();e.push(cq,d.toString());as(a,function(a){e.push(' type="',ca(a),aA);return 0});as(b,function(a){e.push(' name="',ca(a),aA);return 0});e.push(a$);return c.createElement(e.join(f))}var g=aQ(c,d);as(a,function(a){return g.type=a});as(b,function(a){return g.name=a});return g}}function bL(a,b,c){return bK(a,b,c,c$)}var dd=[0,dc];_.HTMLElement===c6;var at=[0,0],B=_.document,m=bI(B,de),dh=20;if(bE(m.getContext)){m[b("width")]=8e3;m[b("height")]=500;var aR=function(a){var b=m.width,c=m.height;return m.getContext(H).clearRect(0,0,b,c)},bM=function(a){var b=a[2],c=a[1],d=m.getContext(H);d.strokeStyle="#FF0000";return d.strokeRect(c,b+2,a[3]-c,a[4]-b-1)},au=function(a,b){return a.style.backgroundColor=b.toString()},aT=function(a,b){var c=bL([0,"submit"],0,B);au(c,aS);c.value=a.toString();c.onclick=aP(b);return c},bN=function(a){return bI(B,db)},I=bK(0,0,B,da);I.readOnly=c7;I[b("cols")]=80;I[b("rows")]=10;var aU=function(a){I.value=I.value.concat(a.toString());return I.scrollTop=I.scrollHeight},p=function(a){return 2===a[0]?a[3]:a[2]},aV=function(a,b){var c=b[2],d=b[1];return[0,a[1]+d,a[2]+c,a[3]+d,a[4]+c]},J=function(a,b){var c=a[2],d=a[1];switch(b[0]){case 1:var f=aV(b[2],[0,d,c]),g=b[1],h=[0,d,c];return[1,y(function(a){return J(h,a)},g),f];case 2:var i=b[5],j=b[4],k=aV(b[3],[0,d,c]),l=J([0,d,c],b[2]);return[2,J([0,d,c],b[1]),l,k,j,i];default:var e=aV(b[2],[0,d,c]);return[0,b[1],e]}},$=function(a,b){var e=a[2],f=a[1],c=p(b),g=c[1]<=f?1:0;if(g){var h=f>>0){e(a[1],a);var d=b;continue}switch(b){case 0:continue a;case 1:return 0;case 2:return 1;case 3:return 2;case 4:return 3;case 7:return 4;case 8:return 5;case 9:return 7;case 10:return[1,aK(a)];case 11:return[0,aK(a)];case 12:return T(n(fv,aK(a)));default:return 6}}}},a4=ad[5],fw=ad[4],fx=ad[1],q=function(a){return 0===a[0]?a[3]:a[4]},bR=function(a){return a[1]},aW=function(a){return av(q(a))},bS=function(a,b){var c=a[2],d=a[1];if(0===b[0]){var e=J([0,d,c],b[3]);return[0,b[1],b[2],e]}var f=J([0,d,c],b[4]),g=b[3],h=b[2],i=[0,d,c],j=y(function(a){return bS(i,a)},h);return[1,b[1],j,g,f]},bT=function(a,b){return[0,a,b,bQ(dv,e(a4,a),b)]},bU=function(a,b,c,d){if(b)var f=b[1],e=p(q(f)),g=e[1],i=bU(a+(e[3]-g)+c,b[2],c,d),h=[0,bS([0,a-g,d-(e[4]-e[2])],f),i];else var h=b;return h},L=function(a,b,c){if(0===b)return[1,a,0,c,e(a4,a)];var g=b,f=1;for(;;){if(g){var j=p(q(g[1])),l=V(f,j[4]-j[2]),g=g[2],f=l;continue}var h=bU(0,b,5,f),d=h;for(;;){if(d){var i=d[2];if(i){var d=i;continue}var k=p(q(d[1]))[3]}else var k=0;var m=[1,y(q,h),[0,0,0,k,f]];return[1,a,h,c,bQ(m,e(a4,a),c)]}}},bV=function(a,b){if(0===b[0]){var c=b[2],d=y(function(a){return bV(dw,a)},c);return L(b[1],d,a)}return bT(b[1],a)},bW=function(a,b){var c=a[2],d=a[1],e=$([0,d,c],q(b));if(e){if(0===b[0])return bM(p(q(b)));var f=b[2];if(bO([0,d,c],y(q,f))){var g=[0,d,c];return ao(function(a){return bW(g,a)},f)}return bM(p(q(b)))}return e},ab=function(a,b,c){if(ai(b,dx))return L(a,0,dy);var d=e(bi(b,c),0);j(fw,a,d[1]);return bV(b,d)},aX=function(a,b,c,d,e){var f=c[2],g=c[1];if($([0,g,f],q(b))){if(0===b[0])return ab(a,d,e);var j=b[2];if(bO([0,g,f],y(q,j))){var h=ab(a,b[3],e);if(0===h[0])return T(dz);var k=h[2],l=aI(function(a,b){return aX(bR(a),b,[0,g,f],d,e)},k,j);return L(h[1],l,h[3])}return ab(a,d,e)}if(0===b[0])return ab(a,b[2],e);var i=ab(a,b[3],e);if(0===i[0])return T(dA);var m=b[2],n=i[2],o=aI(function(a,b){return aX(bR(a),b,[0,g,f],d,e)},n,m);return L(i[1],o,i[3])},bX=function(a){if(0===a[0])return bT(a[1],a[2]);var b=a[3],c=y(bX,a[2]);return L(a[1],c,b)},b7=function(a){return Z(ae,1,af,Y(n(a,fy)))},fz=function(a){return Z(ae,3,af,Y(a))};t[11][1]=fz;var fA=function(a){return Z(ae,2,af,Y(a))};l[11][1]=fA;var fB=function(a){return Z(ae,4,af,Y(a))};h[11][1]=fB;var fC=function(a){return Z(ae,5,af,Y(a))};s[11][1]=fC;var aY=[0,dB],A=[0,L(fx,0,dC)],R=[0,bY],ac=[0,0],bZ=function(a){var b=ac[1];return ao(function(a){return au(a[2],aS)},b)},b0=function(a){at[1]=0;var b=b7(aY[1]);return bX(aX(b,A[1],R[1],a,b6))},b1=function(a,b){bZ(0);var c=q(A[1]);if($(R[1],c)){A[1]=b0(a);aR(0);aW(A[1])}R[1]=bY;return ar},dE=function(a){return b1(dF,a)},dI=function(a){aR(0);aW(A[1]);var b=m.getBoundingClientRect();R[1]=[0,a.clientX-b.left,a.clientY-b.top];bW(R[1],A[1]);var d=q(A[1]);if($(R[1],d)){aU(dG);var c=ac[1];ao(function(a){var b=a[2],c=a[1];try{b0(c);aU(n(c,dH));var d=au(b,di)}catch(f){f=S(f);if(f[1]===C)return au(b,aS);throw f}return d},c);aU(dp)}else bZ(0);return ar};_.onload=aP(function(a){var b=B.getElementById("main");if(b==bD)throw[0,bh,dn];m.onmousedown=aP(dI);var d=B.createDocumentFragment();z(d,B.createTextNode("Input Term: "));z(b,d);var c=bL([0,"text"],0,B);c.value="root judgement";z(b,c);z(b,aT(dJ,function(a){aY[1]=a5(c.value);A[1]=L(b7(aY[1]),0,dD);aR(0);aW(A[1]);return ar}));z(b,bN(0));ac[1]=y(function(a){var c=a[1],d=aT(c,function(a){return b1(c,a)});z(b,d);return[0,c,d]},b6);var e=aT(dK,dE);ac[1]=[0,[0,dL,e],ac[1]];z(b,e);z(b,bN(0));z(b,m);return ar});bg(0);return}throw[0,dd]}(function(){return this}()));