Added some minor exception handling improvements

This commit is contained in:
Jeff Parsons 2014-10-30 12:06:26 -07:00 committed by jeffpar
commit c2a89b07dd
12 changed files with 1141 additions and 1140 deletions

View file

@ -2,16 +2,16 @@
function s(a,b,c){var d;d=!0;var e=0,g=null,h=ba(a),k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(k.onreadystatechange=function(){4===k.readyState&&(g=k.responseText,200==k.status||!k.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),c&&(b?c.call(b,h,g,e,void 0):c(h,g,e,void 0)))});k.open("GET",a,d);k.send();d||(g=k.responseText,200!=k.status&&(e=k.status||-1),c&&(b?c.call(b,h,g,e,void 0):c(h,g,e,void 0)))}
function t(a){window?window.alert(a):console.log(a)}function u(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function ea(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function fa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);g=!0}}var v={init:[],show:[],exit:[]},ga=!1,w=!0;function ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){v.init.push(a)}
function y(a){if(w)for(var b=0;b<a.length;b++)a[b]()}function ia(a){!w&&a?(w=!0,ga&&ja("init")):w=a}function ja(a){v[a]&&y(v[a])}ha("onload",function(){ga=!0;y(v.init)});ha("onpageshow",function(){y(v.show)});ha(u("Opera")||u("iOS")?"onunload":"onbeforeunload",function(){y(v.exit)});
function y(a){if(w)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to Jeff@pcjs.org. Thanks.")}}function ia(a){!w&&a?(w=!0,ga&&ja("init")):w=a}function ja(a){v[a]&&y(v[a])}ha("onload",function(){ga=!0;y(v.init)});ha("onpageshow",function(){y(v.show)});ha(u("Opera")||u("iOS")?"onunload":"onbeforeunload",function(){y(v.exit)});
function z(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Gd=this.id.substr(0,b),this.Fd=this.id.substr(b+1)):this.Fd=this.id;this[a]=c;this.wc=null;this.jb=this.Sa=this.uc=this.Tb=!1;this.r={};this.m=null;ka(this);A[A.length]=this}var la=void 0;if(window){la||(la=window.location.search.substr(1));for(var ma,na=/\+/g,oa=/([^&=]+)=?([^&]*)/g;ma=oa.exec(la);)ma[1].replace(na," "),ma[2].replace(na," ")}
function pa(){var a=z.prototype;function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function B(a){a.prototype=pa()}var A=[];function C(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<A.length;c++)if(A[c].id===a)return A[c]}return null}
function E(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){t(c.message+" ("+a+")")}return b}
function F(a,b){var c,d;d=G(b.parentNode,"c1pjs-control");for(c=0;c<d.length;c++){var e,g;g=d[c].childNodes;for(e=0;e<g.length;e++){var h=g[e];if(h.nodeType===window.document.ELEMENT_NODE){var k=h.getAttribute("class");if(k){var l,m;m=k.split(" ");for(l=0;l<m.length;l++)switch(k=m[l],k){case "c1pjs-input":case "c1pjs-output":(m=E(h))&&m.binding&&a.I(k,m.type,m.binding,h),m=[]}}}}}}
function G(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){t(c.message+" ("+a+")")}return b}
function E(a,b){var c,d;d=F(b.parentNode,"c1pjs-control");for(c=0;c<d.length;c++){var e,g;g=d[c].childNodes;for(e=0;e<g.length;e++){var h=g[e];if(h.nodeType===window.document.ELEMENT_NODE){var k=h.getAttribute("class");if(k){var l,m;m=k.split(" ");for(l=0;l<m.length;l++)switch(k=m[l],k){case "c1pjs-input":case "c1pjs-output":(m=D(h))&&m.binding&&a.I(k,m.type,m.binding,h),m=[]}}}}}}
function F(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
z.prototype={toString:function(){return this.name?this.name:this.id||this.type},I:function(a,b,c,d){switch(c){case "clear":return this.r[c]||(this.r[c]=d,d.onclick=function(a){return function(){a.r.print&&(a.r.print.value="")}}(this)),!0;case "print":return this.r[c]||(this.sc=this.r[c]=d,d.value="",this.i=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),this.Xb=function(a,
b,c){this.i(a,"notice",c)}),!0;default:return!1}},log:function(){},i:function(){},status:function(a){this.i(this.Fd+": "+a)},Xb:function(a,b){b||t(a)},P:function(a){!this.jb&&(this.Tb=!1!==a)&&(this.name&&this.log("ready"),a=this.wc,this.wc=null,a&&a())}};function H(a,b){if(a.uc)return a.Sa&&(a.Sa=!1),a.uc=!1;if(a.jb)return a.i(a.toString()+" error"),!1;a.Sa=b;return a.Sa}function I(a,b){a.Sa&&(b?a.uc=!0:void 0===b&&a.i(a.toString()+" busy"));return a.Sa}
function J(a,b){b&&(a.Tb?b():a.wc=b);return a.Tb}function K(a,b){a.jb=!0;a.Xb("Fatal error: "+b)}function ka(a){var b=1;a.Gd&&(a=a.Gd.match(/\d+/),null!==a&&(b=parseInt(a[0],10)));return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function qa(a){z.call(this,"C1PPanel",a);this.C=!1}B(qa);qa.prototype.I=function(a,b,c,d){return this.N&&this.N.I(a,b,c,d)||this.l&&this.l.I(a,b,c,d)||this.G&&this.G.I(a,b,c,d)||this.m&&this.m.I(a,b,c,d)?!0:z.prototype.I.call(this,a,b,c,d)};
qa.prototype.ba=function(a,b){a&&!this.C&&(this.C=!0,this.N=b,this.l=L(b,"cpu"),this.G=L(b,"keyboard"),this.m=L(b,"debugger"),ra())};function ra(){for(var a=!1,b=G(window.document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],e=E(d),g=C(e.id);g||(a=!0,g=new qa(e));F(g,d);a&&g.P()}}x(ra);
qa.prototype.ba=function(a,b){a&&!this.C&&(this.C=!0,this.N=b,this.l=L(b,"cpu"),this.G=L(b,"keyboard"),this.m=L(b,"debugger"),ra())};function ra(){for(var a=!1,b=F(window.document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],e=D(d),g=C(e.id);g||(a=!0,g=new qa(e));E(g,d);a&&g.P()}}x(ra);
function sa(a){z.call(this,"C1PCPU",a);ta(this);this.ga=this.C=!1;this.Cd=a.autoStart;this.Hb=0;this.qd=1;this.Ma=2;this.speed=this.Hb;this.pb=1E6;this.Cc=this.Ec=30;this.Bc=5;this.Qf=1;this.mb=8;this.wd=["Slow","Fast","Max"];this.Df=["("+this.Qf+"Mhz)","(up to "+this.mb+"Mhz)","(unlimited)"];this.Ca=[];this.sa=[];this.nc=65536;this.oc=0;this.Lb=65536;this.Mb=0;this.qe=128;this.re=64;this.me=16;this.oe=8;this.pe=4;this.se=2;this.ne=1;this.zf=65532;this.Gb=32;this.gc=2;this.wf=0;this.pd=1;this.t=[this.Dg,
this.Xh,this.Oi,this.j,this.j,this.Zh,this.tg,this.j,this.bi,this.Wh,this.sg,this.j,this.j,this.Th,this.qg,this.j,this.Cg,this.Yh,this.j,this.j,this.j,this.$h,this.ug,this.j,this.Gg,this.Vh,this.j,this.j,this.j,this.Uh,this.rg,this.j,this.uh,this.mg,this.j,this.j,this.zg,this.og,this.hi,this.j,this.di,this.lg,this.gi,this.j,this.yg,this.ig,this.ei,this.j,this.Ag,this.ng,this.j,this.j,this.j,this.pg,this.ii,this.j,this.yi,this.kg,this.j,this.j,this.j,this.jg,this.fi,this.j,this.oi,this.ih,this.j,this.j,
this.j,this.kh,this.Qh,this.j,this.ai,this.hh,this.Ph,this.j,this.th,this.eh,this.Nh,this.j,this.Eg,this.jh,this.j,this.j,this.j,this.lh,this.Rh,this.j,this.Ig,this.gh,this.j,this.j,this.j,this.fh,this.Oh,this.j,this.pi,this.Vd,this.j,this.j,this.j,this.Xd,this.mi,this.j,this.ci,this.Ud,this.li,this.j,this.sh,this.Rd,this.ji,this.j,this.Fg,this.Wd,this.j,this.j,this.j,this.Yd,this.ni,this.j,this.Ai,this.Td,this.j,this.j,this.j,this.Sd,this.ki,this.j,this.j,this.Ei,this.j,this.j,this.Mi,this.Gi,this.Ji,
@ -27,7 +27,7 @@ function Aa(a){O(a,"A",a.e,2);O(a,"X",a.n,2);O(a,"Y",a.p,2);var b=Ba(a);O(a,"C",
function za(a,b){var c=a.Ec;c<a.Cc&&(c=a.Cc);c<a.Bc&&(c=a.Bc);var d=1;b&&a.speed>a.Hb&&a.ua&&(d=a.ua);d>a.mb&&a.speed<a.Ma&&(d=a.mb);a.Sf=Math.round(1E3/a.Ec);a.Wb=Math.floor(a.pb/c*d);a.xc=Math.floor(a.pb/a.Ec*d);a.Jd=Math.floor(a.pb/a.Cc*d);a.Id=Math.floor(a.pb/a.Bc*d);b||(a.Va=a.xc,a.ob=a.Jd,a.nb=a.Id);a.Ac=0}
function Ca(a){var b=r(),c=a.Sf;a.qb&&(c=Math.round(c*a.qb/a.xc));c-=b-a.Vf;if(b-=a.Hd)a.ua=Math.round(a.Xa/(100*b))/10,864E5<=b&&M(a);0>c?c=0:a.speed==a.qd?a.ua<=a.mb&&(c=0):a.speed==a.Ma&&(c=0);a.Ac+=a.qb;return c}
f.ya=function(){if(H(this,!0)){this.ga||(M(this),this.N&&this.N.start(),this.ga=!0,this.r.run&&(this.r.run.innerHTML="Halt"),this.W());this.Ac>=this.pb&&za(this,!0);this.qb=0;this.Vf=r();try{do{this.step(this.Wb);var a=this.va-this.F;this.Xa+=a;this.qb+=a;this.va=this.F=0;this.ob-=this.Wb;0>=this.ob&&(this.ob+=this.Jd,this.tc());this.nb-=this.Wb;0>=this.nb&&(this.nb+=this.Id,Aa(this));this.Va-=this.Wb;if(0>=this.Va){this.Va+=this.xc;break}}while(this.ga)}catch(b){this.T();this.update();H(this,!1);
K(this,b.message||b);return}setTimeout(function(a){return function(){a.ya()}}(this),Ca(this))}else this.update(),this.N&&this.N.stop(this.Hd,this.Xa)};
K(this,b.message);return}setTimeout(function(a){return function(){a.ya()}}(this),Ca(this))}else this.update(),this.N&&this.N.stop(this.Hd,this.Xa)};
f.step=function(a){var b=!0;this.b=this.h=-1;var c;if(c=a)if(c=this.m)c=this.m,c=0<c.ra.length||0<c.Ba.length||0<c.Ea.length;this.va=this.F=a;do{a=this.a[this.d];var d;if(d=c){d=this.m;var e=a,g=!1;Da(d,this.d,d.ra,"exec")?g=!0:(d.Pa++,d.fa[e][1]++,d.Da[d.kb++]=d.l.d,d.kb>=d.Da.length&&(d.kb=0));d=!!g}if(d){b=void 0;this.T();break}this.d++;this.t[a].call(this);if(0<=this.b){this.b>=this.nc&&this.b<=this.oc&&xa(this,this.b,this.d);if(d=c)d=this.m,e=!1,Da(d,this.b,d.Ba,"read")&&(e=!0),d=!!e;if(d){b=
!1;this.T();break}this.b=-1}else if(0<=this.h){this.h>=this.Lb&&this.h<=this.Mb&&ya(this,this.h,this.d);if(d=c){d=this.m;var e=this.h,g=this.a[this.h],h=!1;(g&255)!=g&&(d.i("invalid value at "+p(e)+": "+g),h=!0);Da(d,e,d.Ea,"write")&&(h=!0);d=!!h}if(d){b=!1;this.T();break}this.h=-1}this.F-=this.Cf[a]}while(0<this.F);return b};function Ea(a){a.Va=0;a.va-=a.F;a.F=0}f.T=function(){I(this,!0);this.va-=this.F;this.F=0;this.ga&&(this.ga=!1,this.r.run&&(this.r.run.innerHTML="Run"))};
f.update=function(){this.tc();Aa(this)};function Fa(a){return a.ga?a.Xa+a.va-a.F:0}f.H=function(a){return this.a[a]};f.O=function(a,b){this.a[a]=b};function Ba(a){var b=a.c&256?1:0,b=b|(a.g&255?0:2),b=b|((a.u&255^a.v^a.u>>1)&128?64:0),b=b|(a.f&128?128:0);return a.w&60|b}
@ -75,11 +75,11 @@ f.fe=function(){this.b=this.a[this.d++]+this.n&255;this.c=this.e-this.a[this.b]-
f.ae=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.si=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.e=Q(this,this.e,this.a[this.b])};
f.$d=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ri=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.e=Q(this,this.e,this.a[this.b])};f.nh=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};
f.Oi=function(){var a;a=this.a[this.d++];switch(a){case this.wf:this.i("HALT");this.T();break;case this.pd:a=this.d;for(var b="";a<this.a.length;){var c=this.a[a++];if(!c)break;b+=String.fromCharCode(c)}this.d=a;b=b.replace(/%A/g,n(this.e)).replace(/%X/g,n(this.n)).replace(/%Y/g,n(this.p));this.i(b);Ea(this);break;default:this.d-=2,this.i("undefined opSim: "+n(a)+" at "+p(this.d)),this.T()}};f.j=function(){var a=this.a[--this.d];this.i("undefined opcode: "+n(a)+" at "+p(this.d));this.T()};
x(function(){for(var a=G(window.document,"c1pjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new sa(d);F(d,c)}});function R(a){z.call(this,"C1PROM",a);this.ta=this.a=null;this.Qa=a.size;if(this.tb=a.image){a=this.tb;var b;b=this.tb;var c="",d=b.lastIndexOf(".");0<=d&&(c=b.substr(d+1).toLowerCase());b=c;"json"!=b&&"hex"!=b&&(a="http://"+window.location.host+"/api/v1/dump?file="+this.tb);s(a,this,this.If)}}B(R);
x(function(){for(var a=F(window.document,"c1pjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new sa(d);E(d,c)}});function R(a){z.call(this,"C1PROM",a);this.ta=this.a=null;this.Qa=a.size;if(this.tb=a.image){a=this.tb;var b;b=this.tb;var c="",d=b.lastIndexOf(".");0<=d&&(c=b.substr(d+1).toLowerCase());b=c;"json"!=b&&"hex"!=b&&(a="http://"+window.location.host+"/api/v1/dump?file="+this.tb);s(a,this,this.If)}}B(R);
R.prototype.V=function(a,b,c,d){this.a=a;this.Gc=b;a=c-b+1;this.Qa||(this.Qa=a);a!=this.Qa?K(this,"computer-specified ROM size ("+p(a)+") does not match component-specified size ("+p(this.Qa)+")"):(d&&(this.l=d,N(d,b,c,this,this.O)),Ia(this))};R.prototype.ba=function(a,b){a&&!this.C&&(this.C=!0,this.m=L(b,"debugger"))};R.prototype.O=function(a,b){if(void 0!==b){this.m&&S(this.m,this,a,b,this.m.dc,!0);var c=a-this.Gc;this.a[this.Gc+c]=this.ta?this.ta[c]:0}};
R.prototype.If=function(a,b,c){if(c)this.i('Error loading ROM "'+a+'" ('+c+")");else{if("["==b[0])try{this.ta=eval("("+b+")")}catch(d){this.i('Error processing ROM "'+a+'": '+(d.message||d));return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.ta=Array(a.length),b=0;b<a.length;b++)this.ta[b]=parseInt(a[b],16);Ia(this)}};
function Ia(a){if(!J(a))if(!a.tb)a.P();else if(a.ta&&a.a){var b=a.ta.length;if(b!=a.Qa)K(a,"ROM image size ("+p(b)+") does not match component-specified size ("+p(a.Qa)+")");else{for(var c=0;c<b;c++)a.a[a.Gc+c]=a.ta[c];a.P()}}}x(function(){for(var a=G(window.document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new R(d);F(d,c)}});function Ja(a){z.call(this,"C1PRAM",a)}B(Ja);Ja.prototype.V=function(a){this.a=a;this.P()};
x(function(){for(var a=G(window.document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Ja(d);F(d,c)}});
R.prototype.If=function(a,b,c){if(c)this.i('Error loading ROM "'+a+'" ('+c+")");else{if("["==b[0])try{this.ta=eval("("+b+")")}catch(d){this.i('Error processing ROM "'+a+'": '+d.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.ta=Array(a.length),b=0;b<a.length;b++)this.ta[b]=parseInt(a[b],16);Ia(this)}};
function Ia(a){if(!J(a))if(!a.tb)a.P();else if(a.ta&&a.a){var b=a.ta.length;if(b!=a.Qa)K(a,"ROM image size ("+p(b)+") does not match component-specified size ("+p(a.Qa)+")");else{for(var c=0;c<b;c++)a.a[a.Gc+c]=a.ta[c];a.P()}}}x(function(){for(var a=F(window.document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new R(d);E(d,c)}});function Ja(a){z.call(this,"C1PRAM",a)}B(Ja);Ja.prototype.V=function(a){this.a=a;this.P()};
x(function(){for(var a=F(window.document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Ja(d);E(d,c)}});
function Ka(a){z.call(this,"C1PKeyboard",a);this.C=!1;this.yc=a.model;this.Qc=8;this.Ge=9;this.Ee=10;this.De=13;this.Fe=16;this.Ce=17;this.ze=18;this.Ae=20;this.Rc=27;this.Be=91;this.we=this.Qc;this.xe=this.Ee;this.te=this.De;this.Lc=this.Rc;this.S=224;this.o=this.Fe+this.S;this.zb=this.Ce+this.S;this.cc=this.ze+this.S;this.Mc=this.Ae+this.S;this.Kc=0+this.S;this.ue=3;this.ve=15;this.yb=1;this.xb=2;this.wb=4;this.$a=8;this.vb=64;this.bc=this.xb|this.wb|this.vb;this.od=0;this.uf=1;this.tf=2;this.vf=
3;this.sf=4;this.Wf=8192;this.Tf=250;this.Uf=100;this.Rf=300;this.Na=[];this.Na["break"]=this.Kc;this.Na.esc=this.Lc;this.Na["ctrl-c"]=this.ue;this.Na["ctrl-o"]=this.ve;this.k=[];this.k[49]=30464;this.k[33]=30464+this.o;this.k[50]=30208;this.k[34]=30208+this.o;this.k[51]=29952;this.k[35]=29952+this.o;this.k[52]=29696;this.k[36]=29696+this.o;this.k[53]=29440;this.k[37]=29440+this.o;this.k[54]=29184;this.k[38]=29184+this.o;this.k[55]=28928;this.k[39]=28928+this.o;this.k[56]=26368;this.k[40]=26368+this.o;
this.k[57]=26112;this.k[41]=26112+this.o;this.k[48]=25856;this.k[58]=25600;this.k[42]=25600+this.o;this.k[45]=25344;this.k[61]=25344+this.o;this.k[46]=22272;this.k[62]=22272+this.o;this.k[108]=22016;this.k[76]=22016+this.o;this.k[92]=22016+this.o;this.k[111]=21760;this.k[79]=21760+this.o;this.k[this.we]=21760+this.o;this.k[this.xe]=21504;this.k[this.te]=21248;this.k[119]=18176;this.k[87]=18176+this.o;this.k[101]=17920;this.k[69]=17920+this.o;this.k[114]=17664;this.k[82]=17664+this.o;this.k[116]=17408;
@ -93,7 +93,7 @@ function Oa(a,b){!a.xa||void 0!==b&&b==a.xa||(a.m&&T(a.m,a.m.za)&&a.m.message("a
function La(a,b,c){var d,e=!c;b=b.keyCode;c&&(a.ge=b);b==a.o-a.S?(a.A&=~a.wb,c&&(a.A|=a.wb),b+=a.S,e=!1):b==a.cc-a.S?(a.A&=~a.xb,c&&(a.A|=a.xb),b+=a.S,e=!1):b==a.zb-a.S?(a.A&=~a.vb,c&&(a.A|=a.vb),b+=a.S,e=!1):b==a.Mc-a.S?(c=!c,a.A&=~a.yb,c&&(a.A|=a.yb),b+=a.S,e=!1):b==a.Be?(a.A&=~a.$a,c&&(a.A|=a.$a),e=!1,d=!0):d=b==a.Ge?e=!1:b==a.Rc||b==a.Qc?c?!Ma(a,b):!1:!0;e&&(a.A&=~a.$a,a.vc||b!=a.ge||Oa(a));void 0===d&&(d=!U(a,b,c,a.tf));a.m&&T(a.m,a.m.za)&&a.m.message("key"+(c?"Down":"Up")+"("+n(b)+"): "+(d?
"pass":"consume"));return d}function Ma(a,b){var c=!1;b==a.Kc?a.N&&(a.N.reset(!0),c=!0):(a.vc&&65<=b&&90>=b&&(b+=32),Oa(a,b),U(a,b,!0,a.od)&&(a.l.speed==a.l.Ma?U(a,b,!1,a.uf):(c=!1,a.da[b]&&(clearTimeout(a.da[b]),c=!0),c=Na(a,c),a.da[a.xa=b]=setTimeout(function(a){return function(){U(a,b,!1,a.vf)}}(a),c),a.m&&T(a.m,a.m.za)&&a.m.message("keyPressSimulate("+n(b)+"): setTimeout()")),c=!0));a.m&&T(a.m,a.m.za)&&a.m.message("keyPressSimulate("+n(b)+"): "+(c?"true":"false"));return c}
function U(a,b,c,d){var e=!1;c||(a.da[b]=null,a.xa==b&&(a.xa=0));var g=0,h=a.k[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.zb),h=a.k[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.M[b]|=1<<e,a.M[0]=g==a.zb?a.M[0]|a.vb:g==a.o?a.M[0]|a.wb:g==a.cc?a.M[0]|a.xb:a.M[0]&~a.bc):(a.M[b]&=~(1<<e),a.M[0]&=~a.bc,a.M[0]|=a.A&a.bc),c=d==a.od&&!a.kc.length,a.kc.push(a.M.slice()),a.ac(c),e=!0);return e}f.H=function(){};f.O=function(a){var b=this.l.H(a);this.yd=b^this.qc;this.Dc++;this.ac(!1,a,b)};
f.ac=function(a,b){var c=Fa(this.l);if(!a)if(this.l.speed==this.l.Ma)a=void 0!==b&&32<=this.Dc;else{var d=c-this.Kd;a=0>d||d>=this.Wf}a&&(d=this.kc.shift(),void 0!==d&&(this.xd=d),this.Dc=0,this.Kd=c);for(d=c=0;8>d;d++)this.yd&1<<d&&(c|=this.xd[d]);c^=this.qc;if(void 0!==b)this.a[b]=c;else if(b=this.Pd,c!=this.zd)for(d=b;d<this.$f;d++)this.a[d]=c;this.zd=c};x(function(){for(var a=G(window.document,"c1pjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Ka(d);F(d,c)}});
f.ac=function(a,b){var c=Fa(this.l);if(!a)if(this.l.speed==this.l.Ma)a=void 0!==b&&32<=this.Dc;else{var d=c-this.Kd;a=0>d||d>=this.Wf}a&&(d=this.kc.shift(),void 0!==d&&(this.xd=d),this.Dc=0,this.Kd=c);for(d=c=0;8>d;d++)this.yd&1<<d&&(c|=this.xd[d]);c^=this.qc;if(void 0!==b)this.a[b]=c;else if(b=this.Pd,c!=this.zd)for(d=b;d<this.$f;d++)this.a[d]=c;this.zd=c};x(function(){for(var a=F(window.document,"c1pjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Ka(d);E(d,c)}});
function Qa(a,b,c,d){z.call(this,"C1PVideo",a);this.yc=a.model;this.Ld=a.charCols;this.Md=a.charRows;this.Jf=a.screenWidth;this.Kf=a.screenHeight;this.Ob=a.charWidth;this.Pb=a.charHeight;Ra(this);this.Qb=b;this.Hf=c;this.lb=d;this.ib=56832}B(Qa);f=Qa.prototype;f.reset=function(a){this.ub(this.yc);if(this.a)for(var b=this.Yb;b<this.Hc;b++)this.a[b]=a?Math.floor(256*Math.random()):32};
f.I=function(a,b,c,d){switch(c){case "refresh":return this.r[c]=d,d.onclick=function(a){return function(){Sa(a);ua(a)}}(this),!0}return!1};f.V=function(a,b,c,d){this.a=a;this.Yb=b;this.Gf=c-b+1;this.Hc=this.Yb+this.Gf;d&&(this.l=d,void 0!==this.ib&&(va(d,this.ib,this.ib,this,this.H),N(d,this.ib,this.ib,this,this.O)));this.reset(!0)};
function Ra(a,b,c,d,e){a.Vb=void 0!==b?b:a.Ld;a.Xf=void 0!==c?c:a.Md;a.Ra=a.Vb*a.Xf;a.Hc=a.Yb+a.Ra;a.Ed=void 0!==d?d:0;a.Nd=void 0!==e?e:c;a.Ad=Math.floor(a.Jf/a.Vb);a.Bd=Math.floor(a.Kf/a.Nd)}f.W=function(){this.Qb.focus()};f.ub=function(a){this.rb=a;600==this.rb?(Ra(this,this.Ld,this.Md,4,24),1024==this.Ra&&this.l&&(this.Kb=this.Hc+this.Ra-1,N(this.l,this.Kb,this.Kb,this,this.le))):(this.i("updated video model: "+this.rb),Ra(this,64,32));Sa(this);ua(this)};
@ -101,12 +101,12 @@ f.ba=function(a,b){if(a&&!this.C&&J(this)){if(this.C=!0,this.m=L(b,"debugger"),t
f.H=function(a,b){var c=this.l.H(a);void 0!==b&&this.m&&S(this.m,this,a,b,this.m.Ab);this.l.O(a,c&127|(Math.floor(Fa(this.l)/8333)&1?128:0))};f.O=function(a,b){void 0!==b&&this.m&&S(this.m,this,a,b,this.m.Ab)};
f.le=function(a,b){if(void 0!==b){this.m&&S(this.m,this,a,b,this.m.Ab,!0);this.ub(540);this.G&&this.G.ub(542);var c=this.l,d=c.sa,e=[],g=wa(d,this.Kb,this.Kb,this,this.le);if(0<=g){e.push(d[g][0]);e.push(d[g][1]);d.splice(g,1);for(var h=65536,k=0,g=0;g<d.length;g++)h>d[g][0]&&(h=d[g][0]),k<d[g][1]&&(k=d[g][1]);e.push(h);e.push(k)}4==e.length&&(c.Lb=e[2],c.Mb=e[3])}};function Sa(a){a.lc=Array(a.Ra);for(var b=0;b<=a.Ra;b++)a.lc[b]=-1}
function ua(a){var b=0;if(a.C)for(;b<a.Ra;){var c=a.a[a.Yb+b];if(a.lc[b]!=c){var d=Math.floor(b/a.Vb);if(d>=a.Ed&&(d-=a.Ed,d<a.Nd)){var e=c*a.Ob;a.Hf.drawImage(a.lb,e%a.lb.width,Math.floor(e/a.lb.width)*a.Pb,a.Ob,a.Pb,b%a.Vb*a.Ad,d*a.Bd,a.Ad,a.Bd)}a.lc[b]=c}b++}}
x(function(){for(var a=G(window.document,"c1pjs","video"),b=0;b<a.length;b++){var c=a[b],d=E(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Qa(d,e,h,g);g.onload=function(a){return function(){a.P()}}(e,d.charSet);g.src=d.charSet;F(e,c)}});
x(function(){for(var a=F(window.document,"c1pjs","video"),b=0;b<a.length;b++){var c=a[b],d=D(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}e.setAttribute("class","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Qa(d,e,h,g);g.onload=function(a){return function(){a.P()}}(e,d.charSet);g.src=d.charSet;E(e,c)}});
function Ta(a){z.call(this,"C1PSerialPort",a);this.C=!1;this.Dd=a.demo;this.yf=0;this.xf=1;this.reset()}B(Ta);f=Ta.prototype;f.reset=function(){2!=this.Fa&&(this.Nb=this.pc=0,this.Za='10 PRINT "HELLO OSI #'+ka(this)+'"\n',this.Fa=this.Ub=0)};f.start=function(){this.G&&this.Dd&&(V(this.G," C\n\n",3E3),setTimeout(function(a){return function(){a.Fa=1;V(a.G,"LOAD\n")}}(this),12E3));this.Dd=!1};
f.I=function(a,b,c,d){switch(c){case "listSerial":return this.r[c]=d,!0;case "loadSerial":return this.r[c]=d,d.onclick=function(a){return function(){a.r.listSerial&&s(a.r.listSerial.value,a,a.Pf)}}(this),!0}return!1};f.V=function(a,b,c,d){this.a=a;this.Fc=b;this.Ff=c-b+1;this.Qd=this.Fc+this.Ff;if(this.l=d)va(d,b,c,this,this.H),N(d,b,c,this,this.O);this.P()};f.ba=function(a,b){a&&!this.C&&(this.C=!0,this.N=b,this.G=L(b,"keyboard"),this.m=L(b,"debugger"))};
f.Pf=function(a,b,c){b?(this.Za=b,this.Fa=this.Ub=0,this.N&&this.G&&this.l.ga?(this.i("auto-loading "+a),this.l.W(),"."!=this.Za.charAt(0)?(this.Fa=1,V(this.G,"NEW\nLOAD\n")):(this.Fa=2,this.N.reset(!0),V(this.G,"ML"))):this.i(a+" ready to load")):this.i(a+" load error ("+c+")")};f.H=function(a,b){void 0!==b&&(a&1?Ua(this):this.Za&&!this.Ub&&Ua(this))};f.O=function(a,b){void 0!==b&&this.m&&S(this.m,this,a,b,this.m.Sc,!0)};
function Ua(a){if(void 0!==a.Za){a.pc=0;a.Nb=0;if(a.Ub<a.Za.length){var b=a.Za.charCodeAt(a.Ub++);10==b&&(b=13);a.pc=b;a.Nb=1}else 1==a.Fa&&a.G&&V(a.G," \nRUN\n"),a.Fa=0;a.ac()}}f.ac=function(){var a;for(a=this.Fc+0;a<this.Qd;a+=2)this.a[a]=this.Nb?this.xf:this.yf;for(a=this.Fc+1;a<this.Qd;a+=2)this.a[a]=this.Nb?this.pc:0};x(function(){for(var a=G(window.document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Ta(d);F(d,c)}});
function Ua(a){if(void 0!==a.Za){a.pc=0;a.Nb=0;if(a.Ub<a.Za.length){var b=a.Za.charCodeAt(a.Ub++);10==b&&(b=13);a.pc=b;a.Nb=1}else 1==a.Fa&&a.G&&V(a.G," \nRUN\n"),a.Fa=0;a.ac()}}f.ac=function(){var a;for(a=this.Fc+0;a<this.Qd;a+=2)this.a[a]=this.Nb?this.xf:this.yf;for(a=this.Fc+1;a<this.Qd;a+=2)this.a[a]=this.Nb?this.pc:0};x(function(){for(var a=F(window.document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Ta(d);E(d,c)}});
function Va(a){z.call(this,"C1PDiskController",a);this.C=!1;this.pf=this.md=0;this.jd=1;this.qf=this.nd=2;this.kd=3;this.Nc=128;this.Oc=64;this.Ka=4;this.kf=1;this.ed=2;this.jf=4;this.mf=8;this.lf=16;this.fd=32;this.dd=64;this.jc=128;this.hd=4;this.gd=8;this.nf=32;this.rf=this.of=16;this.ld=17;this.Pc=3;this.td=1;this.ud=2;this.sd=4;this.rd=8;this.ye=0;this.He=40;this.reset(!0)}B(Va);f=Va.prototype;
f.reset=function(a){Wa(this);this.K=-1;a&&(this.U=[],this.U[0]={Yi:this.ye,Od:this.He,Lf:!0,Wa:20,ha:0,Ua:-1,Jb:[]})};
function Wa(a){a.he={s:a.dd,aa:function(){},update:function(a){return function(c){void 0!==c&&(this.s=c);a.Zb.s&a.Ka||W(a,a.pf,this)}}(a)};a.Ha={s:255,aa:function(){this.update()},update:function(a){return function(c){void 0===c?c=a.Ha.s:Xa(a,c,a.sb.s);c=c|a.jc|a.fd|a.mf|a.jf|a.ed|a.lf;c&=~a.kf;if(0<=a.K&&a.U[a.K].Jb.length){var d=a.U[a.K];d.Lf&&(c&=~a.fd);d.ha||(c&=~a.ed);10>=--d.Wa&&(0<d.Wa?(c&=~a.jc,Ya(a)):(d.Wa=100,0<=a.K&&(a.U[a.K].Ua=0,Za(a))))}this.s=c;a.Zb.s&a.Ka&&W(a,a.md,this)}}(a)};a.Zb=
@ -115,12 +115,12 @@ function Wa(a){a.he={s:a.dd,aa:function(){},update:function(a){return function(c
c&&(c=a.Ia.s);c&=~a.td;0<=a.K&&0<=a.U[a.K].Ua&&(c|=a.td);this.s=c;W(a,a.rf,this)}}(a)};a.Jc={s:0,aa:function(a){return function(){Za(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.s=c);W(a,a.ld,this)}}(a)};a.Wi={s:0,aa:function(){},update:function(){return function(){}}(a)}}
f.I=function(a,b,c,d){switch(c){case "listDisk":return this.r[c]=d,!0;case "loadDisk":return this.r[c]=d,d.onclick=function(a){return function(){if(a.r.listDisk){var b=a.r.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.i("loading "+ba(b)+"...");s(c,a,a.Of)}}}(this),!0}return!1};f.V=function(a,b,c,d){this.a=a;this.mc=b;if(this.l=d)va(d,b,c,this,this.H),N(d,b,c,this,this.O);this.P()};
f.ba=function(a,b){a&&!this.C&&(this.C=!0,this.m=L(b,"debugger"))};
f.Of=function(a,b,c){if(c)this.i("disk load error ("+c+")");else{c=[];this.i("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.i("data error: "+d[0]);else if(this.U[0]){for(b=0;b<d.length;b++){var e,g=d[b],h=g.sectors;if(void 0===(e=g.trackNum)||void 0===h)throw"track "+b+" missing data";e!=b&&t("track "+e+" out of order (expected "+b+")");c=[];var k,l,m;if(e){$a(c,g,"trackSig");ab(c,g);X(c,g,"trackType");for(var q=0;q<h.length;q++){k=
h[q];l=k.sectorData;X(c,k,"sectorSig");X(c,k,"sectorNum");X(c,k,"sectorPages");for(m=0;m<l.length;m++)c.push(l[m]);$a(c,k,"sectorEndSig")}}else for(k=h[0],l=k.sectorData,X(c,g,"trackLoad",2),X(c,k,"sectorPages"),m=0;m<l.length;m++)c.push(l[m]);d[e].ke=c;this.m&&T(this.m,this.m.La)&&this.m.message("track "+e+": "+c.length+" bytes")}this.U[0].Jb=d;this.i("mount of "+a+" complete")}else this.i("no available drives")}else this.i("no tracks: "+a);else this.i("no data: "+a)}catch(D){this.i("disk data error: "+
(D.message||D))}}};function ab(a,b){var c=b.trackNum;if(void 0===c)throw"missing bcd value: trackNum";a.push(Math.floor(c/10)<<4|c%10)}function X(a,b,c,d){b=b[c];if(void 0===b)throw"missing binary value: "+c;2==d&&a.push(b>>8&255);a.push(b&255)}function $a(a,b,c){b=b[c];if(void 0===b)throw"missing signature: "+c;for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
f.Of=function(a,b,c){if(c)this.i("disk load error ("+c+")");else{c=[];this.i("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.i("data error: "+d[0]);else if(this.U[0]){for(b=0;b<d.length;b++){var e,g=d[b],h=g.sectors;if(void 0===(e=g.trackNum)||void 0===h)throw Error("track "+b+" missing data");e!=b&&t("track "+e+" out of order (expected "+b+")");c=[];var k,l,m;if(e){$a(c,g,"trackSig");ab(c,g);X(c,g,"trackType");for(var q=0;q<h.length;q++){k=
h[q];l=k.sectorData;X(c,k,"sectorSig");X(c,k,"sectorNum");X(c,k,"sectorPages");for(m=0;m<l.length;m++)c.push(l[m]);$a(c,k,"sectorEndSig")}}else for(k=h[0],l=k.sectorData,X(c,g,"trackLoad",2),X(c,k,"sectorPages"),m=0;m<l.length;m++)c.push(l[m]);d[e].ke=c;this.m&&T(this.m,this.m.La)&&this.m.message("track "+e+": "+c.length+" bytes")}this.U[0].Jb=d;this.i("mount of "+a+" complete")}else this.i("no available drives")}else this.i("no tracks: "+a);else this.i("no data: "+a)}catch(G){this.i("disk data error: "+
G.message)}}};function ab(a,b){var c=b.trackNum;if(void 0===c)throw Error("missing bcd value: trackNum");a.push(Math.floor(c/10)<<4|c%10)}function X(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function $a(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
function bb(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case a.md:a=a.Zb.s&a.Ka?a.Ha:a.he;break;case a.jd:a=a.Zb;break;case a.nd:a=a.$b.s&a.Ka?a.sb:a.ie;break;case a.kd:a=a.$b;break;case a.of:a=c?a.Vi:a.Ia;break;case a.ld:a=a.Jc;break;default:a=a.Wi}return a}f.H=function(a,b){if(void 0!==b){var c=bb(this,a-this.mc,!1);this.m&&S(this.m,this,a,b,this.m.La,!1,c.je);c.aa()}};
f.O=function(a,b){if(void 0!==b){var c=this.l.H(a),d=bb(this,a-this.mc,!0);if(this.m&&T(this.m,this.m.La|this.m.dc)&&(S(this.m,this,a,b,this.m.La,!0,d.je),d.Af))for(var e=128,g=d.s^c;g&&e;)g&e&&this.m.message(" changed "+d.je+"."+d.Af[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function Xa(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&a.nf||(d|=2),a.Ha.s&a.dd||(d|=1));a.K!=d&&(a.K=d,a.Ia.update())}function Ya(a){0<=a.K&&(a.U[a.K].Ua=-1,a.Jc.update(255),a.Ia.update())}
function Za(a){var b=null;if(0<=a.K){var b=a.U[a.K],c=b.Jb[b.ha];void 0!==c&&(0<=b.Ua&&b.Ua<c.ke.length?(b.Wa=100,b=c.ke[b.Ua++],a.Jc.update(b),a.Ia.update()):(b.Wa=10,Ya(a)))}}function W(a,b,c){a.l.O(b+a.mc,c.s)}x(function(){for(var a=G(window.document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Va(d);F(d,c)}});
function Za(a){var b=null;if(0<=a.K){var b=a.U[a.K],c=b.Jb[b.ha];void 0!==c&&(0<=b.Ua&&b.Ua<c.ke.length?(b.Wa=100,b=c.ke[b.Ua++],a.Jc.update(b),a.Ia.update()):(b.Wa=10,Ya(a)))}}function W(a,b,c){a.l.O(b+a.mc,c.s)}x(function(){for(var a=F(window.document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Va(d);E(d,c)}});
function cb(a){z.call(this,"C1PDebugger",a);this.Pa=-1;this.wa=0;this.Ic=null;this.Sb=!1;this.Z=0;this.ra=[];this.Ba=[];this.Ea=[];this.kb=0;this.Da=[];this.fa=[];this.dc=1;this.za=16;this.Ab=32;this.La=64;this.Sc=128;this.Ga=this.Ie=0;this.Ib={port:this.dc,kbd:this.za,video:this.Ab,disk:this.La,serial:this.Sc};this.ka=0;this.la=1;this.ab=2;this.Vc=3;this.Wc=4;this.Xc=5;this.Yc=6;this.Zc=7;this.$c=8;this.ad=9;this.Je=10;this.bd=11;this.cd=12;this.Ke=13;this.Le=14;this.Me=15;this.Ne=16;this.ma=17;
this.ec=18;this.fc=19;this.Db=20;this.Pe=21;this.Qe=22;this.na=23;this.Eb=24;this.Re=25;this.Se=26;this.Fb=27;this.Gb=28;this.oa=29;this.bb=30;this.cb=31;this.eb=32;this.Te=33;this.pa=34;this.Ue=35;this.Ve=36;this.We=37;this.Xe=38;this.fb=39;this.gb=40;this.Ye=41;this.Ze=42;this.qa=43;this.$e=44;this.af=45;this.bf=46;this.Aa=47;this.hc=48;this.ic=49;this.cf=50;this.df=51;this.ef=52;this.ff=53;this.gf=54;this.hf=55;this.gc=56;this.Oe=57;this.hb="ADC AND ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLD CLI CLV CMP CPX CPY DEC DEX DEY EOR INC INX INY JMP JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEC SED SEI STA STX STY TAX TAY TSX TXA TXS TYA SIM .DB".split(" ");
this.vd=["HLT","MSG"];db(this,!0);this.Y=[[this.Je],[this.pa,1,this.ia],[this.gc,1],[],[],[this.pa,1,this.D],[this.ab,1,this.D],[],[this.Ve],[this.pa,1,this.R],[this.ab,0,this.Bb],[],[],[this.pa,2,this.B],[this.ab,2,this.B],[],[this.ad,1,this.X],[this.pa,1,this.ja],[],[],[],[this.pa,1,this.J],[this.ab,1,this.J],[],[this.Ke],[this.pa,2,this.ca],[],[],[],[this.pa,2,this.L],[this.ab,2,this.L],[],[this.Gb,2,this.Cb],[this.la,1,this.ia],[],[],[this.Yc,1,this.D],[this.la,1,this.D],[this.fb,1,this.D],[],
@ -155,15 +155,15 @@ else if(e=Z(a,e),void 0!==e){c=0;void 0!==d&&("l"==d.charAt(0)&&(d=d.substr(1)),
case "h":a.T();break;case "o":if(void 0===c[1]||"?"==c[1])a.i("\noption commands:"),a.i("max\trun at maximum speed"),a.i("fast\trun faster (up to "+a.l.mb+"Mhz)"),a.i("slow\trun at normal speed (1Mhz)"),a.i("classic\tuse classic operand syntax"),a.i("modern\tuse modern operand syntax"),a.i("msg\tenable message categories");else switch(e=c[1],e){case "slow":M(a.l,a.l.Hb);break;case "fast":M(a.l,a.l.qd);break;case "max":M(a.l,a.l.Ma);break;case "classic":db(a,!0);a.i("classic syntax enabled");break;
case "modern":db(a,!1);a.i("modern syntax enabled");break;case "msg":e=0;void 0!==c[2]&&("all"==c[2]?e=255:void 0!==a.Ib[c[2]]&&(e=a.Ib[c[2]]),e&&("on"==c[3]?a.Ga|=e:"off"==c[3]&&(a.Ga&=~e)));for(d in a.Ib)if(void 0===c[2]||"all"==c[2]||c[2]==d)e=a.Ib[d],a.i(d+" messages: "+(a.Ga&e?"on":"off"));break;default:a.i("unknown option: "+e)}break;case "p":l=c[1];e=10;c=a.kb;d=a.Da;if(void 0!==d){g=void 0===l?a.Yf:parseInt(l,10);void 0===g&&(g=10);g>d.length&&(a.i("note: only "+d.length+" available"),g=d.length);
void 0!==l&&(a.zc=0,a.i(g+" instructions earlier:"));l=a.zc?a.zc:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.kb;){h=d[c];if(0>h)break;a.i(mb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Yf=g;a.zc=l}10==e&&a.i("no history available");break;case "r":hb(a,c);break;case "s":a.H(a.l.d)==a.l.Gb?(lb(a,a.l.d+3),a.Ta=!0,a.ya()||a.l.W()):ob(a);break;case "t":ob(a,c[1]);break;case "u":gb(a,c[1],c[2],8);break;case "?":case "help":a.i("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble");
a.i("note: frequency and history commands operate only when breakpoints are set");break;default:a.i("unknown command: "+b)}}}x(function(){for(var a=G(window.document,"c1pjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new cb(d);F(d,c)}});function $(a,b){z.call(this,"C1PComputer",a);this.Q=b}B($);$.prototype.reset=function(a){var b=null,c;for(c in this.Q)for(var d=0;d<this.Q[c].length;d++){var e=this.Q[c][d];e&&e.reset&&(e.reset(),"cpu"==c&&(b=e))}b&&(b.update(),a&&b.ya())};
a.i("note: frequency and history commands operate only when breakpoints are set");break;default:a.i("unknown command: "+b)}}}x(function(){for(var a=F(window.document,"c1pjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new cb(d);E(d,c)}});function $(a,b){z.call(this,"C1PComputer",a);this.Q=b}B($);$.prototype.reset=function(a){var b=null,c;for(c in this.Q)for(var d=0;d<this.Q[c].length;d++){var e=this.Q[c][d];e&&e.reset&&(e.reset(),"cpu"==c&&(b=e))}b&&(b.update(),a&&b.ya())};
$.prototype.start=function(){for(var a in this.Q)if("cpu"!=a)for(var b=0;b<this.Q[a].length;b++){var c=this.Q[a][b];c&&c.start&&c.start()}};$.prototype.stop=function(a,b){for(var c in this.Q)if("cpu"!=c)for(var d=0;d<this.Q[c].length;d++){var e=this.Q[c][d];e&&e.stop&&e.stop(a,b)}};$.prototype.I=function(a,b,c,d){switch(c){case "reset":return this.r[c]=d,d.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function L(a,b){return a.Q[b]?a.Q[b][0]:null}
function pb(a){var b=null,c;for(c in a.Q)for(var d=0;d<a.Q[c].length;d++){var e=a.Q[c][d];if(e){if(!J(e)){J(e,function(a){return function(){pb(a)}}(a));return}"cpu"==c?b=e:e.ba&&e.ba(!0,a)}}a.P();a.i("C1Pjs v1.15.7\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>");b&&b.ba(!0,a)}
x(function(){for(var a=G(window.document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=E(c),e,g={},h,k=0,l=0,m=0;m<d.modules.length;m++){var q=d.modules[m];if(!m){if("cpu"!=q.type)break;k=q.start;l=q.end;h=Array(l+1-k);for(e=k;e<h.length;e++)h[e]=0}if(e=C(q.refID,d.id)){var D=q.type;void 0===g[D]&&(g[D]=[]);g[D].push(e);e.V&&void 0!==q.start&&e.V(h,q.start,q.end,g.cpu[0])}else{t('no component for <module refid="'+q.refID+'">');return}}if(void 0===h){t('<module type="cpu"> definition must appear first in the <computer> specification');
break}if(e=C("debugger",d.id))g["debugger"]=[e],e.V&&e.V(h,k,l,g.cpu[0]);k=new $(d,g);if(l=C("panel",d.id))if(g.panel=[l],l.sc){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;d<A.length;d++)m=A[d],e&&m.id.indexOf(e)||g.push(m);d=g;for(g=0;g<d.length;g++)e=d[g],e!=l&&(e.Xb=l.Xb,e.i=l.i,e.sc=l.sc)}F(k,c);pb(k)}});var qb=0;function rb(a,b,c,d,e,g){e("Loading "+a+"...");s(a,null,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):sb(k,a,b,c,d,e,g)})}
function sb(a,b,c,d,e,g,h){function k(a,g){if(g)h(g,null);else{if(c){var k=b;k&&0>k.indexOf("/")&&(k=window.location.pathname+k);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(k?" url=$2"+k+"$2":""))}k=null;if(0===a.indexOf("<"))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(D){k=
null,a=D.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,k)}}a?e?tb(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
x(function(){for(var a=F(window.document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=D(c),e,g={},h,k=0,l=0,m=0;m<d.modules.length;m++){var q=d.modules[m];if(!m){if("cpu"!=q.type)break;k=q.start;l=q.end;h=Array(l+1-k);for(e=k;e<h.length;e++)h[e]=0}if(e=C(q.refID,d.id)){var G=q.type;void 0===g[G]&&(g[G]=[]);g[G].push(e);e.V&&void 0!==q.start&&e.V(h,q.start,q.end,g.cpu[0])}else{t('no component for <module refid="'+q.refID+'">');return}}if(void 0===h){t('<module type="cpu"> definition must appear first in the <computer> specification');
break}if(e=C("debugger",d.id))g["debugger"]=[e],e.V&&e.V(h,k,l,g.cpu[0]);k=new $(d,g);if(l=C("panel",d.id))if(g.panel=[l],l.sc){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;d<A.length;d++)m=A[d],e&&m.id.indexOf(e)||g.push(m);d=g;for(g=0;g<d.length;g++)e=d[g],e!=l&&(e.Xb=l.Xb,e.i=l.i,e.sc=l.sc)}E(k,c);pb(k)}});var qb=0;function rb(a,b,c,d,e,g){e("Loading "+a+"...");s(a,null,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):sb(k,a,b,c,d,e,g)})}
function sb(a,b,c,d,e,g,h){function k(a,g){if(g)h(g,null);else{if(c){var k=b;k&&0>k.indexOf("/")&&(k=window.location.pathname+k);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(k?" url=$2"+k+"$2":""))}k=null;if(0===a.indexOf("<"))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),k=new window.ActiveXObject("Microsoft.XMLDOM"),k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(G){k=
null,a=G.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,k)}}a?e?tb(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function tb(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");s(e,null,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);tb(a,b,c)}})}else c(a,null)}
function ub(a,b,c){function d(a){if(void 0===k){var b=h&&G(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=da(a))}function e(a){d("Error: "+a);l&&g();l=!1}function g(){0==--qb&&ia(!0)}var h,k,l=!0;qb++;try{if(h=window.document.getElementById(a)){c||(c="/versions/c1pjs/1.15.7/components.xsl");var m=function(a,k){if(k){var l=function(a,l){if(l)if(l)if(d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(h.outerHTML=m,g()):e("transformNodeToObject failed")}else window.document.implementation&&
function ub(a,b,c){function d(a){if(void 0===k){var b=h&&F(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=da(a))}function e(a){d("Error: "+a);l&&g();l=!1}function g(){0==--qb&&ia(!0)}var h,k,l=!0;qb++;try{if(h=window.document.getElementById(a)){c||(c="/versions/c1pjs/1.15.7/components.xsl");var m=function(a,k){if(k){var l=function(a,l){if(l)if(l)if(d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(h.outerHTML=m,g()):e("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,window.document))?(h.parentNode.replaceChild(m,h),g()):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e("failed to load XSL file: "+c);else e(a)};k?rb(c,null,null,!1,d,l):e("failed to load XML file: "+b)}else e(a)};"<"!=b.substr(0,1)?rb(b,a,void 0,!0,d,m):sb(b,null,a,void 0,!1,d,m)}else e("failed to find machine element: "+a)}catch(q){e(q.message)}return l}
window.embedC1P=function(a,b,c){return ub(a,b,c)};window.enableEvents=ia;window.sendEvent=ja;ia(!1);})();//@ sourceMappingURL=/tmp/c1pjs/1.15.7/c1p-dbg.map

View file

@ -1,9 +1,9 @@
(function(){var e;function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function aa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));return b}var ba={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ca(a){return a.replace(/[&<>"']/g,function(a){return ba[a]})}
function q(a,b,c){var d;d=!0;var f=0,g=null,k=aa(a),h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),c&&(b?c.call(b,k,g,f,void 0):c(k,g,f,void 0)))});h.open("GET",a,d);h.send();d||(g=h.responseText,200!=h.status&&(f=h.status||-1),c&&(b?c.call(b,k,g,f,void 0):c(k,g,f,void 0)))}
function r(a){window?window.alert(a):console.log(a)}function s(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},da=!1,u=!0;function v(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function w(a){t.init.push(a)}function x(a){if(u)for(var b=0;b<a.length;b++)a[b]()}
function y(a){!u&&a?(u=!0,da&&ea("init")):u=a}function ea(a){t[a]&&x(t[a])}v("onload",function(){da=!0;x(t.init)});v("onpageshow",function(){x(t.show)});v(s("Opera")||s("iOS")?"onunload":"onbeforeunload",function(){x(t.exit)});
function z(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.ec=this.id.substr(0,b),this.dc=this.id.substr(b+1)):this.dc=this.id;this[a]=c;this.mb=null;this.Na=this.qa=this.lb=this.Oa=!1;this.o={};fa(this);B[B.length]=this}var C=void 0;if(window){C||(C=window.location.search.substr(1));for(var D,ga=/\+/g,ha=/([^&=]+)=?([^&]*)/g;D=ha.exec(C);)D[1].replace(ga," "),D[2].replace(ga," ")}
function ia(){var a=z.prototype;function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function E(a){a.prototype=ia()}var B=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<B.length;c++)if(B[c].id===a)return B[c]}return null}
function r(a){window?window.alert(a):console.log(a)}function s(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},da=!1,u=!0;function v(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function w(a){t.init.push(a)}
function x(a){if(u)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to Jeff@pcjs.org. Thanks.")}}function y(a){!u&&a?(u=!0,da&&ea("init")):u=a}function ea(a){t[a]&&x(t[a])}v("onload",function(){da=!0;x(t.init)});v("onpageshow",function(){x(t.show)});v(s("Opera")||s("iOS")?"onunload":"onbeforeunload",function(){x(t.exit)});
function z(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.ec=this.id.substr(0,b),this.dc=this.id.substr(b+1)):this.dc=this.id;this[a]=c;this.mb=null;this.Na=this.qa=this.lb=this.Oa=!1;this.o={};fa(this);A[A.length]=this}var B=void 0;if(window){B||(B=window.location.search.substr(1));for(var D,ga=/\+/g,ha=/([^&=]+)=?([^&]*)/g;D=ha.exec(B);)D[1].replace(ga," "),D[2].replace(ga," ")}
function ia(){var a=z.prototype;function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function E(a){a.prototype=ia()}var A=[];function F(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<A.length;c++)if(A[c].id===a)return A[c]}return null}
function G(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){r(c.message+" ("+a+")")}return b}
function H(a,b){var c,d;d=I(b.parentNode,"c1pjs-control");for(c=0;c<d.length;c++){var f,g;g=d[c].childNodes;for(f=0;f<g.length;f++){var k=g[f];if(k.nodeType===window.document.ELEMENT_NODE){var h=k.getAttribute("class");if(h){var l,m;m=h.split(" ");for(l=0;l<m.length;l++)switch(h=m[l],h){case "c1pjs-input":case "c1pjs-output":(m=G(k))&&m.binding&&a.H(h,m.type,m.binding,k),m=[]}}}}}}
function I(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
@ -24,7 +24,7 @@ function Q(a,b,c,d,f){0>pa(a.T,b,c,d,f)&&(a.Ha>b&&(a.Ha=b),a.Ia<c&&(a.Ia=c),a.T.
function R(a,b,c,d){void 0!==a.o[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.o[b].innerHTML=c.slice(c.length-d).toUpperCase())}function ra(a){R(a,"A",a.e,2);R(a,"X",a.k,2);R(a,"Y",a.m,2);var b=sa(a);R(a,"C",b&a.Mc?1:0);R(a,"Z",b&a.Rc?1:0);R(a,"I",b&a.Oc?1:0);R(a,"D",b&a.Nc?1:0);R(a,"B",b&a.Lc?1:0);R(a,"V",b&a.Qc?1:0);R(a,"N",b&a.Pc?1:0);R(a,"S",a.n,4);R(a,"PC",a.d,4);a.o.speed&&a.W&&(a.o.speed.innerHTML=a.W.toFixed(1)+"Mhz")}
function qa(a,b){var c=a.tb;c<a.rb&&(c=a.rb);c<a.qb&&(c=a.qb);var d=1;b&&a.speed>a.ab&&a.W&&(d=a.W);d>a.Qa&&a.speed<a.oa&&(d=a.Qa);a.Qd=Math.round(1E3/a.tb);a.Sa=Math.floor(a.ua/c*d);a.nb=Math.floor(a.ua/a.tb*d);a.hc=Math.floor(a.ua/a.rb*d);a.gc=Math.floor(a.ua/a.qb*d);b||(a.ja=a.nb,a.ta=a.hc,a.sa=a.gc);a.pb=0}function ta(a){a.pb>=a.ua&&qa(a,!0);a.va=0;a.Td=Date.now()||+new Date}
function ua(a){var b=Date.now()||+new Date,c=a.Qd;a.va&&(c=Math.round(c*a.va/a.nb));c-=b-a.Td;if(b-=a.fc)a.W=Math.round(a.la/(100*b))/10,864E5<=b&&ma(a);0>c?c=0:a.speed==a.xd?a.W<=a.Qa&&(c=0):a.speed==a.oa&&(c=0);a.pb+=a.va;return c}
function P(a){if(ja(a,!0)){a.R||(ma(a),a.G&&a.G.start(),a.R=!0,a.o.run&&(a.o.run.innerHTML="Halt"),a.da());ta(a);try{do{a.step(a.Sa);var b=a.X-a.B;a.la+=b;a.va+=b;a.X=a.B=0;a.ta-=a.Sa;0>=a.ta&&(a.ta+=a.hc,a.kb());a.sa-=a.Sa;0>=a.sa&&(a.sa+=a.gc,ra(a));a.ja-=a.Sa;if(0>=a.ja){a.ja+=a.nb;break}}while(a.R)}catch(c){O(a);a.update();ja(a,!1);K(a,c.message||c);return}setTimeout(function(a){return function(){P(a)}}(a),ua(a))}else a.update(),a.G&&a.G.stop(a.fc,a.la)}
function P(a){if(ja(a,!0)){a.R||(ma(a),a.G&&a.G.start(),a.R=!0,a.o.run&&(a.o.run.innerHTML="Halt"),a.da());ta(a);try{do{a.step(a.Sa);var b=a.X-a.B;a.la+=b;a.va+=b;a.X=a.B=0;a.ta-=a.Sa;0>=a.ta&&(a.ta+=a.hc,a.kb());a.sa-=a.Sa;0>=a.sa&&(a.sa+=a.gc,ra(a));a.ja-=a.Sa;if(0>=a.ja){a.ja+=a.nb;break}}while(a.R)}catch(c){O(a);a.update();ja(a,!1);K(a,c.message);return}setTimeout(function(a){return function(){P(a)}}(a),ua(a))}else a.update(),a.G&&a.G.stop(a.fc,a.la)}
e.step=function(a){this.b=this.h=-1;this.X=this.B=a;do{a=this.a[this.d];this.d++;this.q[a].call(this);if(0<=this.b){if(this.b>=this.fb&&this.b<=this.gb)for(var b=this.b,c=this.d,d=0;d<this.Y.length;d++)b>=this.Y[d][0]&&b<=this.Y[d][1]&&this.Y[d][3].call(this.Y[d][2],b,c);this.b=-1}else if(0<=this.h){if(this.h>=this.Ha&&this.h<=this.Ia)for(b=this.h,c=this.d,d=0;d<this.T.length;d++)b>=this.T[d][0]&&b<=this.T[d][1]&&this.T[d][3].call(this.T[d][2],b,c);this.h=-1}this.B-=this.Bd[a]}while(0<this.B);return!0};
function O(a){a.qa&&(a.lb=!0);a.X-=a.B;a.B=0;a.R&&(a.R=!1,a.o.run&&(a.o.run.innerHTML="Run"))}e.update=function(){this.kb();ra(this)};function va(a){return a.R?a.la+a.X-a.B:0}e.N=function(a){return this.a[a]};e.L=function(a,b){this.a[a]=b};function sa(a){var b=a.c&256?1:0,b=b|(a.g&255?0:2),b=b|((a.r&255^a.w^a.r>>1)&128?64:0),b=b|(a.f&128?128:0);return a.u&60|b}
function S(a,b,c){var d=a.c&256?1:0,f=(b&15)+(c&15)+d;10<=f&&(f=f+6&15|16);f+=(b&240)+(c&240);a.w=b^c;a.r=f;a.f=f&255;160<=f&&(f+=96);512<=f&&(f-=256);a.c=f;a.g=b+c+d&255;a.B--;return f&255}function T(a,b,c){var d=a.c&256?0:1,f=(b&15)-(c&15)-d;0>f&&(f=(f-6&15)-16);f+=(b&240)-(c&240);0>f&&(f-=96);a.f=a.g=(a.c=b-c-d)&255;a.w=b^c;a.r=a.c;a.c^=256;a.B--;return f&255}function la(a){a.e=0;a.k=0;a.m=0;a.n=256;a.u=0;a.f=0;a.g=0;a.w=0;a.r=0;a.c=0;a.d=0;a.b=-1;a.h=-1;a.W=0;a.la=a.X=a.B=0}
@ -75,7 +75,7 @@ e.Kg=function(){var a;a=this.a[this.d++];switch(a){case this.vd:this.t("HALT");O
e.i=function(){var a=this.a[--this.d];this.t("undefined opcode: "+p(a,2)+" at "+p(this.d,4));O(this)};w(function(){for(var a=I(window.document,"c1pjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new N(d);H(d,c)}});
function U(a){z.call(this,"C1PROM",a);this.U=this.a=null;this.ga=a.size;if(this.ya=a.image){a=this.ya;var b;b=this.ya;var c="",d=b.lastIndexOf(".");0<=d&&(c=b.substr(d+1).toLowerCase());b=c;"json"!=b&&"hex"!=b&&(a="http://"+window.location.host+"/api/v1/dump?file="+this.ya);q(a,this,this.Hd)}}E(U);
U.prototype.P=function(a,b,c,d){this.a=a;this.vb=b;a=c-b+1;this.ga||(this.ga=a);a!=this.ga?K(this,"computer-specified ROM size ("+p(a,4)+") does not match component-specified size ("+p(this.ga,4)+")"):(d&&(this.s=d,Q(d,b,c,this,this.L)),wa(this))};U.prototype.S=function(a){a&&!this.A&&(this.A=!0)};U.prototype.L=function(a,b){if(void 0!==b){var c=a-this.vb;this.a[this.vb+c]=this.U?this.U[c]:0}};
U.prototype.Hd=function(a,b,c){if(c)this.t('Error loading ROM "'+a+'" ('+c+")");else{if("["==b[0])try{this.U=eval("("+b+")")}catch(d){this.t('Error processing ROM "'+a+'": '+(d.message||d));return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.U=Array(a.length),b=0;b<a.length;b++)this.U[b]=parseInt(a[b],16);wa(this)}};
U.prototype.Hd=function(a,b,c){if(c)this.t('Error loading ROM "'+a+'" ('+c+")");else{if("["==b[0])try{this.U=eval("("+b+")")}catch(d){this.t('Error processing ROM "'+a+'": '+d.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.U=Array(a.length),b=0;b<a.length;b++)this.U[b]=parseInt(a[b],16);wa(this)}};
function wa(a){if(!J(a))if(!a.ya)a.J();else if(a.U&&a.a){var b=a.U.length;if(b!=a.ga)K(a,"ROM image size ("+p(b,4)+") does not match component-specified size ("+p(a.ga,4)+")");else{for(var c=0;c<b;c++)a.a[a.vb+c]=a.U[c];a.J()}}}w(function(){for(var a=I(window.document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new U(d);H(d,c)}});function xa(a){z.call(this,"C1PRAM",a)}E(xa);xa.prototype.P=function(a){this.a=a;this.J()};
w(function(){for(var a=I(window.document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new xa(d);H(d,c)}});
function ya(a){z.call(this,"C1PKeyboard",a);this.A=!1;this.ob=a.model;this.Eb=8;this.ed=9;this.cd=10;this.bd=13;this.dd=16;this.ad=17;this.Yc=18;this.Zc=20;this.Fb=27;this.$c=91;this.Vc=this.Eb;this.Wc=this.cd;this.Sc=this.bd;this.zb=this.Fb;this.K=224;this.l=this.dd+this.K;this.Ea=this.ad+this.K;this.Za=this.Yc+this.K;this.Ab=this.Zc+this.K;this.yb=0+this.K;this.Tc=3;this.Uc=15;this.Da=1;this.Ca=2;this.Ba=4;this.na=8;this.Aa=64;this.Ya=this.Ca|this.Ba|this.Aa;this.Pb=0;this.td=1;this.sd=2;this.ud=
@ -110,18 +110,18 @@ O:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c&~(a.B
20,a.aa.update(a.aa.p|a.$a),La(a))}this.p=c;a.Wa.p&a.ea&&Y(a,a.Ob,this)}}(a)};a.Wa={p:0,O:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c&~(a.Bb|a.Cb));Y(a,a.Lb,this);a.xa.update();a.Ic.update()}}(a)};a.Rg={p:0,O:function(){},update:function(a){return function(c){void 0!==c&&((c&a.Db)==a.Db&&(a.ba.p=a.Tb|a.Rb|a.Qb),this.p=c);a.ba.update()}}(a)};a.ba={p:a.Tb|a.Rb|a.Qb,O:function(){},update:function(a){return function(c){void 0===c&&(c=a.ba.p);c&=~a.Sb;0<=a.D&&0<=a.M[a.D].ia&&
(c|=a.Sb);this.p=c;Y(a,a.qd,this)}}(a)};a.xb={p:0,O:function(a){return function(){Ma(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.p=c);Y(a,a.Mb,this)}}(a)};a.Sg={p:0,O:function(){},update:function(){return function(){}}(a)}}
e.H=function(a,b,c,d){switch(c){case "listDisk":return this.o[c]=d,!0;case "loadDisk":return this.o[c]=d,d.onclick=function(a){return function(){if(a.o.listDisk){var b=a.o.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.t("loading "+aa(b)+"...");q(c,a,a.Md)}}}(this),!0}return!1};e.P=function(a,b,c,d){this.a=a;this.eb=b;if(this.s=d)oa(d,b,c,this,this.N),Q(d,b,c,this,this.L);this.J()};e.S=function(a){a&&!this.A&&(this.A=!0)};
e.Md=function(a,b,c){if(c)this.t("disk load error ("+c+")");else{c=[];this.t("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.t("data error: "+d[0]);else if(this.M[0]){for(b=0;b<d.length;b++){var f,g=d[b],k=g.sectors;if(void 0===(f=g.trackNum)||void 0===k)throw"track "+b+" missing data";f!=b&&r("track "+f+" out of order (expected "+b+")");c=[];var h,l,m;if(f){Na(c,g,"trackSig");Oa(c,g);Z(c,g,"trackType");for(var n=0;n<k.length;n++){h=
k[n];l=h.sectorData;Z(c,h,"sectorSig");Z(c,h,"sectorNum");Z(c,h,"sectorPages");for(m=0;m<l.length;m++)c.push(l[m]);Na(c,h,"sectorEndSig")}}else for(h=k[0],l=h.sectorData,Z(c,g,"trackLoad",2),Z(c,h,"sectorPages"),m=0;m<l.length;m++)c.push(l[m]);d[f].Jc=c}this.M[0].Fa=d;this.t("mount of "+a+" complete")}else this.t("no available drives")}else this.t("no tracks: "+a);else this.t("no data: "+a)}catch(A){this.t("disk data error: "+(A.message||A))}}};
function Oa(a,b){var c=b.trackNum;if(void 0===c)throw"missing bcd value: trackNum";a.push(Math.floor(c/10)<<4|c%10)}function Z(a,b,c,d){b=b[c];if(void 0===b)throw"missing binary value: "+c;2==d&&a.push(b>>8&255);a.push(b&255)}function Na(a,b,c){b=b[c];if(void 0===b)throw"missing signature: "+c;for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
e.Md=function(a,b,c){if(c)this.t("disk load error ("+c+")");else{c=[];this.t("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.t("data error: "+d[0]);else if(this.M[0]){for(b=0;b<d.length;b++){var f,g=d[b],k=g.sectors;if(void 0===(f=g.trackNum)||void 0===k)throw Error("track "+b+" missing data");f!=b&&r("track "+f+" out of order (expected "+b+")");c=[];var h,l,m;if(f){Na(c,g,"trackSig");Oa(c,g);Z(c,g,"trackType");for(var n=0;n<k.length;n++){h=
k[n];l=h.sectorData;Z(c,h,"sectorSig");Z(c,h,"sectorNum");Z(c,h,"sectorPages");for(m=0;m<l.length;m++)c.push(l[m]);Na(c,h,"sectorEndSig")}}else for(h=k[0],l=h.sectorData,Z(c,g,"trackLoad",2),Z(c,h,"sectorPages"),m=0;m<l.length;m++)c.push(l[m]);d[f].Jc=c}this.M[0].Fa=d;this.t("mount of "+a+" complete")}else this.t("no available drives")}else this.t("no tracks: "+a);else this.t("no data: "+a)}catch(C){this.t("disk data error: "+C.message)}}};
function Oa(a,b){var c=b.trackNum;if(void 0===c)throw Error("missing bcd value: trackNum");a.push(Math.floor(c/10)<<4|c%10)}function Z(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function Na(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
function Pa(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case a.Nb:a=a.Va.p&a.ea?a.aa:a.Hc;break;case a.Kb:a=a.Va;break;case a.Ob:a=a.Wa.p&a.ea?a.xa:a.Ic;break;case a.Lb:a=a.Wa;break;case a.nd:a=c?a.Rg:a.ba;break;case a.Mb:a=a.xb;break;default:a=a.Sg}return a}e.N=function(a,b){void 0!==b&&Pa(this,a-this.eb,!1).O()};e.L=function(a,b){if(void 0!==b){var c=this.s.N(a);Pa(this,a-this.eb,!0).update(c)}};
function Ka(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&a.ld||(d|=2),a.aa.p&a.Gb||(d|=1));a.D!=d&&(a.D=d,a.ba.update())}function La(a){0<=a.D&&(a.M[a.D].ia=-1,a.xb.update(255),a.ba.update())}function Ma(a){var b=null;if(0<=a.D){var b=a.M[a.D],c=b.Fa[b.V];void 0!==c&&(0<=b.ia&&b.ia<c.Jc.length?(b.ka=100,b=c.Jc[b.ia++],a.xb.update(b),a.ba.update()):(b.ka=10,La(a)))}}function Y(a,b,c){a.s.L(b+a.eb,c.p)}
w(function(){for(var a=I(window.document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=G(c),d=new Ia(d);H(d,c)}});function $(a,b){z.call(this,"C1PComputer",a);this.I=b}E($);$.prototype.reset=function(a){var b=null,c;for(c in this.I)for(var d=0;d<this.I[c].length;d++){var f=this.I[c][d];f&&f.reset&&(f.reset(),"cpu"==c&&(b=f))}b&&(b.update(),a&&P(b))};$.prototype.start=function(){for(var a in this.I)if("cpu"!=a)for(var b=0;b<this.I[a].length;b++){var c=this.I[a][b];c&&c.start&&c.start()}};
$.prototype.stop=function(a,b){for(var c in this.I)if("cpu"!=c)for(var d=0;d<this.I[c].length;d++){var f=this.I[c][d];f&&f.stop&&f.stop(a,b)}};$.prototype.H=function(a,b,c,d){switch(c){case "reset":return this.o[c]=d,d.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function M(a,b){return a.I[b]?a.I[b][0]:null}
function Qa(a){var b=null,c;for(c in a.I)for(var d=0;d<a.I[c].length;d++){var f=a.I[c][d];if(f){if(!J(f)){J(f,function(a){return function(){Qa(a)}}(a));return}"cpu"==c?b=f:f.S&&f.S(!0,a)}}a.J();a.t("C1Pjs v1.15.7\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>");b&&b.S(!0,a)}
w(function(){for(var a=I(window.document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=G(c),f,g={},k,h=0,l=0,m=0;m<d.modules.length;m++){var n=d.modules[m];if(!m){if("cpu"!=n.type)break;h=n.start;l=n.end;k=Array(l+1-h);for(f=h;f<k.length;f++)k[f]=0}if(f=F(n.refID,d.id)){var A=n.type;void 0===g[A]&&(g[A]=[]);g[A].push(f);f.P&&void 0!==n.start&&f.P(k,n.start,n.end,g.cpu[0])}else{r('no component for <module refid="'+n.refID+'">');return}}if(void 0===k){r('<module type="cpu"> definition must appear first in the <computer> specification');
break}if(f=F("debugger",d.id))g["debugger"]=[f],f.P&&f.P(k,h,l,g.cpu[0]);h=new $(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.jb){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;d<B.length;d++)m=B[d],f&&m.id.indexOf(f)||g.push(m);d=g;for(g=0;g<d.length;g++)f=d[g],f!=l&&(f.Ta=l.Ta,f.t=l.t,f.jb=l.jb)}H(h,c);Qa(h)}});var Ra=0;function Sa(a,b,c,d,f,g){f("Loading "+a+"...");q(a,null,function(k,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),g(h,null)):Ta(h,a,b,c,d,f,g)})}
function Ta(a,b,c,d,f,g,k){function h(a,g){if(g)k(g,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if(0===a.indexOf("<"))try{window.ActiveXObject||"ActiveXObject"in window?(f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){h=
null,a=A.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,h)}}a?f?Ua(a,g,h):h(a,null):k("no data"+(b?" for file: "+b:""),null)}
w(function(){for(var a=I(window.document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=G(c),f,g={},k,h=0,l=0,m=0;m<d.modules.length;m++){var n=d.modules[m];if(!m){if("cpu"!=n.type)break;h=n.start;l=n.end;k=Array(l+1-h);for(f=h;f<k.length;f++)k[f]=0}if(f=F(n.refID,d.id)){var C=n.type;void 0===g[C]&&(g[C]=[]);g[C].push(f);f.P&&void 0!==n.start&&f.P(k,n.start,n.end,g.cpu[0])}else{r('no component for <module refid="'+n.refID+'">');return}}if(void 0===k){r('<module type="cpu"> definition must appear first in the <computer> specification');
break}if(f=F("debugger",d.id))g["debugger"]=[f],f.P&&f.P(k,h,l,g.cpu[0]);h=new $(d,g);if(l=F("panel",d.id))if(g.panel=[l],l.jb){f=d.id;d=void 0;g=[];f&&(f=0<(d=f.indexOf("."))?f.substr(0,d+1):"");for(d=0;d<A.length;d++)m=A[d],f&&m.id.indexOf(f)||g.push(m);d=g;for(g=0;g<d.length;g++)f=d[g],f!=l&&(f.Ta=l.Ta,f.t=l.t,f.jb=l.jb)}H(h,c);Qa(h)}});var Ra=0;function Sa(a,b,c,d,f,g){f("Loading "+a+"...");q(a,null,function(k,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),g(h,null)):Ta(h,a,b,c,d,f,g)})}
function Ta(a,b,c,d,f,g,k){function h(a,g){if(g)k(g,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if(0===a.indexOf("<"))try{window.ActiveXObject||"ActiveXObject"in window?(f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(C){h=
null,a=C.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,h)}}a?f?Ua(a,g,h):h(a,null):k("no data"+(b?" for file: "+b:""),null)}
function Ua(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");q(f,null,function(g,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+f);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],k);Ua(a,b,c)}})}else c(a,null)}
function Va(a,b,c){function d(a){if(void 0===h){var b=k&&I(k,"machine-warning");h=b&&b[0]||k}h&&(h.innerHTML=ca(a))}function f(a){d("Error: "+a);l&&g();l=!1}function g(){0==--Ra&&y(!0)}var k,h,l=!0;Ra++;try{if(k=window.document.getElementById(a)){c||(c="/versions/c1pjs/1.15.7/components.xsl");var m=function(a,h){if(h){var l=function(a,l){if(l)if(l)if(d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=h.transformNode(l);m?(k.outerHTML=m,g()):f("transformNodeToObject failed")}else window.document.implementation&&

View file

@ -1,121 +1,121 @@
(function(){var k,aa,m;function ba(a,b){return b&&10!=b?16==b?null!==a.match(/^[0-9a-f]+$/i):!0:null!==a.match(/^[0-9]+$/)}function ca(a){var b,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null===d&&(a=a.substr(0,a.length-1))}var e;ba(a,b)&&!isNaN(e=parseInt(a,b))&&(c=e)}return c}
function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return p(a,2)}function u(a){return p(a,4)}function da(a,b){return void 0!==b?u(b)+":"+u(a):p(a)}function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}
function fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ga={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}function ia(a,b){var c="",d;for(d in a)d=d.replace(/([\\[\]*{}().+?])/g,"\\$1"),c+=(c?"|":"")+d;return b.replace(new RegExp("("+c+")","g"),function(b){return a[b]})}function ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function ma(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function na(a,b,c){c=ma(a,b,c);0>c&&a.splice(-(c+1),0,b)}function oa(){return Date.now()||+new Date}function pa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function q(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return q(a,2)}function u(a){return q(a,4)}function da(a,b){return void 0!==b?u(b)+":"+u(a):q(a)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}
function ga(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ha={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ha[a]})}function ka(a,b){var c="",d;for(d in a)d=d.replace(/([\\[\]*{}().+?])/g,"\\$1"),c+=(c?"|":"")+d;return b.replace(new RegExp("("+c+")","g"),function(b){return a[b]})}function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function ma(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var h=d+e>>1,g;g=c(b,a[h]);0<g?d=h+1:(e=h,f=!g)}return f?d:~d}function na(a,b,c){c=ma(a,b,c);0>c&&a.splice(-(c+1),0,b)}function oa(){return Date.now()||+new Date}function pa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
var qa=[31,28,31,30,31,30,31,31,30,31,30,31],ra;
function sa(a,b,c,d,e,f){b=!!b;var g=0,h=null,l=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(h=n.responseText,200==n.status||!n.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=n.status||-1),e&&(d?e.call(d,l,h,g,f):e(l,h,g,f)))});if(c){var q="",t;for(t in c)c.hasOwnProperty(t)&&(q&&(q+="&"),q+=t+"="+encodeURIComponent(c[t]));q=q.replace(/%20/g,"+");n.open("POST",
a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(h=n.responseText,200!=n.status&&(g=n.status||-1),e&&(d?e.call(d,l,h,g,f):e(l,h,g,f)),a=[g,h]);return a}function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window?window.alert(a):console.log(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}
function sa(a,b,c,d,e,f){b=!!b;var h=0,g=null,l=fa(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(g=n.responseText,200==n.status||!n.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(h=n.status||-1),e&&(d?e.call(d,l,g,h,f):e(l,g,h,f)))});if(c){var p="",s;for(s in c)c.hasOwnProperty(s)&&(p&&(p+="&"),p+=s+"="+encodeURIComponent(c[s]));p=p.replace(/%20/g,"+");n.open("POST",
a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send(p)}else n.open("GET",a,b),n.send();a=[];b||(g=n.responseText,200!=n.status&&(h=n.status||-1),e&&(d?e.call(d,l,g,h,f):e(l,g,h,f)),a=[h,g]);return a}function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window?window.alert(a):console.log(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}
function va(){if(void 0===ra){var a;try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"===window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ra=a}return ra}function wa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function xa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function ya(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function za(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Aa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ba={init:[],show:[],exit:[]},Ca=!1,Da=!0;function Ea(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Fa(a){Ba.init.push(a)}
function Ga(a){if(Da)for(var b=0;b<a.length;b++)a[b]()}function Ia(a){!Da&&a?(Da=!0,Ca&&Ja("init")):Da=a}function Ja(a){Ba[a]&&Ga(Ba[a])}Ea("onload",function(){Ca=!0;Ga(Ba.init)});Ea("onpageshow",function(){Ga(Ba.show)});Ea(ya("Opera")||ya("iOS")?"onunload":"onbeforeunload",function(){Ga(Ba.exit)});
function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.wk=b.comment;this.mp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Ah=this.id.substr(0,b),this.zh=this.id.substr(b+1)):this.zh=this.id;this[a]=c;this.Ji=null;this.jd=this.Mb=this.Jc=this.Ai=this.th=!1;this.ta={};this.Y=null;this.Ah&&this.Ah.match(/\d+/);Ka[Ka.length]=this}var La=void 0,Ma={};
if(window){La||(La=window.location.search.substr(1));for(var Na,Oa=/\+/g,Pa=/([^&=]+)=?([^&]*)/g;Na=Pa.exec(La);)Ma[decodeURIComponent(Na[1].replace(Oa," "))]=decodeURIComponent(Na[2].replace(Oa," "))}function Qa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function y(a,b){b.prototype=Qa(a.prototype)}var Ka=[];
function Ra(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ka.length;b++){var d=Ka[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Sa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ka.length;c++)if(Ka[c].id===a)return Ka[c]}return null}
function Ta(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Ka.length;d++)if(c)c==Ka[d]&&(c=null);else if(!(a!=Ka[d].type||b&&Ka[d].id.indexOf(b)))return Ka[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){w(c.message+" ("+a+")")}return b}
function Ua(a,b){var c,d;d=B(b.parentNode,"pcjs-control");for(c=0;c<d.length;c++){var e,f;f=d[c].childNodes;for(e=0;e<f.length;e++){var g=f[e];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h){var l,n;n=h.split(" ");for(l=0;l<n.length;l++)switch(h=n[l],h){case "pcjs-input":case "pcjs-output":(n=A(g))&&n.binding&&a.xb(h,n.type,n.binding,g),n=[]}}}}}}
function B(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function Ga(a){if(Da)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to Jeff@pcjs.org. Thanks.")}}function Ja(a){!Da&&a?(Da=!0,Ca&&Ma("init")):Da=a}function Ma(a){Ba[a]&&Ga(Ba[a])}Ea("onload",function(){Ca=!0;Ga(Ba.init)});Ea("onpageshow",function(){Ga(Ba.show)});Ea(ya("Opera")||ya("iOS")?"onunload":"onbeforeunload",function(){Ga(Ba.exit)});
function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.wk=b.comment;this.mp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Ah=this.id.substr(0,b),this.zh=this.id.substr(b+1)):this.zh=this.id;this[a]=c;this.Ji=null;this.jd=this.Mb=this.Jc=this.Ai=this.th=!1;this.ta={};this.Y=null;this.Ah&&this.Ah.match(/\d+/);Na[Na.length]=this}var Oa=void 0,Pa={};
if(window){Oa||(Oa=window.location.search.substr(1));for(var Qa,Ra=/\+/g,Ta=/([^&=]+)=?([^&]*)/g;Qa=Ta.exec(Oa);)Pa[decodeURIComponent(Qa[1].replace(Ra," "))]=decodeURIComponent(Qa[2].replace(Ra," "))}function Ua(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function z(a,b){b.prototype=Ua(a.prototype)}var Na=[];
function Va(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Na.length;b++){var d=Na[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Wa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Na.length;c++)if(Na[c].id===a)return Na[c]}return null}
function Xa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Na.length;d++)if(c)c==Na[d]&&(c=null);else if(!(a!=Na[d].type||b&&Na[d].id.indexOf(b)))return Na[d]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){w(c.message+" ("+a+")")}return b}
function Ya(a,b){var c,d;d=D(b.parentNode,"pcjs-control");for(c=0;c<d.length;c++){var e,f;f=d[c].childNodes;for(e=0;e<f.length;e++){var h=f[e];if(h.nodeType===window.document.ELEMENT_NODE){var g=h.getAttribute("class");if(g){var l,n;n=g.split(" ");for(l=0;l<n.length;l++)switch(g=n[l],g){case "pcjs-input":case "pcjs-output":(n=B(h))&&n.binding&&a.xb(g,n.type,n.binding,h),n=[]}}}}}}
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
x.prototype={toString:function(){return this.name?this.name:this.id||this.type},xb:function(a,b,c,d){switch(c){case "clear":return this.ta[c]||(this.ta[c]=d,d.onclick=function(a){return function(){a.ta.print&&(a.ta.print.value="")}}(this)),!0;case "print":return this.ta[c]||(this.Yf=this.ta[c]=d,d.value="",this.da=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(d),this.Ha=
function(a,b,c){this.da(a,"notice",c)}),!0;default:return!1}},log:function(){},da:function(){},status:function(a){this.da(this.zh+": "+a)},Ha:function(a,b){b||w(a)},Sa:function(a){!this.jd&&(this.th=!1!==a)&&(this.name&&this.log("ready"),a=this.Ji,this.Ji=null,a&&a())},Zb:function(){return this.Mb=!0},Yb:function(a,b){b&&(this.Mb=!1);return!0}};function Va(a,b){if(a.Ai)return a.Jc&&(a.Jc=!1),a.Ai=!1;if(a.jd)return a.da(a.toString()+" error"),!1;a.Jc=b;return a.Jc}
function Wa(a,b){a.Jc&&(b?a.Ai=!0:void 0===b&&a.da(a.toString()+" busy"));return a.Jc}function Xa(a,b){b&&(a.th?b():a.Ji=b);return a.th}function Ya(a,b){a.jd=!0;a.Ha("Fatal error: "+b)}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function Za(a){x.call(this,"Panel",a,Za)}y(x,Za);Za.prototype.xb=function(a,b,c,d){return this.Ea&&this.Ea.xb(a,b,c,d)||this.T&&this.T.xb(a,b,c,d)||this.fb&&this.fb.xb(a,b,c,d)||this.Y&&this.Y.xb(a,b,c,d)?!0:x.prototype.xb.call(this,a,b,c,d)};
Za.prototype.qc=function(a,b,c,d){this.Ea=a;this.T=c;this.Y=d;this.fb=C(a,"Keyboard")};Za.prototype.Zb=function(a,b){b||$a();return!0};Za.prototype.Yb=function(){return!0};function $a(){for(var a=!1,b=B(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=A(d),f=Sa(e.id);f||(a=!0,f=new Za(e));Ua(f,d);a&&f.Sa()}}Fa($a);
function ab(a,b,c){x.call(this,"Bus",a,ab);this.T=b;this.Y=c;this.gg=a.buswidth||20;this.xe=this.Ib=(1<<this.gg)-1;this.rb=20>=this.gg?12:14;this.ic=1<<this.rb;this.sk=this.ic>>2;this.gb=this.ic-1;this.eh=(this.xe+this.ic)/this.ic|0;this.Be=this.eh-1;this.rd=[];this.sd=[];this.cg=this.dg=!1;this.Pi();this.Sa()}y(x,ab);
ab.prototype.Pi=function(){this.Ba=Array(this.eh);for(var a=0;a<this.eh;a++){var b=a*this.ic;bb(this.Ba[a]=new cb(b),this.T,this.Y,b,this.ic)}this.T.Pi(this.Ba,this.xe,this.rb,this.gb,this.Be);this.T.Ib=this.Ib};ab.prototype.reset=function(){db(this,!0)};ab.prototype.Zb=function(a,b){b||this.reset();return!0};
function eb(a,b,c,d,e){if(!(b&a.gb||!c||c&a.gb)){for(var f=b>>a.rb;0<c&&f<a.Ba.length;){var g=a.Ba[f];if(void 0!==g&&g.size)return fb(1,b,c);b=f*a.ic;g=a.Ba[f++]=new cb(b,a.ic,d,e);bb(g,a.T,a.Y,b,a.ic);c-=a.ic}return!0}return fb(2,b,c)}function db(a,b){if(void 0!==b&&20<a.gg){var c=a.Ib&-1048577|(b?1048576:0);c!=a.Ib&&(a.Ib=c,a.T&&(a.T.Ib=c))}}
ab.prototype.Wh=function(a,b,c){if(!(a&this.gb||!b||b&this.gb)){for(var d=a>>this.rb;0<b;){var e=this.Ba[d];if(!e.ga)return fb(5,a,b);e.Se(c);b-=this.ic;d++}return!0}return fb(3,a,b)};function hb(a,b,c){if(!(b&a.gb||!c||c&a.gb)){for(var d=b>>a.rb;0<c;)b=d*a.ic,bb(a.Ba[d++]=new cb(b),a.T,a.Y,b,a.ic),c-=a.ic;return!0}return fb(4,b,c)}function ib(a,b){return a.Ba[(b&a.Ib)>>a.rb].zg(b&a.gb)}
function jb(a,b){var c=b&a.gb,d=(b&a.Ib)>>a.rb;return c!=a.gb?a.Ba[d].Sj(c):a.Ba[d++].zg(c)|a.Ba[d&a.Be].zg(0)<<8}function kb(a,b,c){a.Ba[(b&a.Ib)>>a.rb].Hg(b&a.gb,c&255)}function lb(a,b,c){var d=b&a.gb;b=(b&a.Ib)>>a.rb;d!=a.gb?a.Ba[b].ak(d,c&65535):(a.Ba[b++].Hg(d,c&255),a.Ba[b&a.Be].Hg(0,c>>8&255))}
function mb(a){for(var b=0,c=[],d=0;d<a.eh;d++){var e=a.Ba[d];if(e.lb||e.Bk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,l=0,n=[];h<e.length;){for(var q=e[h],t=h+1;t<e.length&&e[t]===q;)t++;n[l++]=t-h;n[l++]=q;h=t}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.xe==a.Ib;return c}function nb(a,b){if(void 0===b)return a.cg=!a.cg,a.cg;void 0===a.rd[b]&&(a.rd[b]=[null,null,!1]);a.rd[b][2]=!a.rd[b][2];return a.rd[b][2]}
function ob(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.rd[n]?w("Input port "+u(n)+" registered by "+f.rd[n][0].id+", ignoring "+h.id):f.rd[n]=[h,l,!1,!1]}}function pb(a,b,c){var d=255,e=a.rd[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.Y&&a.cg!=e[2]&&qb(a.Y,b,d)):a.Y&&(a.Y.ca(a,b,null,c),a.cg&&qb(a.Y,b,d));return d}
function rb(a,b){if(void 0===b)return a.dg=!a.dg,a.dg;void 0===a.sd[b]&&(a.sd[b]=[null,null,!1]);a.sd[b][2]=!a.sd[b][2];return a.sd[b][2]}function sb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.sd[n]?w("Output port "+u(n)+" registered by "+f.sd[n][0].id+", ignoring "+h.id):f.sd[n]=[h,l,!1,!1]}}
function tb(a,b,c,d){var e=a.sd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.Y&&a.dg!=e[2]&&ub(a.Y,b,c)):a.Y&&(a.Y.ca(a,b,c,d),a.dg&&ub(a.Y,b,c))}function fb(a,b,c){w("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function cb(a,b,c,d){this.Fm=b||0;this.sa=null;this.offset=0;this.sh=c;this.ga=null;this.lb=this.Bk=!1;if(b)if(d)this.ga=d,a=[d.ed,a-d.Ta],this.sa=a[0],this.offset=a[1],this.Se(d.Nf);else{this.sa=Array(b>>2);for(d=0;d<this.sa.length;d++)this.sa[d]=0;this.Se(vb)}else this.Se()}
cb.prototype={Qh:function(a){D(this.Y,this.Y.Lg)&&!a&&this.Y.message("attempt to read invalid block %"+p(this.Yd)+" from "+da(this.T.ra,this.T.wa.pa));return 0},Bf:function(a,b){D(this.Y,this.Y.Lg)&&!a&&this.Y.message("attempt to write 0x"+u(b)+" to invalid block %"+p(this.Yd)+" from "+da(this.T.ra,this.T.wa.pa))},pp:function(a){return this.sa[a>>2]>>>((a&3)<<3)&255},rp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.sa[b]>>>a;return 24>a?c&65535:c&255|(this.sa[b+1]&255)<<8},zp:function(a,b){var c=a>>
2,d=(a&3)<<3;this.sa[c]=this.sa[c]&~(255<<d)|b<<d;this.lb=!0},Bp:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.sa[c]=this.sa[c]&~(65535<<d)|b<<d:(this.sa[c]=this.sa[c]&16777215|b<<24,c++,this.sa[c]=this.sa[c]&4294967040|b>>8);this.lb=!0},op:function(a){xb(this.Y,this.Yd+a);return this.zg(a)},qp:function(a){xb(this.Y,this.Yd+a)||xb(this.Y,this.Yd+a+1);return this.Sj(a)},yp:function(a,b){yb(this.Y,this.Yd+a);this.Hg(a,b)},Ap:function(a,b){yb(this.Y,this.Yd+a)||yb(this.Y,this.Yd+a+1);this.ak(a,b)},save:function(){return this.ga?
null:this.sa},restore:function(a){return this.ga?null==a:a&&this.Fm==a.length<<2?(this.sa=a,this.lb=!0):!1},Se:function(a,b){a||(a=[]);void 0===b&&(b=!0);zb(this,a,b);Ab(this,a,b)},Xd:function(a,b){b?0===this.uk++&&Ab(this,Bb):0===this.tk++&&zb(this,Bb)}};function Cb(a,b){b?0===--a.uk&&(a.Cc=a.sh?a.Bf:a.Hg,a.lm=a.sh?a.Bf:a.ak):0===--a.tk&&(a.tc=a.zg,a.Zl=a.Sj)}function bb(a,b,c,d,e){a.T=b;a.Y=c;a.Yd=d;a.tk=a.uk=0;a.Y&&Db(a.Y,d,e)}
function Ab(a,b,c){a.Cc=b[2]&&!a.sh?b[2]:a.Bf;a.lm=b[3]&&!a.sh?b[3]:a.Bf;c&&(a.Hg=b[2]?b[2]:a.Bf,a.ak=b[3]?b[3]:a.Bf)}function zb(a,b,c){a.tc=b[0]?b[0]:a.Qh;a.Zl=b[1]?b[1]:a.Qh;c&&(a.zg=b[0]?b[0]:a.Qh,a.Sj=b[1]?b[1]:a.Qh)}var vb=[cb.prototype.pp,cb.prototype.rp,cb.prototype.zp,cb.prototype.Bp],Bb=[cb.prototype.op,cb.prototype.qp,cb.prototype.yp,cb.prototype.Ap];
function Eb(a,b){x.call(this,"CPU",a,Eb);var c=a.multiplier||1;this.Hd=a.cycles||b;this.Gd=c;this.Dh=Math.round(this.Hd/1E4)/100;this.Je=this.Dh*this.Gd;this.Nb=this.Mb=!1;this.zi=a.autoStart;c=Ma.autostart;void 0!==c&&(this.zi="true"==c?!0:"false"==c?!1:null);this.hf=!1;this.hg=this.rf=0;this.jg=a.csStart;this.qf=a.csInterval;this.sf=a.csStop;var d=this;this.ro=function(){d.Qe()};this.Sa()}y(x,Eb);k=Eb.prototype;
k.qc=function(a,b,c,d){this.oa=b;this.Y=d;this.Ea=a;var e=C(a,"Video");e&&(this.ui=function(){Fb(e)},this.Od=function(){e.Od()});this.ma=C(a,"ChipSet");this.Sa()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Zb=function(a,b){if(!b){if(a&&this.restore){Gb(this);if(!this.restore(a))return!1;Hb(this)}else this.reset();this.Y?this.Y.Wn():this.da("No debugger detected")}this.Mb=!0;!Ib(this)&&this.Y&&Jb(this.Y);Kb(this);return!0};
k.Yb=function(a){this.Mb=!1;return a&&this.save?this.save():!0};function Ib(a){return!0===a.zi||null===a.zi&&!a.Y&&void 0===a.ta.run?(a.Qe(),!0):!1}k.Od=function(){};k.Hk=function(){return 0};function Hb(a){void 0===a.jg&&(a.jg=0);void 0===a.qf&&(a.qf=-1);void 0===a.sf&&(a.sf=-1);a.hf=0<=a.jg&&0<a.qf;a.hf&&(a.hg=0,a.rf=a.jg-a.Ne)}
function Lb(a,b){if(a.hf){var c=!1;a.hg=a.hg+a.Hk()|0;a.rf-=b;0>=a.rf&&(a.rf+=a.qf,c=!0);0<=a.sf&&a.sf<=F(a)&&(a.qf=a.sf=-1,Hb(a),a.Ab(),c=!0);c&&a.da(F(a)+" cycles: checksum="+p(a.hg))}}function G(a,b,c,d){void 0!==a.ta[b]&&(void 0===d&&(d=4),void 0===c&&(Ya(a,"Register "+b+" is invalid"),a.Ab()),c=p(c,d),a.ta[b].innerHTML!=c&&(a.ta[b].innerHTML=c))}k.jh=function(){};k.ui=function(){};
k.xb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.ta[c]=d;d.onclick=function(){e.Nb?e.Ab(!0):e.Qe(!0)};a=!0;break;case "reset":this.ta[c]=d;d.onclick=function(){e.Ea&&Mb(e.Ea)};a=!0;break;case "speed":this.ta[c]=d;a=!0;break;case "setSpeed":this.ta[c]=d,d.onclick=function(){Nb(e,e.Gd<<1,!0)},d.innerHTML=this.Je.toFixed(2)+"Mhz",a=!0}return a};function Ob(a,b,c){a.Ne+=b;c&&(a.Nc=a.A=0)}
function Qb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Gd&&a.ld&&(d=a.ld/a.Dh);a.Ok=Math.round(1E3/30);a.ko=Math.floor(a.Hd/c*d);a.Wi=Math.floor(a.Hd/30*d);a.Sk=Math.floor(a.Hd/60*d);a.Rk=Math.floor(a.Hd/2*d);b||(a.tf=a.Wi,a.lg=a.Sk,a.kg=a.Rk);a.Lj=0}function F(a,b){var c=a.Ne+a.ne+a.Nc-a.A;b&&1<a.Gd&&a.ld>a.Dh&&(c=Math.round(c/a.Gd));return c}function Gb(a){a.ld=0;a.Gh=1;a.Ne=a.ne=a.Nc=a.A=0;Hb(a);Nb(a,1)}
function Nb(a,b,c){void 0!==b&&(0.8>a.ld/a.Je&&(b=1),a.Gd=b,b=a.Dh*a.Gd,a.Je!=b&&(a.Je=b,b=a.Je.toFixed(2)+"Mhz",a.ta.setSpeed&&(a.ta.setSpeed.innerHTML=b),a.da("target speed: "+b)),c&&a.Od());Ob(a,a.ne);a.ne=0;a.pf=oa();a.Ke=0;Qb(a)}
k.Qe=function(a){if(Va(this,!0)){this.Nb||(Nb(this),this.Ea&&this.Ea.start(this.pf,F(this)),this.Nb=!0,this.ma&&Rb(this.ma),this.ta.run&&(this.ta.run.innerHTML="Halt"),a&&this.Od());this.Lj>=this.Hd&&Qb(this,!0);this.mg=0;this.Eh=oa();this.Ke&&(a=this.Eh-this.Ke,a>this.Ok&&(this.pf+=a,this.pf>this.Eh&&(this.pf=this.Eh)));try{do{this.Af(this.hf?1:Math.round(this.ko/this.Gh));var b=this.Nc-this.A;this.ne+=b;this.mg+=b;Ob(this,0,!0);Lb(this,b);this.lg-=b;0>=this.lg&&(this.lg+=this.Sk,this.ui());this.kg-=
b;0>=this.kg&&(this.kg+=this.Rk,this.jh());this.tf-=b;if(0>=this.tf){this.tf+=this.Wi;break}}while(this.Nb)}catch(c){this.Ab();Kb(this);this.Ea&&this.Ea.stop(oa(),F(this));Va(this,!1);Ya(this,c.message);return}b=setTimeout;a=this.ro;this.Ke=oa();var d=this.Ok;this.mg&&(d=Math.round(d*this.mg/this.Wi));var d=d-(this.Ke-this.Eh),e=this.Ke-this.pf;e&&(this.ld=Math.round(this.ne/(10*e))/100,864E5<=e&&(this.Ne=0,this.ma&&Sb(this.ma,!0),Nb(this)));if(0>d||this.ld<this.Je)d=0;this.Lj+=this.mg;this.Ke+=d;
b(a,d)}else Kb(this),this.Ea&&this.Ea.stop(oa(),F(this))};k.Ab=function(a){Wa(this,!0);this.Nc-=this.A;this.A=0;Ob(this,this.ne);this.ne=0;this.Nb&&(this.Nb=!1,this.ma&&Rb(this.ma),this.ta.run&&(this.ta.run.innerHTML="Run"));this.ph=a};k.Af=function(){return 0};function Kb(a){a.ui();a.jh()}
var Tb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
0,0,1,1,0,1,0,0,1];function Ub(a,b,c){this.T=a;this.Xa=this.pa=0;this.Mc=65535;this.Lc=this.cb=0;this.Dg=b;Vb(this,c)}function Wb(a){this.pa=a;this.Mc=65535;return this.Xa=a<<4}
function Xb(a){var b,c;a&4?(b=this.T.Md.Xa,c=this.T.Md.Mc):(b=this.T.Sc,c=this.T.cf);b+=a&65528;if(b+7<=c){this.Wc=Yb;this.ac=Zb;this.T.A-=15;c=this.T.Ia(b+0);var d=this.T.Ia(b+4),e=this.T.Ia(b+2)|(d&255)<<16;this.T.Ia(b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.ac=$b);if(b&2048||!(b&512))this.ac=ac;this.pa=a;this.Mc=c;this.cb=d;this.Lc=(d&24576)>>13;return this.Xa=e}if(b&&768>=b)return this.pa=a,this.Mc=c,this.cb=d,this.Lc=(d&24576)>>13,this.Xa=e}return-1}function bc(a){return this.Xa+a}
function cc(a){return this.Xa+a}function Yb(a,b,c){return a+b<=this.Mc?this.Xa+a:$b.call(this,0,0,c)}function $b(a,b,c){c||dc.call(this.T,13,0);return-1}function Zb(a,b,c){return a+b<=this.Mc?this.Xa+a:ac.call(this,0,0,c)}function ac(a,b,c){c||dc.call(this.T,13,0);return-1}Ub.prototype.save=function(){return[this.pa,this.Xa,this.Mc,this.cb,this.Lc,this.Dg]};Ub.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.pa=a[0],this.Xa=a[1],this.Mc=a[2],this.cb=a[3],this.Lc=a[4],this.Dg=a[5])};
function Vb(a,b){void 0===b&&(b=!!(a.T.ad&1));b?(a.load=Xb,a.Wc=Yb,a.ac=Zb):(a.load=Wb,a.Wc=bc,a.ac=cc)}
function ec(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}Eb.call(this,a,b);this.hk=61442;this.Og=4;this.uf=255;this.B=80286<=this.Ga?fc:gc;this.Ua=hc.slice();80186<=this.Ga&&(this.uf=31,this.Ua[15]=ic,this.Ua[96]=jc,this.Ua[97]=kc,this.Ua[98]=lc,this.Ua[99]=ic,this.Ua[100]=ic,this.Ua[101]=ic,this.Ua[102]=ic,this.Ua[103]=ic,this.Ua[104]=mc,this.Ua[105]=nc,this.Ua[106]=oc,this.Ua[107]=pc,this.Ua[108]=qc,this.Ua[109]=rc,this.Ua[110]=sc,this.Ua[111]=
tc,this.Ua[192]=uc,this.Ua[193]=vc,this.Ua[200]=wc,this.Ua[201]=xc,this.Ua[241]=yc,zc[7]=Ac,Bc[7]=Ac,80286<=this.Ga&&(this.hk=2,this.Og=0,this.Ua[15]=Cc,this.Ua[99]=Dc,this.Ua[84]=Ec));this.Qg=[];this.Rg=[];this.Nc=this.gh=0;this.ph=this.Di=!1;this.Ba=[];this.xe=this.Ib=this.rb=this.gb=this.Be=0;this.U=this.Um;this.V=this.Vm;this.O=this.bo;this.P=this.co;this.R=this.wp;this.S=this.xp;Fc(this)}y(Eb,ec);
var gc={Mj:4,ba:5,va:6,ha:7,ia:8,Q:9,W:11,X:12,Le:4,Uk:60,Vk:83,Vb:3,sb:9,jc:16,Kh:1,Zk:19,al:28,cl:16,bl:21,$k:37,Xk:2,ej:9,Yk:5,Wk:33,gj:10,fj:8,sg:3,rg:15,ql:51,rl:1,sl:2,tl:4,pl:32,hj:15,vl:15,Wb:16,Xb:4,xl:11,wl:18,ul:24,Cb:4,yl:2,ij:16,zl:17,nj:18,Al:19,mj:5,oj:6,Fl:2,El:8,Cl:9,Dl:10,Bl:10,pj:10,qj:10,el:80,gl:144,dl:86,fl:154,il:101,kl:165,hl:107,jl:171,Hl:70,Jl:113,Gl:76,Il:124,ml:80,ol:128,ll:86,nl:134,ug:3,tg:16,vj:10,uj:8,Kl:51,kc:8,Ll:17,Ml:36,rc:11,Nl:16,vg:10,me:2,bj:18,cj:7,dj:15,jj:12,
kj:7,lj:11,rj:18,sj:7,tj:15,wj:15,xj:7,yj:13,Cj:11,Dj:7,Ej:8,Ol:8,Rl:12,Pl:18,Ql:17,Sl:15,Aj:8,zj:20,Bj:2,Hj:3,wg:9,Gj:5,Fj:11,Jj:4,Ij:17,Tl:11},fc={Mj:0,ba:0,va:0,ha:0,ia:0,Q:0,W:1,X:1,Le:3,Uk:14,Vk:16,Vb:2,sb:7,jc:7,Kh:0,Zk:7,al:13,cl:7,bl:11,$k:16,Xk:3,ej:6,Yk:2,Wk:13,gj:5,fj:5,sg:2,rg:7,ql:23,rl:0,sl:1,tl:3,pl:17,hj:7,vl:11,Wb:7,Xb:3,xl:7,wl:11,ul:15,Cb:2,yl:3,ij:7,zl:8,nj:8,Al:8,mj:4,oj:4,Fl:2,El:3,Cl:5,Dl:2,Bl:3,pj:5,qj:3,el:14,gl:22,dl:17,fl:25,il:17,kl:25,hl:20,jl:28,Hl:13,Jl:21,Gl:16,Il:24,
ml:13,ol:21,ll:16,nl:24,ug:2,tg:7,vj:5,uj:5,Kl:19,kc:5,Ll:5,Ml:17,rc:3,Nl:5,vg:3,me:0,bj:8,cj:5,dj:9,jj:5,kj:5,lj:4,rj:5,sj:5,tj:4,wj:7,xj:5,yj:8,Cj:3,Dj:4,Ej:3,Ol:11,Rl:11,Pl:15,Ql:15,Sl:7,Aj:5,zj:8,Bj:0,Hj:2,wg:6,Gj:3,Fj:6,Jj:3,Ij:5,Tl:5};k=ec.prototype;k.Pi=function(a,b,c,d,e){this.Ba=a;this.xe=this.Ib=b;this.rb=c;this.gb=d;this.Be=e};k.reset=function(){this.Nb&&this.Ab();Fc(this);Gb(this);this.jd=!1};
function Fc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Z=0;a.I=0;a.G=0;a.F=0;a.ad=65520;a.dd=0;a.we=1023;a.Ic={Nj:0,pa:0,cb:0,Ch:-1};a.wa=new Ub(a,"CS");a.Eb=new Ub(a,"DS");a.wb=new Ub(a,"SS");a.ab=new Ub(a,"ES");a.im=new Ub(a,"ZERO");Gc(a,0,65535);80286<=a.Ga&&(a.Sc=0,a.cf=65535,a.Md=new Ub(a,"LDT",!0),a.Gg=new Ub(a,"TSS",!0),a.Ob=new Ub(a,"VER",!0),Gc(a,65520,61440),a.wa.Xa=16711680);Hc(a,0);Ic(a);a.mb=0;a.Db=a.Ag=-1;a.Zg=0;a.ja=a.Ka=-1;a.D=a.Eb;a.N=a.wb;a.aa=a.xa=0}
k.Hk=function(){var a=this.H+this.C+this.J+this.K+this.Z+this.I+this.G+this.F|0;return a=a+this.ra+this.wa.pa+this.Eb.pa+this.wb.pa+this.ab.pa+Jc(this)|0};function Kc(a,b,c,d){void 0!==d&&(void 0===a.Qg[b]&&(a.Qg[b]=[]),a.Qg[b].push([c,d]))}function Lc(a,b){var c=a.Qg[b];if(void 0!==c)for(var d=0;d<c.length;d++){if(!c[d][1].call(c[d][0],a.Ca))return!1}else a.Di&&D(a.Y,a.Y.Xe)&&(Mc(a.Y,b,a.Ca),Nc(a,a.Ca,function(a,c){return function(d){Oc(a.Y,b,d,F(a)-c)}}(a,F(a))));return!0}
function Nc(a,b,c){void 0!==c&&(null==a.Rg[b]&&a.gh++,a.Rg[b]=c)}function Pc(a,b){var c=a.Rg[b];null!=c&&(c(--a.gh),delete a.Rg[b])}function Ic(a,b){void 0===b&&(b=!!(a.ad&1));Qc=b?Rc:Sc;Vb(a.wa,b);Vb(a.Eb,b);Vb(a.wb,b);Vb(a.ab,b)}
k.save=function(){var a=new H(this);a.set(0,[this.H,this.C,this.J,this.K,this.Z,this.I,this.G,this.F]);a.set(1,[this.ra,this.wa.save(),this.Eb.save(),this.wb.save(),this.ab.save(),Jc(this),null!=this.Sc?[this.ad,this.Sc,this.cf,this.dd,this.we,this.Md.save(),this.Gg.save()]:null]);a.set(2,[this.D.Dg,this.N.Dg,this.aa,this.xa,this.mb,this.ja,this.Ka]);a.set(3,[this.Gh,this.Ne,this.Gd]);a.set(4,mb(this.oa));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Z=b[4];this.I=b[5];this.G=b[6];this.F=b[7];b=a[1];this.wa.restore(b[1]);this.Eb.restore(b[2]);this.wb.restore(b[3]);this.ab.restore(b[4]);Hc(this,b[5]);var c=b[6];c&&c.length&&(this.ad=c[0],this.Sc=c[1],this.cf=c[2],this.dd=c[3],this.we=c[4],this.Md.restore(c[5]),this.Gg.restore(c[6]),Ic(this));I(this,b[0]);b=a[2];this.D=Tc(this,b[0]);this.N=Tc(this,b[1]);this.aa=b[2];this.xa=b[3];this.mb=b[4];this.ja=b[5];this.Ka=
b[6];b=a[3];this.Gh=b[0];this.Ne=b[1];Nb(this,b[2]);a:{b=this.oa;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.sk){for(var f=0,g=Array(b.sk),h=0;h<e.length-1;)for(var l=e[h++],n=e[h++];l--;)g[f++]=n;e=g}f=b.Ba[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&db(b,a[c]);b=!0}return b};
function Tc(a,b){switch(b){case "CS":return a.wa;case "DS":return a.Eb;case "SS":return a.wb;case "ES":return a.ab;case "ZERO":return a.im;default:return[0,b,0,0,""]}}function Xc(a,b){var c;if(a.ad&1){if(c=a.dd+(b<<3),c+7<=a.we){a.Ic.Nj=a.Ia(c);a.Ic.pa=a.Ia(c+2);a.Ic.cb=a.Ia(c+4);switch(a.Ic.cb&7936){case 1536:a.Ic.Ch=-17153;break;case 1792:a.Ic.Ch=-16641;break;default:return!1}return!0}}else if(c=a.dd+(b<<2),c+7<=a.we)return a.Ic.Nj=a.Ia(c),a.Ic.pa=a.Ia(c+2),a.Ic.Ch=-769,!0;return!1}
function Yc(a,b){a.Ca=a.wa.load(b)+a.ra;a.aa|=a.Og}function Zc(a,b){a.Eb.load(b);a.aa|=a.Og}function $c(a,b){a.wb.load(b);a.aa|=4}function ad(a,b){a.ab.load(b);a.aa|=a.Og}function I(a,b){a.Ca=a.wa.Xa+(a.ra=b&65535)}function Gc(a,b,c){a.Ca=a.wa.load(c)+(a.ra=b)}function J(a,b){a.Ca=a.wa.Xa+(a.ra=a.ra+b&65535)}function bd(a){return a.$&a.ea?1:0}function cd(a){return Tb[a.ka&255]?4:0}function dd(a){return(a.ka^a.na)&16?16:0}function ed(a){return a.$&a.ea-1?0:64}
function fd(a){return a.ka&a.ea>>1?128:0}function gd(a){return(a.ka^a.na^a.ka>>1)&a.ea>>1?2048:0}function hd(a){a.$&=~a.ea}function id(a){a.na=a.ka&16|a.na&-17}function jd(a){a.$|=a.ea-1}function kd(a){fd(a)&&(a.ka^=a.ea>>1|a.ea>>2,a.na^=32896)}function ld(a){a.ka&=~a.ea;a.na=a.ka&32896|a.na&-32897}function md(a){a.$|=a.ea}function nd(a){a.na=~(a.ka&16)&16|a.na&-17}function od(a){a.$&=~(a.ea-1)}function pd(a){fd(a)||(a.ka^=a.ea>>1|a.ea>>2,a.na^=32896)}
function qd(a){a.ka|=a.ea;a.na=a.ka&32896|a.na&-32897}function Jc(a){return a.ya&-2262|bd(a)|cd(a)|dd(a)|ed(a)|fd(a)|gd(a)}function Hc(a,b){a.ea=256;a.$=a.ka=a.na=0;b&1&&md(a);b&4||(a.ka|=1);b&16&&(a.na|=16);b&64||jd(a);b&128&&pd(a);b&2048&&qd(a);a.ya=a.ya&-1793|b&1792|a.hk;a.ya&256&&(a.mb|=2,a.aa|=4)}
k.xb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.ta[c]=d;e=!0;break;default:e=Eb.prototype.xb.call(this,a,b,c,d)}return e};k.ub=function(a){return this.Ba[(a&this.Ib)>>this.rb].tc(a&this.gb)};
function(a,b,c){this.da(a,"notice",c)}),!0;default:return!1}},log:function(){},da:function(){},status:function(a){this.da(this.zh+": "+a)},Ha:function(a,b){b||w(a)},Sa:function(a){!this.jd&&(this.th=!1!==a)&&(this.name&&this.log("ready"),a=this.Ji,this.Ji=null,a&&a())},Zb:function(){return this.Mb=!0},Yb:function(a,b){b&&(this.Mb=!1);return!0}};function Za(a,b){if(a.Ai)return a.Jc&&(a.Jc=!1),a.Ai=!1;if(a.jd)return a.da(a.toString()+" error"),!1;a.Jc=b;return a.Jc}
function $a(a,b){a.Jc&&(b?a.Ai=!0:void 0===b&&a.da(a.toString()+" busy"));return a.Jc}function ab(a,b){b&&(a.th?b():a.Ji=b);return a.th}function bb(a,b){a.jd=!0;a.Ha("Fatal error: "+b)}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function cb(a){x.call(this,"Panel",a,cb)}z(x,cb);cb.prototype.xb=function(a,b,c,d){return this.Ea&&this.Ea.xb(a,b,c,d)||this.T&&this.T.xb(a,b,c,d)||this.fb&&this.fb.xb(a,b,c,d)||this.Y&&this.Y.xb(a,b,c,d)?!0:x.prototype.xb.call(this,a,b,c,d)};
cb.prototype.qc=function(a,b,c,d){this.Ea=a;this.T=c;this.Y=d;this.fb=db(a,"Keyboard")};cb.prototype.Zb=function(a,b){b||eb();return!0};cb.prototype.Yb=function(){return!0};function eb(){for(var a=!1,b=D(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=Wa(e.id);f||(a=!0,f=new cb(e));Ya(f,d);a&&f.Sa()}}Fa(eb);
function fb(a,b,c){x.call(this,"Bus",a,fb);this.T=b;this.Y=c;this.gg=a.buswidth||20;this.xe=this.Ib=(1<<this.gg)-1;this.rb=20>=this.gg?12:14;this.ic=1<<this.rb;this.sk=this.ic>>2;this.gb=this.ic-1;this.eh=(this.xe+this.ic)/this.ic|0;this.Be=this.eh-1;this.rd=[];this.sd=[];this.cg=this.dg=!1;this.Pi();this.Sa()}z(x,fb);
fb.prototype.Pi=function(){this.Ba=Array(this.eh);for(var a=0;a<this.eh;a++){var b=a*this.ic;gb(this.Ba[a]=new hb(b),this.T,this.Y,b,this.ic)}this.T.Pi(this.Ba,this.xe,this.rb,this.gb,this.Be);this.T.Ib=this.Ib};fb.prototype.reset=function(){ib(this,!0)};fb.prototype.Zb=function(a,b){b||this.reset();return!0};
function jb(a,b,c,d,e){if(!(b&a.gb||!c||c&a.gb)){for(var f=b>>a.rb;0<c&&f<a.Ba.length;){var h=a.Ba[f];if(void 0!==h&&h.size)return kb(1,b,c);b=f*a.ic;h=a.Ba[f++]=new hb(b,a.ic,d,e);gb(h,a.T,a.Y,b,a.ic);c-=a.ic}return!0}return kb(2,b,c)}function ib(a,b){if(void 0!==b&&20<a.gg){var c=a.Ib&-1048577|(b?1048576:0);c!=a.Ib&&(a.Ib=c,a.T&&(a.T.Ib=c))}}
fb.prototype.Wh=function(a,b,c){if(!(a&this.gb||!b||b&this.gb)){for(var d=a>>this.rb;0<b;){var e=this.Ba[d];if(!e.ga)return kb(5,a,b);e.Se(c);b-=this.ic;d++}return!0}return kb(3,a,b)};function lb(a,b,c){if(!(b&a.gb||!c||c&a.gb)){for(var d=b>>a.rb;0<c;)b=d*a.ic,gb(a.Ba[d++]=new hb(b),a.T,a.Y,b,a.ic),c-=a.ic;return!0}return kb(4,b,c)}function mb(a,b){return a.Ba[(b&a.Ib)>>a.rb].zg(b&a.gb)}
function nb(a,b){var c=b&a.gb,d=(b&a.Ib)>>a.rb;return c!=a.gb?a.Ba[d].Sj(c):a.Ba[d++].zg(c)|a.Ba[d&a.Be].zg(0)<<8}function ob(a,b,c){a.Ba[(b&a.Ib)>>a.rb].Hg(b&a.gb,c&255)}function pb(a,b,c){var d=b&a.gb;b=(b&a.Ib)>>a.rb;d!=a.gb?a.Ba[b].ak(d,c&65535):(a.Ba[b++].Hg(d,c&255),a.Ba[b&a.Be].Hg(0,c>>8&255))}
function qb(a){for(var b=0,c=[],d=0;d<a.eh;d++){var e=a.Ba[d];if(e.lb||e.Bk){c[b++]=d;var f=c,h=b++;a:if(e=e.save()){for(var g=0,l=0,n=[];g<e.length;){for(var p=e[g],s=g+1;s<e.length&&e[s]===p;)s++;n[l++]=s-g;n[l++]=p;g=s}if(n.length<e.length){e=n;break a}}f[h]=e}}c[b]=a.xe==a.Ib;return c}function tb(a,b){if(void 0===b)return a.cg=!a.cg,a.cg;void 0===a.rd[b]&&(a.rd[b]=[null,null,!1]);a.rd[b][2]=!a.rd[b][2];return a.rd[b][2]}
function ub(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,h=e+d,g=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=h;n++)void 0!==f.rd[n]?w("Input port "+u(n)+" registered by "+f.rd[n][0].id+", ignoring "+g.id):f.rd[n]=[g,l,!1,!1]}}function vb(a,b,c){var d=255,e=a.rd[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.Y&&a.cg!=e[2]&&wb(a.Y,b,d)):a.Y&&(a.Y.ca(a,b,null,c),a.cg&&wb(a.Y,b,d));return d}
function xb(a,b){if(void 0===b)return a.dg=!a.dg,a.dg;void 0===a.sd[b]&&(a.sd[b]=[null,null,!1]);a.sd[b][2]=!a.sd[b][2];return a.sd[b][2]}function yb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,h=e+d,g=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=h;n++)void 0!==f.sd[n]?w("Output port "+u(n)+" registered by "+f.sd[n][0].id+", ignoring "+g.id):f.sd[n]=[g,l,!1,!1]}}
function zb(a,b,c,d){var e=a.sd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.Y&&a.dg!=e[2]&&Ab(a.Y,b,c)):a.Y&&(a.Y.ca(a,b,c,d),a.dg&&Ab(a.Y,b,c))}function kb(a,b,c){w("Memory block error ("+a+","+q(b)+","+q(c)+")");return!1}
function hb(a,b,c,d){this.Fm=b||0;this.sa=null;this.offset=0;this.sh=c;this.ga=null;this.lb=this.Bk=!1;if(b)if(d)this.ga=d,a=[d.ed,a-d.Ta],this.sa=a[0],this.offset=a[1],this.Se(d.Nf);else{this.sa=Array(b>>2);for(d=0;d<this.sa.length;d++)this.sa[d]=0;this.Se(Bb)}else this.Se()}
hb.prototype={Qh:function(a){E(this.Y,this.Y.Lg)&&!a&&this.Y.message("attempt to read invalid block %"+q(this.Yd)+" from "+da(this.T.ra,this.T.wa.pa));return 0},Bf:function(a,b){E(this.Y,this.Y.Lg)&&!a&&this.Y.message("attempt to write 0x"+u(b)+" to invalid block %"+q(this.Yd)+" from "+da(this.T.ra,this.T.wa.pa))},pp:function(a){return this.sa[a>>2]>>>((a&3)<<3)&255},rp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.sa[b]>>>a;return 24>a?c&65535:c&255|(this.sa[b+1]&255)<<8},zp:function(a,b){var c=a>>
2,d=(a&3)<<3;this.sa[c]=this.sa[c]&~(255<<d)|b<<d;this.lb=!0},Bp:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.sa[c]=this.sa[c]&~(65535<<d)|b<<d:(this.sa[c]=this.sa[c]&16777215|b<<24,c++,this.sa[c]=this.sa[c]&4294967040|b>>8);this.lb=!0},op:function(a){Cb(this.Y,this.Yd+a);return this.zg(a)},qp:function(a){Cb(this.Y,this.Yd+a)||Cb(this.Y,this.Yd+a+1);return this.Sj(a)},yp:function(a,b){Db(this.Y,this.Yd+a);this.Hg(a,b)},Ap:function(a,b){Db(this.Y,this.Yd+a)||Db(this.Y,this.Yd+a+1);this.ak(a,b)},save:function(){return this.ga?
null:this.sa},restore:function(a){return this.ga?null==a:a&&this.Fm==a.length<<2?(this.sa=a,this.lb=!0):!1},Se:function(a,b){a||(a=[]);void 0===b&&(b=!0);Eb(this,a,b);Fb(this,a,b)},Xd:function(a,b){b?0===this.uk++&&Fb(this,Gb):0===this.tk++&&Eb(this,Gb)}};function Hb(a,b){b?0===--a.uk&&(a.Cc=a.sh?a.Bf:a.Hg,a.lm=a.sh?a.Bf:a.ak):0===--a.tk&&(a.tc=a.zg,a.Zl=a.Sj)}function gb(a,b,c,d,e){a.T=b;a.Y=c;a.Yd=d;a.tk=a.uk=0;a.Y&&Jb(a.Y,d,e)}
function Fb(a,b,c){a.Cc=b[2]&&!a.sh?b[2]:a.Bf;a.lm=b[3]&&!a.sh?b[3]:a.Bf;c&&(a.Hg=b[2]?b[2]:a.Bf,a.ak=b[3]?b[3]:a.Bf)}function Eb(a,b,c){a.tc=b[0]?b[0]:a.Qh;a.Zl=b[1]?b[1]:a.Qh;c&&(a.zg=b[0]?b[0]:a.Qh,a.Sj=b[1]?b[1]:a.Qh)}var Bb=[hb.prototype.pp,hb.prototype.rp,hb.prototype.zp,hb.prototype.Bp],Gb=[hb.prototype.op,hb.prototype.qp,hb.prototype.yp,hb.prototype.Ap];
function Kb(a,b){x.call(this,"CPU",a,Kb);var c=a.multiplier||1;this.Hd=a.cycles||b;this.Gd=c;this.Dh=Math.round(this.Hd/1E4)/100;this.Je=this.Dh*this.Gd;this.Nb=this.Mb=!1;this.zi=a.autoStart;c=Pa.autostart;void 0!==c&&(this.zi="true"==c?!0:"false"==c?!1:null);this.hf=!1;this.hg=this.rf=0;this.jg=a.csStart;this.qf=a.csInterval;this.sf=a.csStop;var d=this;this.ro=function(){d.Qe()};this.Sa()}z(x,Kb);k=Kb.prototype;
k.qc=function(a,b,c,d){this.oa=b;this.Y=d;this.Ea=a;var e=db(a,"Video");e&&(this.ui=function(){Lb(e)},this.Od=function(){e.Od()});this.ma=db(a,"ChipSet");this.Sa()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Zb=function(a,b){if(!b){if(a&&this.restore){Mb(this);if(!this.restore(a))return!1;Nb(this)}else this.reset();this.Y?this.Y.Wn():this.da("No debugger detected")}this.Mb=!0;!Ob(this)&&this.Y&&Pb(this.Y);Qb(this);return!0};
k.Yb=function(a){this.Mb=!1;return a&&this.save?this.save():!0};function Ob(a){return!0===a.zi||null===a.zi&&!a.Y&&void 0===a.ta.run?(a.Qe(),!0):!1}k.Od=function(){};k.Hk=function(){return 0};function Nb(a){void 0===a.jg&&(a.jg=0);void 0===a.qf&&(a.qf=-1);void 0===a.sf&&(a.sf=-1);a.hf=0<=a.jg&&0<a.qf;a.hf&&(a.hg=0,a.rf=a.jg-a.Ne)}
function Rb(a,b){if(a.hf){var c=!1;a.hg=a.hg+a.Hk()|0;a.rf-=b;0>=a.rf&&(a.rf+=a.qf,c=!0);0<=a.sf&&a.sf<=F(a)&&(a.qf=a.sf=-1,Nb(a),a.Ab(),c=!0);c&&a.da(F(a)+" cycles: checksum="+q(a.hg))}}function G(a,b,c,d){void 0!==a.ta[b]&&(void 0===d&&(d=4),void 0===c&&(bb(a,"Register "+b+" is invalid"),a.Ab()),c=q(c,d),a.ta[b].innerHTML!=c&&(a.ta[b].innerHTML=c))}k.jh=function(){};k.ui=function(){};
k.xb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.ta[c]=d;d.onclick=function(){e.Nb?e.Ab(!0):e.Qe(!0)};a=!0;break;case "reset":this.ta[c]=d;d.onclick=function(){e.Ea&&Sb(e.Ea)};a=!0;break;case "speed":this.ta[c]=d;a=!0;break;case "setSpeed":this.ta[c]=d,d.onclick=function(){Tb(e,e.Gd<<1,!0)},d.innerHTML=this.Je.toFixed(2)+"Mhz",a=!0}return a};function Ub(a,b,c){a.Ne+=b;c&&(a.Nc=a.A=0)}
function Vb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Gd&&a.ld&&(d=a.ld/a.Dh);a.Ok=Math.round(1E3/30);a.ko=Math.floor(a.Hd/c*d);a.Wi=Math.floor(a.Hd/30*d);a.Sk=Math.floor(a.Hd/60*d);a.Rk=Math.floor(a.Hd/2*d);b||(a.tf=a.Wi,a.lg=a.Sk,a.kg=a.Rk);a.Lj=0}function F(a,b){var c=a.Ne+a.ne+a.Nc-a.A;b&&1<a.Gd&&a.ld>a.Dh&&(c=Math.round(c/a.Gd));return c}function Mb(a){a.ld=0;a.Gh=1;a.Ne=a.ne=a.Nc=a.A=0;Nb(a);Tb(a,1)}
function Tb(a,b,c){void 0!==b&&(0.8>a.ld/a.Je&&(b=1),a.Gd=b,b=a.Dh*a.Gd,a.Je!=b&&(a.Je=b,b=a.Je.toFixed(2)+"Mhz",a.ta.setSpeed&&(a.ta.setSpeed.innerHTML=b),a.da("target speed: "+b)),c&&a.Od());Ub(a,a.ne);a.ne=0;a.pf=oa();a.Ke=0;Vb(a)}
k.Qe=function(a){if(Za(this,!0)){this.Nb||(Tb(this),this.Ea&&this.Ea.start(this.pf,F(this)),this.Nb=!0,this.ma&&Wb(this.ma),this.ta.run&&(this.ta.run.innerHTML="Halt"),a&&this.Od());this.Lj>=this.Hd&&Vb(this,!0);this.mg=0;this.Eh=oa();this.Ke&&(a=this.Eh-this.Ke,a>this.Ok&&(this.pf+=a,this.pf>this.Eh&&(this.pf=this.Eh)));try{do{this.Af(this.hf?1:Math.round(this.ko/this.Gh));var b=this.Nc-this.A;this.ne+=b;this.mg+=b;Ub(this,0,!0);Rb(this,b);this.lg-=b;0>=this.lg&&(this.lg+=this.Sk,this.ui());this.kg-=
b;0>=this.kg&&(this.kg+=this.Rk,this.jh());this.tf-=b;if(0>=this.tf){this.tf+=this.Wi;break}}while(this.Nb)}catch(c){this.Ab();Qb(this);this.Ea&&this.Ea.stop(oa(),F(this));Za(this,!1);bb(this,c.message);return}b=setTimeout;a=this.ro;this.Ke=oa();var d=this.Ok;this.mg&&(d=Math.round(d*this.mg/this.Wi));var d=d-(this.Ke-this.Eh),e=this.Ke-this.pf;e&&(this.ld=Math.round(this.ne/(10*e))/100,864E5<=e&&(this.Ne=0,this.ma&&Xb(this.ma,!0),Tb(this)));if(0>d||this.ld<this.Je)d=0;this.Lj+=this.mg;this.Ke+=d;
b(a,d)}else Qb(this),this.Ea&&this.Ea.stop(oa(),F(this))};k.Ab=function(a){$a(this,!0);this.Nc-=this.A;this.A=0;Ub(this,this.ne);this.ne=0;this.Nb&&(this.Nb=!1,this.ma&&Wb(this.ma),this.ta.run&&(this.ta.run.innerHTML="Run"));this.ph=a};k.Af=function(){return 0};function Qb(a){a.ui();a.jh()}
var Yb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
0,0,1,1,0,1,0,0,1];function Zb(a,b,c){this.T=a;this.Xa=this.pa=0;this.Mc=65535;this.Lc=this.cb=0;this.Dg=b;$b(this,c)}function cc(a){this.pa=a;this.Mc=65535;return this.Xa=a<<4}
function dc(a){var b,c;a&4?(b=this.T.Md.Xa,c=this.T.Md.Mc):(b=this.T.Sc,c=this.T.cf);b+=a&65528;if(b+7<=c){this.Wc=fc;this.ac=gc;this.T.A-=15;c=this.T.Ia(b+0);var d=this.T.Ia(b+4),e=this.T.Ia(b+2)|(d&255)<<16;this.T.Ia(b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.ac=hc);if(b&2048||!(b&512))this.ac=ic;this.pa=a;this.Mc=c;this.cb=d;this.Lc=(d&24576)>>13;return this.Xa=e}if(b&&768>=b)return this.pa=a,this.Mc=c,this.cb=d,this.Lc=(d&24576)>>13,this.Xa=e}return-1}function jc(a){return this.Xa+a}
function kc(a){return this.Xa+a}function fc(a,b,c){return a+b<=this.Mc?this.Xa+a:hc.call(this,0,0,c)}function hc(a,b,c){c||lc.call(this.T,13,0);return-1}function gc(a,b,c){return a+b<=this.Mc?this.Xa+a:ic.call(this,0,0,c)}function ic(a,b,c){c||lc.call(this.T,13,0);return-1}Zb.prototype.save=function(){return[this.pa,this.Xa,this.Mc,this.cb,this.Lc,this.Dg]};Zb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.pa=a[0],this.Xa=a[1],this.Mc=a[2],this.cb=a[3],this.Lc=a[4],this.Dg=a[5])};
function $b(a,b){void 0===b&&(b=!!(a.T.ad&1));b?(a.load=dc,a.Wc=fc,a.ac=gc):(a.load=cc,a.Wc=jc,a.ac=kc)}
function mc(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}Kb.call(this,a,b);this.hk=61442;this.Og=4;this.uf=255;this.B=80286<=this.Ga?nc:oc;this.Ua=pc.slice();80186<=this.Ga&&(this.uf=31,this.Ua[15]=qc,this.Ua[96]=rc,this.Ua[97]=sc,this.Ua[98]=tc,this.Ua[99]=qc,this.Ua[100]=qc,this.Ua[101]=qc,this.Ua[102]=qc,this.Ua[103]=qc,this.Ua[104]=uc,this.Ua[105]=vc,this.Ua[106]=wc,this.Ua[107]=yc,this.Ua[108]=zc,this.Ua[109]=Ac,this.Ua[110]=Cc,this.Ua[111]=
Dc,this.Ua[192]=Ec,this.Ua[193]=Fc,this.Ua[200]=Gc,this.Ua[201]=Hc,this.Ua[241]=Ic,Jc[7]=Kc,Lc[7]=Kc,80286<=this.Ga&&(this.hk=2,this.Og=0,this.Ua[15]=Mc,this.Ua[99]=Nc,this.Ua[84]=Oc));this.Qg=[];this.Rg=[];this.Nc=this.gh=0;this.ph=this.Di=!1;this.Ba=[];this.xe=this.Ib=this.rb=this.gb=this.Be=0;this.U=this.Um;this.V=this.Vm;this.O=this.bo;this.P=this.co;this.R=this.wp;this.S=this.xp;Pc(this)}z(Kb,mc);
var oc={Mj:4,ba:5,va:6,ha:7,ia:8,Q:9,W:11,X:12,Le:4,Uk:60,Vk:83,Vb:3,sb:9,jc:16,Kh:1,Zk:19,al:28,cl:16,bl:21,$k:37,Xk:2,ej:9,Yk:5,Wk:33,gj:10,fj:8,sg:3,rg:15,ql:51,rl:1,sl:2,tl:4,pl:32,hj:15,vl:15,Wb:16,Xb:4,xl:11,wl:18,ul:24,Cb:4,yl:2,ij:16,zl:17,nj:18,Al:19,mj:5,oj:6,Fl:2,El:8,Cl:9,Dl:10,Bl:10,pj:10,qj:10,el:80,gl:144,dl:86,fl:154,il:101,kl:165,hl:107,jl:171,Hl:70,Jl:113,Gl:76,Il:124,ml:80,ol:128,ll:86,nl:134,ug:3,tg:16,vj:10,uj:8,Kl:51,kc:8,Ll:17,Ml:36,rc:11,Nl:16,vg:10,me:2,bj:18,cj:7,dj:15,jj:12,
kj:7,lj:11,rj:18,sj:7,tj:15,wj:15,xj:7,yj:13,Cj:11,Dj:7,Ej:8,Ol:8,Rl:12,Pl:18,Ql:17,Sl:15,Aj:8,zj:20,Bj:2,Hj:3,wg:9,Gj:5,Fj:11,Jj:4,Ij:17,Tl:11},nc={Mj:0,ba:0,va:0,ha:0,ia:0,Q:0,W:1,X:1,Le:3,Uk:14,Vk:16,Vb:2,sb:7,jc:7,Kh:0,Zk:7,al:13,cl:7,bl:11,$k:16,Xk:3,ej:6,Yk:2,Wk:13,gj:5,fj:5,sg:2,rg:7,ql:23,rl:0,sl:1,tl:3,pl:17,hj:7,vl:11,Wb:7,Xb:3,xl:7,wl:11,ul:15,Cb:2,yl:3,ij:7,zl:8,nj:8,Al:8,mj:4,oj:4,Fl:2,El:3,Cl:5,Dl:2,Bl:3,pj:5,qj:3,el:14,gl:22,dl:17,fl:25,il:17,kl:25,hl:20,jl:28,Hl:13,Jl:21,Gl:16,Il:24,
ml:13,ol:21,ll:16,nl:24,ug:2,tg:7,vj:5,uj:5,Kl:19,kc:5,Ll:5,Ml:17,rc:3,Nl:5,vg:3,me:0,bj:8,cj:5,dj:9,jj:5,kj:5,lj:4,rj:5,sj:5,tj:4,wj:7,xj:5,yj:8,Cj:3,Dj:4,Ej:3,Ol:11,Rl:11,Pl:15,Ql:15,Sl:7,Aj:5,zj:8,Bj:0,Hj:2,wg:6,Gj:3,Fj:6,Jj:3,Ij:5,Tl:5};k=mc.prototype;k.Pi=function(a,b,c,d,e){this.Ba=a;this.xe=this.Ib=b;this.rb=c;this.gb=d;this.Be=e};k.reset=function(){this.Nb&&this.Ab();Pc(this);Mb(this);this.jd=!1};
function Pc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Z=0;a.I=0;a.G=0;a.F=0;a.ad=65520;a.dd=0;a.we=1023;a.Ic={Nj:0,pa:0,cb:0,Ch:-1};a.wa=new Zb(a,"CS");a.Eb=new Zb(a,"DS");a.wb=new Zb(a,"SS");a.ab=new Zb(a,"ES");a.im=new Zb(a,"ZERO");Qc(a,0,65535);80286<=a.Ga&&(a.Sc=0,a.cf=65535,a.Md=new Zb(a,"LDT",!0),a.Gg=new Zb(a,"TSS",!0),a.Ob=new Zb(a,"VER",!0),Qc(a,65520,61440),a.wa.Xa=16711680);Rc(a,0);Sc(a);a.mb=0;a.Db=a.Ag=-1;a.Zg=0;a.ja=a.Ka=-1;a.D=a.Eb;a.N=a.wb;a.aa=a.xa=0}
k.Hk=function(){var a=this.H+this.C+this.J+this.K+this.Z+this.I+this.G+this.F|0;return a=a+this.ra+this.wa.pa+this.Eb.pa+this.wb.pa+this.ab.pa+Tc(this)|0};function Uc(a,b,c,d){void 0!==d&&(void 0===a.Qg[b]&&(a.Qg[b]=[]),a.Qg[b].push([c,d]))}function Vc(a,b){var c=a.Qg[b];if(void 0!==c)for(var d=0;d<c.length;d++){if(!c[d][1].call(c[d][0],a.Ca))return!1}else a.Di&&E(a.Y,a.Y.Xe)&&(Wc(a.Y,b,a.Ca),Xc(a,a.Ca,function(a,c){return function(d){Yc(a.Y,b,d,F(a)-c)}}(a,F(a))));return!0}
function Xc(a,b,c){void 0!==c&&(null==a.Rg[b]&&a.gh++,a.Rg[b]=c)}function Zc(a,b){var c=a.Rg[b];null!=c&&(c(--a.gh),delete a.Rg[b])}function Sc(a,b){void 0===b&&(b=!!(a.ad&1));$c=b?ad:bd;$b(a.wa,b);$b(a.Eb,b);$b(a.wb,b);$b(a.ab,b)}
k.save=function(){var a=new I(this);a.set(0,[this.H,this.C,this.J,this.K,this.Z,this.I,this.G,this.F]);a.set(1,[this.ra,this.wa.save(),this.Eb.save(),this.wb.save(),this.ab.save(),Tc(this),null!=this.Sc?[this.ad,this.Sc,this.cf,this.dd,this.we,this.Md.save(),this.Gg.save()]:null]);a.set(2,[this.D.Dg,this.N.Dg,this.aa,this.xa,this.mb,this.ja,this.Ka]);a.set(3,[this.Gh,this.Ne,this.Gd]);a.set(4,qb(this.oa));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Z=b[4];this.I=b[5];this.G=b[6];this.F=b[7];b=a[1];this.wa.restore(b[1]);this.Eb.restore(b[2]);this.wb.restore(b[3]);this.ab.restore(b[4]);Rc(this,b[5]);var c=b[6];c&&c.length&&(this.ad=c[0],this.Sc=c[1],this.cf=c[2],this.dd=c[3],this.we=c[4],this.Md.restore(c[5]),this.Gg.restore(c[6]),Sc(this));K(this,b[0]);b=a[2];this.D=cd(this,b[0]);this.N=cd(this,b[1]);this.aa=b[2];this.xa=b[3];this.mb=b[4];this.ja=b[5];this.Ka=
b[6];b=a[3];this.Gh=b[0];this.Ne=b[1];Tb(this,b[2]);a:{b=this.oa;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.sk){for(var f=0,h=Array(b.sk),g=0;g<e.length-1;)for(var l=e[g++],n=e[g++];l--;)h[f++]=n;e=h}f=b.Ba[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&ib(b,a[c]);b=!0}return b};
function cd(a,b){switch(b){case "CS":return a.wa;case "DS":return a.Eb;case "SS":return a.wb;case "ES":return a.ab;case "ZERO":return a.im;default:return[0,b,0,0,""]}}function dd(a,b){var c;if(a.ad&1){if(c=a.dd+(b<<3),c+7<=a.we){a.Ic.Nj=a.Ia(c);a.Ic.pa=a.Ia(c+2);a.Ic.cb=a.Ia(c+4);switch(a.Ic.cb&7936){case 1536:a.Ic.Ch=-17153;break;case 1792:a.Ic.Ch=-16641;break;default:return!1}return!0}}else if(c=a.dd+(b<<2),c+7<=a.we)return a.Ic.Nj=a.Ia(c),a.Ic.pa=a.Ia(c+2),a.Ic.Ch=-769,!0;return!1}
function ed(a,b){a.Ca=a.wa.load(b)+a.ra;a.aa|=a.Og}function fd(a,b){a.Eb.load(b);a.aa|=a.Og}function gd(a,b){a.wb.load(b);a.aa|=4}function hd(a,b){a.ab.load(b);a.aa|=a.Og}function K(a,b){a.Ca=a.wa.Xa+(a.ra=b&65535)}function Qc(a,b,c){a.Ca=a.wa.load(c)+(a.ra=b)}function id(a,b){a.Ca=a.wa.Xa+(a.ra=a.ra+b&65535)}function jd(a){return a.$&a.ea?1:0}function kd(a){return Yb[a.ka&255]?4:0}function ld(a){return(a.ka^a.na)&16?16:0}function md(a){return a.$&a.ea-1?0:64}
function nd(a){return a.ka&a.ea>>1?128:0}function od(a){return(a.ka^a.na^a.ka>>1)&a.ea>>1?2048:0}function pd(a){a.$&=~a.ea}function qd(a){a.na=a.ka&16|a.na&-17}function rd(a){a.$|=a.ea-1}function sd(a){nd(a)&&(a.ka^=a.ea>>1|a.ea>>2,a.na^=32896)}function td(a){a.ka&=~a.ea;a.na=a.ka&32896|a.na&-32897}function ud(a){a.$|=a.ea}function vd(a){a.na=~(a.ka&16)&16|a.na&-17}function wd(a){a.$&=~(a.ea-1)}function zd(a){nd(a)||(a.ka^=a.ea>>1|a.ea>>2,a.na^=32896)}
function Ad(a){a.ka|=a.ea;a.na=a.ka&32896|a.na&-32897}function Tc(a){return a.ya&-2262|jd(a)|kd(a)|ld(a)|md(a)|nd(a)|od(a)}function Rc(a,b){a.ea=256;a.$=a.ka=a.na=0;b&1&&ud(a);b&4||(a.ka|=1);b&16&&(a.na|=16);b&64||rd(a);b&128&&zd(a);b&2048&&Ad(a);a.ya=a.ya&-1793|b&1792|a.hk;a.ya&256&&(a.mb|=2,a.aa|=4)}
k.xb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.ta[c]=d;e=!0;break;default:e=Kb.prototype.xb.call(this,a,b,c,d)}return e};k.ub=function(a){return this.Ba[(a&this.Ib)>>this.rb].tc(a&this.gb)};
k.Ia=function(a){var b=a&this.gb;a=(a&this.Ib)>>this.rb;this.A-=this.B.Mj;return b!=this.gb?this.Ba[a].Zl(b):this.Ba[a++].tc(b)|this.Ba[a&this.Be].tc(0)<<8};k.Nd=function(a,b){this.Ba[(a&this.Ib)>>this.rb].Cc(a&this.gb,b&255)};k.bd=function(a,b){var c=a&this.gb,d=(a&this.Ib)>>this.rb;this.A-=this.B.Mj;c!=this.gb?this.Ba[d].lm(c,b&65535):(this.Ba[d++].Cc(c,b&255),this.Ba[d&this.Be].Cc(0,b>>8&255))};k.Um=function(a,b){this.Fg=a;this.ja=a.Wc(this.xg=b,0);return this.aa&1?0:this.ub(this.ja)};
k.Vm=function(a,b){this.Fg=a;this.ja=a.Wc(this.xg=b,1);return this.aa&1?0:this.Ia(this.ja)};k.bo=function(a,b){this.Fg=a;this.Ka=this.ja=a.Wc(this.xg=b,0);return this.aa&1?0:this.ub(this.ja)};k.co=function(a,b){this.Fg=a;this.Ka=this.ja=a.Wc(this.xg=b,1);return this.aa&1?0:this.Ia(this.ja)};k.wp=function(a){this.aa&2||this.Nd(this.Fg.ac(this.xg,1),a)};k.xp=function(a){this.aa&2||this.bd(this.Fg.ac(this.xg,2),a)};k.fa=function(){var a=this.ub(this.Ca);this.Ca=this.wa.Xa+(this.ra=this.ra+1&65535);return a};
k.M=function(){var a=this.ub(this.Ca)<<24>>24;this.Ca=this.wa.Xa+(this.ra=this.ra+1&65535);return a&65535};k.L=function(){var a=this.Ia(this.Ca);this.Ca=this.wa.Xa+(this.ra=this.ra+2&65535);return a};k.Ja=function(){var a=this.Z;this.Z=this.Z+2&65535;return this.Ia(this.wb.Wc(a,1))};function K(a,b){var c=a.Z=a.Z-2&65535;a.bd(a.wb.ac(c,1),b)}
k.jh=function(){G(this,"AX",this.H);G(this,"BX",this.C);G(this,"CX",this.J);G(this,"DX",this.K);G(this,"SP",this.Z);G(this,"BP",this.I);G(this,"SI",this.G);G(this,"DI",this.F);G(this,"CS",this.wa.pa);G(this,"DS",this.Eb.pa);G(this,"SS",this.wb.pa);G(this,"ES",this.ab.pa);G(this,"IP",this.ra);var a=Jc(this);G(this,"PS",a);G(this,"C",a&1?1:0,1);G(this,"P",a&4?1:0,1);G(this,"A",a&16?1:0,1);G(this,"Z",a&64?1:0,1);G(this,"S",a&128?1:0,1);G(this,"T",a&256?1:0,1);G(this,"I",a&512?1:0,1);G(this,"D",a&1024?
k.M=function(){var a=this.ub(this.Ca)<<24>>24;this.Ca=this.wa.Xa+(this.ra=this.ra+1&65535);return a&65535};k.L=function(){var a=this.Ia(this.Ca);this.Ca=this.wa.Xa+(this.ra=this.ra+2&65535);return a};k.Ja=function(){var a=this.Z;this.Z=this.Z+2&65535;return this.Ia(this.wb.Wc(a,1))};function L(a,b){var c=a.Z=a.Z-2&65535;a.bd(a.wb.ac(c,1),b)}
k.jh=function(){G(this,"AX",this.H);G(this,"BX",this.C);G(this,"CX",this.J);G(this,"DX",this.K);G(this,"SP",this.Z);G(this,"BP",this.I);G(this,"SI",this.G);G(this,"DI",this.F);G(this,"CS",this.wa.pa);G(this,"DS",this.Eb.pa);G(this,"SS",this.wb.pa);G(this,"ES",this.ab.pa);G(this,"IP",this.ra);var a=Tc(this);G(this,"PS",a);G(this,"C",a&1?1:0,1);G(this,"P",a&4?1:0,1);G(this,"A",a&16?1:0,1);G(this,"Z",a&64?1:0,1);G(this,"S",a&128?1:0,1);G(this,"T",a&256?1:0,1);G(this,"I",a&512?1:0,1);G(this,"D",a&1024?
1:0,1);G(this,"O",a&2048?1:0,1);this.ta.speed&&(this.ta.speed.innerHTML=this.Nb&&this.ld?this.ld.toFixed(2)+"Mhz":"Stopped")};
k.Af=function(a){this.ph=!0;this.Di=a&&this.Y&&rd(this.Y);this.Nc=this.A=a;this.ma&&Sb(this.ma);a||!this.Y||D(this.Y,this.Y.Ye)||(this.aa|=4);do{var b=this.aa&240;if(b)this.xa|=b;else if(this.Nh=this.Ca,this.ja=this.Ka=-1,this.D=this.Eb,this.N=this.wb,this.xa=this.aa&256,this.mb){a:{if(!(this.aa&4))if(this.mb&1&&this.ya&512){if(b=sd(this.ma),-1<=b&&(this.mb&=-2,0<=b)){this.mb&=-5;td.call(this,b,null,11);b=!0;break a}}else if(this.mb&2){this.mb&=-3;td.call(this,1,null,11);b=!0;break a}if(b=this.mb&
8){for(var b=this.ma,c=!1,d=0;d<b.bb;d++)for(var e=b.bb[d],f=0;f<e.Gb.length;f++){var g=e.Gb[f];g.Fd||(ud(b,g),g.Fd||(c=!0))}b=!c}b&&(this.mb&=-9);b=!1}if(b&&!a){this.aa=0;break}if(this.mb&4){this.aa=this.A=0;break}}if(this.Di&&vd(this.Y,this.Ca)){this.Ab();break}this.aa=0;this.Ua[this.fa()].call(this)}while(0<this.A);return this.ph?this.Nc-this.A:void 0===this.ph?0:-1};k.Qa=function(a){this.Y&&D(this.Y,this.Y.Lg)&&this.Y.message(a)};
Fa(function(){for(var a=B(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ec(d);Ua(d,c)}});function wd(a,b){this.na=a^b;this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=a+b)&255}function xd(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a|b)&255}
function yd(a,b){this.na=a^b;this.$=this.ka=a+b+(this.$&this.ea?1:0);this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return this.$&255}function zd(a,b){this.na=a^b;this.$=this.ka=a-b-(this.$&this.ea?1:0);this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return this.$&255}function Ad(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a&b)&255}
function Bd(a,b){this.na=a^b;this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=a-b)&255}function Cd(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a^b)&255}function Dd(a,b){this.na=a^b;this.ea=256;this.$=this.ka=a-b;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.ej:this.B.sb;this.aa|=2;return a}
function Ed(a,b){this.na=a^b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=a+b)&65535}function Fd(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a|b)&65535}function Gd(a,b){this.na=a^b;this.$=this.ka=a+b+(this.$&this.ea?1:0);this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return this.$&65535}
function Hd(a,b){this.na=a^b;this.$=this.ka=a-b-(this.$&this.ea?1:0);this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return this.$&65535}function Id(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a&b)&65535}function Jd(a,b){this.na=a^b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=a-b)&65535}
function Kd(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a^b)&65535}function Ld(a,b){this.na=a^b;this.ea=65536;this.$=this.ka=a-b;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.ej:this.B.sb;this.aa|=2;return a}function Md(a,b){this.$=this.$&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?qd(this):ld(this)}function Nd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;Md.call(this,d,256)}return c}
function Od(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;Md.call(this,d,65536)}return c}function Pd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);Md.call(this,d,256)}return c}function Qd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);Md.call(this,d,65536)}return c}
function Rd(a,b){var c=a;if(b){var d;(d=(b&this.uf)%9)?(d=a<<d|(this.$&this.ea?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.$&this.ea?1:0)<<8;Md.call(this,d,256)}return c}function Sd(a,b){var c=a;if(b){var d;(d=(b&this.uf)%17)?(d=a<<d|(this.$&this.ea?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.$&this.ea?1:0)<<16;Md.call(this,d,65536)}return c}function Td(a,b){var c=a;b&&(c=(b&this.uf)%9,c=a>>c|(this.$&this.ea?1:0)<<8-c|a<<9-c,Md.call(this,c,256),c&=255);return c}
function Ud(a,b){var c=a;b&&(c=(b&this.uf)%17,c=a>>c|(this.$&this.ea?1:0)<<16-c|a<<17-c,Md.call(this,c,65536),c&=65535);return c}function Vd(a,b){var c=a;b&&(c=8<b?this.$=this.ka=0:(this.$=this.ka=a<<b)&255,this.na=0,this.ea=256);return c}function Wd(a,b){var c=a;b&&(c=16<b?this.$=this.ka=0:(this.$=this.ka=a<<b)&65535,this.na=0,this.ea=65536);return c}
function Xd(a,b){if(b){var c=8<b?0:a>>b-1;this.$=this.ka=c>>1;this.$=c&1?this.$|256:this.$&-257;this.na=a^this.$;this.ea=256;a=this.$}return a&255}function Yd(a,b){if(b){var c=16<b?0:a>>b-1;this.$=this.ka=c>>1;this.$=c&1?this.$|65536:this.$&-65537;this.na=a^this.$;this.ea=65536;a=this.$}return a&65535}function Zd(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.$=this.ka=c>>1;this.$=c&1?this.$|256:this.$&-257;this.na=a^this.$;this.ea=256;a=this.$}return a&255}
function ce(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.$=this.ka=c>>1;this.$=c&1?this.$|65536:this.$&-65537;this.na=a^this.$;this.ea=65536;a=this.$}return a&65535}function de(){this.A-=0>this.ja?2:this.B.Sl;return 1}function ee(){var a=this.J&this.uf;this.A-=(0>this.ja?this.B.Aj:this.B.zj)+(a<<this.B.Bj);return a}function fe(){var a=this.fa();this.A-=(0>this.ja?this.B.Aj:this.B.zj)+(a<<this.B.Bj);return a}function ge(){return null}function he(a){dc.call(this,13,0);return a}
function Ac(a){ic.call(this);return a}function L(a){M.call(this);return a}
var ie=[wd,xd,yd,zd,Ad,Bd,Cd,Dd],je=[Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld],ke=[function(a,b){this.A-=0>this.Ka?this.B.kc:this.B.Ll;return b},he,he,he,he,he,he,he],le=[function(a,b){this.A-=0>this.Ka?this.B.Dl:this.B.Bl;return b},L,L,L,L,L,L,L],me=[Nd,Pd,Rd,Td,Vd,Xd,L,Zd],ne=[Od,Qd,Sd,Ud,Wd,Yd,L,ce],pe=[function(a,b){b=this.fa();this.$=this.ka=this.na=a&b;this.ea=256;this.A-=0>this.ja?this.B.Gj:this.B.Fj;this.aa|=2;return a},L,function(a){this.A-=0>this.ja?this.B.ug:this.B.tg;return a^255},function(a,b){b=0;this.na=
a^b;this.ea=256;this.A-=0>this.ja?this.B.ug:this.B.tg;return(this.$=this.ka=b-a)&255},function(a){this.H=this.Db=(this.$=(this.H&255)*a)&65535;this.na=this.ka=this.$;this.ea=256;this.H&65280?(md(this),qd(this)):(hd(this),ld(this));this.A-=0>this.ja?this.B.Hl:this.B.Gl;this.aa|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Db=b&65535;this.$=this.na=this.ka=b;this.ea=256;127<b||-128>b?(md(this),qd(this)):(hd(this),ld(this));this.A-=0>this.ja?this.B.ml:this.B.ll;this.aa|=2;return a},
function(a){if(!a)return oe.call(this),a;var b=this.H/a;if(255<b)return oe.call(this),a;this.Db=this.H=b&255|(this.H%a&255)<<8;this.ka=this.na=this.$=b|256;this.ea=256;this.A-=0>this.ja?this.B.el:this.B.dl;this.aa|=2;return a},function(a){if(!a)return oe.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return oe.call(this),a;this.Db=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ka=this.na=this.$=b|256;this.ea=256;this.A-=0>this.ja?this.B.il:this.B.hl;this.aa|=2;return a}],
qe=[function(a,b){b=this.L();this.$=this.ka=this.na=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Gj:this.B.Fj;this.aa|=2;return a},L,function(a){this.A-=0>this.ja?this.B.ug:this.B.tg;return a^65535},function(a,b){b=0;this.na=a^b;this.ea=65536;this.A-=0>this.ja?this.B.ug:this.B.tg;return(this.$=this.ka=b-a)&65535},function(a){this.Db=this.H=(this.$=this.H*a)&65535;this.Ag=this.K=this.$>>16&65535;this.na=this.ka=this.$;this.ea=65536;this.K?(md(this),qd(this)):(hd(this),ld(this));this.A-=0>this.ja?this.B.Jl:
this.B.Il;this.aa|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Db=b&65535;this.K=this.Ag=b>>16&65535;this.$=this.na=this.ka=b;this.ea=65536;32767<b||-32768>b?(md(this),qd(this)):(hd(this),ld(this));this.A-=0>this.ja?this.B.ol:this.B.nl;this.aa|=2;return a},function(a,b){if(!a)return oe.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return oe.call(this),a;this.Db=this.H=c&65535;this.Ag=this.K=b%a&65535;this.ka=this.na=this.$=c|65536;this.ea=65536;this.A-=
0>this.ja?this.B.gl:this.B.fl;this.aa|=2;return a},function(a,b){if(!a)return oe.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return oe.call(this),a;this.Db=this.H=d&65535;this.Ag=this.K=b%c&65535;this.ka=this.na=this.$=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.kl:this.B.jl;this.aa|=2;return a}],zc=[function(a){this.na=a;a=(this.ka=a+1)&255;this.$=a|(this.$&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.sg:this.B.rg;return a},function(a){this.na=
a;a=(this.ka=a-1)&255;this.$=a|(this.$&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.sg:this.B.rg;return a},L,L,L,L,L,L],Bc=[function(a){this.na=a;a=(this.ka=a+1)&65535;this.$=a|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.sg:this.B.rg;return a},function(a){this.na=a;a=(this.ka=a-1)&65535;this.$=a|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.sg:this.B.rg;return a},function(a){K(this,this.ra);I(this,a);this.A-=0>this.ja?this.B.cl:this.B.bl;this.aa|=2;return a},
function(a){if(0>this.ja)return L.call(this,a);K(this,this.wa.pa);K(this,this.ra);Gc(this,a,this.Ia(this.ja+2));this.A-=this.B.$k;this.aa|=2;return a},function(a){I(this,a);this.A-=0>this.ja?this.B.xl:this.B.wl;this.aa|=2;return a},function(a){if(0>this.ja)return L.call(this,a);Gc(this,a,this.Ia(this.ja+2));this.A-=this.B.ul;this.aa|=2;return a},function(a){var b=a;this.aa&512&&(a=a-2&65535,80286>this.Ga&&(b=a));K(this,b);this.A-=0>this.ja?this.B.rc:this.B.Nl;this.aa|=2;return a},he],re=[Nd,Pd,Rd,
Td,Vd,Xd,L,Zd],se=[Od,Qd,Sd,Ud,Wd,Yd,L,ce];function te(a,b){this.A-=0>this.Ka?0>this.ja?this.B.Fl:this.B.El:this.B.Cl;return b}function ue(){return te.call(this,0,this.Db)}function ve(a,b){this.$=this.ka=this.na=a&b;this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Hj:this.B.wg:this.B.wg;this.aa|=2;return a}function we(a,b){this.$=this.ka=this.na=a&b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Hj:this.B.wg:this.B.wg;this.aa|=2;return a}
function xe(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.$=this.na=this.ka=c;this.ea=256;32767<c||-32768>c?(md(this),qd(this)):(hd(this),ld(this));this.A-=0>this.ja?21:24;return c&65535}function ye(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.$=this.na=this.ka=c;this.ea=65536;32767<c||-32768>c?(md(this),qd(this)):(hd(this),ld(this));this.A-=0>this.ja?21:24;return c&65535}function ze(a){return a}function Ae(a){if(0>this.ja)return M.call(this),a;this.A-=this.B.yl;return this.ja}
function Be(a,b){if(0>this.ja)return M.call(this),a;Zc(this,this.Ia(this.ja+2));this.A-=this.B.ij;return b}function Ce(a,b){if(0>this.ja)return M.call(this),a;ad(this,this.Ia(this.ja+2));this.A-=this.B.ij;return b}function De(a){if(0>this.ja)return ic.call(this),a;var b=a<<16>>16,c=this.Ia(this.ja)<<16>>16,d=this.Ia(this.ja+2)<<16>>16;this.A-=this.B.Wk;if(b<c||b>d)I(this,this.Nh-this.wa.Xa),td.call(this,5,null,0);this.aa|=2;return a}
function Ee(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,od(this),a;jd(this);return a}function Fe(a,b){this.A-=14+(0>this.ja?0:2);if(0<=this.Ob.load(b,!0)&&this.Ob.Lc>=(this.wa.pa&3)&&this.Ob.Lc>=(b&3))return od(this),this.Ob.cb&65280;jd(this);return a}function Ge(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&0<=this.Ob.load(b,!0)&&(3072==(this.Ob.cb&3072)||this.Ob.Lc>=(this.wa.pa&3))&&this.Ob.Lc>=(b&3))return od(this),this.Ob.Mc;jd(this);return a}
function He(a,b){if(0>this.ja){switch(this.Zg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Jj}else this.Ka=this.ja,this.R(a),this.A-=this.B.Ij;return b}
function Ie(a,b){if(0>this.ja){switch(this.Zg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Z=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Jj}else this.Ka=this.ja,this.S(a),this.A-=this.B.Ij;return b}function td(a,b,c){Xc(this,a)&&(K(this,Jc(this)),this.ya&=this.Ic.Ch,K(this,this.wa.pa),K(this,this.ra),null!=b&&K(this,b),Gc(this,this.Ic.Nj,this.Ic.pa),this.A-=this.B.ql+c)}
function oe(){I(this,this.Nh-this.wa.Xa);td.call(this,0,null,2)}function dc(a,b){this.Y&&D(this.Y,this.Y.sm)&&this.Y.message("Fault 0x"+r(a)+(null!=b?" (0x"+u(b)+")":"")+" on opcode 0x"+r(ib(this.oa,this.Ca))+" at "+da(this.ra,this.wa.pa));80186<=this.Ga&&(I(this,this.Nh-this.wa.Xa),td.call(this,a,b,0))}function ic(){dc.call(this,6);this.Ab()}function M(){I(this,this.Nh-this.wa.Xa);Ya(this,"Undefined opcode 0x"+r(ib(this.oa,this.Ca))+" at "+da(this.ra,this.wa.pa));this.Ab()}
function Je(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function Ke(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function Le(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function Me(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function Ne(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function Oe(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}
function Pe(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function Qe(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function Re(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Se(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Te(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function Ue(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}
function Ve(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function We(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function Xe(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Ye(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Ze(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function $e(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}
function af(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function bf(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function cf(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function df(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function ef(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}function ff(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}
function gf(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function hf(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}function jf(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function kf(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function lf(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a}function mf(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}
function nf(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function of(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}function pf(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function qf(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function rf(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8}function sf(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}
function tf(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function uf(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}function vf(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function wf(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function xf(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8}function yf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}
function zf(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function Af(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}function Bf(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function Cf(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function Df(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8}function Ef(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}
function Ff(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function Gf(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}function Hf(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function If(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function Jf(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8}function Kf(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}
function Lf(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function Mf(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}function Nf(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function Of(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function Pf(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8}function Qf(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}
function Rf(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function Sf(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}function Tf(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function Uf(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function Vf(a){this.H=a.call(this,this.H,this.H)}function Wf(a){this.H=a.call(this,this.H,this.J)}function Xf(a){this.H=a.call(this,this.H,this.K)}function Yf(a){this.H=a.call(this,this.H,this.C)}
function Zf(a){this.H=a.call(this,this.H,this.Z)}function $f(a){this.H=a.call(this,this.H,this.I)}function ag(a){this.H=a.call(this,this.H,this.G)}function bg(a){this.H=a.call(this,this.H,this.F)}function cg(a){this.J=a.call(this,this.J,this.H)}function dg(a){this.J=a.call(this,this.J,this.J)}function eg(a){this.J=a.call(this,this.J,this.K)}function fg(a){this.J=a.call(this,this.J,this.C)}function gg(a){this.J=a.call(this,this.J,this.Z)}function hg(a){this.J=a.call(this,this.J,this.I)}
function ig(a){this.J=a.call(this,this.J,this.G)}function jg(a){this.J=a.call(this,this.J,this.F)}function kg(a){this.K=a.call(this,this.K,this.H)}function lg(a){this.K=a.call(this,this.K,this.J)}function mg(a){this.K=a.call(this,this.K,this.K)}function ng(a){this.K=a.call(this,this.K,this.C)}function og(a){this.K=a.call(this,this.K,this.Z)}function pg(a){this.K=a.call(this,this.K,this.I)}function qg(a){this.K=a.call(this,this.K,this.G)}function rg(a){this.K=a.call(this,this.K,this.F)}
function sg(a){this.C=a.call(this,this.C,this.H)}function tg(a){this.C=a.call(this,this.C,this.J)}function ug(a){this.C=a.call(this,this.C,this.K)}function vg(a){this.C=a.call(this,this.C,this.C)}function wg(a){this.C=a.call(this,this.C,this.Z)}function xg(a){this.C=a.call(this,this.C,this.I)}function yg(a){this.C=a.call(this,this.C,this.G)}function zg(a){this.C=a.call(this,this.C,this.F)}function Ag(a){this.Z=a.call(this,this.Z,this.H)}function Bg(a){this.Z=a.call(this,this.Z,this.J)}
function Cg(a){this.Z=a.call(this,this.Z,this.K)}function Dg(a){this.Z=a.call(this,this.Z,this.C)}function Eg(a){this.Z=a.call(this,this.Z,this.Z)}function Fg(a){this.Z=a.call(this,this.Z,this.I)}function Gg(a){this.Z=a.call(this,this.Z,this.G)}function Hg(a){this.Z=a.call(this,this.Z,this.F)}function Ig(a){this.I=a.call(this,this.I,this.H)}function Jg(a){this.I=a.call(this,this.I,this.J)}function Kg(a){this.I=a.call(this,this.I,this.K)}function Lg(a){this.I=a.call(this,this.I,this.C)}
function Mg(a){this.I=a.call(this,this.I,this.Z)}function Ng(a){this.I=a.call(this,this.I,this.I)}function Og(a){this.I=a.call(this,this.I,this.G)}function Pg(a){this.I=a.call(this,this.I,this.F)}function Qg(a){this.G=a.call(this,this.G,this.H)}function Rg(a){this.G=a.call(this,this.G,this.J)}function Sg(a){this.G=a.call(this,this.G,this.K)}function Tg(a){this.G=a.call(this,this.G,this.C)}function Ug(a){this.G=a.call(this,this.G,this.Z)}function Vg(a){this.G=a.call(this,this.G,this.I)}
function Wg(a){this.G=a.call(this,this.G,this.G)}function Xg(a){this.G=a.call(this,this.G,this.F)}function Yg(a){this.F=a.call(this,this.F,this.H)}function Zg(a){this.F=a.call(this,this.F,this.J)}function $g(a){this.F=a.call(this,this.F,this.K)}function ah(a){this.F=a.call(this,this.F,this.C)}function bh(a){this.F=a.call(this,this.F,this.Z)}function ch(a){this.F=a.call(this,this.F,this.I)}function dh(a){this.F=a.call(this,this.F,this.G)}function eh(a){this.F=a.call(this,this.F,this.F)}
var fh=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.ba},
k.Af=function(a){this.ph=!0;this.Di=a&&this.Y&&Bd(this.Y);this.Nc=this.A=a;this.ma&&Xb(this.ma);a||!this.Y||E(this.Y,this.Y.Ye)||(this.aa|=4);do{var b=this.aa&240;if(b)this.xa|=b;else if(this.Nh=this.Ca,this.ja=this.Ka=-1,this.D=this.Eb,this.N=this.wb,this.xa=this.aa&256,this.mb){a:{if(!(this.aa&4))if(this.mb&1&&this.ya&512){if(b=Cd(this.ma),-1<=b&&(this.mb&=-2,0<=b)){this.mb&=-5;Dd.call(this,b,null,11);b=!0;break a}}else if(this.mb&2){this.mb&=-3;Dd.call(this,1,null,11);b=!0;break a}if(b=this.mb&
8){for(var b=this.ma,c=!1,d=0;d<b.bb;d++)for(var e=b.bb[d],f=0;f<e.Gb.length;f++){var h=e.Gb[f];h.Fd||(Ed(b,h),h.Fd||(c=!0))}b=!c}b&&(this.mb&=-9);b=!1}if(b&&!a){this.aa=0;break}if(this.mb&4){this.aa=this.A=0;break}}if(this.Di&&Fd(this.Y,this.Ca)){this.Ab();break}this.aa=0;this.Ua[this.fa()].call(this)}while(0<this.A);return this.ph?this.Nc-this.A:void 0===this.ph?0:-1};k.Qa=function(a){this.Y&&E(this.Y,this.Y.Lg)&&this.Y.message(a)};
Fa(function(){for(var a=D(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new mc(d);Ya(d,c)}});function Gd(a,b){this.na=a^b;this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=a+b)&255}function Hd(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a|b)&255}
function Id(a,b){this.na=a^b;this.$=this.ka=a+b+(this.$&this.ea?1:0);this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return this.$&255}function Jd(a,b){this.na=a^b;this.$=this.ka=a-b-(this.$&this.ea?1:0);this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return this.$&255}function Kd(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a&b)&255}
function Ld(a,b){this.na=a^b;this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=a-b)&255}function Md(a,b){this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a^b)&255}function Nd(a,b){this.na=a^b;this.ea=256;this.$=this.ka=a-b;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.ej:this.B.sb;this.aa|=2;return a}
function Od(a,b){this.na=a^b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=a+b)&65535}function Pd(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a|b)&65535}function Qd(a,b){this.na=a^b;this.$=this.ka=a+b+(this.$&this.ea?1:0);this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return this.$&65535}
function Rd(a,b){this.na=a^b;this.$=this.ka=a-b-(this.$&this.ea?1:0);this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return this.$&65535}function Sd(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a&b)&65535}function Td(a,b){this.na=a^b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=a-b)&65535}
function Ud(a,b){this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.sb:this.B.jc;return(this.$=this.ka=this.na=a^b)&65535}function Vd(a,b){this.na=a^b;this.ea=65536;this.$=this.ka=a-b;this.A-=0>this.Ka?0>this.ja?this.B.Vb:this.B.ej:this.B.sb;this.aa|=2;return a}function Wd(a,b){this.$=this.$&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Ad(this):td(this)}function Xd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;Wd.call(this,d,256)}return c}
function Yd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;Wd.call(this,d,65536)}return c}function Zd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);Wd.call(this,d,256)}return c}function $d(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);Wd.call(this,d,65536)}return c}
function ae(a,b){var c=a;if(b){var d;(d=(b&this.uf)%9)?(d=a<<d|(this.$&this.ea?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.$&this.ea?1:0)<<8;Wd.call(this,d,256)}return c}function be(a,b){var c=a;if(b){var d;(d=(b&this.uf)%17)?(d=a<<d|(this.$&this.ea?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.$&this.ea?1:0)<<16;Wd.call(this,d,65536)}return c}function ce(a,b){var c=a;b&&(c=(b&this.uf)%9,c=a>>c|(this.$&this.ea?1:0)<<8-c|a<<9-c,Wd.call(this,c,256),c&=255);return c}
function de(a,b){var c=a;b&&(c=(b&this.uf)%17,c=a>>c|(this.$&this.ea?1:0)<<16-c|a<<17-c,Wd.call(this,c,65536),c&=65535);return c}function ee(a,b){var c=a;b&&(c=8<b?this.$=this.ka=0:(this.$=this.ka=a<<b)&255,this.na=0,this.ea=256);return c}function fe(a,b){var c=a;b&&(c=16<b?this.$=this.ka=0:(this.$=this.ka=a<<b)&65535,this.na=0,this.ea=65536);return c}
function ge(a,b){if(b){var c=8<b?0:a>>b-1;this.$=this.ka=c>>1;this.$=c&1?this.$|256:this.$&-257;this.na=a^this.$;this.ea=256;a=this.$}return a&255}function he(a,b){if(b){var c=16<b?0:a>>b-1;this.$=this.ka=c>>1;this.$=c&1?this.$|65536:this.$&-65537;this.na=a^this.$;this.ea=65536;a=this.$}return a&65535}function ie(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.$=this.ka=c>>1;this.$=c&1?this.$|256:this.$&-257;this.na=a^this.$;this.ea=256;a=this.$}return a&255}
function je(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.$=this.ka=c>>1;this.$=c&1?this.$|65536:this.$&-65537;this.na=a^this.$;this.ea=65536;a=this.$}return a&65535}function ke(){this.A-=0>this.ja?2:this.B.Sl;return 1}function le(){var a=this.J&this.uf;this.A-=(0>this.ja?this.B.Aj:this.B.zj)+(a<<this.B.Bj);return a}function me(){var a=this.fa();this.A-=(0>this.ja?this.B.Aj:this.B.zj)+(a<<this.B.Bj);return a}function ne(){return null}function oe(a){lc.call(this,13,0);return a}
function Kc(a){qc.call(this);return a}function M(a){N.call(this);return a}
var pe=[Gd,Hd,Id,Jd,Kd,Ld,Md,Nd],qe=[Od,Pd,Qd,Rd,Sd,Td,Ud,Vd],re=[function(a,b){this.A-=0>this.Ka?this.B.kc:this.B.Ll;return b},oe,oe,oe,oe,oe,oe,oe],se=[function(a,b){this.A-=0>this.Ka?this.B.Dl:this.B.Bl;return b},M,M,M,M,M,M,M],te=[Xd,Zd,ae,ce,ee,ge,M,ie],ue=[Yd,$d,be,de,fe,he,M,je],we=[function(a,b){b=this.fa();this.$=this.ka=this.na=a&b;this.ea=256;this.A-=0>this.ja?this.B.Gj:this.B.Fj;this.aa|=2;return a},M,function(a){this.A-=0>this.ja?this.B.ug:this.B.tg;return a^255},function(a,b){b=0;this.na=
a^b;this.ea=256;this.A-=0>this.ja?this.B.ug:this.B.tg;return(this.$=this.ka=b-a)&255},function(a){this.H=this.Db=(this.$=(this.H&255)*a)&65535;this.na=this.ka=this.$;this.ea=256;this.H&65280?(ud(this),Ad(this)):(pd(this),td(this));this.A-=0>this.ja?this.B.Hl:this.B.Gl;this.aa|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Db=b&65535;this.$=this.na=this.ka=b;this.ea=256;127<b||-128>b?(ud(this),Ad(this)):(pd(this),td(this));this.A-=0>this.ja?this.B.ml:this.B.ll;this.aa|=2;return a},
function(a){if(!a)return ve.call(this),a;var b=this.H/a;if(255<b)return ve.call(this),a;this.Db=this.H=b&255|(this.H%a&255)<<8;this.ka=this.na=this.$=b|256;this.ea=256;this.A-=0>this.ja?this.B.el:this.B.dl;this.aa|=2;return a},function(a){if(!a)return ve.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return ve.call(this),a;this.Db=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ka=this.na=this.$=b|256;this.ea=256;this.A-=0>this.ja?this.B.il:this.B.hl;this.aa|=2;return a}],
xe=[function(a,b){b=this.L();this.$=this.ka=this.na=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Gj:this.B.Fj;this.aa|=2;return a},M,function(a){this.A-=0>this.ja?this.B.ug:this.B.tg;return a^65535},function(a,b){b=0;this.na=a^b;this.ea=65536;this.A-=0>this.ja?this.B.ug:this.B.tg;return(this.$=this.ka=b-a)&65535},function(a){this.Db=this.H=(this.$=this.H*a)&65535;this.Ag=this.K=this.$>>16&65535;this.na=this.ka=this.$;this.ea=65536;this.K?(ud(this),Ad(this)):(pd(this),td(this));this.A-=0>this.ja?this.B.Jl:
this.B.Il;this.aa|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Db=b&65535;this.K=this.Ag=b>>16&65535;this.$=this.na=this.ka=b;this.ea=65536;32767<b||-32768>b?(ud(this),Ad(this)):(pd(this),td(this));this.A-=0>this.ja?this.B.ol:this.B.nl;this.aa|=2;return a},function(a,b){if(!a)return ve.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return ve.call(this),a;this.Db=this.H=c&65535;this.Ag=this.K=b%a&65535;this.ka=this.na=this.$=c|65536;this.ea=65536;this.A-=
0>this.ja?this.B.gl:this.B.fl;this.aa|=2;return a},function(a,b){if(!a)return ve.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return ve.call(this),a;this.Db=this.H=d&65535;this.Ag=this.K=b%c&65535;this.ka=this.na=this.$=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.kl:this.B.jl;this.aa|=2;return a}],Jc=[function(a){this.na=a;a=(this.ka=a+1)&255;this.$=a|(this.$&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.sg:this.B.rg;return a},function(a){this.na=
a;a=(this.ka=a-1)&255;this.$=a|(this.$&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.sg:this.B.rg;return a},M,M,M,M,M,M],Lc=[function(a){this.na=a;a=(this.ka=a+1)&65535;this.$=a|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.sg:this.B.rg;return a},function(a){this.na=a;a=(this.ka=a-1)&65535;this.$=a|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.sg:this.B.rg;return a},function(a){L(this,this.ra);K(this,a);this.A-=0>this.ja?this.B.cl:this.B.bl;this.aa|=2;return a},
function(a){if(0>this.ja)return M.call(this,a);L(this,this.wa.pa);L(this,this.ra);Qc(this,a,this.Ia(this.ja+2));this.A-=this.B.$k;this.aa|=2;return a},function(a){K(this,a);this.A-=0>this.ja?this.B.xl:this.B.wl;this.aa|=2;return a},function(a){if(0>this.ja)return M.call(this,a);Qc(this,a,this.Ia(this.ja+2));this.A-=this.B.ul;this.aa|=2;return a},function(a){var b=a;this.aa&512&&(a=a-2&65535,80286>this.Ga&&(b=a));L(this,b);this.A-=0>this.ja?this.B.rc:this.B.Nl;this.aa|=2;return a},oe],ye=[Xd,Zd,ae,
ce,ee,ge,M,ie],ze=[Yd,$d,be,de,fe,he,M,je];function Ae(a,b){this.A-=0>this.Ka?0>this.ja?this.B.Fl:this.B.El:this.B.Cl;return b}function Ee(){return Ae.call(this,0,this.Db)}function Fe(a,b){this.$=this.ka=this.na=a&b;this.ea=256;this.A-=0>this.Ka?0>this.ja?this.B.Hj:this.B.wg:this.B.wg;this.aa|=2;return a}function Ge(a,b){this.$=this.ka=this.na=a&b;this.ea=65536;this.A-=0>this.Ka?0>this.ja?this.B.Hj:this.B.wg:this.B.wg;this.aa|=2;return a}
function He(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.$=this.na=this.ka=c;this.ea=256;32767<c||-32768>c?(ud(this),Ad(this)):(pd(this),td(this));this.A-=0>this.ja?21:24;return c&65535}function Ie(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.$=this.na=this.ka=c;this.ea=65536;32767<c||-32768>c?(ud(this),Ad(this)):(pd(this),td(this));this.A-=0>this.ja?21:24;return c&65535}function Je(a){return a}function Ke(a){if(0>this.ja)return N.call(this),a;this.A-=this.B.yl;return this.ja}
function Le(a,b){if(0>this.ja)return N.call(this),a;fd(this,this.Ia(this.ja+2));this.A-=this.B.ij;return b}function Me(a,b){if(0>this.ja)return N.call(this),a;hd(this,this.Ia(this.ja+2));this.A-=this.B.ij;return b}function Ne(a){if(0>this.ja)return qc.call(this),a;var b=a<<16>>16,c=this.Ia(this.ja)<<16>>16,d=this.Ia(this.ja+2)<<16>>16;this.A-=this.B.Wk;if(b<c||b>d)K(this,this.Nh-this.wa.Xa),Dd.call(this,5,null,0);this.aa|=2;return a}
function Oe(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,wd(this),a;rd(this);return a}function Pe(a,b){this.A-=14+(0>this.ja?0:2);if(0<=this.Ob.load(b,!0)&&this.Ob.Lc>=(this.wa.pa&3)&&this.Ob.Lc>=(b&3))return wd(this),this.Ob.cb&65280;rd(this);return a}function Qe(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&0<=this.Ob.load(b,!0)&&(3072==(this.Ob.cb&3072)||this.Ob.Lc>=(this.wa.pa&3))&&this.Ob.Lc>=(b&3))return wd(this),this.Ob.Mc;rd(this);return a}
function Re(a,b){if(0>this.ja){switch(this.Zg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Jj}else this.Ka=this.ja,this.R(a),this.A-=this.B.Ij;return b}
function Se(a,b){if(0>this.ja){switch(this.Zg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Z=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Jj}else this.Ka=this.ja,this.S(a),this.A-=this.B.Ij;return b}function Dd(a,b,c){dd(this,a)&&(L(this,Tc(this)),this.ya&=this.Ic.Ch,L(this,this.wa.pa),L(this,this.ra),null!=b&&L(this,b),Qc(this,this.Ic.Nj,this.Ic.pa),this.A-=this.B.ql+c)}
function ve(){K(this,this.Nh-this.wa.Xa);Dd.call(this,0,null,2)}function lc(a,b){this.Y&&E(this.Y,this.Y.sm)&&this.Y.message("Fault 0x"+r(a)+(null!=b?" (0x"+u(b)+")":"")+" on opcode 0x"+r(mb(this.oa,this.Ca))+" at "+da(this.ra,this.wa.pa));80186<=this.Ga&&(K(this,this.Nh-this.wa.Xa),Dd.call(this,a,b,0))}function qc(){lc.call(this,6);this.Ab()}function N(){K(this,this.Nh-this.wa.Xa);bb(this,"Undefined opcode 0x"+r(mb(this.oa,this.Ca))+" at "+da(this.ra,this.wa.pa));this.Ab()}
function Te(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function Ue(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function Ve(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function We(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function Xe(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function Ye(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}
function Ze(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function $e(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function af(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function bf(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function cf(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function df(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}
function ef(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function ff(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function gf(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function hf(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function jf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function kf(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}
function lf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function mf(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function nf(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function of(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function pf(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}function qf(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}
function rf(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function sf(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}function tf(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function uf(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function vf(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a}function wf(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}
function xf(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function yf(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}function zf(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function Af(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function Bf(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8}function Cf(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}
function Df(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function Ef(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}function Ff(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function Gf(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function Hf(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8}function If(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}
function Jf(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function Kf(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}function Lf(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function Mf(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function Nf(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8}function Of(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}
function Pf(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function Qf(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}function Rf(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function Sf(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function Tf(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8}function Uf(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}
function Vf(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function Wf(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}function Xf(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function Yf(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function Zf(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8}function $f(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}
function ag(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function bg(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}function cg(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function dg(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function eg(a){this.H=a.call(this,this.H,this.H)}function fg(a){this.H=a.call(this,this.H,this.J)}function gg(a){this.H=a.call(this,this.H,this.K)}function hg(a){this.H=a.call(this,this.H,this.C)}
function ig(a){this.H=a.call(this,this.H,this.Z)}function jg(a){this.H=a.call(this,this.H,this.I)}function kg(a){this.H=a.call(this,this.H,this.G)}function lg(a){this.H=a.call(this,this.H,this.F)}function mg(a){this.J=a.call(this,this.J,this.H)}function ng(a){this.J=a.call(this,this.J,this.J)}function og(a){this.J=a.call(this,this.J,this.K)}function pg(a){this.J=a.call(this,this.J,this.C)}function qg(a){this.J=a.call(this,this.J,this.Z)}function rg(a){this.J=a.call(this,this.J,this.I)}
function sg(a){this.J=a.call(this,this.J,this.G)}function tg(a){this.J=a.call(this,this.J,this.F)}function ug(a){this.K=a.call(this,this.K,this.H)}function vg(a){this.K=a.call(this,this.K,this.J)}function wg(a){this.K=a.call(this,this.K,this.K)}function xg(a){this.K=a.call(this,this.K,this.C)}function yg(a){this.K=a.call(this,this.K,this.Z)}function zg(a){this.K=a.call(this,this.K,this.I)}function Ag(a){this.K=a.call(this,this.K,this.G)}function Bg(a){this.K=a.call(this,this.K,this.F)}
function Cg(a){this.C=a.call(this,this.C,this.H)}function Dg(a){this.C=a.call(this,this.C,this.J)}function Eg(a){this.C=a.call(this,this.C,this.K)}function Fg(a){this.C=a.call(this,this.C,this.C)}function Gg(a){this.C=a.call(this,this.C,this.Z)}function Hg(a){this.C=a.call(this,this.C,this.I)}function Ig(a){this.C=a.call(this,this.C,this.G)}function Jg(a){this.C=a.call(this,this.C,this.F)}function Kg(a){this.Z=a.call(this,this.Z,this.H)}function Lg(a){this.Z=a.call(this,this.Z,this.J)}
function Mg(a){this.Z=a.call(this,this.Z,this.K)}function Ng(a){this.Z=a.call(this,this.Z,this.C)}function Og(a){this.Z=a.call(this,this.Z,this.Z)}function Pg(a){this.Z=a.call(this,this.Z,this.I)}function Qg(a){this.Z=a.call(this,this.Z,this.G)}function Rg(a){this.Z=a.call(this,this.Z,this.F)}function Sg(a){this.I=a.call(this,this.I,this.H)}function Tg(a){this.I=a.call(this,this.I,this.J)}function Ug(a){this.I=a.call(this,this.I,this.K)}function Vg(a){this.I=a.call(this,this.I,this.C)}
function Wg(a){this.I=a.call(this,this.I,this.Z)}function Xg(a){this.I=a.call(this,this.I,this.I)}function Yg(a){this.I=a.call(this,this.I,this.G)}function Zg(a){this.I=a.call(this,this.I,this.F)}function $g(a){this.G=a.call(this,this.G,this.H)}function ah(a){this.G=a.call(this,this.G,this.J)}function bh(a){this.G=a.call(this,this.G,this.K)}function ch(a){this.G=a.call(this,this.G,this.C)}function dh(a){this.G=a.call(this,this.G,this.Z)}function eh(a){this.G=a.call(this,this.G,this.I)}
function fh(a){this.G=a.call(this,this.G,this.G)}function gh(a){this.G=a.call(this,this.G,this.F)}function hh(a){this.F=a.call(this,this.F,this.H)}function ih(a){this.F=a.call(this,this.F,this.J)}function jh(a){this.F=a.call(this,this.F,this.K)}function kh(a){this.F=a.call(this,this.F,this.C)}function lh(a){this.F=a.call(this,this.F,this.Z)}function mh(a){this.F=a.call(this,this.F,this.I)}function nh(a){this.F=a.call(this,this.F,this.G)}function oh(a){this.F=a.call(this,this.F,this.F)}
var ph=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.ba},
function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.ba},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.va},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.ba},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,
this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.ba},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.ba},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.va},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a);
this.A-=this.B.ba},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-=
@ -153,8 +153,8 @@ this.C+this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a)
a.call(this,this.O(this.D,this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.X},
function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K>>8);this.R(a);
this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+
this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},Je,Re,Ze,gf,pf,xf,Ff,Nf,Ke,Se,$e,hf,qf,
yf,Gf,Of,Le,Te,af,jf,rf,zf,Hf,Pf,Me,Ue,bf,kf,sf,Af,If,Qf,Ne,Ve,cf,lf,tf,Bf,Jf,Rf,Oe,We,df,mf,uf,Cf,Kf,Sf,Pe,Xe,ef,nf,vf,Df,Lf,Tf,Qe,Ye,ff,of,wf,Ef,Mf,Uf],gh=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&
this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},Te,af,jf,rf,zf,Hf,Pf,Xf,Ue,bf,kf,sf,Af,
If,Qf,Yf,Ve,cf,lf,tf,Bf,Jf,Rf,Zf,We,df,mf,uf,Cf,Kf,Sf,$f,Xe,ef,nf,vf,Df,Lf,Tf,ag,Ye,ff,of,wf,Ef,Mf,Uf,bg,Ze,gf,pf,xf,Ff,Nf,Vf,cg,$e,hf,qf,yf,Gf,Of,Wf,dg],qh=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&
65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.ba},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.ba},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.va},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.ba},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,
this.P(this.D,this.C+this.F&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.ba},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.ba},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a);
this.A-=this.B.va},function(a){a=a.call(this,this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.ba},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.ha},function(a){a=
@ -191,8 +191,8 @@ function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.I);th
this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.G);this.S(a);
this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.G);this.S(a);
this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),
this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},Vf,cg,kg,sg,Ag,Ig,Qg,Yg,Wf,dg,lg,tg,Bg,Jg,Rg,Zg,Xf,eg,mg,ug,Cg,Kg,Sg,
$g,Yf,fg,ng,vg,Dg,Lg,Tg,ah,Zf,gg,og,wg,Eg,Mg,Ug,bh,$f,hg,pg,xg,Fg,Ng,Vg,ch,ag,ig,qg,yg,Gg,Og,Wg,dh,bg,jg,rg,zg,Hg,Pg,Xg,eh],hh=[function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,
this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},eg,mg,ug,Cg,Kg,Sg,$g,hh,fg,ng,vg,Dg,Lg,Tg,ah,ih,gg,og,wg,Eg,Mg,Ug,bh,
jh,hg,pg,xg,Fg,Ng,Vg,ch,kh,ig,qg,yg,Gg,Og,Wg,dh,lh,jg,rg,zg,Hg,Pg,Xg,eh,mh,kg,sg,Ag,Ig,Qg,Yg,fh,nh,lg,tg,Bg,Jg,Rg,Zg,gh,oh],rh=[function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,
this.U(this.N,this.I+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.H&255,this.U(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.H&255,this.U(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.va},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,
this.J&255,this.U(this.D,this.C+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&255,this.U(this.D,this.G));this.J=this.J&-256|
a;this.A-=this.B.ba},function(a){a=a.call(this,this.J&255,this.U(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.J&255,this.U(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.va},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.ba},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.F&
@ -235,8 +235,8 @@ this.I+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function
255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=
this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>
8,this.U(this.D,this.C+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D,
this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,
of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf],N=[function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.H=a.call(this,
this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,
yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg],O=[function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.H=a.call(this,
this.H,this.V(this.D,this.G));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,this.V(this.D,this.F));this.A-=this.B.ba},function(a){this.H=a.call(this,this.H,this.V(this.D,this.L()));this.A-=this.B.va},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.J=a.call(this,
this.J,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.J=a.call(this,this.J,this.V(this.D,this.G));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,this.V(this.D,this.F));this.A-=this.B.ba},function(a){this.J=a.call(this,this.J,this.V(this.D,this.L()));this.A-=this.B.va},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C));this.A-=this.B.ba},function(a){this.K=a.call(this,
this.K,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.K=a.call(this,this.K,this.V(this.D,this.G));this.A-=this.B.ba},function(a){this.K=a.call(this,this.K,this.V(this.D,this.F));this.A-=this.B.ba},
@ -271,8 +271,8 @@ this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.cal
this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.F+this.L()&65535));
this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},
function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.F=
a.call(this,this.F,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,
Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,bh,ch,dh,eh],ih=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},
a.call(this,this.F,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,
$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh],sh=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},
function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.va},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=
this.B.ha},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,this.O(this.D,this.F),
b.call(this));this.R(c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.va},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ba},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,
@ -325,7 +325,7 @@ this.K=this.K&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this)
this.H&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.K>>8,b.call(this));this.K=this.K&255|
c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,
b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=
a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],jh=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=
a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],th=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=
this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,this.P(this.D,this.F),
b.call(this));this.S(c);this.A-=this.B.ba},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.va},function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,
this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ba},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.va},function(a,
@ -376,291 +376,291 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio
this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.Z=a[4].call(this,this.Z,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C=
a[5].call(this,this.C,b.call(this))},function(a,b){this.Z=a[5].call(this,this.Z,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},
function(a,b){this.aa|=512;this.Z=a[6].call(this,this.Z,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.Z=a[7].call(this,
this.Z,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}],lh=[function(){var a=this.fa();16>(a&56)&&(this.aa|=1);jh[a].call(this,Qc,ge)},function(){var a=this.fa();a&16||(this.aa|=1);jh[a].call(this,kh,ge)},function(){N[this.fa()].call(this,Fe)},function(){N[this.fa()].call(this,Ge)},M,M,M,M,M,M,M,ic,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,
M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M],Rc=[function(){this.A-=2+(0>this.ja?0:1);return this.Md.pa},function(){this.A-=
2+(0>this.ja?0:1);return this.Gg.pa},function(a){this.aa|=2;this.Md.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.aa|=2;this.Gg.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.aa|=2;this.A-=14+(0>this.ja?0:2);if(0<=this.Ob.load(a,!0)&&2048!=(this.Ob.cb&2560)&&(3072==(this.Ob.cb&3072)||this.Ob.Lc>=(this.wa.pa&3)&&this.Ob.Lc>=(a&3)))return od(this),a;jd(this);return a},function(a){this.aa|=2;this.A-=14+(0>this.ja?0:2);if(0<=this.Ob.load(a,!0)&&512==(this.Ob.cb&2560)&&this.Ob.Lc>=
(this.wa.pa&3)&&this.Ob.Lc>=(a&3))return od(this),a;jd(this);return a},L,L],Sc=[Ac,Ac,Ac,Ac,Ac,Ac,L,L],Qc=Sc,kh=[function(a){0>this.ja?ic.call(this):(a=this.cf-this.Sc,this.bd(this.ja+2,this.Sc),this.bd(this.ja+4,65280|this.Sc>>16),this.A-=11);return a},function(a){0>this.ja?ic.call(this):(a=this.we-this.dd,this.bd(this.ja+2,this.dd),this.bd(this.ja+4,65280|this.dd>>16),this.A-=12);return a},function(a){0>this.ja?ic.call(this):(this.Sc=this.Ia(this.ja+2)|this.ub(this.ja+4)<<16,this.cf=this.Sc+a,this.aa|=
2,this.A-=11);return a},function(a){0>this.ja?ic.call(this):(this.dd=this.Ia(this.ja+2)|this.ub(this.ja+4)<<16,this.we=this.dd+a,this.aa|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.ad},L,function(a){this.ad=this.ad&65520|a&-65521;this.A-=3+(0>this.ja?0:3);this.ad&1&&Ic(this,!0);this.aa|=2;return a},L];function Cc(){lh[this.fa()].call(this)}function Ec(){K(this,this.Z);this.A-=this.B.rc}
function jc(){var a=this.Z;K(this,this.H);K(this,this.J);K(this,this.K);K(this,this.C);K(this,a);K(this,this.I);K(this,this.G);K(this,this.F);this.A-=this.B.Ml}function kc(){this.F=this.Ja();this.G=this.Ja();this.I=this.Ja();this.Z+=2;this.C=this.Ja();this.K=this.Ja();this.J=this.Ja();this.H=this.Ja();this.A-=this.B.Kl}function lc(){N[this.fa()].call(this,De)}function Dc(){gh[this.fa()].call(this,Ee)}function mc(){K(this,this.L());this.A-=this.B.rc}function nc(){N[this.fa()].call(this,ye)}
function oc(){K(this,this.fa());this.A-=this.B.rc}function pc(){N[this.fa()].call(this,xe)}function qc(){var a=1,b=0,c=5;this.xa&192&&(a=this.J,b=1,this.xa&256&&(c=4));if(a--){var d=pb(this.oa,this.K,this.Ca-b-1);this.Nd(this.ab.ac(this.F,0),d);this.F=this.F+(this.ya&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.aa|=256)}}
function rc(){var a=1,b=0,c=5;this.xa&192&&(a=this.J,b=1,this.xa&256&&(c=4));if(a--){var d=this.Ca-b-1,d=pb(this.oa,this.K,d)|pb(this.oa,this.K,d)<<8;this.bd(this.ab.ac(this.F,1),d);this.F=this.F+(this.ya&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.aa|=256)}}
function sc(){var a=1,b=0,c=5;this.xa&192&&(a=this.J,b=1,this.xa&256&&(c=4));if(a--){var d=this.ub(this.Eb.Wc(this.G,0));this.G=this.G+(this.ya&1024?-1:1)&65535;this.A-=c;this.J-=b;tb(this.oa,this.K,d,this.Ca-b-1);a&&(J(this,-2),this.aa|=256)}}
function tc(){var a=1,b=0,c=5;this.xa&192&&(a=this.J,b=1,this.xa&256&&(c=4));if(a--){var d=this.Ia(this.Eb.Wc(this.G,1));this.G=this.G+(this.ya&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ca-b-1;tb(this.oa,this.K,d&255,b);tb(this.oa,this.K,d>>8,b);a&&(J(this,-2),this.aa|=256)}}function mh(){var a=this.M();gd(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function nh(){var a=this.M();gd(this)?this.A-=this.B.Xb:(I(this,this.ra+a),this.A-=this.B.Wb)}
function oh(){var a=this.M();bd(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function ph(){var a=this.M();bd(this)?this.A-=this.B.Xb:(I(this,this.ra+a),this.A-=this.B.Wb)}function qh(){var a=this.M();ed(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function rh(){var a=this.M();ed(this)?this.A-=this.B.Xb:(I(this,this.ra+a),this.A-=this.B.Wb)}function sh(){var a=this.M();bd(this)||ed(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}
function th(){var a=this.M();bd(this)||ed(this)?this.A-=this.B.Xb:(I(this,this.ra+a),this.A-=this.B.Wb)}function uh(){var a=this.M();fd(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function vh(){var a=this.M();fd(this)?this.A-=this.B.Xb:(I(this,this.ra+a),this.A-=this.B.Wb)}function wh(){var a=this.M();cd(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function xh(){var a=this.M();cd(this)?this.A-=this.B.Xb:(I(this,this.ra+a),this.A-=this.B.Wb)}
function yh(){var a=this.M();!fd(this)!=!gd(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function zh(){var a=this.M();!fd(this)==!gd(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Ah(){var a=this.M();ed(this)||!fd(this)!=!gd(this)?(I(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Bh(){var a=this.M();ed(this)||!fd(this)!=!gd(this)?this.A-=this.B.Xb:(I(this,this.ra+a),this.A-=this.B.Wb)}
function Ch(){ih[this.fa()].call(this,ie,this.fa);this.A-=0>this.Ka?1:this.B.Kh}function uc(){ih[this.fa()].call(this,re,fe)}function vc(){jh[this.fa()].call(this,se,fe)}function Dh(){var a=this.L();I(this,this.Ja());this.Z=this.Z+a&65535;this.A-=this.B.Rl}function Eh(){I(this,this.Ja());this.A-=this.B.Ol}
function wc(){var a=this.L(),b=this.fa()&31;this.A-=11;K(this,this.I);var c=this.Z;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,K(this,this.Ia(this.wb.Wc(this.I,1)));K(this,c)}this.I=c;this.Z=this.Z-a&65535}function xc(){this.Z=this.I;this.I=this.Ja();this.A-=5}function Fh(){var a=this.L();Gc(this,this.Ja(),this.Ja());this.Z=this.Z+a&65535;this.gh&&Pc(this,this.Ca);this.A-=this.B.Ql}function Gh(){Gc(this,this.Ja(),this.Ja());this.A-=this.B.Pl}
function Hh(){N[this.fa()].call(this,ze);this.A-=8}function Ih(){this.aa|=36;this.A-=this.B.me}function yc(){M.call(this)}
var hc=[function(){var a=this.fa();fh[a].call(this,wd)},function(){gh[this.fa()].call(this,Ed)},function(){hh[this.fa()].call(this,wd)},function(){N[this.fa()].call(this,Ed)},function(){this.H=this.H&-256|wd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Ed.call(this,this.H,this.L());this.A--},function(){K(this,this.ab.pa);this.A-=this.B.vg},function(){ad(this,this.Ja());this.A-=this.B.kc},function(){fh[this.fa()].call(this,xd)},function(){gh[this.fa()].call(this,Fd)},function(){hh[this.fa()].call(this,
xd)},function(){N[this.fa()].call(this,Fd)},function(){this.H=this.H&-256|xd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Fd.call(this,this.H,this.L());this.A--},function(){K(this,this.wa.pa);this.A-=this.B.vg},function(){Yc(this,this.Ja());this.A-=this.B.kc},function(){fh[this.fa()].call(this,yd)},function(){gh[this.fa()].call(this,Gd)},function(){hh[this.fa()].call(this,yd)},function(){N[this.fa()].call(this,Gd)},function(){this.H=this.H&-256|yd.call(this,this.H&255,this.fa());this.A--},
function(){this.H=Gd.call(this,this.H,this.L());this.A--},function(){K(this,this.wb.pa);this.A-=this.B.vg},function(){$c(this,this.Ja());this.A-=this.B.kc},function(){fh[this.fa()].call(this,zd)},function(){gh[this.fa()].call(this,Hd)},function(){hh[this.fa()].call(this,zd)},function(){N[this.fa()].call(this,Hd)},function(){this.H=this.H&-256|zd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Hd.call(this,this.H,this.L());this.A--},function(){K(this,this.Eb.pa);this.A-=this.B.vg},function(){Zc(this,
this.Ja());this.A-=this.B.kc},function(){fh[this.fa()].call(this,Ad)},function(){gh[this.fa()].call(this,Id)},function(){hh[this.fa()].call(this,Ad)},function(){N[this.fa()].call(this,Id)},function(){this.H=this.H&-256|Ad.call(this,this.H&255,this.fa());this.A--},function(){this.H=Id.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=this.ab;this.A-=this.B.me},function(){var a=this.H&255,b=dd(this),c=this.$&this.ea;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.$=this.ka=a&255);this.ea=65536;c&&(this.$|=this.ea);b?nd(this):id(this);this.A-=this.B.Le},function(){fh[this.fa()].call(this,Bd)},function(){gh[this.fa()].call(this,Jd)},function(){hh[this.fa()].call(this,Bd)},function(){N[this.fa()].call(this,Jd)},function(){this.H=this.H&-256|Bd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Jd.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=this.wa;this.A-=this.B.me},function(){var a=this.H&255,b=dd(this),c=this.$&
this.ea;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.$=this.ka=a&255);this.ea=65536;c&&(this.$|=this.ea);b?nd(this):id(this);this.A-=this.B.Le},function(){fh[this.fa()].call(this,Cd)},function(){gh[this.fa()].call(this,Kd)},function(){hh[this.fa()].call(this,Cd)},function(){N[this.fa()].call(this,Kd)},function(){this.H=this.H&-256|Cd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Kd.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=
this.wb;this.A-=this.B.me},function(){var a=this.H&255,b=this.H>>8,c,d=dd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.$=a);this.ea=65536;c&&(this.$|=this.ea);d?nd(this):id(this);this.A-=this.B.Le},function(){fh[this.fa()].call(this,Dd)},function(){gh[this.fa()].call(this,Ld)},function(){hh[this.fa()].call(this,Dd)},function(){N[this.fa()].call(this,Ld)},function(){this.H=this.H&-256|Dd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Ld.call(this,this.H,this.L());
this.A--},function(){this.aa|=20;this.D=this.N=this.Eb;this.A-=this.B.me},function(){var a=this.H&255,b=this.H>>8,c,d=dd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.$=a);this.ea=65536;c&&(this.$|=this.ea);d?nd(this):id(this);this.A-=this.B.Le},function(){this.na=this.H;this.H=(this.ka=this.H+1)&65535;this.$=this.H|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ka=this.J+1)&65535;this.$=this.J|(this.$&this.ea?1:0)<<16;this.ea=65536;
this.Z,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}],vh=[function(){var a=this.fa();16>(a&56)&&(this.aa|=1);th[a].call(this,$c,ne)},function(){var a=this.fa();a&16||(this.aa|=1);th[a].call(this,uh,ne)},function(){O[this.fa()].call(this,Pe)},function(){O[this.fa()].call(this,Qe)},N,N,N,N,N,N,N,qc,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],ad=[function(){this.A-=2+(0>this.ja?0:1);return this.Md.pa},function(){this.A-=
2+(0>this.ja?0:1);return this.Gg.pa},function(a){this.aa|=2;this.Md.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.aa|=2;this.Gg.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.aa|=2;this.A-=14+(0>this.ja?0:2);if(0<=this.Ob.load(a,!0)&&2048!=(this.Ob.cb&2560)&&(3072==(this.Ob.cb&3072)||this.Ob.Lc>=(this.wa.pa&3)&&this.Ob.Lc>=(a&3)))return wd(this),a;rd(this);return a},function(a){this.aa|=2;this.A-=14+(0>this.ja?0:2);if(0<=this.Ob.load(a,!0)&&512==(this.Ob.cb&2560)&&this.Ob.Lc>=
(this.wa.pa&3)&&this.Ob.Lc>=(a&3))return wd(this),a;rd(this);return a},M,M],bd=[Kc,Kc,Kc,Kc,Kc,Kc,M,M],$c=bd,uh=[function(a){0>this.ja?qc.call(this):(a=this.cf-this.Sc,this.bd(this.ja+2,this.Sc),this.bd(this.ja+4,65280|this.Sc>>16),this.A-=11);return a},function(a){0>this.ja?qc.call(this):(a=this.we-this.dd,this.bd(this.ja+2,this.dd),this.bd(this.ja+4,65280|this.dd>>16),this.A-=12);return a},function(a){0>this.ja?qc.call(this):(this.Sc=this.Ia(this.ja+2)|this.ub(this.ja+4)<<16,this.cf=this.Sc+a,this.aa|=
2,this.A-=11);return a},function(a){0>this.ja?qc.call(this):(this.dd=this.Ia(this.ja+2)|this.ub(this.ja+4)<<16,this.we=this.dd+a,this.aa|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.ad},M,function(a){this.ad=this.ad&65520|a&-65521;this.A-=3+(0>this.ja?0:3);this.ad&1&&Sc(this,!0);this.aa|=2;return a},M];function Mc(){vh[this.fa()].call(this)}function Oc(){L(this,this.Z);this.A-=this.B.rc}
function rc(){var a=this.Z;L(this,this.H);L(this,this.J);L(this,this.K);L(this,this.C);L(this,a);L(this,this.I);L(this,this.G);L(this,this.F);this.A-=this.B.Ml}function sc(){this.F=this.Ja();this.G=this.Ja();this.I=this.Ja();this.Z+=2;this.C=this.Ja();this.K=this.Ja();this.J=this.Ja();this.H=this.Ja();this.A-=this.B.Kl}function tc(){O[this.fa()].call(this,Ne)}function Nc(){qh[this.fa()].call(this,Oe)}function uc(){L(this,this.L());this.A-=this.B.rc}function vc(){O[this.fa()].call(this,Ie)}
function wc(){L(this,this.fa());this.A-=this.B.rc}function yc(){O[this.fa()].call(this,He)}function zc(){var a=1,b=0,c=5;this.xa&192&&(a=this.J,b=1,this.xa&256&&(c=4));if(a--){var d=vb(this.oa,this.K,this.Ca-b-1);this.Nd(this.ab.ac(this.F,0),d);this.F=this.F+(this.ya&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(id(this,-2),this.aa|=256)}}
function Ac(){var a=1,b=0,c=5;this.xa&192&&(a=this.J,b=1,this.xa&256&&(c=4));if(a--){var d=this.Ca-b-1,d=vb(this.oa,this.K,d)|vb(this.oa,this.K,d)<<8;this.bd(this.ab.ac(this.F,1),d);this.F=this.F+(this.ya&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(id(this,-2),this.aa|=256)}}
function Cc(){var a=1,b=0,c=5;this.xa&192&&(a=this.J,b=1,this.xa&256&&(c=4));if(a--){var d=this.ub(this.Eb.Wc(this.G,0));this.G=this.G+(this.ya&1024?-1:1)&65535;this.A-=c;this.J-=b;zb(this.oa,this.K,d,this.Ca-b-1);a&&(id(this,-2),this.aa|=256)}}
function Dc(){var a=1,b=0,c=5;this.xa&192&&(a=this.J,b=1,this.xa&256&&(c=4));if(a--){var d=this.Ia(this.Eb.Wc(this.G,1));this.G=this.G+(this.ya&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ca-b-1;zb(this.oa,this.K,d&255,b);zb(this.oa,this.K,d>>8,b);a&&(id(this,-2),this.aa|=256)}}function wh(){var a=this.M();od(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function xh(){var a=this.M();od(this)?this.A-=this.B.Xb:(K(this,this.ra+a),this.A-=this.B.Wb)}
function yh(){var a=this.M();jd(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function zh(){var a=this.M();jd(this)?this.A-=this.B.Xb:(K(this,this.ra+a),this.A-=this.B.Wb)}function Ah(){var a=this.M();md(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Bh(){var a=this.M();md(this)?this.A-=this.B.Xb:(K(this,this.ra+a),this.A-=this.B.Wb)}function Ch(){var a=this.M();jd(this)||md(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}
function Dh(){var a=this.M();jd(this)||md(this)?this.A-=this.B.Xb:(K(this,this.ra+a),this.A-=this.B.Wb)}function Eh(){var a=this.M();nd(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Fh(){var a=this.M();nd(this)?this.A-=this.B.Xb:(K(this,this.ra+a),this.A-=this.B.Wb)}function Gh(){var a=this.M();kd(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Hh(){var a=this.M();kd(this)?this.A-=this.B.Xb:(K(this,this.ra+a),this.A-=this.B.Wb)}
function Ih(){var a=this.M();!nd(this)!=!od(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Jh(){var a=this.M();!nd(this)==!od(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Kh(){var a=this.M();md(this)||!nd(this)!=!od(this)?(K(this,this.ra+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Lh(){var a=this.M();md(this)||!nd(this)!=!od(this)?this.A-=this.B.Xb:(K(this,this.ra+a),this.A-=this.B.Wb)}
function Mh(){sh[this.fa()].call(this,pe,this.fa);this.A-=0>this.Ka?1:this.B.Kh}function Ec(){sh[this.fa()].call(this,ye,me)}function Fc(){th[this.fa()].call(this,ze,me)}function Nh(){var a=this.L();K(this,this.Ja());this.Z=this.Z+a&65535;this.A-=this.B.Rl}function Oh(){K(this,this.Ja());this.A-=this.B.Ol}
function Gc(){var a=this.L(),b=this.fa()&31;this.A-=11;L(this,this.I);var c=this.Z;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,L(this,this.Ia(this.wb.Wc(this.I,1)));L(this,c)}this.I=c;this.Z=this.Z-a&65535}function Hc(){this.Z=this.I;this.I=this.Ja();this.A-=5}function Ph(){var a=this.L();Qc(this,this.Ja(),this.Ja());this.Z=this.Z+a&65535;this.gh&&Zc(this,this.Ca);this.A-=this.B.Ql}function Qh(){Qc(this,this.Ja(),this.Ja());this.A-=this.B.Pl}
function Rh(){O[this.fa()].call(this,Je);this.A-=8}function Sh(){this.aa|=36;this.A-=this.B.me}function Ic(){N.call(this)}
var pc=[function(){var a=this.fa();ph[a].call(this,Gd)},function(){qh[this.fa()].call(this,Od)},function(){rh[this.fa()].call(this,Gd)},function(){O[this.fa()].call(this,Od)},function(){this.H=this.H&-256|Gd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Od.call(this,this.H,this.L());this.A--},function(){L(this,this.ab.pa);this.A-=this.B.vg},function(){hd(this,this.Ja());this.A-=this.B.kc},function(){ph[this.fa()].call(this,Hd)},function(){qh[this.fa()].call(this,Pd)},function(){rh[this.fa()].call(this,
Hd)},function(){O[this.fa()].call(this,Pd)},function(){this.H=this.H&-256|Hd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Pd.call(this,this.H,this.L());this.A--},function(){L(this,this.wa.pa);this.A-=this.B.vg},function(){ed(this,this.Ja());this.A-=this.B.kc},function(){ph[this.fa()].call(this,Id)},function(){qh[this.fa()].call(this,Qd)},function(){rh[this.fa()].call(this,Id)},function(){O[this.fa()].call(this,Qd)},function(){this.H=this.H&-256|Id.call(this,this.H&255,this.fa());this.A--},
function(){this.H=Qd.call(this,this.H,this.L());this.A--},function(){L(this,this.wb.pa);this.A-=this.B.vg},function(){gd(this,this.Ja());this.A-=this.B.kc},function(){ph[this.fa()].call(this,Jd)},function(){qh[this.fa()].call(this,Rd)},function(){rh[this.fa()].call(this,Jd)},function(){O[this.fa()].call(this,Rd)},function(){this.H=this.H&-256|Jd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Rd.call(this,this.H,this.L());this.A--},function(){L(this,this.Eb.pa);this.A-=this.B.vg},function(){fd(this,
this.Ja());this.A-=this.B.kc},function(){ph[this.fa()].call(this,Kd)},function(){qh[this.fa()].call(this,Sd)},function(){rh[this.fa()].call(this,Kd)},function(){O[this.fa()].call(this,Sd)},function(){this.H=this.H&-256|Kd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Sd.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=this.ab;this.A-=this.B.me},function(){var a=this.H&255,b=ld(this),c=this.$&this.ea;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.$=this.ka=a&255);this.ea=65536;c&&(this.$|=this.ea);b?vd(this):qd(this);this.A-=this.B.Le},function(){ph[this.fa()].call(this,Ld)},function(){qh[this.fa()].call(this,Td)},function(){rh[this.fa()].call(this,Ld)},function(){O[this.fa()].call(this,Td)},function(){this.H=this.H&-256|Ld.call(this,this.H&255,this.fa());this.A--},function(){this.H=Td.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=this.wa;this.A-=this.B.me},function(){var a=this.H&255,b=ld(this),c=this.$&
this.ea;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.$=this.ka=a&255);this.ea=65536;c&&(this.$|=this.ea);b?vd(this):qd(this);this.A-=this.B.Le},function(){ph[this.fa()].call(this,Md)},function(){qh[this.fa()].call(this,Ud)},function(){rh[this.fa()].call(this,Md)},function(){O[this.fa()].call(this,Ud)},function(){this.H=this.H&-256|Md.call(this,this.H&255,this.fa());this.A--},function(){this.H=Ud.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=
this.wb;this.A-=this.B.me},function(){var a=this.H&255,b=this.H>>8,c,d=ld(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.$=a);this.ea=65536;c&&(this.$|=this.ea);d?vd(this):qd(this);this.A-=this.B.Le},function(){ph[this.fa()].call(this,Nd)},function(){qh[this.fa()].call(this,Vd)},function(){rh[this.fa()].call(this,Nd)},function(){O[this.fa()].call(this,Vd)},function(){this.H=this.H&-256|Nd.call(this,this.H&255,this.fa());this.A--},function(){this.H=Vd.call(this,this.H,this.L());
this.A--},function(){this.aa|=20;this.D=this.N=this.Eb;this.A-=this.B.me},function(){var a=this.H&255,b=this.H>>8,c,d=ld(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.$=a);this.ea=65536;c&&(this.$|=this.ea);d?vd(this):qd(this);this.A-=this.B.Le},function(){this.na=this.H;this.H=(this.ka=this.H+1)&65535;this.$=this.H|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ka=this.J+1)&65535;this.$=this.J|(this.$&this.ea?1:0)<<16;this.ea=65536;
this.A-=2},function(){this.na=this.K;this.K=(this.ka=this.K+1)&65535;this.$=this.K|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ka=this.C+1)&65535;this.$=this.C|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.Z;this.Z=(this.ka=this.Z+1)&65535;this.$=this.Z|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ka=this.I+1)&65535;this.$=this.I|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=
this.G;this.G=(this.ka=this.G+1)&65535;this.$=this.G|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ka=this.F+1)&65535;this.$=this.F|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.H;this.H=(this.ka=this.H-1)&65535;this.$=this.H|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ka=this.J-1)&65535;this.$=this.J|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.K;this.K=
(this.ka=this.K-1)&65535;this.$=this.K|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ka=this.C-1)&65535;this.$=this.C|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.Z;this.Z=(this.ka=this.Z-1)&65535;this.$=this.Z|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ka=this.I-1)&65535;this.$=this.I|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.G;this.G=(this.ka=this.G-
1)&65535;this.$=this.G|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ka=this.F-1)&65535;this.$=this.F|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){K(this,this.H);this.A-=this.B.rc},function(){K(this,this.J);this.A-=this.B.rc},function(){K(this,this.K);this.A-=this.B.rc},function(){K(this,this.C);this.A-=this.B.rc},function(){K(this,this.Z-2&65535);this.A-=this.B.rc},function(){K(this,this.I);this.A-=this.B.rc},function(){K(this,this.G);this.A-=
this.B.rc},function(){K(this,this.F);this.A-=this.B.rc},function(){this.H=this.Ja();this.A-=this.B.kc},function(){this.J=this.Ja();this.A-=this.B.kc},function(){this.K=this.Ja();this.A-=this.B.kc},function(){this.C=this.Ja();this.A-=this.B.kc},function(){this.Z=this.Ja();this.A-=this.B.kc},function(){this.I=this.Ja();this.A-=this.B.kc},function(){this.G=this.Ja();this.A-=this.B.kc},function(){this.F=this.Ja();this.A-=this.B.kc},mh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,mh,nh,oh,ph,qh,rh,sh,
th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,function(){jh[this.fa()].call(this,je,this.L);this.A-=0>this.Ka?1:this.B.Kh},Ch,function(){jh[this.fa()].call(this,je,this.M);this.A-=0>this.Ka?1:this.B.Kh},function(){fh[this.fa()].call(this,ve)},function(){gh[this.fa()].call(this,we)},function(){hh[this.Zg=this.fa()].call(this,He)},function(){N[this.Zg=this.fa()].call(this,Ie)},function(){this.aa|=1;fh[this.fa()].call(this,te)},function(){this.aa|=1;gh[this.fa()].call(this,te)},function(){hh[this.fa()].call(this,te)},
function(){N[this.fa()].call(this,te)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Db=this.ab.pa;break;case 1:this.Db=this.wa.pa;break;case 2:this.Db=this.wb.pa;break;case 3:this.Db=this.Eb.pa;break;default:M.call(this);return}this.aa|=1;gh[a].call(this,ue)},function(){this.aa|=1;this.D=this.N=this.im;N[this.fa()].call(this,Ae)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ga){ic.call(this);
return}switch(c){case 1:a=this.J;break;case 4:a=this.Z;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}N[b].call(this,te);switch(c){case 0:ad(this,this.H);this.H=a;break;case 1:Yc(this,this.J);this.J=a;break;case 2:$c(this,this.K);this.K=a;break;case 3:Zc(this,this.C);this.C=a;break;case 4:ad(this,this.Z);this.Z=a;break;case 5:Yc(this,this.I);this.I=a;break;case 6:$c(this,this.G);this.G=a;break;case 7:Zc(this,this.F),this.F=a}},function(){this.aa|=1;jh[this.fa()].call(this,ke,this.Ja)},
1)&65535;this.$=this.G|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ka=this.F-1)&65535;this.$=this.F|(this.$&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){L(this,this.H);this.A-=this.B.rc},function(){L(this,this.J);this.A-=this.B.rc},function(){L(this,this.K);this.A-=this.B.rc},function(){L(this,this.C);this.A-=this.B.rc},function(){L(this,this.Z-2&65535);this.A-=this.B.rc},function(){L(this,this.I);this.A-=this.B.rc},function(){L(this,this.G);this.A-=
this.B.rc},function(){L(this,this.F);this.A-=this.B.rc},function(){this.H=this.Ja();this.A-=this.B.kc},function(){this.J=this.Ja();this.A-=this.B.kc},function(){this.K=this.Ja();this.A-=this.B.kc},function(){this.C=this.Ja();this.A-=this.B.kc},function(){this.Z=this.Ja();this.A-=this.B.kc},function(){this.I=this.Ja();this.A-=this.B.kc},function(){this.G=this.Ja();this.A-=this.B.kc},function(){this.F=this.Ja();this.A-=this.B.kc},wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,wh,xh,yh,zh,Ah,Bh,Ch,
Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,function(){th[this.fa()].call(this,qe,this.L);this.A-=0>this.Ka?1:this.B.Kh},Mh,function(){th[this.fa()].call(this,qe,this.M);this.A-=0>this.Ka?1:this.B.Kh},function(){ph[this.fa()].call(this,Fe)},function(){qh[this.fa()].call(this,Ge)},function(){rh[this.Zg=this.fa()].call(this,Re)},function(){O[this.Zg=this.fa()].call(this,Se)},function(){this.aa|=1;ph[this.fa()].call(this,Ae)},function(){this.aa|=1;qh[this.fa()].call(this,Ae)},function(){rh[this.fa()].call(this,Ae)},
function(){O[this.fa()].call(this,Ae)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Db=this.ab.pa;break;case 1:this.Db=this.wa.pa;break;case 2:this.Db=this.wb.pa;break;case 3:this.Db=this.Eb.pa;break;default:N.call(this);return}this.aa|=1;qh[a].call(this,Ee)},function(){this.aa|=1;this.D=this.N=this.im;O[this.fa()].call(this,Ke)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ga){qc.call(this);
return}switch(c){case 1:a=this.J;break;case 4:a=this.Z;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}O[b].call(this,Ae);switch(c){case 0:hd(this,this.H);this.H=a;break;case 1:ed(this,this.J);this.J=a;break;case 2:gd(this,this.K);this.K=a;break;case 3:fd(this,this.C);this.C=a;break;case 4:hd(this,this.Z);this.Z=a;break;case 5:ed(this,this.I);this.I=a;break;case 6:gd(this,this.G);this.G=a;break;case 7:fd(this,this.F),this.F=a}},function(){this.aa|=1;th[this.fa()].call(this,re,this.Ja)},
function(){this.A-=3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Z;this.Z=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;this.A-=2},function(){this.K=this.H&
32768?65535:0;this.A-=this.B.Yk},function(){var a=this.L(),b=this.L();K(this,this.wa.pa);K(this,this.ra);Gc(this,a,b);this.A-=this.B.al},function(){M.call(this)},function(){K(this,Jc(this));this.A-=this.B.rc},function(){Hc(this,this.Ja());this.A-=this.B.kc},function(){var a=this.H>>8;a&1?md(this):hd(this);a&4?cd(this)||(this.ka^=1):cd(this)&&(this.ka^=1);a&16?nd(this):id(this);a&64?od(this):jd(this);a&128?pd(this):kd(this);this.A-=this.B.Cb},function(){this.H=this.H&255|(Jc(this)&213)<<8;this.A-=
32768?65535:0;this.A-=this.B.Yk},function(){var a=this.L(),b=this.L();L(this,this.wa.pa);L(this,this.ra);Qc(this,a,b);this.A-=this.B.al},function(){N.call(this)},function(){L(this,Tc(this));this.A-=this.B.rc},function(){Rc(this,this.Ja());this.A-=this.B.kc},function(){var a=this.H>>8;a&1?ud(this):pd(this);a&4?kd(this)||(this.ka^=1):kd(this)&&(this.ka^=1);a&16?vd(this):qd(this);a&64?wd(this):rd(this);a&128?zd(this):sd(this);this.A-=this.B.Cb},function(){this.H=this.H&255|(Tc(this)&213)<<8;this.A-=
this.B.Cb},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.pj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.pj},function(){var a=this.L(),b=this.H;this.Nd(this.D.ac(a,0),b);this.A-=this.B.qj},function(){var a=this.L(),b=this.H;this.bd(this.D.ac(a,1),b);this.A-=this.B.qj},function(){var a=1,b=0,c=this.B.rj;this.xa&192&&(a=this.J,b=1,c=this.B.tj,this.xa&256||(this.A-=this.B.sj));if(a--){var d=this.ya&1024?-1:1,e=this.U(this.D,this.G);this.Nd(this.ab.ac(this.F,0),e);
this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.xa&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.rj;this.xa&192&&(a=this.J,b=1,c=this.B.tj,this.xa&256||(this.A-=this.B.sj));if(a--){var d=this.ya&1024?-2:2,e=this.V(this.D,this.G);this.bd(this.ab.ac(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.xa&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.bj;this.xa&192&&(a=this.J,b=1,c=this.B.dj,this.xa&256||
(this.A-=this.B.cj));if(a--){var d=this.ya&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.ab,this.F);Dd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.sb;this.J-=b;a&&ed(this)==(this.xa&64)&&(J(this,this.xa&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.bj;this.xa&192&&(a=this.J,b=1,c=this.B.dj,this.xa&256||(this.A-=this.B.cj));if(a--){var d=this.ya&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.ab,this.F);Ld.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+
d&65535;this.A-=c-this.B.sb;this.J-=b;a&&ed(this)==(this.xa&64)&&(J(this,this.xa&16?-3:-2),this.aa|=256)}},function(){this.$=this.ka=this.na=this.H&255&this.fa();this.ea=256;this.A-=this.B.Le},function(){this.$=this.ka=this.na=this.H&this.L();this.ea=65536;this.A-=this.B.Le},function(){var a=1,b=0,c=this.B.Cj;this.xa&192&&(a=this.J,b=1,c=this.B.Ej,this.xa&256||(this.A-=this.B.Dj));if(a--){var d=this.H;this.Nd(this.ab.ac(this.F,0),d);this.F=this.F+(this.ya&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,
-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Cj;this.xa&192&&(a=this.J,b=1,c=this.B.Ej,this.xa&256||(this.A-=this.B.Dj));if(a--){var d=this.H;this.bd(this.ab.ac(this.F,1),d);this.F=this.F+(this.ya&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.jj;this.xa&192&&(a=this.J,b=1,c=this.B.lj,this.xa&256||(this.A-=this.B.kj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.ya&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(J(this,this.xa&
16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.jj;this.xa&192&&(a=this.J,b=1,c=this.B.lj,this.xa&256||(this.A-=this.B.kj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.ya&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(J(this,this.xa&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.wj;this.xa&192&&(a=this.J,b=1,c=this.B.yj,this.xa&256||(this.A-=this.B.xj));a--&&(Dd.call(this,this.H&255,this.O(this.ab,this.F)),this.F=this.F+(this.ya&1024?-1:1)&65535,this.A-=c-this.B.sb,this.J-=
b,a&&ed(this)==(this.xa&64)&&(J(this,-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.wj;this.xa&192&&(a=this.J,b=1,c=this.B.yj,this.xa&256||(this.A-=this.B.xj));a--&&(Ld.call(this,this.H,this.P(this.ab,this.F)),this.F=this.F+(this.ya&1024?-2:2)&65535,this.A-=c-this.B.sb,this.J-=b,a&&ed(this)==(this.xa&64)&&(J(this,-2),this.aa|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Cb},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Cb},function(){this.K=this.K&-256|this.fa();this.A-=
this.B.Cb},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Cb},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Cb},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Cb},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Cb},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Cb},function(){this.H=this.L();this.A-=this.B.Cb},function(){this.J=this.L();this.A-=this.B.Cb},function(){this.K=this.L();this.A-=this.B.Cb},function(){this.C=this.L();this.A-=this.B.Cb},function(){this.Z=
this.L();this.A-=this.B.Cb},function(){this.I=this.L();this.A-=this.B.Cb},function(){this.G=this.L();this.A-=this.B.Cb},function(){this.F=this.L();this.A-=this.B.Cb},Dh,Eh,Dh,Eh,function(){N[this.fa()].call(this,Ce)},function(){N[this.fa()].call(this,Be)},function(){this.aa|=1;ih[this.fa()].call(this,le,this.fa)},function(){this.aa|=1;jh[this.fa()].call(this,le,this.L)},Fh,Gh,Fh,Gh,function(){td.call(this,3,null,this.B.rl)},function(){var a=this.fa();Lc(this,a)?td.call(this,a,null,0):this.A--},function(){gd(this)?
td.call(this,4,null,this.B.sl):this.A-=this.B.tl},function(){Gc(this,this.Ja(),this.Ja());Hc(this,this.Ja());this.gh&&Pc(this,this.Ca);this.A-=this.B.pl},function(){ih[this.fa()].call(this,me,de)},function(){jh[this.fa()].call(this,ne,de)},function(){ih[this.fa()].call(this,me,ee)},function(){jh[this.fa()].call(this,ne,ee)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.$=this.ka=b;this.A-=this.B.Vk},function(){var a=this.fa();this.$=this.ka=this.H=(this.H>>8)*a+
this.H&255;this.ea=256;this.A-=this.B.Uk},function(){this.H=this.H&-256|(bd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Tl},Hh,Hh,Hh,Hh,Hh,Hh,Hh,Hh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.$&this.ea-1?(I(this,this.ra+a),this.A-=this.B.Al):this.A-=this.B.mj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.$&this.ea-1?this.A-=this.B.oj:(I(this,this.ra+a),this.A-=this.B.nj)},function(){var a=this.M();(this.J=this.J-
1&65535)?(I(this,this.ra+a),this.A-=this.B.zl):this.A-=this.B.mj},function(){var a=this.M();this.J?this.A-=this.B.oj:(I(this,this.ra+a),this.A-=this.B.nj)},function(){var a=this.fa();this.H=this.H&-256|pb(this.oa,a,this.Ca-2);this.A-=this.B.gj},function(){var a=this.fa();this.H=pb(this.oa,a,this.Ca-1)|pb(this.oa,a+1&65535,this.Ca-2)<<8;this.A-=this.B.gj},function(){var a=this.fa();tb(this.oa,a,this.H&255,this.Ca-2);this.A-=this.B.vj},function(){var a=this.fa();tb(this.oa,a,this.H&255,this.Ca-2);tb(this.oa,
a+1&65535,this.H>>8,this.Ca-2);this.A-=this.B.vj},function(){var a=this.L();K(this,this.ra);I(this,this.ra+a);this.A-=this.B.Zk},function(){var a=this.L();I(this,this.ra+a);this.A-=this.B.hj},function(){Gc(this,this.L(),this.L());this.A-=this.B.vl},function(){var a=this.M();I(this,this.ra+a);this.A-=this.B.hj},function(){this.H=this.H&-256|pb(this.oa,this.K,this.Ca-1);this.A-=this.B.fj},function(){this.H=pb(this.oa,this.K,this.Ca-1)|pb(this.oa,this.K+1&65535,this.Ca-1)<<8;this.A-=this.B.fj},function(){tb(this.oa,
this.K,this.H&255,this.Ca-1);this.A-=this.B.uj},function(){tb(this.oa,this.K,this.H&255,this.Ca-1);tb(this.oa,this.K+1&65535,this.H>>8,this.Ca-1);this.A-=this.B.uj},Ih,Ih,function(){this.aa|=132;this.A-=this.B.me},function(){this.aa|=68;this.A-=this.B.me},function(){this.mb|=4;this.A-=2;this.Y&&rd(this.Y)?(J(this,-1),this.Ab()):this.ya&512||(this.Y&&J(this,-1),this.Ab())},function(){bd(this)?hd(this):md(this);this.A-=2},function(){this.Db=-1;ih[this.fa()].call(this,pe,ge);0<=this.Db&&(this.H=this.Db)},
function(){this.Db=-1;jh[this.fa()].call(this,qe,ge);0<=this.Db&&(this.H=this.Db,this.K=this.Ag)},function(){this.$&=~this.ea;this.A-=2},function(){this.$|=this.ea;this.A-=2},function(){this.ya&=-513;this.A-=this.B.Xk},function(){this.ya|=512;this.aa|=4;this.A-=2},function(){this.ya&=-1025;this.A-=2},function(){this.ya|=1024;this.A-=2},function(){ih[this.fa()].call(this,zc,ge)},function(){jh[this.fa()].call(this,Bc,ge)}];
function O(a){x.call(this,"ChipSet",a,O);this.Ga=a.model;this.Ga=void 0!==this.Ga?parseInt(this.Ga,10):Jh;this.$b=0;var b=a.sw1;if(b)this.$b=Kh(b,Lh|Mh.Am);else{this.Ud=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.Ud=b);if(b=this.Ud.length)this.$b|=Nh.$h,b--,this.$b|=(b&3)<<Nh.Hf;if(b=a.monitor||(this.Ga<Oh?"mono":"ega"),void 0!==Ph[b])this.$b|=Ph[b]<<Mh.Hf}this.se=Kh(a.sw2||"11110000",0);this.ao=this.Ga==Jh?16:64;this.Tf=this.Uf=1;this.Ga>=Oh&&(this.Tf=this.Uf=2);this.uh=a.scaleTimers||!1;
this.vp=a.rtcDate;this.Fk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.ri=new webkitAudioContext);this.reset(!0);this.Sa()}y(x,O);var Jh=5150,Oh=5170,Ph={none:0,tv:1,color:2,mono:3,ega:0},Nh={$h:1,ONE:0,Zp:64,Xp:128,Hp:192,Ff:192,Hf:6},Lh=12,Mh={Yp:16,Cp:32,Am:48,Ff:48,Hf:4};k=O.prototype;
k.xb=function(a,b,c,d){switch(c){case "sw1":return this.ta[c]=d,Qh(this,c,d,this.$b,{0:this.Ga==Jh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==Jh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==Jh)return this.ta[c]=d,Qh(this,c,d,this.se,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ta[c]=d,!0}return!1};
k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.fb=C(a,"Keyboard");this.Ul=Math.round(c.Hd/1193181);ob(b,this,Rh);sb(b,this,Sh);this.Ga<Oh?(ob(b,this,Th),sb(b,this,Uh)):(ob(b,this,Vh),sb(b,this,Wh));if(d){var e=this;Xh(d,O);Yh(d,O.Ye,function(){for(var a=0;a<e.tb.length;a++){for(var b=e.tb[a],c="PIC"+a+":",d=0;d<b.pd.length;d++)c+=" IC"+(d+1)+"="+r(b.pd[d]);c+=" IMR="+r(b.vd)+" IRR="+r(b.Jb)+" ISR="+r(b.Ec);e.Y.message(c)}});Yh(d,O.Ze,function(){for(var a=0;a<e.Hb.length;a++){Zh(e,
a);var b=e.Hb[a],c="TIMER"+a+":",d=0;if(void 0!==b.gd)for(var n=0;n<=b.gd;n++)d|=b.bc[n]<<8*n;c+=" MODE"+b.mode+" BYTES="+b.gd+" COUNT="+u(d);e.Y.message(c)}});Yh(d,O.Gf,function(){for(var a="",b=0;64>b;b++){var c=13>=b?$h(e,b):e.qa[b];a&&(a+="\n");a+="CMOS[0x"+r(b)+"]: 0x"+r(c)}e.Y.message(a)})}Kc(c,26,this,this.Yn)};k.Zb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.cd=this.$b;this.Ue=this.se;ai(this);this.bb=Array(this.Tf);for(b=0;b<this.Tf;b++)bi(this,b);this.tb=Array(this.Uf);ci(this,0,32);1<this.Uf&&ci(this,1,160);this.oi=void 0;this.Hb=Array(3);for(b=0;b<this.Hb.length;b++)di(this,b);this.Sf=this.mi=this.Ac=this.ah=void 0;this.$g=0;if(this.Ga>=Oh){this.jb=16;this.ud=0;this.Zd=16;this.Wg=0;this.ye=160;512<=ei(this)&&(this.ye|=16);3==fi(this)&&(this.ye|=64);this.ki=3;this.Qf=0;this.Sg=Array(7);this.ze=0;a&&(this.qa=Array(64));
gi(this,this.vp);for(a=21;24>=a;a++)this.qa[a]=0;for(a=14;46>a;a++)void 0===this.qa[a]&&(this.qa[a]=0);this.qa[20]=this.cd&(Mh.Ff|2|Nh.$h|Nh.Ff);this.qa[16]=hi(this,0)<<4|hi(this,1);ii(this)}};
function gi(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.da("CMOS date invalid ("+b+"), using "+c)):b&&a.da("CMOS date: "+c);a.qa[0]=c.getSeconds();a.qa[1]=0;a.qa[2]=c.getMinutes();a.qa[3]=0;a.qa[4]=c.getHours();a.qa[5]=0;a.qa[6]=c.getDay()+1;a.qa[7]=c.getDate();a.qa[8]=c.getMonth()+1;c=c.getFullYear();a.qa[9]=c%100;c/=100;a.qa[50]=c%10|c/10<<4;a.ig=-1;a.qa[10]=38;a.qa[11]=2;a.qa[12]=0;a.qa[13]=128}
function $h(a,b){var c=a.qa[b];if(10>b){var d=!1;4!=b&&5!=b||a.qa[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.qa[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.qa[b]^=128);return c}function ii(a){for(var b=0,c=16;46>c;c++)b+=a.qa[c];a.qa[47]=b&255;a.qa[46]=b>>8}
k.save=function(){var a=new H(this);a.set(0,[this.$b,this.se,this.cd,this.Ue]);for(var b=[],c=0;c<this.bb;c++){var d=[],e=this.bb[c];d[0]=e.ce;d[1]=e.li;d[2]=e.pk;d[3]=e.qb;for(var f=[],g=0;g<e.Gb.length;g++){var h=[],l=e.Gb[g];h[0]=l.Fd;h[1]=l.kk;h[2]=l.Hc;h[3]=l.Qb;h[4]=l.bc;h[5]=l.mode;h[6]=l.bh;h[8]=l.sp;h[9]=l.tp;f[g]=h}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.tb.length;c++)d=[],e=this.tb[c],d[0]=e.ng,d[1]=e.pd,d[2]=e.Id,d[3]=e.vd,d[4]=e.Jb,d[5]=e.Ec,d[6]=e.Ae,d[7]=e.Rf,b[c]=d;a.set(2,
[b]);b=[];for(c=0;c<this.Hb.length;c++)d=[],e=this.Hb[c],d[0]=e.Hc,d[1]=e.Yc,d[2]=e.bc,d[3]=e.Zf,d[4]=e.rk,d[5]=e.mode,d[6]=e.Bg,d[7]=e.fe,d[8]=e.gd,d[9]=e.kd,d[10]=e.bg,d[11]=e.jf,d[12]=e.pe,b[c]=d;a.set(3,[this.oi,b]);a.set(4,[this.ah,this.Ac,this.mi,this.Sf,this.$g]);this.Ga>=Oh&&(a.set(5,[this.jb,this.ud,this.Zd,this.Wg,this.ye,this.ki]),a.set(6,[this.Qf,this.Sg,this.ze,this.qa,this.ig]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.$b=b[0];this.se=b[1];this.cd=b[2];this.Ue=b[3];b=a[1];this.bb=Array(this.Tf);for(c=0;c<this.Tf;c++)bi(this,c,1==b.length?b[0][c]:b);b=a[2];this.tb=Array(this.Uf);for(c=0;c<this.Uf;c++)ci(this,c,0===c?32:160,b[0][c]);b=a[3];this.oi=b[0];this.Hb=Array(3);for(c=0;c<this.Hb.length;c++)di(this,c,b[1][c]);b=a[4];this.ah=b[0];this.Ac=b[1];this.mi=b[2];this.Sf=b[3];this.$g=b[4];if(b=a[5])this.jb=b[0],this.ud=b[1],this.Zd=b[2],this.Wg=b[3],this.ye=b[4],this.ki=b[5];
if(b=a[6])this.Qf=b[0],this.Sg=b[1],this.ze=b[2],this.qa=b[3],this.ig=b[4],gi(this);return!0};function bi(a,b,c){a=a.bb[b]={};c&&5==c.length||(c=[0,void 0,void 0,0,[]]);a.ce=c[0];a.li=c[1];a.pk=c[2];a.qb=c[3];a.io=b<<2;a.Gb=Array(4);for(b=0;b<a.Gb.length;b++)ji(a,b,c[4][b])}function ji(a,b,c){var d=a.Gb[b]={};if(void 0===c||8!=c.length)c=[!0,[],[],[],[]];d.ga=a;d.Kk=b;d.Fd=c[0];d.kk=c[1];d.Hc=c[2];d.Qb=c[3];d.bc=c[4];d.mode=c[5];d.bh=c[6];ki(d,c[8],c[9])}
function ki(a,b,c,d){"string"==typeof b&&(b=Sa(b));b&&(a.kh=null,a.sp=b.id,a.tp=c,a.ih=b,a.Ki=b[c],a.Mh=d)}function ci(a,b,c,d){a=a.tb[b]={};d&&8==d.length||(d=[0,[void 0,void 0,void 0,void 0]]);a.port=c;a.bq=b<<3;a.ng=d[0];a.pd=d[1];a.Id=d[2];a.vd=d[3];a.Jb=d[4];a.Ec=d[5];a.Ae=d[6];a.Rf=d[7]}
function di(a,b,c){a=a.Hb[b]={};if(void 0===c||13!=c.length)c=[[],[],[],[]];a.Hc=c[0];a.Yc=c[1];a.bc=c[2];a.Zf=c[3];a.rk=c[4];a.mode=c[5];a.Bg=c[6];a.fe=c[7];a.gd=c[8];a.kd=c[9];a.bg=c[10];a.jf=c[11];a.pe=c[12]}function ei(a,b){return((((b?a.$b:a.cd)&12)>>2)+1)*a.ao+32*((b?a.se:a.Ue)&15)}function li(a,b){var c=b?a.$b:a.cd;return a.Ga!=Jh||c&Nh.$h?((c&Nh.Ff)>>Nh.Hf)+1:0}
function hi(a,b){if(b<li(a)){if(!a.Ud)return 1;if(b<a.Ud.length)switch(a.Ud[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function fi(a,b){return((b?a.$b:a.cd)&Mh.Ff)>>Mh.Hf}
function Qh(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=B(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)void 0!==e&&void 0!==e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),mi(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");mi(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.$b=
a.$b&~e|(c?0:e);break;case "sw2":a.se=a.se&~e|(c?0:e)}ai(a)}}(a,b[g])}function mi(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function ai(a){var b=a.ta.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(void 0!==b){var d;d=""+(ei(a,!0)+"Kb");d+=", "+c[fi(a,!0)]+" Monitor";d+=", "+li(a,!0)+" Floppy Drives";if(void 0!==a.cd&&a.cd!=a.$b||void 0!==a.Ue&&a.Ue!=a.se)d+=" (Reset required)";b.innerHTML=d}}
function ni(a,b,c,d,e){var f=a.bb[b],g=f.Gb[c].Qb[f.qb];f.qb^=1;a.ca(d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.qb+"]",O.Fb,g);return g}function oi(a,b,c,d,e,f){var g=a.bb[b];a.ca(d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.qb+"]",O.Fb);a=g.Gb[c];a.Qb[g.qb]=a.kk[g.qb]=e;g.qb^=1}function pi(a,b,c,d,e){var f=a.bb[b],g=f.Gb[c].bc[f.qb];f.qb^=1;a.ca(d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.qb+"]",O.Fb,g);return g}
function qi(a,b,c,d,e,f){var g=a.bb[b];a.ca(d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.qb+"]",O.Fb);a=g.Gb[c];a.bc[g.qb]=a.Hc[g.qb]=e;g.qb^=1}function ri(a,b,c,d){var e=a.bb[b],f=e.ce|1;e.ce&=-16;a.ca(c,null,d,"DMA"+b+".STATUS",O.Fb,f);return f}function si(a,b,c,d,e){var f=a.bb[b];a.ca(c,d,e,"DMA"+b+".REQ",O.Fb);a=d&3;f.ce=f.ce&~(16<<a)|(d&4)<<a+2;f.pk=d}function ti(a,b,c,d,e){var f=a.bb[b];a.ca(c,d,e,"DMA"+b+".MASK",O.Fb);b=d&3;c=f.Gb[b];c.Fd=d&4?!0:!1;c.Fd||ui(a,f.io+b)}
function vi(a,b,c,d,e){a.ca(c,d,e,"DMA"+b+".CLEAR",O.Fb);a=a.bb[b];for(b=0;b<a.Gb.length;b++)ji(a,b)}function wi(a,b,c,d,e){var f=a.bb[b].Gb[c].bh;a.ca(d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",O.Fb,f);return f}function xi(a,b,c,d,e,f){a.ca(d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",O.Fb);a.bb[b].Gb[c].bh=e}function yi(a,b,c,d){var e=a.Sg[b];a.ca(c,null,d,"DMA.SPARE"+b+".PAGE",O.Fb,e);return e}function zi(a,b,c,d,e){a.ca(c,d,e,"DMA.SPARE"+b+".PAGE",O.Fb);a.Sg[b]=d}
function Ai(a,b,c,d,e){ki(a.bb[b>>2].Gb[b&3],c,d,e)}function ui(a,b,c){b=a.bb[b>>2].Gb[b&3];b.ih&&b.Ki&&b.Mh?(c&&(b.kh=c),b.Fd||ud(a,b,!0)):c&&c(!0)}
function ud(a,b,c){c&&(b.count=b.bc[1]<<8|b.bc[0],b.mm=b.mode&12,b.Gk=b.jd=!1);for(var d=!1;0<=b.count&&(c=b.bh<<16|b.Qb[1]<<8|b.Qb[0],4==b.mm?(d=!0,function(c){b.Ki.call(b.ih,b.Mh,-1,function(f,g){0>f&&(b.Gk||(b.Gk=!0),f=255);b.Fd||kb(a.oa,c,f);(d=g)&&setTimeout(function(){Bi(b)||ud(a,b)},0)})}(c)):8==b.mm?(c=ib(a.oa,c),0>b.Ki.call(b.ih,b.Mh,c)&&(b.jd=!0)):b.jd=!0),!d&&!Bi(b););}
function Bi(a){if(!a.jd&&0<=--a.count&&(a.mode&32?(a.Qb[0]--,0>a.Qb[0]&&(a.Qb[0]=255,a.Qb[1]--,0>a.Qb[1]&&(a.Qb[1]=255))):(a.Qb[0]++,255<a.Qb[0]&&(a.Qb[0]=0,a.Qb[1]++,255<a.Qb[1]&&(a.Qb[1]=0))),!a.Fd))return!1;var b=a.ga;b.ce=b.ce&~(16<<a.Kk)|1<<a.Kk;a.mode&16||(a.Fd=!0,a.ih=a.Mh=null);a.kh&&(a.kh(!a.jd),a.kh=null);return!0}function Ci(a,b,c){var d=0,e=a.tb[b];if(void 0!==e.Rf)switch(e.Rf&3){case 2:d=e.Jb;break;case 3:d=e.Ec}a.ca(e.port,null,c,"PIC"+b,O.Ye,d);return d}
function Di(a,b,c,d){var e=a.tb[b];a.ca(e.port,c,d,"PIC"+b,O.Ye);if(c&16)e.Id=0,e.pd[e.Id++]=c,e.vd=0,e.Ae=7,e.Jb=e.Ec=0,e.Rf=10;else if(c&8)e.Rf=c;else{var f=c&224;if(f&32){d=0;if(96==(f&96))d=1<<(c&7);else for(c=e.Ae+1;;){c&=7;f=1<<c;if(e.Ec&f){d=f;break}if(c++==e.Ae)break}e.Ec&d&&(e.Ec&=~d,Ei(a,b))}else 192==f&&(e.Ae=c&7)}}function Fi(a,b,c){var d=a.tb[b],e=d.vd;a.ca(d.port+1,null,c,"PIC"+b,O.Ye,e);return e}
function Gi(a,b,c,d){var e=a.tb[b];a.ca(e.port+1,c,d,"PIC"+b,O.Ye);e.Id<e.pd.length?(e.pd[e.Id++]=c,2==e.Id&&e.pd[0]&2&&e.Id++,3!=e.Id||e.pd[0]&1||e.Id++):(e.vd=c,d=a.T,d.aa|=4,Ei(a,b,b||253!=c?0:6))}function Ei(a,b,c){b=a.tb[b];var d=((b.Ec|b.vd)^255)&b.Jb;a=a.T;a.ma&&(a.mb=d?a.mb|1:a.mb&-2);d&&c&&(b.ng=c)}function Hi(a,b,c){var d=b>>3,e=a.tb[d];e.Jb|=1<<(b&7);e.ng=c||0;1==d&&(a.tb[0].Jb|=4);Ei(a,d)}
function Ii(a,b){var c=b>>3,d=a.tb[c],e=1<<(b&7);d.Jb&e&&(d.Jb&=~e,1!=c||d.Jb||(a.tb[0].Jb&=-5),Ei(a,c))}function sd(a,b){void 0===b&&(b=0);var c=-1,d=a.tb[b];if(d.ng)c=-2,d.ng--;else for(var e=d.Jb&((d.Ec|d.vd)^255),f=d.Ae+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.pd[1]+f:sd(a,1);0<=c&&(d.Ec|=g,d.Jb&=~g);break}if(f++==d.Ae)break}return c}function Ji(a,b,c){var d;d=a.Hb[b];d.fe==d.gd&&Ki(a,b);if(d.bg)return d.Zf[d.fe++];Zh(a,b);d=d.bc[d.fe++];a.ca(64+b,null,c,"TIMER"+b,O.Ze,d);return d}
function Li(a,b,c,d){a.ca(64+b,c,d,"TIMER"+b,O.Ze);d=a.Hb[b];d.fe==d.gd&&Ki(a,b);d.Hc[d.fe++]=c;if(d.fe==d.gd){d.jf&&0!=d.mode&&8!=d.mode||(d.bg=!1,d.bc[0]=d.Yc[0]=d.Hc[0],d.bc[1]=d.Yc[1]=d.Hc[1],d.pe=F(a.T,a.uh),d.jf=!0,d.kd=0!=d.mode,0==b&&Ii(a,0));2==b&&Rb(a);if(0==b){var e=Mi(a,0);2048<=e&&(a.T.Gh=Math.round(65536/e))}0==b&&0==d.mode&&16==d.Bg&&(b=a.T,b.Nb&&(a=b.A-c*a.Ul,b.A-=a,b.Nc-=a))}}k.Sn=function(a,b){this.ca(a,null,b,"TIMER_CTRL",O.Ze);return null};
k.hp=function(a,b,c){this.ca(a,b,c,"TIMER_CTRL",O.Ze);this.oi=b;a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Hb[a];e.Bg=b;e.mode=d;e.rk=c;e.Hc=[0,0];e.bc=[0,0];e.Zf=[0,0];e.kd=!1;e.bg=!1;e.jf=!1;Ki(this,a);0==a&&Ii(this,0);2==a&&255==this.tb[0].vd&&77==this.Ac&&(a=this.Hb[0],a.Yc[0]=a.Hc[0],a.Yc[1]=a.Hc[1],a.pe=F(this.T,this.uh))}else Zh(this,a),b=this.Hb[a],b.Zf[0]=b.bc[0],b.Zf[1]=b.bc[1],b.bg=!0,Ki(this,a)}};
function Mi(a,b){var c=a.Hb[b],d=c.Hc[1]<<8|c.Hc[0];d||(d=1==c.gd?256:65536);return d}function Ki(a,b){var c=a.Hb[b];c.fe=32==c.Bg?1:0;c.gd=48==c.Bg?2:1}
function Zh(a,b,c){var d=a.Hb[b];if(d.jf&&(2!=b||a.Ac&1)){var e=F(a.T,a.uh),f=(e-d.pe)/a.Ul|0;0>f&&(d.pe=e,f=0);var g=Mi(a,b),h=a.Hb[b],l=h.Yc[1]<<8|h.Yc[0];l||(l=1==h.gd?256:65536);h=l-f;0==d.mode?(0>=h&&(h=0),h||(d.kd=!0,d.jf=!1,b||Hi(a,0))):4==d.mode?(d.kd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.pe=e,!b&&d.kd&&Hi(a,0))):6==d.mode&&(h-=f,0>=h&&(d.kd=!d.kd,h=g+h,0>=h&&(h=g),d.Yc[0]=h&255,d.Yc[1]=h>>8,d.pe=e,!b&&d.kd&&Hi(a,0)));d.bc[0]=h&255;d.bc[1]=h>>8;c&&(a.pe=0)}return d}
function Sb(a,b){for(var c=0;c<a.Hb.length;c++)Zh(a,c,b);if(a.Ga>=Oh){var c=0,d=a.T.Hd,e=F(a.T,a.uh);if(0<=a.ig&&(c=e-a.ig,Math.floor(c/d)&&60<=++a.qa[0]&&(a.qa[0]=0,60<=++a.qa[2]&&(a.qa[2]=0,24<=++a.qa[4])))){a.qa[4]=0;a.qa[6]=a.qa[6]%7+1;var f=a.qa[9],g=qa[a.qa[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.qa[7]>g&&(a.qa[7]=1,12<++a.qa[8]&&(a.qa[8]=1,a.qa[9]=(a.qa[9]+1)%100))}a.ig=e-c%d}}
k.Kn=function(a,b){var c=this.ah;this.Sf&16&&(this.Ac&128?c=this.cd:this.fb&&(c=Ni(this.fb)));this.ca(a,null,b,"PPI_A",O.uc,c);return c};k.ap=function(a,b,c){this.ca(a,b,c,"PPI_A",O.uc);this.ah=b};k.Ln=function(a,b){var c=this.Ac;this.ca(a,null,b,"PPI_B",O.uc,c);return c};k.bp=function(a,b,c){this.ca(a,b,c,"PPI_B",O.uc);Oi(this,b);this.fb&&Pi(this.fb,b&128?!1:!0,b&64?!0:!1)};function Oi(a,b){var c=!!(b&2),d=!!(a.Ac&2);a.Ac=b;c!=d&&Rb(a,c)}
k.Mn=function(a,b){var c=0,c=this.Ga==Jh?this.Ac&4?c|this.Ue&15:c|this.Ue>>4&1:this.Ac&8?c|this.cd>>4:c|this.cd&15;this.Ac&1&&Zh(this,2).kd&&(c=this.Ac&2?c|32:c|16);this.ca(a,null,b,"PPI_C",O.uc|O.Lg,c);return c};k.cp=function(a,b,c){this.ca(a,b,c,"PPI_C",O.uc);this.mi=b};k.Nn=function(a,b){var c=this.Sf;this.ca(a,null,b,"PPI_CTRL",O.uc,c);return c};k.dp=function(a,b,c){this.ca(a,b,c,"PPI_CTRL",O.uc);this.Sf=b};
k.$m=function(a,b){var c=this.Wg;this.ca(a,null,b,"8042_OUTBUFF",O.We,c);this.jb&=-258;var d=this.fb&&Ni(this.fb,!0);d&&Qi(this,d);return c};k.uo=function(a,b,c){this.ca(a,b,c,"8042_INBUF.DATA",O.We);if(this.jb&8)switch(this.ud){case 96:Ri(this,b);break;case 209:Si(this,b);break;default:if(Ri(this,this.Zd&-17),this.fb){a=-1;switch(b){case 255:a=250,Ti(this.fb)}Qi(this,a)}}this.ud=b;this.jb&=-9};k.an=function(a,b){var c=this.Ac&-209|(F(this.T)&64?16:0);this.ca(a,null,b,"8042_RWREG",O.We|O.wm,c);return c};
k.vo=function(a,b,c){this.ca(a,b,c,"8042_RWREG",O.We);Oi(this,b)};k.bn=function(a,b){this.ca(a,null,b,"8042_STATUS",O.We,this.jb);var c=this.jb&255;this.jb&256&&(this.jb|=1,this.jb&=-257);return c};
k.to=function(a,b,c){this.ca(a,b,c,"8042_INBUFF.CMD",O.We);this.ud=b;this.jb|=8;a=0;240<=this.ud&&(a=this.ud^15,this.ud=240);switch(this.ud){case 192:Qi(this,this.ye);break;case 173:Ri(this,this.Zd|16);break;case 174:Ri(this,this.Zd&-17);break;case 170:this.fb&&Ui(this.fb,!0);Ri(this,this.Zd|16);Qi(this,85);Si(this,3);break;case 224:Qi(this,this.Zd&16?0:1);break;case 240:a&1&&Fc(this.T)}};function Ri(a,b){a.Zd=b;a.jb=a.jb&-5|b&4;a.fb&&Pi(a.fb,!!(b&8),!(b&16))&&Qi(a,Ni(a.fb,!0))}
function Qi(a,b){0<=b&&(a.Wg=b,a.jb&=-2,a.jb|=256)}function Si(a,b){a.ki=b;db(a.oa,!!(b&2));b&1||Fc(a.T)}k.qn=function(a,b){this.ca(a,null,b,"CMOS_ADDR",O.Gf,this.ze);return this.ze};k.Jo=function(a,b,c){this.ca(a,b,c,"CMOS_ADDR",O.Gf);this.ze=b;this.$g=b&128?0:128};k.rn=function(a,b){var c=this.ze&63,d=13>=c?$h(this,c):this.qa[c];this.ca(a,null,b,"CMOS_DATA["+r(c)+"]",O.Gf,d);return d};
k.Ko=function(a,b,c){var d=this.ze&63;this.ca(a,b,c,"CMOS_DATA["+r(d)+"]",O.Gf);a=this.qa;13>=d&&10>d&&(c=!1,this.qa[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12<b&&(b+=48),this.qa[11]&2||(12>=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.In=function(a,b){this.ca(a,null,b,"MFG_DATA",O.uc,this.Qf);return this.Qf};k.Yo=function(a,b,c){this.ca(a,b,c,"MFG_DATA",O.uc);this.Qf=b};k.$o=function(a,b,c){this.ca(a,b,c,"NMI",O.uc);this.$g=b};
k.Yn=function(a){var b=this.T.H>>8;this.Y&&D(this.Y,O.ym)&&(Mc(this.Y,26,a),Nc(this.T,a,function(a,d){return function(e){d=F(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+r(g)+" DH(sec)="+r(n);else if(4==b||5==b)f=" CX(year)="+u(a.T.J)+" DH(month)="+r(n)+" DL(day)="+r(l);Oc(a.Y,26,e,d,f)}}(this,F(this.T))));return!0};function Kh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function Rb(a,b){if(a.ri){void 0!==b?a.Fk=b:b=a.Fk&&a.T&&a.T.Nb;var c=Math.round(1193181/Mi(a,2));if(20>c||2E4<c)b=!1;b?a.od?(a.od.frequency.value=c,a.Qa("speaker set to "+c+"hz",O.Mg)):(a.od=a.ri.createOscillator(),a.od.type=1,a.od.connect(a.ri.destination),a.od.frequency.value=c,a.Qa("speaker on at "+c+"hz",O.Mg),a.od.noteOn(0)):a.od&&(a.od.noteOff(0),a.od.disconnect(),delete a.od,a.Qa("speaker off at "+c+"hz",O.Mg))}else b&&a.Qa("BEEP",O.Mg)}
k.Qa=function(a,b,c){this.Y&&(null==b&&(b=O.uc),void 0!==c&&(b|=0==c?O.Ze:1==c?O.dk:6==c?O.Kg:0),D(this.Y,b)&&this.Y.message(a))};k.ca=function(a,b,c,d,e,f){this.Y&&(null==e&&(e=O.uc),this.Y.ca(this,a,b,c,d,e,f))};
var Rh={0:function(a,b){return ni(this,0,0,a,b)},1:function(a,b){return pi(this,0,0,a,b)},2:function(a,b){return ni(this,0,1,a,b)},3:function(a,b){return pi(this,0,1,a,b)},4:function(a,b){return ni(this,0,2,a,b)},5:function(a,b){return pi(this,0,2,a,b)},6:function(a,b){return ni(this,0,3,a,b)},7:function(a,b){return pi(this,0,3,a,b)},8:function(a,b){return ri(this,0,a,b)},32:function(a,b){return Ci(this,0,b)},33:function(a,b){return Fi(this,0,b)},64:function(a,b){return Ji(this,0,b)},65:function(a,
b){return Ji(this,1,b)},66:function(a,b){return Ji(this,2,b)},67:O.prototype.Sn,129:function(a,b){return wi(this,0,2,a,b)},130:function(a,b){return wi(this,0,3,a,b)},131:function(a,b){return wi(this,0,1,a,b)},135:function(a,b){return wi(this,0,0,a,b)}},Th={96:O.prototype.Kn,97:O.prototype.Ln,98:O.prototype.Mn,99:O.prototype.Nn},Vh={96:O.prototype.$m,97:O.prototype.an,100:O.prototype.bn,112:O.prototype.qn,113:O.prototype.rn,128:O.prototype.In,132:function(a,b){return yi(this,0,a,b)},133:function(a,
b){return yi(this,1,a,b)},134:function(a,b){return yi(this,2,a,b)},136:function(a,b){return yi(this,3,a,b)},137:function(a,b){return wi(this,1,2,a,b)},138:function(a,b){return wi(this,1,3,a,b)},139:function(a,b){return wi(this,1,1,a,b)},140:function(a,b){return yi(this,4,a,b)},141:function(a,b){return yi(this,5,a,b)},142:function(a,b){return yi(this,6,a,b)},143:function(a,b){return wi(this,1,0,a,b)},160:function(a,b){return Ci(this,1,b)},161:function(a,b){return Fi(this,1,b)},192:function(a,b){return ni(this,
1,0,a,b)},194:function(a,b){return pi(this,1,0,a,b)},196:function(a,b){return ni(this,1,1,a,b)},198:function(a,b){return pi(this,1,1,a,b)},200:function(a,b){return ni(this,1,2,a,b)},202:function(a,b){return pi(this,1,2,a,b)},204:function(a,b){return ni(this,1,3,a,b)},206:function(a,b){return pi(this,1,3,a,b)},208:function(a,b){return ri(this,1,a,b)}},Sh={0:function(a,b,c){oi(this,0,0,a,b,c)},1:function(a,b,c){qi(this,0,0,a,b,c)},2:function(a,b,c){oi(this,0,1,a,b,c)},3:function(a,b,c){qi(this,0,1,
a,b,c)},4:function(a,b,c){oi(this,0,2,a,b,c)},5:function(a,b,c){qi(this,0,2,a,b,c)},6:function(a,b,c){oi(this,0,3,a,b,c)},7:function(a,b,c){qi(this,0,3,a,b,c)},8:function(a,b,c){this.ca(a,b,c,"DMA0.CMD",O.Fb);this.bb[0].li=b},9:function(a,b,c){si(this,0,a,b,c)},10:function(a,b,c){ti(this,0,a,b,c)},11:function(a,b,c){this.ca(a,b,c,"DMA0.MODE",O.Fb);this.bb[0].Gb[b&3].mode=b},12:function(a,b,c){this.ca(a,b,c,"DMA0.INDEX",O.Fb);this.bb[0].qb=0},13:function(a,b,c){vi(this,0,a,b,c)},32:function(a,b,c){Di(this,
0,b,c)},33:function(a,b,c){Gi(this,0,b,c)},64:function(a,b,c){Li(this,0,b,c)},65:function(a,b,c){Li(this,1,b,c)},66:function(a,b,c){Li(this,2,b,c)},67:O.prototype.hp,129:function(a,b,c){xi(this,0,2,a,b,c)},130:function(a,b,c){xi(this,0,3,a,b,c)},131:function(a,b,c){xi(this,0,1,a,b,c)},135:function(a,b,c){xi(this,0,0,a,b,c)}},Uh={96:O.prototype.ap,97:O.prototype.bp,98:O.prototype.cp,99:O.prototype.dp,160:O.prototype.$o},Wh={96:O.prototype.uo,97:O.prototype.vo,100:O.prototype.to,112:O.prototype.Jo,
113:O.prototype.Ko,128:O.prototype.Yo,132:function(a,b,c){zi(this,0,a,b,c)},133:function(a,b,c){zi(this,1,a,b,c)},134:function(a,b,c){zi(this,2,a,b,c)},136:function(a,b,c){zi(this,3,a,b,c)},137:function(a,b,c){xi(this,1,2,a,b,c)},138:function(a,b,c){xi(this,1,3,a,b,c)},139:function(a,b,c){xi(this,1,1,a,b,c)},140:function(a,b,c){zi(this,4,a,b,c)},141:function(a,b,c){zi(this,5,a,b,c)},142:function(a,b,c){zi(this,6,a,b,c)},143:function(a,b,c){xi(this,1,0,a,b,c)},160:function(a,b,c){Di(this,1,b,c)},161:function(a,
b,c){Gi(this,1,b,c)},192:function(a,b,c){oi(this,1,0,a,b,c)},194:function(a,b,c){qi(this,1,0,a,b,c)},196:function(a,b,c){oi(this,1,1,a,b,c)},198:function(a,b,c){qi(this,1,1,a,b,c)},200:function(a,b,c){oi(this,1,2,a,b,c)},202:function(a,b,c){qi(this,1,2,a,b,c)},204:function(a,b,c){oi(this,1,3,a,b,c)},206:function(a,b,c){qi(this,1,3,a,b,c)},208:function(a,b,c){this.ca(a,b,c,"DMA1.CMD",O.Fb);this.bb[1].li=b},210:function(a,b,c){si(this,1,a,b,c)},212:function(a,b,c){ti(this,1,a,b,c)},214:function(a,b,
c){this.ca(a,b,c,"DMA1.MODE",O.Fb);this.bb[1].Gb[b&3].mode=b},216:function(a,b,c){this.ca(a,b,c,"DMA1.INDEX",O.Fb);this.bb[1].qb=0},218:function(a,b,c){vi(this,1,a,b,c)}};Fa(function(){for(var a=B(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new O(d);Ua(d,c);ai(d)}});
function Vi(a){x.call(this,"ROM",a,Vi);this.yb=null;this.lk=a.addr;this.Xh=a.size;this.Dm=a.alias;this.Cg=a.file;this.Lk=a.notify;if(this.Cg){a=this.Cg;var b=fa(this.Cg);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.Cg+"&format=bytes&decimal=true");sa(a,!0,null,this,Vi.prototype.oo)}}y(x,Vi);Vi.prototype.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;Wi(this)};Vi.prototype.Zb=function(){this.fi&&(this.Y&&aj(this.Y,this.lk,this.Xh,this.fi),delete this.fi);return!0};Vi.prototype.Yb=function(){return!0};
Vi.prototype.oo=function(a,b,c){if(c)this.Ha("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.yb=e;else if(f)for(this.yb=Array(4*f.length),c=b=0;b<f.length;b++)this.yb[c++]=f[b]&255,this.yb[c++]=f[b]>>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.fi=d.symbols;if(!this.yb.length){w("Empty ROM: "+a);return}if(1==this.yb.length){w(this.yb[0]);return}}catch(g){this.Ha("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;d<a.length;d++)this.yb[d]=parseInt(a[d],16);Wi(this)}};function Wi(a){if(!Xa(a))if(!a.Cg)a.Sa();else if(a.yb&&a.oa){if(a.yb.length!=a.Xh)Ya(a,"ROM size (0x"+p(a.yb.length)+") does not match specified size (0x"+p(a.Xh)+")");else if(bj(a,a.lk)&&bj(a,a.Dm)){if(a.Lk){var b=Sa(a.Lk,a.id);b&&("ega"==b.Ga&&cj(b,a.yb,[8752,12640],8),b.Sa())}delete a.yb}a.Sa()}}
function bj(a,b){if(null==b)return!0;if(eb(a.oa,b,a.Xh,!0)){for(var c=0;c<a.yb.length;c++)kb(a.oa,b+c,a.yb[c]);return!0}return!1}Fa(function(){for(var a=B(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Vi(d);Ua(d,c)}});function dj(a){x.call(this,"RAM",a,dj);this.Ug=a.addr;this.Pd=a.size;this.Rm=a.test;this.Pm=!!this.Pd;this.mh=!1}y(x,dj);dj.prototype.qc=function(a,b,c){this.oa=b;this.T=c;this.Ea=a;this.ma=C(a,"ChipSet");this.Sa()};
dj.prototype.Zb=function(a,b){b||this.reset();return!0};dj.prototype.Yb=function(){return!0};
dj.prototype.reset=function(){if(!this.Ug&&!this.Pm&&this.ma){var a=1024*ei(this.ma);this.Pd&&a!=this.Pd&&(hb(this.oa,this.Ug,this.Pd),this.mh=!1);this.Pd=a}!this.mh&&this.Pd&&eb(this.oa,this.Ug,this.Pd)&&(this.mh=!0,this.status(Math.floor(this.Pd/1024)+"Kb"));if(this.mh){if(this.Rm||lb(this.oa,1138,4660),this.ma&&(a=this.ma,a.qa)){var b=1048576>this.Ug?21:23,c=a.qa[b]|a.qa[b+1]<<8,c=c+(this.Pd>>10);a.qa[b]=c&255;a.qa[b+1]=c>>8;ii(a)}}else w("No RAM allocated")};
Fa(function(){for(var a=B(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new dj(d);Ua(d,c)}});function ej(a){x.call(this,"Keyboard",a,ej);this.ei={};this.eo=250;this.fo=100;this.Sa()}y(x,ej);
var fj={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,backspace:14,tab:15,q:16,w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,squote:40,bquote:41,lshift:42,bslash:43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,rshift:54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,home:71,"up-arrow":72,"page-up":73,"num-minus":74,
"left-arrow":75,center:76,"right-arrow":77,"num-plus":78,end:79,"down-arrow":80,"page-down":81,ins:82,del:83},gj={tab:9,esc:27,rshift:224,lshift:240,ctrl:241,alt:242,"caps-lock":244,f1:336,f2:337,f3:338,f4:339,f5:340,f6:341,f7:342,f8:343,f9:344,f10:345,"left-arrow":261,"up-arrow":262,"right-arrow":263,"down-arrow":264,"ctrl-c":3,"ctrl-break":254,"ctrl-alt-del":255},P=[];P[32]=57;P[49]=2;P[33]=61442;P[50]=3;P[64]=61443;P[51]=4;P[35]=61444;P[52]=5;P[36]=61445;P[53]=6;P[37]=61446;P[54]=7;P[94]=61447;
P[55]=8;P[38]=61448;P[56]=9;P[42]=61449;P[57]=10;P[40]=61450;P[48]=11;P[41]=61451;P[45]=12;P[95]=61452;P[61]=13;P[43]=61453;P[113]=16;P[81]=61456;P[119]=17;P[87]=61457;P[101]=18;P[69]=61458;P[114]=19;P[82]=61459;P[116]=20;P[84]=61460;P[121]=21;P[89]=61461;P[117]=22;P[85]=61462;P[105]=23;P[73]=61463;P[111]=24;P[79]=61464;P[112]=25;P[80]=61465;P[91]=26;P[123]=61466;P[93]=27;P[125]=61467;P[97]=30;P[65]=61470;P[115]=31;P[83]=61471;P[100]=32;P[68]=61472;P[102]=33;P[70]=61473;P[103]=34;P[71]=61474;
P[104]=35;P[72]=61475;P[106]=36;P[74]=61476;P[107]=37;P[75]=61477;P[108]=38;P[76]=61478;P[59]=39;P[58]=61479;P[39]=40;P[34]=61480;P[96]=41;P[126]=61481;P[92]=43;P[124]=61483;P[122]=44;P[90]=61484;P[120]=45;P[88]=61485;P[99]=46;P[67]=61486;P[118]=47;P[86]=61487;P[98]=48;P[66]=61488;P[110]=49;P[78]=61489;P[109]=50;P[77]=61490;P[44]=51;P[60]=61491;P[46]=52;P[62]=61492;P[47]=53;P[63]=61493;P[8]=14;P[9]=15;P[13]=28;P[27]=1;P[240]=42;P[224]=54;P[241]=29;P[242]=56;P[244]=58;P[336]=59;P[337]=60;P[338]=61;
P[339]=62;P[340]=63;P[341]=64;P[342]=65;P[343]=66;P[344]=67;P[345]=68;P[261]=75;P[262]=72;P[263]=77;P[264]=80;P[254]=61766;P[255]=15921491;k=ej.prototype;
k.xb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.ta[a])switch(c){case "kbd":return this.ta[a]=d,d.onkeydown=function(a){return hj(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Fa&32?e.Fa&=-33:b=e.Fa&12?!1:!ij(e,a);return b},d.onkeyup=function(a){return hj(e,a,!1)},!0;default:if(void 0!==gj[c]&&"button"==b)return this.ta[a]=d,d.onclick=function(a,b,c){return function(){a.T&&a.T.Od();return!ij(a,c)}}(this,c,gj[c]),!0;if(void 0!==fj[c])return this.ta[a]=
d,b=function(a,b,c){return function(){jj(a,c)}}(this,c,fj[c]),c=function(a,b,c){return function(){jj(a,c)}}(this,c,fj[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.ma=C(a,"ChipSet")};k.Sa=function(){this.Dk=(this.Zm=ya("iOS"))||ya("Android");this.Qa("mobile keyboard support: "+(this.Dk?"true":"false"));return x.prototype.Sa.call(this)};
function Ti(a){a.Qa("keyboard reset",!0);a.zc=[170];a.ma&&Hi(a.ma,1,4)}function Pi(a,b,c){var d=!1;a.Ci!==c&&(a.Ci=a.Hi=c);a.qh!==b&&(a.qh=b)&&!a.Hi&&Ui(a);a.qh&&a.Hi&&(Ti(a),a.Hi=!1,d=!0);return d}function Ni(a,b){var c=0;a.zc.length&&(c=a.zc[0],a.Qa("scan code "+r(c)+" delivered"),b&&Ui(a));return c}function Ui(a,b){0<a.zc.length&&(b?a.zc=[]:(a.zc.shift(),0<a.zc.length&&a.ma&&Hi(a.ma,1)))}k.Zb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ke();this.Fa=0;this.zc=[];if(this.qd)for(var a in this.qd)ba(a)||this.qd[a]&&clearTimeout(this.qd[a]);this.qd=[];this.Yl=this.Pe=0};k.save=function(){var a=new H(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.ke(a[0])};k.ke=function(a){var b=0;void 0===a&&(a=[]);this.Ci=a[b++];this.qh=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.Ci;b[a]=this.qh;return b};
function jj(a,b){var c=b&127,d=c==b;if(a.zc)if(20>a.zc.length){if(!(!d&&!a.ei[c]||d&&a.ei[c])){a.ei[c]=d;a.Qa("scan code "+r(b)+" buffered");a.zc.push(b);1==a.zc.length&&a.ma&&Hi(a.ma,1);for(var e in fj)if(fj[e]==c){(c=a.ta["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.zc.length&&a.zc.push(255),a.Qa("scan code buffer overflow")}function kj(a,b){var c=b?a.fo:a.eo;a.T&&a.T.ld&&(c/=a.T.ld);return c}
function lj(a,b){!a.Pe||void 0!==b&&b==a.Pe||(clearTimeout(a.qd[a.Pe]),mj(a,a.Pe,!1))}
function hj(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Yl=f);240==f+224?(a.Fa&=-2,c&&(a.Fa|=1),f+=224,e=!1):241==f+224?(a.Fa&=-5,c&&(a.Fa|=4),f+=224,e=!1):242==f+224?(a.Fa&=-9,c&&(a.Fa|=8),f+=224,e=!1):244==f+224?(a.Fa&=-17,c&&(a.Fa|=16),f+=224,d=ij(a,f)):91==f?(a.Fa&=-33,c&&(a.Fa|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.Fa&12)&&(f=254),d=c?!ij(a,f):!1):void 0!==P[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.Fa&=-33,a.Dk||f!=a.Yl||lj(a));void 0===d&&(d=!mj(a,f,c));return d}
function ij(a,b,c){var d=!1;lj(a,b);mj(a,b,!0)&&(c?mj(a,b,!1):(c=!1,a.qd[b]&&(clearTimeout(a.qd[b]),c=!0),c=kj(a,c),a.qd[a.Pe=b]=setTimeout(function(a){return function(){mj(a,b,!1)}}(a),c)),d=!0);return d}
function mj(a,b,c){var d=!1;c||(a.qd[b]=null,a.Pe==b&&(a.Pe=0));var e=P[b];void 0===e&&1<=b&&26>=b&&(e=P[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.Fa&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.Fa&17||(d=42):224==f?a.Fa&18||(d=54):241==f?a.Fa&4||(d=29):242==f&&(a.Fa&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;c<b.length;c++)jj(a,b[c]);d=!0}return d}k.Qa=function(a,b){this.Y&&D(this.Y,this.Y.dk|(b?this.Y.ek:0))&&this.Y.message(a)};
Fa(function(){for(var a=B(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ej(d);Ua(d,c)}});
function Q(a,b,c,d){x.call(this,"Video",a,Q);this.Ga=a.model;this.Vc=0;"ega"==this.Ga&&(this.fm=a.switches,this.Vc=a.memory||0);this.nd=a.mode;if(void 0===this.nd||void 0===R[this.nd])this.nd=nj;this.Ih=a.charCols;this.Xi=a.charRows;if(void 0===this.Ih||void 0===this.Xi)this.Ih=R[this.nd][0],this.Xi=R[this.nd][1];this.xd=a.screenWidth;this.he=a.screenHeight;this.Qm=a.scale;this.Om=12<=Math.round(this.xd/this.Ih);this.Sm=a.touchScreen;this.Kb=b;this.Xc=c;this.km=d;this.Ta=this.Pb=0;this.Vd=[];this.td=
Array(16);this.Ei=!1;var e=this;this.Kb&&(this.Kb.onfocus=function(){e.Ei=!0},this.Kb.onblur=function(){e.Ei=!1});if(a=a.fontROM)"json"!=fa(a)&&(a=ta()+"/api/v1/dump?file="+a+"&format=bytes"),sa(a,!0,null,this,this.po)}y(x,Q);
var oj={2:{$i:15700,Zi:208,Pj:85,Qj:96},3:{$i:18432,Zi:364,Pj:85,Qj:96},4:{$i:21850,Zi:364,Pj:85,Qj:96}},pj={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},nj=7,R=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];R[nj]=[80,25,1,0,1];R[13]=[320,200,16];R[14]=[640,200,16];R[15]=[640,350,16];R[16]=[640,350,16];R[0]=R[1];R[2]=R[3];R[5]=R[4];var qj=Array(5);qj[0]=[0,0,0,255];qj[1]=[127,192,127,255];
qj[2]=[127,192,127,255];qj[3]=[127,255,127,255];qj[4]=[127,255,127,255];var rj=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],S=Array(16);S[0]=[0,0,0,255];S[1]=[0,0,170,255];S[2]=[0,170,0,255];S[3]=[0,170,170,255];S[4]=[170,0,0,255];S[5]=[170,0,170,255];S[6]=[170,85,0,255];S[7]=[170,170,170,255];S[8]=[85,85,85,255];S[9]=[85,85,255,255];S[10]=[85,255,85,255];S[11]=[85,255,255,255];S[12]=[255,85,85,255];S[13]=[255,85,255,255];S[14]=[255,255,85,255];S[15]=[255,255,255,255];
var sj=[2,4,6],tj=[3,5,7],uj=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],vj=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],T=[0];T[128]=1;T[32768]=2;T[32896]=3;T[8388608]=4;T[8388736]=5;T[8421376]=6;T[8421504]=7;T[2147483648]=8;T[2147483776]=9;T[2147516416]=10;T[2147516544]=11;T[2155872256]=12;T[2155872384]=13;T[2155905024]=14;T[2155905152]=15;
function wj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=xj[b],f=a.le||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(yj)];this.Y=a.Y;this.type=e[0];this.port=e[1];this.je=b;this.Ta=e[2];this.Pb=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.Ta&&(this.Pb=Math.min(this.Vc>>2,32768));this.nc=c[0];this.Bc=c[1];this.ef=c[2];this.zf=c[3];this.pc=c[4]&255;this.yh=c[4]>>8&255;this.fc=c[5];this.Ri=yj;this.Vg=zj;if(5==b){this.Ri=Aj;this.Vg=Bj;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
0,0,0,Array(9),0,[this.Ta,this.Pb,this.Vc],Array(this.Vc>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.hd=b[0];this.Bd=b[1];this.Sd=b[2];this.hi=Cj;this.Zh=b[3];this.fg=b[4];this.wh=b[5];this.Dd=b[6];this.Jf=b[7];this.ji=Dj;this.Li=b[8];this.Mi=b[9];this.Cd=b[10];this.ve=b[11];this.ii=Ej;this.vb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ta,this.Pb,d]);this.Ta=d[0];this.Pb=d[1];d=this.Vc>>2;if((this.ed=b[14])&&this.ed.length<d){for(var e=this.ed,g=0,h=Array(d),l=0;l<e.length-1;){for(var n=
e[l++],q=e[l++];n--;)h[g]=q,g+=2;g==d&&(g=1)}this.ed=h}this.Wh(b[15]);this.Kj=b[16];this.hb=b[17];this.md=b[18];this.nb=b[19];this.Lh=b[20];this.oe=b[21];this.Me=b[22];this.Ti=b[23];this.Ui=b[24]}f=oj[f]||oj[3];this.Vi=a.T.Hd/f.$i|0;this.jo=this.Vi*f.Pj/100|0;this.Tk=this.Vi*f.Zi;this.mo=this.Tk*f.Qj/100|0;this.aj=null==c[7]?0:c[7]}}
var yj=18,Aj=25,zj="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Bj="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
Cj="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),Dj=["RESET","CLK","MAPMASK","CHARMAP","MODE"],Ej="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function Fj(a){return this.tc(a)|this.tc(a+1)<<8}function Gj(a,b){this.Cc(a,b&255);this.Cc(a+1,b>>8&255)}
var U=[,,function(a){a+=this.offset;return(this.ga.vb=this.sa[a])>>this.ga.Kj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.sa[b]>>8:this.sa[b])&255}];U[16]=function(a){a+=this.offset;a=this.sa[a];for(var b=this.ga.Ti&this.ga.Ui,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};U[512]=function(a,b){var c=a+this.offset,d;d=this.sa[c]&~this.ga.hb|(b|b<<8|b<<16|b<<24)&this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
U[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.md|b<<8-this.ga.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.oe|this.ga.Me;d=d&this.ga.hb|this.sa[c]&~this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
U[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.md|b<<8-this.ga.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.oe|this.ga.Me;d&=this.ga.vb;d=d&this.ga.hb|this.sa[c]&~this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
U[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.md|b<<8-this.ga.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.oe|this.ga.Me;d|=this.ga.vb;d=d&this.ga.hb|this.sa[c]&~this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
U[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.md|b<<8-this.ga.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.oe|this.ga.Me;d^=this.ga.vb;d=d&this.ga.hb|this.sa[c]&~this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};U[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.hb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.sa[d]&~c;c=c&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[d]!=c&&(this.sa[d]=c,this.lb=!0)};
U[4096]=function(a){a+=this.offset;var b=this.sa[a]&~this.ga.hb|this.ga.vb&this.ga.hb;this.sa[a]!=b&&(this.sa[a]=b,this.lb=!0)};U[8192]=function(a,b){var c=a+this.offset,d=vj[b&15],d=d&this.ga.hb|this.sa[c]&~this.ga.hb,d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};U[24576]=function(a,b){var c=a+this.offset,d=vj[b&15],d=d&this.ga.vb,d=d&this.ga.hb|this.sa[c]&~this.ga.hb,d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
U[40960]=function(a,b){var c=a+this.offset,d=vj[b&15],d=d|this.ga.vb,d=d&this.ga.hb|this.sa[c]&~this.ga.hb,d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};U[57344]=function(a,b){var c=a+this.offset,d=vj[b&15],d=d^this.ga.vb,d=d&this.ga.hb|this.sa[c]&~this.ga.hb,d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
function Hj(a){var b=[];if(void 0!==a.je){b[0]=a.nc;b[1]=a.Bc;b[2]=a.ef;b[3]=a.zf;b[4]=a.pc|a.yh<<8;b[5]=a.fc;if(5==a.je){var c=[];c[0]=a.hd;c[1]=a.Bd;c[2]=a.Sd;c[3]=a.Zh;c[4]=a.fg;c[5]=a.wh;c[6]=a.Dd;c[7]=a.Jf;c[8]=a.Li;c[9]=a.Mi;c[10]=a.Cd;c[11]=a.ve;c[12]=a.vb;c[13]=[a.Ta,a.Pb,a.Vc];var d;a:if(d=a.ed){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var l=d[h],n=h+2;n<d.length&&d[n]===l;)n+=2;f[e++]=n-h>>1;f[e++]=l;h=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Fh;c[16]=a.Kj;c[17]=a.hb;c[18]=a.md;c[19]=a.nb;c[20]=a.Lh;c[21]=a.oe;c[22]=a.Me;c[23]=a.Ti;c[24]=a.Ui;b[6]=c}b[7]=a.aj}return b}function Ij(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var l=e[g],f=f+(b+"["+r(g)+"]: "+(l+" ".substr(0,h-l.length))+r(d[g])+(g===c?"*":""))}a.Y.message(f)}else a.Y.message(b+": "+r(c))}
wj.prototype.Wh=function(a){if(null!=a&&a!=this.Fh){var b=a&255,c=U[b];c||b&1&&(c=U[1]);var b=a&65280,d=U[b];d||b&256&&(d=U[256]);this.Nf||(this.Nf=[null,Fj,null,Gj]);this.Nf[0]=c;this.Nf[2]=d;this.Fh=a}};var xj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Q.prototype;
k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;ob(b,this,Jj);sb(b,this,Kj);"ega"==this.Ga&&(ob(b,this,Lj),sb(b,this,Mj));if(d){var e=this;Xh(d,Q);Kc(this.T,16,this,this.Zn);Yh(d,Q.Ng,function(a){if(e.Da)if(a){var b=e.Da;if(b.ed){a=ca(a);a=void 0!==a?a-b.Ta:b.np||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.Ta+a)+":",q=0;8>q&&a<b.ed.length;q++)var t=b.ed[a++],n=n+(" "+p(t));c&&(c+="\n");c+=n}c&&b.Y.message(c);b.np=a}else b.Y.message("no buffer")}else{e.Y.message("BIOSMODE: "+r(e.Jd));b=
e.Da;Ij(b,"CRTC",b.pc,b.fc,b.Vg);if(1==b.je||3==b.je)Ij(b," MODEREG",b.Bc),Ij(b," STATUS1",b.zf);3==b.je&&Ij(b," COLOR",b.ef);5==b.je&&(b.Y.message(" ATCDATA: "+b.hd),Ij(b," ATC",b.Bd,b.Sd,b.hi),Ij(b," GRC",b.Cd,b.ve,b.ii),Ij(b," SEQ",b.Dd,b.Jf,b.ji),Ij(b," FEAT",b.wh),Ij(b," MISC",b.fg),Ij(b," STATUS0",b.Zh),Ij(b," LATCHES",b.vb),b.Y.message(" ACCESS: "+u(b.Fh)),b.Y.message("Use 'dump video buffer' to dump video memory"))}else e.Y.message("no active video card")})}(this.fb=C(a,"Keyboard"))&&
this.Kb&&this.fb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Kb);this.Xg=9;(this.ma=C(a,"ChipSet"))&&this.fm&&(this.Xg=Kh(this.fm,this.Xg));this.fb&&this.Sm&&Nj(this)};k.Zn=function(a){this.Y&&D(this.Y,Q.Ng|Q.Xe)&&(Mc(this.Y,16,a),Nc(this.T,a,function(a,c){return function(d){Oc(a.Y,16,d,F(a.T)-c)}}(this,F(this.T))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.ta[c]=d,d.onclick=function(){Fb(e,!0)},!0}return!1};k.Od=function(){this.Kb&&this.Kb.focus()};
function Nj(a){var b=a.Kb;b&&!a.Bi&&(b.addEventListener("touchstart",function(b){Oj(a,b)},!1),b.addEventListener("touchmove",function(b){Oj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Bi=!0)}
function Oj(a,b){a.Ei&&b.preventDefault();var c=0,d=0,e=a.Kb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.xd/a.Kb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.xd/3)|0;d=a.he/a.Kb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.he/3)|0;1!=d?d?ij(a.fb,264,!0):ij(a.fb,262,!0):1!=c&&(c?ij(a.fb,263,!0):ij(a.fb,261,!0))}k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(id(this,this.xa&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.rj;this.xa&192&&(a=this.J,b=1,c=this.B.tj,this.xa&256||(this.A-=this.B.sj));if(a--){var d=this.ya&1024?-2:2,e=this.V(this.D,this.G);this.bd(this.ab.ac(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(id(this,this.xa&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.bj;this.xa&192&&(a=this.J,b=1,c=this.B.dj,this.xa&256||
(this.A-=this.B.cj));if(a--){var d=this.ya&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.ab,this.F);Nd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.sb;this.J-=b;a&&md(this)==(this.xa&64)&&(id(this,this.xa&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.bj;this.xa&192&&(a=this.J,b=1,c=this.B.dj,this.xa&256||(this.A-=this.B.cj));if(a--){var d=this.ya&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.ab,this.F);Vd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+
d&65535;this.A-=c-this.B.sb;this.J-=b;a&&md(this)==(this.xa&64)&&(id(this,this.xa&16?-3:-2),this.aa|=256)}},function(){this.$=this.ka=this.na=this.H&255&this.fa();this.ea=256;this.A-=this.B.Le},function(){this.$=this.ka=this.na=this.H&this.L();this.ea=65536;this.A-=this.B.Le},function(){var a=1,b=0,c=this.B.Cj;this.xa&192&&(a=this.J,b=1,c=this.B.Ej,this.xa&256||(this.A-=this.B.Dj));if(a--){var d=this.H;this.Nd(this.ab.ac(this.F,0),d);this.F=this.F+(this.ya&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&
(id(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Cj;this.xa&192&&(a=this.J,b=1,c=this.B.Ej,this.xa&256||(this.A-=this.B.Dj));if(a--){var d=this.H;this.bd(this.ab.ac(this.F,1),d);this.F=this.F+(this.ya&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(id(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.jj;this.xa&192&&(a=this.J,b=1,c=this.B.lj,this.xa&256||(this.A-=this.B.kj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.ya&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(id(this,
this.xa&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.jj;this.xa&192&&(a=this.J,b=1,c=this.B.lj,this.xa&256||(this.A-=this.B.kj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.ya&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(id(this,this.xa&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.wj;this.xa&192&&(a=this.J,b=1,c=this.B.yj,this.xa&256||(this.A-=this.B.xj));a--&&(Nd.call(this,this.H&255,this.O(this.ab,this.F)),this.F=this.F+(this.ya&1024?-1:1)&65535,this.A-=c-this.B.sb,
this.J-=b,a&&md(this)==(this.xa&64)&&(id(this,-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.wj;this.xa&192&&(a=this.J,b=1,c=this.B.yj,this.xa&256||(this.A-=this.B.xj));a--&&(Vd.call(this,this.H,this.P(this.ab,this.F)),this.F=this.F+(this.ya&1024?-2:2)&65535,this.A-=c-this.B.sb,this.J-=b,a&&md(this)==(this.xa&64)&&(id(this,-2),this.aa|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Cb},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Cb},function(){this.K=this.K&-256|this.fa();
this.A-=this.B.Cb},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Cb},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Cb},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Cb},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Cb},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Cb},function(){this.H=this.L();this.A-=this.B.Cb},function(){this.J=this.L();this.A-=this.B.Cb},function(){this.K=this.L();this.A-=this.B.Cb},function(){this.C=this.L();this.A-=this.B.Cb},
function(){this.Z=this.L();this.A-=this.B.Cb},function(){this.I=this.L();this.A-=this.B.Cb},function(){this.G=this.L();this.A-=this.B.Cb},function(){this.F=this.L();this.A-=this.B.Cb},Nh,Oh,Nh,Oh,function(){O[this.fa()].call(this,Me)},function(){O[this.fa()].call(this,Le)},function(){this.aa|=1;sh[this.fa()].call(this,se,this.fa)},function(){this.aa|=1;th[this.fa()].call(this,se,this.L)},Ph,Qh,Ph,Qh,function(){Dd.call(this,3,null,this.B.rl)},function(){var a=this.fa();Vc(this,a)?Dd.call(this,a,null,
0):this.A--},function(){od(this)?Dd.call(this,4,null,this.B.sl):this.A-=this.B.tl},function(){Qc(this,this.Ja(),this.Ja());Rc(this,this.Ja());this.gh&&Zc(this,this.Ca);this.A-=this.B.pl},function(){sh[this.fa()].call(this,te,ke)},function(){th[this.fa()].call(this,ue,ke)},function(){sh[this.fa()].call(this,te,le)},function(){th[this.fa()].call(this,ue,le)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.$=this.ka=b;this.A-=this.B.Vk},function(){var a=this.fa();this.$=
this.ka=this.H=(this.H>>8)*a+this.H&255;this.ea=256;this.A-=this.B.Uk},function(){this.H=this.H&-256|(jd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Tl},Rh,Rh,Rh,Rh,Rh,Rh,Rh,Rh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.$&this.ea-1?(K(this,this.ra+a),this.A-=this.B.Al):this.A-=this.B.mj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.$&this.ea-1?this.A-=this.B.oj:(K(this,this.ra+a),this.A-=this.B.nj)},function(){var a=
this.M();(this.J=this.J-1&65535)?(K(this,this.ra+a),this.A-=this.B.zl):this.A-=this.B.mj},function(){var a=this.M();this.J?this.A-=this.B.oj:(K(this,this.ra+a),this.A-=this.B.nj)},function(){var a=this.fa();this.H=this.H&-256|vb(this.oa,a,this.Ca-2);this.A-=this.B.gj},function(){var a=this.fa();this.H=vb(this.oa,a,this.Ca-1)|vb(this.oa,a+1&65535,this.Ca-2)<<8;this.A-=this.B.gj},function(){var a=this.fa();zb(this.oa,a,this.H&255,this.Ca-2);this.A-=this.B.vj},function(){var a=this.fa();zb(this.oa,a,
this.H&255,this.Ca-2);zb(this.oa,a+1&65535,this.H>>8,this.Ca-2);this.A-=this.B.vj},function(){var a=this.L();L(this,this.ra);K(this,this.ra+a);this.A-=this.B.Zk},function(){var a=this.L();K(this,this.ra+a);this.A-=this.B.hj},function(){Qc(this,this.L(),this.L());this.A-=this.B.vl},function(){var a=this.M();K(this,this.ra+a);this.A-=this.B.hj},function(){this.H=this.H&-256|vb(this.oa,this.K,this.Ca-1);this.A-=this.B.fj},function(){this.H=vb(this.oa,this.K,this.Ca-1)|vb(this.oa,this.K+1&65535,this.Ca-
1)<<8;this.A-=this.B.fj},function(){zb(this.oa,this.K,this.H&255,this.Ca-1);this.A-=this.B.uj},function(){zb(this.oa,this.K,this.H&255,this.Ca-1);zb(this.oa,this.K+1&65535,this.H>>8,this.Ca-1);this.A-=this.B.uj},Sh,Sh,function(){this.aa|=132;this.A-=this.B.me},function(){this.aa|=68;this.A-=this.B.me},function(){this.mb|=4;this.A-=2;this.Y&&Bd(this.Y)?(id(this,-1),this.Ab()):this.ya&512||(this.Y&&id(this,-1),this.Ab())},function(){jd(this)?pd(this):ud(this);this.A-=2},function(){this.Db=-1;sh[this.fa()].call(this,
we,ne);0<=this.Db&&(this.H=this.Db)},function(){this.Db=-1;th[this.fa()].call(this,xe,ne);0<=this.Db&&(this.H=this.Db,this.K=this.Ag)},function(){this.$&=~this.ea;this.A-=2},function(){this.$|=this.ea;this.A-=2},function(){this.ya&=-513;this.A-=this.B.Xk},function(){this.ya|=512;this.aa|=4;this.A-=2},function(){this.ya&=-1025;this.A-=2},function(){this.ya|=1024;this.A-=2},function(){sh[this.fa()].call(this,Jc,ne)},function(){th[this.fa()].call(this,Lc,ne)}];
function P(a){x.call(this,"ChipSet",a,P);this.Ga=a.model;this.Ga=void 0!==this.Ga?parseInt(this.Ga,10):Th;this.$b=0;var b=a.sw1;if(b)this.$b=Uh(b,Vh|Wh.Am);else{this.Ud=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.Ud=b);if(b=this.Ud.length)this.$b|=Xh.$h,b--,this.$b|=(b&3)<<Xh.Hf;if(b=a.monitor||(this.Ga<Yh?"mono":"ega"),void 0!==Zh[b])this.$b|=Zh[b]<<Wh.Hf}this.se=Uh(a.sw2||"11110000",0);this.ao=this.Ga==Th?16:64;this.Tf=this.Uf=1;this.Ga>=Yh&&(this.Tf=this.Uf=2);this.uh=a.scaleTimers||!1;
this.vp=a.rtcDate;this.Fk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.ri=new webkitAudioContext);this.reset(!0);this.Sa()}z(x,P);var Th=5150,Yh=5170,Zh={none:0,tv:1,color:2,mono:3,ega:0},Xh={$h:1,ONE:0,Zp:64,Xp:128,Hp:192,Ff:192,Hf:6},Vh=12,Wh={Yp:16,Cp:32,Am:48,Ff:48,Hf:4};k=P.prototype;
k.xb=function(a,b,c,d){switch(c){case "sw1":return this.ta[c]=d,$h(this,c,d,this.$b,{0:this.Ga==Th?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==Th?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==Th)return this.ta[c]=d,$h(this,c,d,this.se,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ta[c]=d,!0}return!1};
k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.fb=db(a,"Keyboard");this.Ul=Math.round(c.Hd/1193181);ub(b,this,ai);yb(b,this,bi);this.Ga<Yh?(ub(b,this,ci),yb(b,this,di)):(ub(b,this,ei),yb(b,this,fi));if(d){var e=this;gi(d,P);hi(d,P.Ye,function(){for(var a=0;a<e.tb.length;a++){for(var b=e.tb[a],c="PIC"+a+":",d=0;d<b.pd.length;d++)c+=" IC"+(d+1)+"="+r(b.pd[d]);c+=" IMR="+r(b.vd)+" IRR="+r(b.Jb)+" ISR="+r(b.Ec);e.Y.message(c)}});hi(d,P.Ze,function(){for(var a=0;a<e.Hb.length;a++){ii(e,
a);var b=e.Hb[a],c="TIMER"+a+":",d=0;if(void 0!==b.gd)for(var n=0;n<=b.gd;n++)d|=b.bc[n]<<8*n;c+=" MODE"+b.mode+" BYTES="+b.gd+" COUNT="+u(d);e.Y.message(c)}});hi(d,P.Gf,function(){for(var a="",b=0;64>b;b++){var c=13>=b?ji(e,b):e.qa[b];a&&(a+="\n");a+="CMOS[0x"+r(b)+"]: 0x"+r(c)}e.Y.message(a)})}Uc(c,26,this,this.Yn)};k.Zb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.cd=this.$b;this.Ue=this.se;ki(this);this.bb=Array(this.Tf);for(b=0;b<this.Tf;b++)li(this,b);this.tb=Array(this.Uf);mi(this,0,32);1<this.Uf&&mi(this,1,160);this.oi=void 0;this.Hb=Array(3);for(b=0;b<this.Hb.length;b++)ni(this,b);this.Sf=this.mi=this.Ac=this.ah=void 0;this.$g=0;if(this.Ga>=Yh){this.jb=16;this.ud=0;this.Zd=16;this.Wg=0;this.ye=160;512<=oi(this)&&(this.ye|=16);3==pi(this)&&(this.ye|=64);this.ki=3;this.Qf=0;this.Sg=Array(7);this.ze=0;a&&(this.qa=Array(64));
qi(this,this.vp);for(a=21;24>=a;a++)this.qa[a]=0;for(a=14;46>a;a++)void 0===this.qa[a]&&(this.qa[a]=0);this.qa[20]=this.cd&(Wh.Ff|2|Xh.$h|Xh.Ff);this.qa[16]=ri(this,0)<<4|ri(this,1);si(this)}};
function qi(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.da("CMOS date invalid ("+b+"), using "+c)):b&&a.da("CMOS date: "+c);a.qa[0]=c.getSeconds();a.qa[1]=0;a.qa[2]=c.getMinutes();a.qa[3]=0;a.qa[4]=c.getHours();a.qa[5]=0;a.qa[6]=c.getDay()+1;a.qa[7]=c.getDate();a.qa[8]=c.getMonth()+1;c=c.getFullYear();a.qa[9]=c%100;c/=100;a.qa[50]=c%10|c/10<<4;a.ig=-1;a.qa[10]=38;a.qa[11]=2;a.qa[12]=0;a.qa[13]=128}
function ji(a,b){var c=a.qa[b];if(10>b){var d=!1;4!=b&&5!=b||a.qa[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.qa[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.qa[b]^=128);return c}function si(a){for(var b=0,c=16;46>c;c++)b+=a.qa[c];a.qa[47]=b&255;a.qa[46]=b>>8}
k.save=function(){var a=new I(this);a.set(0,[this.$b,this.se,this.cd,this.Ue]);for(var b=[],c=0;c<this.bb;c++){var d=[],e=this.bb[c];d[0]=e.ce;d[1]=e.li;d[2]=e.pk;d[3]=e.qb;for(var f=[],h=0;h<e.Gb.length;h++){var g=[],l=e.Gb[h];g[0]=l.Fd;g[1]=l.kk;g[2]=l.Hc;g[3]=l.Qb;g[4]=l.bc;g[5]=l.mode;g[6]=l.bh;g[8]=l.sp;g[9]=l.tp;f[h]=g}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.tb.length;c++)d=[],e=this.tb[c],d[0]=e.ng,d[1]=e.pd,d[2]=e.Id,d[3]=e.vd,d[4]=e.Jb,d[5]=e.Ec,d[6]=e.Ae,d[7]=e.Rf,b[c]=d;a.set(2,
[b]);b=[];for(c=0;c<this.Hb.length;c++)d=[],e=this.Hb[c],d[0]=e.Hc,d[1]=e.Yc,d[2]=e.bc,d[3]=e.Zf,d[4]=e.rk,d[5]=e.mode,d[6]=e.Bg,d[7]=e.fe,d[8]=e.gd,d[9]=e.kd,d[10]=e.bg,d[11]=e.jf,d[12]=e.pe,b[c]=d;a.set(3,[this.oi,b]);a.set(4,[this.ah,this.Ac,this.mi,this.Sf,this.$g]);this.Ga>=Yh&&(a.set(5,[this.jb,this.ud,this.Zd,this.Wg,this.ye,this.ki]),a.set(6,[this.Qf,this.Sg,this.ze,this.qa,this.ig]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.$b=b[0];this.se=b[1];this.cd=b[2];this.Ue=b[3];b=a[1];this.bb=Array(this.Tf);for(c=0;c<this.Tf;c++)li(this,c,1==b.length?b[0][c]:b);b=a[2];this.tb=Array(this.Uf);for(c=0;c<this.Uf;c++)mi(this,c,0===c?32:160,b[0][c]);b=a[3];this.oi=b[0];this.Hb=Array(3);for(c=0;c<this.Hb.length;c++)ni(this,c,b[1][c]);b=a[4];this.ah=b[0];this.Ac=b[1];this.mi=b[2];this.Sf=b[3];this.$g=b[4];if(b=a[5])this.jb=b[0],this.ud=b[1],this.Zd=b[2],this.Wg=b[3],this.ye=b[4],this.ki=b[5];
if(b=a[6])this.Qf=b[0],this.Sg=b[1],this.ze=b[2],this.qa=b[3],this.ig=b[4],qi(this);return!0};function li(a,b,c){a=a.bb[b]={};c&&5==c.length||(c=[0,void 0,void 0,0,[]]);a.ce=c[0];a.li=c[1];a.pk=c[2];a.qb=c[3];a.io=b<<2;a.Gb=Array(4);for(b=0;b<a.Gb.length;b++)ti(a,b,c[4][b])}function ti(a,b,c){var d=a.Gb[b]={};if(void 0===c||8!=c.length)c=[!0,[],[],[],[]];d.ga=a;d.Kk=b;d.Fd=c[0];d.kk=c[1];d.Hc=c[2];d.Qb=c[3];d.bc=c[4];d.mode=c[5];d.bh=c[6];ui(d,c[8],c[9])}
function ui(a,b,c,d){"string"==typeof b&&(b=Wa(b));b&&(a.kh=null,a.sp=b.id,a.tp=c,a.ih=b,a.Ki=b[c],a.Mh=d)}function mi(a,b,c,d){a=a.tb[b]={};d&&8==d.length||(d=[0,[void 0,void 0,void 0,void 0]]);a.port=c;a.bq=b<<3;a.ng=d[0];a.pd=d[1];a.Id=d[2];a.vd=d[3];a.Jb=d[4];a.Ec=d[5];a.Ae=d[6];a.Rf=d[7]}
function ni(a,b,c){a=a.Hb[b]={};if(void 0===c||13!=c.length)c=[[],[],[],[]];a.Hc=c[0];a.Yc=c[1];a.bc=c[2];a.Zf=c[3];a.rk=c[4];a.mode=c[5];a.Bg=c[6];a.fe=c[7];a.gd=c[8];a.kd=c[9];a.bg=c[10];a.jf=c[11];a.pe=c[12]}function oi(a,b){return((((b?a.$b:a.cd)&12)>>2)+1)*a.ao+32*((b?a.se:a.Ue)&15)}function vi(a,b){var c=b?a.$b:a.cd;return a.Ga!=Th||c&Xh.$h?((c&Xh.Ff)>>Xh.Hf)+1:0}
function ri(a,b){if(b<vi(a)){if(!a.Ud)return 1;if(b<a.Ud.length)switch(a.Ud[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function pi(a,b){return((b?a.$b:a.cd)&Wh.Ff)>>Wh.Hf}
function $h(a,b,c,d,e){for(var f="",h=1;8>=h;h++){var g="pcjs-bitCell";h||(g+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+h)+'" class="'+g+'" data-value="0">'+h+"</div>\n"}c.innerHTML=f;b=D(c,"pcjs-bitCell");c=null;for(h=0;h<b.length;h++)void 0!==e&&void 0!==e[h]&&(c=e[h]),c&&b[h].setAttribute("title",c),wi(b[h],d&1<<h?!1:!0),b[h].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");wi(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.$b=
a.$b&~e|(c?0:e);break;case "sw2":a.se=a.se&~e|(c?0:e)}ki(a)}}(a,b[h])}function wi(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function ki(a){var b=a.ta.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(void 0!==b){var d;d=""+(oi(a,!0)+"Kb");d+=", "+c[pi(a,!0)]+" Monitor";d+=", "+vi(a,!0)+" Floppy Drives";if(void 0!==a.cd&&a.cd!=a.$b||void 0!==a.Ue&&a.Ue!=a.se)d+=" (Reset required)";b.innerHTML=d}}
function xi(a,b,c,d,e){var f=a.bb[b],h=f.Gb[c].Qb[f.qb];f.qb^=1;a.ca(d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.qb+"]",P.Fb,h);return h}function yi(a,b,c,d,e,f){var h=a.bb[b];a.ca(d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+h.qb+"]",P.Fb);a=h.Gb[c];a.Qb[h.qb]=a.kk[h.qb]=e;h.qb^=1}function zi(a,b,c,d,e){var f=a.bb[b],h=f.Gb[c].bc[f.qb];f.qb^=1;a.ca(d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.qb+"]",P.Fb,h);return h}
function Ai(a,b,c,d,e,f){var h=a.bb[b];a.ca(d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+h.qb+"]",P.Fb);a=h.Gb[c];a.bc[h.qb]=a.Hc[h.qb]=e;h.qb^=1}function Bi(a,b,c,d){var e=a.bb[b],f=e.ce|1;e.ce&=-16;a.ca(c,null,d,"DMA"+b+".STATUS",P.Fb,f);return f}function Ci(a,b,c,d,e){var f=a.bb[b];a.ca(c,d,e,"DMA"+b+".REQ",P.Fb);a=d&3;f.ce=f.ce&~(16<<a)|(d&4)<<a+2;f.pk=d}function Di(a,b,c,d,e){var f=a.bb[b];a.ca(c,d,e,"DMA"+b+".MASK",P.Fb);b=d&3;c=f.Gb[b];c.Fd=d&4?!0:!1;c.Fd||Ei(a,f.io+b)}
function Fi(a,b,c,d,e){a.ca(c,d,e,"DMA"+b+".CLEAR",P.Fb);a=a.bb[b];for(b=0;b<a.Gb.length;b++)ti(a,b)}function Gi(a,b,c,d,e){var f=a.bb[b].Gb[c].bh;a.ca(d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",P.Fb,f);return f}function Hi(a,b,c,d,e,f){a.ca(d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",P.Fb);a.bb[b].Gb[c].bh=e}function Ii(a,b,c,d){var e=a.Sg[b];a.ca(c,null,d,"DMA.SPARE"+b+".PAGE",P.Fb,e);return e}function Ji(a,b,c,d,e){a.ca(c,d,e,"DMA.SPARE"+b+".PAGE",P.Fb);a.Sg[b]=d}
function Ki(a,b,c,d,e){ui(a.bb[b>>2].Gb[b&3],c,d,e)}function Ei(a,b,c){b=a.bb[b>>2].Gb[b&3];b.ih&&b.Ki&&b.Mh?(c&&(b.kh=c),b.Fd||Ed(a,b,!0)):c&&c(!0)}
function Ed(a,b,c){c&&(b.count=b.bc[1]<<8|b.bc[0],b.mm=b.mode&12,b.Gk=b.jd=!1);for(var d=!1;0<=b.count&&(c=b.bh<<16|b.Qb[1]<<8|b.Qb[0],4==b.mm?(d=!0,function(c){b.Ki.call(b.ih,b.Mh,-1,function(f,h){0>f&&(b.Gk||(b.Gk=!0),f=255);b.Fd||ob(a.oa,c,f);(d=h)&&setTimeout(function(){Li(b)||Ed(a,b)},0)})}(c)):8==b.mm?(c=mb(a.oa,c),0>b.Ki.call(b.ih,b.Mh,c)&&(b.jd=!0)):b.jd=!0),!d&&!Li(b););}
function Li(a){if(!a.jd&&0<=--a.count&&(a.mode&32?(a.Qb[0]--,0>a.Qb[0]&&(a.Qb[0]=255,a.Qb[1]--,0>a.Qb[1]&&(a.Qb[1]=255))):(a.Qb[0]++,255<a.Qb[0]&&(a.Qb[0]=0,a.Qb[1]++,255<a.Qb[1]&&(a.Qb[1]=0))),!a.Fd))return!1;var b=a.ga;b.ce=b.ce&~(16<<a.Kk)|1<<a.Kk;a.mode&16||(a.Fd=!0,a.ih=a.Mh=null);a.kh&&(a.kh(!a.jd),a.kh=null);return!0}function Mi(a,b,c){var d=0,e=a.tb[b];if(void 0!==e.Rf)switch(e.Rf&3){case 2:d=e.Jb;break;case 3:d=e.Ec}a.ca(e.port,null,c,"PIC"+b,P.Ye,d);return d}
function Ni(a,b,c,d){var e=a.tb[b];a.ca(e.port,c,d,"PIC"+b,P.Ye);if(c&16)e.Id=0,e.pd[e.Id++]=c,e.vd=0,e.Ae=7,e.Jb=e.Ec=0,e.Rf=10;else if(c&8)e.Rf=c;else{var f=c&224;if(f&32){d=0;if(96==(f&96))d=1<<(c&7);else for(c=e.Ae+1;;){c&=7;f=1<<c;if(e.Ec&f){d=f;break}if(c++==e.Ae)break}e.Ec&d&&(e.Ec&=~d,Oi(a,b))}else 192==f&&(e.Ae=c&7)}}function Pi(a,b,c){var d=a.tb[b],e=d.vd;a.ca(d.port+1,null,c,"PIC"+b,P.Ye,e);return e}
function Qi(a,b,c,d){var e=a.tb[b];a.ca(e.port+1,c,d,"PIC"+b,P.Ye);e.Id<e.pd.length?(e.pd[e.Id++]=c,2==e.Id&&e.pd[0]&2&&e.Id++,3!=e.Id||e.pd[0]&1||e.Id++):(e.vd=c,d=a.T,d.aa|=4,Oi(a,b,b||253!=c?0:6))}function Oi(a,b,c){b=a.tb[b];var d=((b.Ec|b.vd)^255)&b.Jb;a=a.T;a.ma&&(a.mb=d?a.mb|1:a.mb&-2);d&&c&&(b.ng=c)}function Ri(a,b,c){var d=b>>3,e=a.tb[d];e.Jb|=1<<(b&7);e.ng=c||0;1==d&&(a.tb[0].Jb|=4);Oi(a,d)}
function Si(a,b){var c=b>>3,d=a.tb[c],e=1<<(b&7);d.Jb&e&&(d.Jb&=~e,1!=c||d.Jb||(a.tb[0].Jb&=-5),Oi(a,c))}function Cd(a,b){void 0===b&&(b=0);var c=-1,d=a.tb[b];if(d.ng)c=-2,d.ng--;else for(var e=d.Jb&((d.Ec|d.vd)^255),f=d.Ae+1;;){var f=f&7,h=1<<f;if(e&h){c=b||2!=f?d.pd[1]+f:Cd(a,1);0<=c&&(d.Ec|=h,d.Jb&=~h);break}if(f++==d.Ae)break}return c}function Ti(a,b,c){var d;d=a.Hb[b];d.fe==d.gd&&Ui(a,b);if(d.bg)return d.Zf[d.fe++];ii(a,b);d=d.bc[d.fe++];a.ca(64+b,null,c,"TIMER"+b,P.Ze,d);return d}
function Vi(a,b,c,d){a.ca(64+b,c,d,"TIMER"+b,P.Ze);d=a.Hb[b];d.fe==d.gd&&Ui(a,b);d.Hc[d.fe++]=c;if(d.fe==d.gd){d.jf&&0!=d.mode&&8!=d.mode||(d.bg=!1,d.bc[0]=d.Yc[0]=d.Hc[0],d.bc[1]=d.Yc[1]=d.Hc[1],d.pe=F(a.T,a.uh),d.jf=!0,d.kd=0!=d.mode,0==b&&Si(a,0));2==b&&Wb(a);if(0==b){var e=Wi(a,0);2048<=e&&(a.T.Gh=Math.round(65536/e))}0==b&&0==d.mode&&16==d.Bg&&(b=a.T,b.Nb&&(a=b.A-c*a.Ul,b.A-=a,b.Nc-=a))}}k.Sn=function(a,b){this.ca(a,null,b,"TIMER_CTRL",P.Ze);return null};
k.hp=function(a,b,c){this.ca(a,b,c,"TIMER_CTRL",P.Ze);this.oi=b;a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Hb[a];e.Bg=b;e.mode=d;e.rk=c;e.Hc=[0,0];e.bc=[0,0];e.Zf=[0,0];e.kd=!1;e.bg=!1;e.jf=!1;Ui(this,a);0==a&&Si(this,0);2==a&&255==this.tb[0].vd&&77==this.Ac&&(a=this.Hb[0],a.Yc[0]=a.Hc[0],a.Yc[1]=a.Hc[1],a.pe=F(this.T,this.uh))}else ii(this,a),b=this.Hb[a],b.Zf[0]=b.bc[0],b.Zf[1]=b.bc[1],b.bg=!0,Ui(this,a)}};
function Wi(a,b){var c=a.Hb[b],d=c.Hc[1]<<8|c.Hc[0];d||(d=1==c.gd?256:65536);return d}function Ui(a,b){var c=a.Hb[b];c.fe=32==c.Bg?1:0;c.gd=48==c.Bg?2:1}
function ii(a,b,c){var d=a.Hb[b];if(d.jf&&(2!=b||a.Ac&1)){var e=F(a.T,a.uh),f=(e-d.pe)/a.Ul|0;0>f&&(d.pe=e,f=0);var h=Wi(a,b),g=a.Hb[b],l=g.Yc[1]<<8|g.Yc[0];l||(l=1==g.gd?256:65536);g=l-f;0==d.mode?(0>=g&&(g=0),g||(d.kd=!0,d.jf=!1,b||Ri(a,0))):4==d.mode?(d.kd=1!=g,0>=g&&(g=h+g,0>=g&&(g=h),d.Yc[0]=g&255,d.Yc[1]=g>>8,d.pe=e,!b&&d.kd&&Ri(a,0))):6==d.mode&&(g-=f,0>=g&&(d.kd=!d.kd,g=h+g,0>=g&&(g=h),d.Yc[0]=g&255,d.Yc[1]=g>>8,d.pe=e,!b&&d.kd&&Ri(a,0)));d.bc[0]=g&255;d.bc[1]=g>>8;c&&(a.pe=0)}return d}
function Xb(a,b){for(var c=0;c<a.Hb.length;c++)ii(a,c,b);if(a.Ga>=Yh){var c=0,d=a.T.Hd,e=F(a.T,a.uh);if(0<=a.ig&&(c=e-a.ig,Math.floor(c/d)&&60<=++a.qa[0]&&(a.qa[0]=0,60<=++a.qa[2]&&(a.qa[2]=0,24<=++a.qa[4])))){a.qa[4]=0;a.qa[6]=a.qa[6]%7+1;var f=a.qa[9],h=qa[a.qa[8]-1];28==h&&0===f%4&&(f%100||0===f%400)&&h++;++a.qa[7]>h&&(a.qa[7]=1,12<++a.qa[8]&&(a.qa[8]=1,a.qa[9]=(a.qa[9]+1)%100))}a.ig=e-c%d}}
k.Kn=function(a,b){var c=this.ah;this.Sf&16&&(this.Ac&128?c=this.cd:this.fb&&(c=Xi(this.fb)));this.ca(a,null,b,"PPI_A",P.uc,c);return c};k.ap=function(a,b,c){this.ca(a,b,c,"PPI_A",P.uc);this.ah=b};k.Ln=function(a,b){var c=this.Ac;this.ca(a,null,b,"PPI_B",P.uc,c);return c};k.bp=function(a,b,c){this.ca(a,b,c,"PPI_B",P.uc);Yi(this,b);this.fb&&Zi(this.fb,b&128?!1:!0,b&64?!0:!1)};function Yi(a,b){var c=!!(b&2),d=!!(a.Ac&2);a.Ac=b;c!=d&&Wb(a,c)}
k.Mn=function(a,b){var c=0,c=this.Ga==Th?this.Ac&4?c|this.Ue&15:c|this.Ue>>4&1:this.Ac&8?c|this.cd>>4:c|this.cd&15;this.Ac&1&&ii(this,2).kd&&(c=this.Ac&2?c|32:c|16);this.ca(a,null,b,"PPI_C",P.uc|P.Lg,c);return c};k.cp=function(a,b,c){this.ca(a,b,c,"PPI_C",P.uc);this.mi=b};k.Nn=function(a,b){var c=this.Sf;this.ca(a,null,b,"PPI_CTRL",P.uc,c);return c};k.dp=function(a,b,c){this.ca(a,b,c,"PPI_CTRL",P.uc);this.Sf=b};
k.$m=function(a,b){var c=this.Wg;this.ca(a,null,b,"8042_OUTBUFF",P.We,c);this.jb&=-258;var d=this.fb&&Xi(this.fb,!0);d&&$i(this,d);return c};k.uo=function(a,b,c){this.ca(a,b,c,"8042_INBUF.DATA",P.We);if(this.jb&8)switch(this.ud){case 96:aj(this,b);break;case 209:bj(this,b);break;default:if(aj(this,this.Zd&-17),this.fb){a=-1;switch(b){case 255:a=250,cj(this.fb)}$i(this,a)}}this.ud=b;this.jb&=-9};k.an=function(a,b){var c=this.Ac&-209|(F(this.T)&64?16:0);this.ca(a,null,b,"8042_RWREG",P.We|P.wm,c);return c};
k.vo=function(a,b,c){this.ca(a,b,c,"8042_RWREG",P.We);Yi(this,b)};k.bn=function(a,b){this.ca(a,null,b,"8042_STATUS",P.We,this.jb);var c=this.jb&255;this.jb&256&&(this.jb|=1,this.jb&=-257);return c};
k.to=function(a,b,c){this.ca(a,b,c,"8042_INBUFF.CMD",P.We);this.ud=b;this.jb|=8;a=0;240<=this.ud&&(a=this.ud^15,this.ud=240);switch(this.ud){case 192:$i(this,this.ye);break;case 173:aj(this,this.Zd|16);break;case 174:aj(this,this.Zd&-17);break;case 170:this.fb&&dj(this.fb,!0);aj(this,this.Zd|16);$i(this,85);bj(this,3);break;case 224:$i(this,this.Zd&16?0:1);break;case 240:a&1&&Pc(this.T)}};function aj(a,b){a.Zd=b;a.jb=a.jb&-5|b&4;a.fb&&Zi(a.fb,!!(b&8),!(b&16))&&$i(a,Xi(a.fb,!0))}
function $i(a,b){0<=b&&(a.Wg=b,a.jb&=-2,a.jb|=256)}function bj(a,b){a.ki=b;ib(a.oa,!!(b&2));b&1||Pc(a.T)}k.qn=function(a,b){this.ca(a,null,b,"CMOS_ADDR",P.Gf,this.ze);return this.ze};k.Jo=function(a,b,c){this.ca(a,b,c,"CMOS_ADDR",P.Gf);this.ze=b;this.$g=b&128?0:128};k.rn=function(a,b){var c=this.ze&63,d=13>=c?ji(this,c):this.qa[c];this.ca(a,null,b,"CMOS_DATA["+r(c)+"]",P.Gf,d);return d};
k.Ko=function(a,b,c){var d=this.ze&63;this.ca(a,b,c,"CMOS_DATA["+r(d)+"]",P.Gf);a=this.qa;13>=d&&10>d&&(c=!1,this.qa[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12<b&&(b+=48),this.qa[11]&2||(12>=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.In=function(a,b){this.ca(a,null,b,"MFG_DATA",P.uc,this.Qf);return this.Qf};k.Yo=function(a,b,c){this.ca(a,b,c,"MFG_DATA",P.uc);this.Qf=b};k.$o=function(a,b,c){this.ca(a,b,c,"NMI",P.uc);this.$g=b};
k.Yn=function(a){var b=this.T.H>>8;this.Y&&E(this.Y,P.ym)&&(Wc(this.Y,26,a),Xc(this.T,a,function(a,d){return function(e){d=F(a.T)-d;var f,h=a.T.K&255,g=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+u(g)+" CL(min)="+r(h)+" DH(sec)="+r(n);else if(4==b||5==b)f=" CX(year)="+u(a.T.J)+" DH(month)="+r(n)+" DL(day)="+r(l);Yc(a.Y,26,e,d,f)}}(this,F(this.T))));return!0};function Uh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function Wb(a,b){if(a.ri){void 0!==b?a.Fk=b:b=a.Fk&&a.T&&a.T.Nb;var c=Math.round(1193181/Wi(a,2));if(20>c||2E4<c)b=!1;b?a.od?(a.od.frequency.value=c,a.Qa("speaker set to "+c+"hz",P.Mg)):(a.od=a.ri.createOscillator(),a.od.type=1,a.od.connect(a.ri.destination),a.od.frequency.value=c,a.Qa("speaker on at "+c+"hz",P.Mg),a.od.noteOn(0)):a.od&&(a.od.noteOff(0),a.od.disconnect(),delete a.od,a.Qa("speaker off at "+c+"hz",P.Mg))}else b&&a.Qa("BEEP",P.Mg)}
k.Qa=function(a,b,c){this.Y&&(null==b&&(b=P.uc),void 0!==c&&(b|=0==c?P.Ze:1==c?P.dk:6==c?P.Kg:0),E(this.Y,b)&&this.Y.message(a))};k.ca=function(a,b,c,d,e,f){this.Y&&(null==e&&(e=P.uc),this.Y.ca(this,a,b,c,d,e,f))};
var ai={0:function(a,b){return xi(this,0,0,a,b)},1:function(a,b){return zi(this,0,0,a,b)},2:function(a,b){return xi(this,0,1,a,b)},3:function(a,b){return zi(this,0,1,a,b)},4:function(a,b){return xi(this,0,2,a,b)},5:function(a,b){return zi(this,0,2,a,b)},6:function(a,b){return xi(this,0,3,a,b)},7:function(a,b){return zi(this,0,3,a,b)},8:function(a,b){return Bi(this,0,a,b)},32:function(a,b){return Mi(this,0,b)},33:function(a,b){return Pi(this,0,b)},64:function(a,b){return Ti(this,0,b)},65:function(a,
b){return Ti(this,1,b)},66:function(a,b){return Ti(this,2,b)},67:P.prototype.Sn,129:function(a,b){return Gi(this,0,2,a,b)},130:function(a,b){return Gi(this,0,3,a,b)},131:function(a,b){return Gi(this,0,1,a,b)},135:function(a,b){return Gi(this,0,0,a,b)}},ci={96:P.prototype.Kn,97:P.prototype.Ln,98:P.prototype.Mn,99:P.prototype.Nn},ei={96:P.prototype.$m,97:P.prototype.an,100:P.prototype.bn,112:P.prototype.qn,113:P.prototype.rn,128:P.prototype.In,132:function(a,b){return Ii(this,0,a,b)},133:function(a,
b){return Ii(this,1,a,b)},134:function(a,b){return Ii(this,2,a,b)},136:function(a,b){return Ii(this,3,a,b)},137:function(a,b){return Gi(this,1,2,a,b)},138:function(a,b){return Gi(this,1,3,a,b)},139:function(a,b){return Gi(this,1,1,a,b)},140:function(a,b){return Ii(this,4,a,b)},141:function(a,b){return Ii(this,5,a,b)},142:function(a,b){return Ii(this,6,a,b)},143:function(a,b){return Gi(this,1,0,a,b)},160:function(a,b){return Mi(this,1,b)},161:function(a,b){return Pi(this,1,b)},192:function(a,b){return xi(this,
1,0,a,b)},194:function(a,b){return zi(this,1,0,a,b)},196:function(a,b){return xi(this,1,1,a,b)},198:function(a,b){return zi(this,1,1,a,b)},200:function(a,b){return xi(this,1,2,a,b)},202:function(a,b){return zi(this,1,2,a,b)},204:function(a,b){return xi(this,1,3,a,b)},206:function(a,b){return zi(this,1,3,a,b)},208:function(a,b){return Bi(this,1,a,b)}},bi={0:function(a,b,c){yi(this,0,0,a,b,c)},1:function(a,b,c){Ai(this,0,0,a,b,c)},2:function(a,b,c){yi(this,0,1,a,b,c)},3:function(a,b,c){Ai(this,0,1,
a,b,c)},4:function(a,b,c){yi(this,0,2,a,b,c)},5:function(a,b,c){Ai(this,0,2,a,b,c)},6:function(a,b,c){yi(this,0,3,a,b,c)},7:function(a,b,c){Ai(this,0,3,a,b,c)},8:function(a,b,c){this.ca(a,b,c,"DMA0.CMD",P.Fb);this.bb[0].li=b},9:function(a,b,c){Ci(this,0,a,b,c)},10:function(a,b,c){Di(this,0,a,b,c)},11:function(a,b,c){this.ca(a,b,c,"DMA0.MODE",P.Fb);this.bb[0].Gb[b&3].mode=b},12:function(a,b,c){this.ca(a,b,c,"DMA0.INDEX",P.Fb);this.bb[0].qb=0},13:function(a,b,c){Fi(this,0,a,b,c)},32:function(a,b,c){Ni(this,
0,b,c)},33:function(a,b,c){Qi(this,0,b,c)},64:function(a,b,c){Vi(this,0,b,c)},65:function(a,b,c){Vi(this,1,b,c)},66:function(a,b,c){Vi(this,2,b,c)},67:P.prototype.hp,129:function(a,b,c){Hi(this,0,2,a,b,c)},130:function(a,b,c){Hi(this,0,3,a,b,c)},131:function(a,b,c){Hi(this,0,1,a,b,c)},135:function(a,b,c){Hi(this,0,0,a,b,c)}},di={96:P.prototype.ap,97:P.prototype.bp,98:P.prototype.cp,99:P.prototype.dp,160:P.prototype.$o},fi={96:P.prototype.uo,97:P.prototype.vo,100:P.prototype.to,112:P.prototype.Jo,
113:P.prototype.Ko,128:P.prototype.Yo,132:function(a,b,c){Ji(this,0,a,b,c)},133:function(a,b,c){Ji(this,1,a,b,c)},134:function(a,b,c){Ji(this,2,a,b,c)},136:function(a,b,c){Ji(this,3,a,b,c)},137:function(a,b,c){Hi(this,1,2,a,b,c)},138:function(a,b,c){Hi(this,1,3,a,b,c)},139:function(a,b,c){Hi(this,1,1,a,b,c)},140:function(a,b,c){Ji(this,4,a,b,c)},141:function(a,b,c){Ji(this,5,a,b,c)},142:function(a,b,c){Ji(this,6,a,b,c)},143:function(a,b,c){Hi(this,1,0,a,b,c)},160:function(a,b,c){Ni(this,1,b,c)},161:function(a,
b,c){Qi(this,1,b,c)},192:function(a,b,c){yi(this,1,0,a,b,c)},194:function(a,b,c){Ai(this,1,0,a,b,c)},196:function(a,b,c){yi(this,1,1,a,b,c)},198:function(a,b,c){Ai(this,1,1,a,b,c)},200:function(a,b,c){yi(this,1,2,a,b,c)},202:function(a,b,c){Ai(this,1,2,a,b,c)},204:function(a,b,c){yi(this,1,3,a,b,c)},206:function(a,b,c){Ai(this,1,3,a,b,c)},208:function(a,b,c){this.ca(a,b,c,"DMA1.CMD",P.Fb);this.bb[1].li=b},210:function(a,b,c){Ci(this,1,a,b,c)},212:function(a,b,c){Di(this,1,a,b,c)},214:function(a,b,
c){this.ca(a,b,c,"DMA1.MODE",P.Fb);this.bb[1].Gb[b&3].mode=b},216:function(a,b,c){this.ca(a,b,c,"DMA1.INDEX",P.Fb);this.bb[1].qb=0},218:function(a,b,c){Fi(this,1,a,b,c)}};Fa(function(){for(var a=D(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new P(d);Ya(d,c);ki(d)}});
function ej(a){x.call(this,"ROM",a,ej);this.yb=null;this.lk=a.addr;this.Xh=a.size;this.Dm=a.alias;this.Cg=a.file;this.Lk=a.notify;if(this.Cg){a=this.Cg;var b=ga(this.Cg);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.Cg+"&format=bytes&decimal=true");sa(a,!0,null,this,ej.prototype.oo)}}z(x,ej);ej.prototype.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;fj(this)};ej.prototype.Zb=function(){this.fi&&(this.Y&&gj(this.Y,this.lk,this.Xh,this.fi),delete this.fi);return!0};ej.prototype.Yb=function(){return!0};
ej.prototype.oo=function(a,b,c){if(c)this.Ha("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.yb=e;else if(f)for(this.yb=Array(4*f.length),c=b=0;b<f.length;b++)this.yb[c++]=f[b]&255,this.yb[c++]=f[b]>>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.fi=d.symbols;if(!this.yb.length){w("Empty ROM: "+a);return}if(1==this.yb.length){w(this.yb[0]);return}}catch(h){this.Ha("ROM data error: "+
h.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;d<a.length;d++)this.yb[d]=parseInt(a[d],16);fj(this)}};function fj(a){if(!ab(a))if(!a.Cg)a.Sa();else if(a.yb&&a.oa){if(a.yb.length!=a.Xh)bb(a,"ROM size (0x"+q(a.yb.length)+") does not match specified size (0x"+q(a.Xh)+")");else if(hj(a,a.lk)&&hj(a,a.Dm)){if(a.Lk){var b=Wa(a.Lk,a.id);b&&("ega"==b.Ga&&ij(b,a.yb,[8752,12640],8),b.Sa())}delete a.yb}a.Sa()}}
function hj(a,b){if(null==b)return!0;if(jb(a.oa,b,a.Xh,!0)){for(var c=0;c<a.yb.length;c++)ob(a.oa,b+c,a.yb[c]);return!0}return!1}Fa(function(){for(var a=D(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new ej(d);Ya(d,c)}});function jj(a){x.call(this,"RAM",a,jj);this.Ug=a.addr;this.Pd=a.size;this.Rm=a.test;this.Pm=!!this.Pd;this.mh=!1}z(x,jj);jj.prototype.qc=function(a,b,c){this.oa=b;this.T=c;this.Ea=a;this.ma=db(a,"ChipSet");this.Sa()};
jj.prototype.Zb=function(a,b){b||this.reset();return!0};jj.prototype.Yb=function(){return!0};
jj.prototype.reset=function(){if(!this.Ug&&!this.Pm&&this.ma){var a=1024*oi(this.ma);this.Pd&&a!=this.Pd&&(lb(this.oa,this.Ug,this.Pd),this.mh=!1);this.Pd=a}!this.mh&&this.Pd&&jb(this.oa,this.Ug,this.Pd)&&(this.mh=!0,this.status(Math.floor(this.Pd/1024)+"Kb"));if(this.mh){if(this.Rm||pb(this.oa,1138,4660),this.ma&&(a=this.ma,a.qa)){var b=1048576>this.Ug?21:23,c=a.qa[b]|a.qa[b+1]<<8,c=c+(this.Pd>>10);a.qa[b]=c&255;a.qa[b+1]=c>>8;si(a)}}else w("No RAM allocated")};
Fa(function(){for(var a=D(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new jj(d);Ya(d,c)}});function kj(a){x.call(this,"Keyboard",a,kj);this.ei={};this.eo=250;this.fo=100;this.Sa()}z(x,kj);
var lj={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,backspace:14,tab:15,q:16,w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,squote:40,bquote:41,lshift:42,bslash:43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,rshift:54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,home:71,"up-arrow":72,"page-up":73,"num-minus":74,
"left-arrow":75,center:76,"right-arrow":77,"num-plus":78,end:79,"down-arrow":80,"page-down":81,ins:82,del:83},mj={tab:9,esc:27,rshift:224,lshift:240,ctrl:241,alt:242,"caps-lock":244,f1:336,f2:337,f3:338,f4:339,f5:340,f6:341,f7:342,f8:343,f9:344,f10:345,"left-arrow":261,"up-arrow":262,"right-arrow":263,"down-arrow":264,"ctrl-c":3,"ctrl-break":254,"ctrl-alt-del":255},Q=[];Q[32]=57;Q[49]=2;Q[33]=61442;Q[50]=3;Q[64]=61443;Q[51]=4;Q[35]=61444;Q[52]=5;Q[36]=61445;Q[53]=6;Q[37]=61446;Q[54]=7;Q[94]=61447;
Q[55]=8;Q[38]=61448;Q[56]=9;Q[42]=61449;Q[57]=10;Q[40]=61450;Q[48]=11;Q[41]=61451;Q[45]=12;Q[95]=61452;Q[61]=13;Q[43]=61453;Q[113]=16;Q[81]=61456;Q[119]=17;Q[87]=61457;Q[101]=18;Q[69]=61458;Q[114]=19;Q[82]=61459;Q[116]=20;Q[84]=61460;Q[121]=21;Q[89]=61461;Q[117]=22;Q[85]=61462;Q[105]=23;Q[73]=61463;Q[111]=24;Q[79]=61464;Q[112]=25;Q[80]=61465;Q[91]=26;Q[123]=61466;Q[93]=27;Q[125]=61467;Q[97]=30;Q[65]=61470;Q[115]=31;Q[83]=61471;Q[100]=32;Q[68]=61472;Q[102]=33;Q[70]=61473;Q[103]=34;Q[71]=61474;
Q[104]=35;Q[72]=61475;Q[106]=36;Q[74]=61476;Q[107]=37;Q[75]=61477;Q[108]=38;Q[76]=61478;Q[59]=39;Q[58]=61479;Q[39]=40;Q[34]=61480;Q[96]=41;Q[126]=61481;Q[92]=43;Q[124]=61483;Q[122]=44;Q[90]=61484;Q[120]=45;Q[88]=61485;Q[99]=46;Q[67]=61486;Q[118]=47;Q[86]=61487;Q[98]=48;Q[66]=61488;Q[110]=49;Q[78]=61489;Q[109]=50;Q[77]=61490;Q[44]=51;Q[60]=61491;Q[46]=52;Q[62]=61492;Q[47]=53;Q[63]=61493;Q[8]=14;Q[9]=15;Q[13]=28;Q[27]=1;Q[240]=42;Q[224]=54;Q[241]=29;Q[242]=56;Q[244]=58;Q[336]=59;Q[337]=60;Q[338]=61;
Q[339]=62;Q[340]=63;Q[341]=64;Q[342]=65;Q[343]=66;Q[344]=67;Q[345]=68;Q[261]=75;Q[262]=72;Q[263]=77;Q[264]=80;Q[254]=61766;Q[255]=15921491;k=kj.prototype;
k.xb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.ta[a])switch(c){case "kbd":return this.ta[a]=d,d.onkeydown=function(a){return nj(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Fa&32?e.Fa&=-33:b=e.Fa&12?!1:!oj(e,a);return b},d.onkeyup=function(a){return nj(e,a,!1)},!0;default:if(void 0!==mj[c]&&"button"==b)return this.ta[a]=d,d.onclick=function(a,b,c){return function(){a.T&&a.T.Od();return!oj(a,c)}}(this,c,mj[c]),!0;if(void 0!==lj[c])return this.ta[a]=
d,b=function(a,b,c){return function(){pj(a,c)}}(this,c,lj[c]),c=function(a,b,c){return function(){pj(a,c)}}(this,c,lj[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.ma=db(a,"ChipSet")};k.Sa=function(){this.Dk=(this.Zm=ya("iOS"))||ya("Android");this.Qa("mobile keyboard support: "+(this.Dk?"true":"false"));return x.prototype.Sa.call(this)};
function cj(a){a.Qa("keyboard reset",!0);a.zc=[170];a.ma&&Ri(a.ma,1,4)}function Zi(a,b,c){var d=!1;a.Ci!==c&&(a.Ci=a.Hi=c);a.qh!==b&&(a.qh=b)&&!a.Hi&&dj(a);a.qh&&a.Hi&&(cj(a),a.Hi=!1,d=!0);return d}function Xi(a,b){var c=0;a.zc.length&&(c=a.zc[0],a.Qa("scan code "+r(c)+" delivered"),b&&dj(a));return c}function dj(a,b){0<a.zc.length&&(b?a.zc=[]:(a.zc.shift(),0<a.zc.length&&a.ma&&Ri(a.ma,1)))}k.Zb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ke();this.Fa=0;this.zc=[];if(this.qd)for(var a in this.qd)ba(a)||this.qd[a]&&clearTimeout(this.qd[a]);this.qd=[];this.Yl=this.Pe=0};k.save=function(){var a=new I(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.ke(a[0])};k.ke=function(a){var b=0;void 0===a&&(a=[]);this.Ci=a[b++];this.qh=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.Ci;b[a]=this.qh;return b};
function pj(a,b){var c=b&127,d=c==b;if(a.zc)if(20>a.zc.length){if(!(!d&&!a.ei[c]||d&&a.ei[c])){a.ei[c]=d;a.Qa("scan code "+r(b)+" buffered");a.zc.push(b);1==a.zc.length&&a.ma&&Ri(a.ma,1);for(var e in lj)if(lj[e]==c){(c=a.ta["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.zc.length&&a.zc.push(255),a.Qa("scan code buffer overflow")}function qj(a,b){var c=b?a.fo:a.eo;a.T&&a.T.ld&&(c/=a.T.ld);return c}
function rj(a,b){!a.Pe||void 0!==b&&b==a.Pe||(clearTimeout(a.qd[a.Pe]),sj(a,a.Pe,!1))}
function nj(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Yl=f);240==f+224?(a.Fa&=-2,c&&(a.Fa|=1),f+=224,e=!1):241==f+224?(a.Fa&=-5,c&&(a.Fa|=4),f+=224,e=!1):242==f+224?(a.Fa&=-9,c&&(a.Fa|=8),f+=224,e=!1):244==f+224?(a.Fa&=-17,c&&(a.Fa|=16),f+=224,d=oj(a,f)):91==f?(a.Fa&=-33,c&&(a.Fa|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.Fa&12)&&(f=254),d=c?!oj(a,f):!1):void 0!==Q[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.Fa&=-33,a.Dk||f!=a.Yl||rj(a));void 0===d&&(d=!sj(a,f,c));return d}
function oj(a,b,c){var d=!1;rj(a,b);sj(a,b,!0)&&(c?sj(a,b,!1):(c=!1,a.qd[b]&&(clearTimeout(a.qd[b]),c=!0),c=qj(a,c),a.qd[a.Pe=b]=setTimeout(function(a){return function(){sj(a,b,!1)}}(a),c)),d=!0);return d}
function sj(a,b,c){var d=!1;c||(a.qd[b]=null,a.Pe==b&&(a.Pe=0));var e=Q[b];void 0===e&&1<=b&&26>=b&&(e=Q[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.Fa&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.Fa&17||(d=42):224==f?a.Fa&18||(d=54):241==f?a.Fa&4||(d=29):242==f&&(a.Fa&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;c<b.length;c++)pj(a,b[c]);d=!0}return d}k.Qa=function(a,b){this.Y&&E(this.Y,this.Y.dk|(b?this.Y.ek:0))&&this.Y.message(a)};
Fa(function(){for(var a=D(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new kj(d);Ya(d,c)}});
function S(a,b,c,d){x.call(this,"Video",a,S);this.Ga=a.model;this.Vc=0;"ega"==this.Ga&&(this.fm=a.switches,this.Vc=a.memory||0);this.nd=a.mode;if(void 0===this.nd||void 0===tj[this.nd])this.nd=uj;this.Ih=a.charCols;this.Xi=a.charRows;if(void 0===this.Ih||void 0===this.Xi)this.Ih=tj[this.nd][0],this.Xi=tj[this.nd][1];this.xd=a.screenWidth;this.he=a.screenHeight;this.Qm=a.scale;this.Om=12<=Math.round(this.xd/this.Ih);this.Sm=a.touchScreen;this.Kb=b;this.Xc=c;this.km=d;this.Ta=this.Pb=0;this.Vd=[];this.td=
Array(16);this.Ei=!1;var e=this;this.Kb&&(this.Kb.onfocus=function(){e.Ei=!0},this.Kb.onblur=function(){e.Ei=!1});if(a=a.fontROM)"json"!=ga(a)&&(a=ta()+"/api/v1/dump?file="+a+"&format=bytes"),sa(a,!0,null,this,this.po)}z(x,S);
var vj={2:{$i:15700,Zi:208,Pj:85,Qj:96},3:{$i:18432,Zi:364,Pj:85,Qj:96},4:{$i:21850,Zi:364,Pj:85,Qj:96}},wj={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},uj=7,tj=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];tj[uj]=[80,25,1,0,1];tj[13]=[320,200,16];tj[14]=[640,200,16];tj[15]=[640,350,16];tj[16]=[640,350,16];tj[0]=tj[1];tj[2]=tj[3];tj[5]=tj[4];var xj=Array(5);xj[0]=[0,0,0,255];
xj[1]=[127,192,127,255];xj[2]=[127,192,127,255];xj[3]=[127,255,127,255];xj[4]=[127,255,127,255];var yj=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],T=Array(16);T[0]=[0,0,0,255];T[1]=[0,0,170,255];T[2]=[0,170,0,255];T[3]=[0,170,170,255];T[4]=[170,0,0,255];T[5]=[170,0,170,255];T[6]=[170,85,0,255];T[7]=[170,170,170,255];T[8]=[85,85,85,255];T[9]=[85,85,255,255];T[10]=[85,255,85,255];T[11]=[85,255,255,255];T[12]=[255,85,85,255];T[13]=[255,85,255,255];T[14]=[255,255,85,255];T[15]=[255,255,255,255];
var zj=[2,4,6],Aj=[3,5,7],Bj=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Cj=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],Dj=[0];Dj[128]=1;Dj[32768]=2;Dj[32896]=3;Dj[8388608]=4;Dj[8388736]=5;Dj[8421376]=6;Dj[8421504]=7;Dj[2147483648]=8;Dj[2147483776]=9;Dj[2147516416]=10;Dj[2147516544]=11;Dj[2155872256]=12;Dj[2155872384]=13;Dj[2155905024]=14;Dj[2155905152]=15;
function Ej(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Fj[b],f=a.le||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Gj)];this.Y=a.Y;this.type=e[0];this.port=e[1];this.je=b;this.Ta=e[2];this.Pb=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.Ta&&(this.Pb=Math.min(this.Vc>>2,32768));this.nc=c[0];this.Bc=c[1];this.ef=c[2];this.zf=c[3];this.pc=c[4]&255;this.yh=c[4]>>8&255;this.fc=c[5];this.Ri=Gj;this.Vg=Hj;if(5==b){this.Ri=Ij;this.Vg=Jj;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
0,0,0,Array(9),0,[this.Ta,this.Pb,this.Vc],Array(this.Vc>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.hd=b[0];this.Bd=b[1];this.Sd=b[2];this.hi=Kj;this.Zh=b[3];this.fg=b[4];this.wh=b[5];this.Dd=b[6];this.Jf=b[7];this.ji=Lj;this.Li=b[8];this.Mi=b[9];this.Cd=b[10];this.ve=b[11];this.ii=Sj;this.vb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ta,this.Pb,d]);this.Ta=d[0];this.Pb=d[1];d=this.Vc>>2;if((this.ed=b[14])&&this.ed.length<d){for(var e=this.ed,h=0,g=Array(d),l=0;l<e.length-1;){for(var n=
e[l++],p=e[l++];n--;)g[h]=p,h+=2;h==d&&(h=1)}this.ed=g}this.Wh(b[15]);this.Kj=b[16];this.hb=b[17];this.md=b[18];this.nb=b[19];this.Lh=b[20];this.oe=b[21];this.Me=b[22];this.Ti=b[23];this.Ui=b[24]}f=vj[f]||vj[3];this.Vi=a.T.Hd/f.$i|0;this.jo=this.Vi*f.Pj/100|0;this.Tk=this.Vi*f.Zi;this.mo=this.Tk*f.Qj/100|0;this.aj=null==c[7]?0:c[7]}}
var Gj=18,Ij=25,Hj="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Jj="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
Kj="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),Lj=["RESET","CLK","MAPMASK","CHARMAP","MODE"],Sj="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function Tj(a){return this.tc(a)|this.tc(a+1)<<8}function Uj(a,b){this.Cc(a,b&255);this.Cc(a+1,b>>8&255)}
var Vj=[,,function(a){a+=this.offset;return(this.ga.vb=this.sa[a])>>this.ga.Kj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.sa[b]>>8:this.sa[b])&255}];Vj[16]=function(a){a+=this.offset;a=this.sa[a];for(var b=this.ga.Ti&this.ga.Ui,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Vj[512]=function(a,b){var c=a+this.offset,d;d=this.sa[c]&~this.ga.hb|(b|b<<8|b<<16|b<<24)&this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
Vj[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.md|b<<8-this.ga.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.oe|this.ga.Me;d=d&this.ga.hb|this.sa[c]&~this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
Vj[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.md|b<<8-this.ga.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.oe|this.ga.Me;d&=this.ga.vb;d=d&this.ga.hb|this.sa[c]&~this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
Vj[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.md|b<<8-this.ga.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.oe|this.ga.Me;d|=this.ga.vb;d=d&this.ga.hb|this.sa[c]&~this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
Vj[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.md|b<<8-this.ga.md&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.oe|this.ga.Me;d^=this.ga.vb;d=d&this.ga.hb|this.sa[c]&~this.ga.hb;d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};Vj[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.hb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.sa[d]&~c;c=c&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[d]!=c&&(this.sa[d]=c,this.lb=!0)};
Vj[4096]=function(a){a+=this.offset;var b=this.sa[a]&~this.ga.hb|this.ga.vb&this.ga.hb;this.sa[a]!=b&&(this.sa[a]=b,this.lb=!0)};Vj[8192]=function(a,b){var c=a+this.offset,d=Cj[b&15],d=d&this.ga.hb|this.sa[c]&~this.ga.hb,d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};Vj[24576]=function(a,b){var c=a+this.offset,d=Cj[b&15],d=d&this.ga.vb,d=d&this.ga.hb|this.sa[c]&~this.ga.hb,d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
Vj[40960]=function(a,b){var c=a+this.offset,d=Cj[b&15],d=d|this.ga.vb,d=d&this.ga.hb|this.sa[c]&~this.ga.hb,d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};Vj[57344]=function(a,b){var c=a+this.offset,d=Cj[b&15],d=d^this.ga.vb,d=d&this.ga.hb|this.sa[c]&~this.ga.hb,d=d&this.ga.nb|this.ga.vb&~this.ga.nb;this.sa[c]!=d&&(this.sa[c]=d,this.lb=!0)};
function Wj(a){var b=[];if(void 0!==a.je){b[0]=a.nc;b[1]=a.Bc;b[2]=a.ef;b[3]=a.zf;b[4]=a.pc|a.yh<<8;b[5]=a.fc;if(5==a.je){var c=[];c[0]=a.hd;c[1]=a.Bd;c[2]=a.Sd;c[3]=a.Zh;c[4]=a.fg;c[5]=a.wh;c[6]=a.Dd;c[7]=a.Jf;c[8]=a.Li;c[9]=a.Mi;c[10]=a.Cd;c[11]=a.ve;c[12]=a.vb;c[13]=[a.Ta,a.Pb,a.Vc];var d;a:if(d=a.ed){var e=0,f=[];if(void 0!==d[0])for(var h=0;2>h;h++)for(var g=h;g<d.length;){for(var l=d[g],n=g+2;n<d.length&&d[n]===l;)n+=2;f[e++]=n-g>>1;f[e++]=l;g=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Fh;c[16]=a.Kj;c[17]=a.hb;c[18]=a.md;c[19]=a.nb;c[20]=a.Lh;c[21]=a.oe;c[22]=a.Me;c[23]=a.Ti;c[24]=a.Ui;b[6]=c}b[7]=a.aj}return b}function Xj(a,b,c,d,e){if(d){var f="",h,g=0;for(h=0;h<e.length;h++)g<e[h].length&&(g=e[h].length);g++;for(h=0;h<e.length;h++){f&&(f+="\n");var l=e[h],f=f+(b+"["+r(h)+"]: "+(l+" ".substr(0,g-l.length))+r(d[h])+(h===c?"*":""))}a.Y.message(f)}else a.Y.message(b+": "+r(c))}
Ej.prototype.Wh=function(a){if(null!=a&&a!=this.Fh){var b=a&255,c=Vj[b];c||b&1&&(c=Vj[1]);var b=a&65280,d=Vj[b];d||b&256&&(d=Vj[256]);this.Nf||(this.Nf=[null,Tj,null,Uj]);this.Nf[0]=c;this.Nf[2]=d;this.Fh=a}};var Fj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=S.prototype;
k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;ub(b,this,Yj);yb(b,this,Zj);"ega"==this.Ga&&(ub(b,this,ak),yb(b,this,bk));if(d){var e=this;gi(d,S);Uc(this.T,16,this,this.Zn);hi(d,S.Ng,function(a){if(e.Da)if(a){var b=e.Da;if(b.ed){a=ca(a);a=void 0!==a?a-b.Ta:b.np||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=q(b.Ta+a)+":",p=0;8>p&&a<b.ed.length;p++)var s=b.ed[a++],n=n+(" "+q(s));c&&(c+="\n");c+=n}c&&b.Y.message(c);b.np=a}else b.Y.message("no buffer")}else{e.Y.message("BIOSMODE: "+r(e.Jd));b=
e.Da;Xj(b,"CRTC",b.pc,b.fc,b.Vg);if(1==b.je||3==b.je)Xj(b," MODEREG",b.Bc),Xj(b," STATUS1",b.zf);3==b.je&&Xj(b," COLOR",b.ef);5==b.je&&(b.Y.message(" ATCDATA: "+b.hd),Xj(b," ATC",b.Bd,b.Sd,b.hi),Xj(b," GRC",b.Cd,b.ve,b.ii),Xj(b," SEQ",b.Dd,b.Jf,b.ji),Xj(b," FEAT",b.wh),Xj(b," MISC",b.fg),Xj(b," STATUS0",b.Zh),Xj(b," LATCHES",b.vb),b.Y.message(" ACCESS: "+u(b.Fh)),b.Y.message("Use 'dump video buffer' to dump video memory"))}else e.Y.message("no active video card")})}(this.fb=db(a,"Keyboard"))&&
this.Kb&&this.fb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Kb);this.Xg=9;(this.ma=db(a,"ChipSet"))&&this.fm&&(this.Xg=Uh(this.fm,this.Xg));this.fb&&this.Sm&&ck(this)};k.Zn=function(a){this.Y&&E(this.Y,S.Ng|S.Xe)&&(Wc(this.Y,16,a),Xc(this.T,a,function(a,c){return function(d){Yc(a.Y,16,d,F(a.T)-c)}}(this,F(this.T))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.ta[c]=d,d.onclick=function(){Lb(e,!0)},!0}return!1};k.Od=function(){this.Kb&&this.Kb.focus()};
function ck(a){var b=a.Kb;b&&!a.Bi&&(b.addEventListener("touchstart",function(b){dk(a,b)},!1),b.addEventListener("touchmove",function(b){dk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Bi=!0)}
function dk(a,b){a.Ei&&b.preventDefault();var c=0,d=0,e=a.Kb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.xd/a.Kb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.xd/3)|0;d=a.he/a.Kb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.he/3)|0;1!=d?d?oj(a.fb,264,!0):oj(a.fb,262,!0):1!=c&&(c?oj(a.fb,263,!0):oj(a.fb,261,!0))}k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ma&&(b=fi(this.ma));var c=!1;if(this.Ga)switch(this.Ga){case "ega":var c=!0,d=pj[this.Xg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.le!==b&&(this.le=b,a=!0);this.Da=null;this.Uc=this.pi=new wj(this,1);this.zb=this.hh=new wj(this,3);c?(this.la=new wj(this,5,null,this.Vc),Pj(this)):this.la=new wj;Qj(this);this.Jd=null;this.nd=3==b?nj:3;this.Ee=this.Kc=-1;this.De=0;Rj(this,this.nd);if(this.Da.Ta&&a){a=this.Da.Ta+this.qi;for(b=this.Da.Ta;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.le?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),lb(this.oa,b,c|d<<8);Fb(this,!0)}};function Pj(a){a.la.fg&1?(a.Uc=a.pi,a.zb=a.la):(a.Uc=a.la,a.zb=a.hh)}k.save=function(){var a=new H(this);a.set(0,Hj(this.pi));a.set(1,Hj(this.hh));a.set(2,[this.le,this.nd,this.Jd]);a.set(3,Hj(this.la));return a.data()};
k.restore=function(a){var b=a[2];this.le=b[0];this.nd=b[1];this.Jd=b[2];this.Da=null;this.Uc=this.pi=new wj(this,1,a[0]);this.zb=this.hh=new wj(this,3,a[1]);this.la=new wj(this,5,a[3],this.Vc);this.la.nc&&Pj(this);Qj(this);if(!Sj(this))return!1;Tj(this);return!0};
k.po=function(a,b,c){if(c)this.Ha("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)cj(this,d,[0,6144]);else{this.Ha("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ha("Font ROM data error: "+e.message);return}this.Sa()}};
function Uj(a,b){if(1==b)return a.td[0]=S[0],a.td[1]=S[7],a.td;if(2==b){var c=a.Da.ef;if(a.Da===a.la){var d=a.la.Sd[0],c=d&7;d&16&&(c|=8);18!=a.la.Sd[1]&&(c|=32)}a.td[0]=S[c&15];c=c&32?tj:sj;for(d=0;d<c.length;d++)a.td[d+1]=S[c[d]];return a.td}if(a.zb===a.hh)return S;c=null!=a.la.Sd[15]?a.la.Sd:uj;for(d=0;d<a.td.length;d++){var e=c[d]||0;a.td[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.td}function cj(a,b,c,d){a.Tg=b;a.di=c;a.Ge=d}
function Qj(a){var b=!1;if(window&&a.Tg){var c=a.Ge?0:2048,d=a.Ge?a.Ge:9;Vj(a,1,a.di[0],c,d,14,a.Tg,qj,rj)&&(b=!0);c=Uj(a);d=a.Ge?a.Ge:8;Vj(a,3,a.di[1],0,d,8,a.Tg,c)&&(b=!0);a.Ge&&Vj(a,5,a.di[0],0,a.Ge,14,a.Tg,c)&&(b=!0)}return b}function Vj(a,b,c,d,e,f,g,h,l){var n=!1;Wj(a,b,c,d,e,f,g,h,l)&&(n=!0);a.Om&&Wj(a,b<<1,c,d,e,f,g,h,l)&&(n=!0);return n}
function Wj(a,b,c,d,e,f,g,h,l){var n=!1,q=b&1?0:1,t=a.Vd[b];t||(t={lc:e<<q,mc:f<<q,$e:Array(h.length),jk:h.slice(),If:l,bi:Array(h.length)});for(l=0;l<h.length;l++){var s=h[l],v=t.$e[l]?t.jk[l]:[];if(s[0]!==v[0]||s[1]!==v[1]||s[2]!==v[2]){var n=t,v=l,z=q,E=c,ka=d,la=e,wb=f,Uc=g,$d=[0,0,0,0],Vc=window.document.createElement("canvas");Vc.width=n.lc<<4;Vc.height=n.mc<<4;for(var Xi=Vc.getContext("2d"),Ha=void 0,Pb=void 0,gb=void 0,Wc=8>wb||!ka?wb:8,ae=Xi.createImageData(n.lc,n.mc),Ha=0;256>Ha;Ha++){for(gb=
0;gb<wb;gb++)for(var yl=n.If&&v&1&&gb>=wb-2,zl=Uc[gb<Wc?E+Ha*Wc+gb:ka+Ha*Wc+gb-Wc],be=0;be<=z;be++)for(Pb=0;Pb<la;Pb++){var Yi=Pb<<z,Zi=(gb<<z)+be,$i=yl||zl&128>>(8<=Pb&&176<=Ha&&223>=Ha?7:Pb)?s:$d;Xj(ae,Yi,Zi,$i);z&&Xj(ae,Yi+1,Zi,$i)}Xi.putImageData(ae,(Ha&15)*n.lc,(Ha>>4)*n.mc)}n.$e[v]="#"+r(s[0])+r(s[1])+r(s[2]);n.jk[v]=s;n.bi[v]=Vc;n=!0}}a.Vd[b]=t;return n}function Yj(a){0<a.De||0<=a.Kc?0>a.Ee&&(a.Ee=0):a.Ee=-1}
function Tj(a){if(a.Tb){for(var b=10;15>=b;b++)if(null==a.Da.fc[b])return;var c=a.Da.fc[10],b=c&31,d=a.Da.fc[11]&31,e=a.Da.fc[9]&31,f=!1;a.Da===a.la&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Zj(a);else{c=a.Da.fc[15]+((a.Da.fc[14]&63)<<8);a.Kc!=c&&(Zj(a),a.Kc=c);d=d-b+1;if(a.nm!=b||a.yk!=d)a.nm=b,a.yk=d;a.ge=e+1;Yj(a)}}}
function Zj(a){if(0<=a.Kc){if(void 0!==a.gc){var b=a.gc[a.Kc];if(b&131072){var b=b&-131073,c=a.Kc%a.Bb,d=Math.floor(a.Kc/a.Bb);a.Tb&&a.Vd[a.Tb]&&(a.ff&&ak(a,c,d,b,a.ff),ak(a,c,d,b));a.gc[a.Kc]=b}}a.Kc=-1}}
function bk(a){var b;a=a.Da;var c=a.ve[5];if(null!=c){b=2;var d=512,e=a.ve[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.md=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Se=function(a){var b=this.Da;null!=a&&b&&a!=b.Fh&&(b.Wh(a),this.oa.Wh(b.Ta,b.Pb,b.Nf))};
function Sj(a,b){var c,d=a.Jd,e=a.Da;if(e)if(1==e.je)d=nj;else if(5==e.je){var d=null,f=e.Vc>>2,g=32768<f?32768:f,h=e.ve[6];if(null!=h){switch(h&12){case 0:e.Ta=655360;e.Pb=f;d=255;break;case 4:e.Ta=655360;e.Pb=f;d=3==a.le?15:16;break;case 8:e.Ta=720896;e.Pb=g;d=nj;break;case 12:e.Ta=753664,e.Pb=g,d=3==a.le?2:3}c=e.Jf[1]&8;f=e.fc[6]|(e.fc[7]&1)<<8;255!=d&&(h&1?753664==e.Ta?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=bk(a)}}else e.Bc&8&&(e.Bc&2?(d=e.Bc&16?6:5,e.Bc&4||(d-=1)):(d=e.Bc&1?3:1,e.Bc&4&&(d-=
1)));else a.Jd=null,null==d&&(d=a.nd);if(!Rj(a,d,b))return!1;a.Se(c);return!0}
function Rj(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.Em=0;a.Jd=b;b=a.Da||(b==nj?a.Uc:a.zb);if(b!=a.Da||b.Ta!=a.Ta||b.Pb!=a.Pb){Zj(a);if(a.Ta){if(!hb(a.oa,a.Ta,a.Pb))return!1;a.Da&&(a.Da.nc=!1)}a.Da=b;b.nc=!0;a.Ta=b.Ta;a.Pb=b.Pb;if(!eb(a.oa,b.Ta,b.Pb,!1,b===a.la?b:null))return!1}a.Tb=0;a.Bb=a.Ih;a.sc=a.Xi;a.Si=R[nj][2];b=0;var d=R[a.Jd];d&&(a.Bb=d[0],a.sc=d[1],a.Si=d[2],b=d[3]||0,a.Tb=d[4],4==a.le&&a.Da===a.la&&3==a.Tb&&(7==a.la.fc[9]?a.sc=43:a.Tb=5));a.Qk=a.Bb*a.sc;a.Hh=a.Qk/a.Si;a.qi=(a.Hh<<1)+b;a.vk=
k.reset=function(){var a=!0,b=0;this.ma&&(b=pi(this.ma));var c=!1;if(this.Ga)switch(this.Ga){case "ega":var c=!0,d=wj[this.Xg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.le!==b&&(this.le=b,a=!0);this.Da=null;this.Uc=this.pi=new Ej(this,1);this.zb=this.hh=new Ej(this,3);c?(this.la=new Ej(this,5,null,this.Vc),ek(this)):this.la=new Ej;fk(this);this.Jd=null;this.nd=3==b?uj:3;this.Ee=this.Kc=-1;this.De=0;gk(this,this.nd);if(this.Da.Ta&&a){a=this.Da.Ta+this.qi;for(b=this.Da.Ta;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.le?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),pb(this.oa,b,c|d<<8);Lb(this,!0)}};function ek(a){a.la.fg&1?(a.Uc=a.pi,a.zb=a.la):(a.Uc=a.la,a.zb=a.hh)}k.save=function(){var a=new I(this);a.set(0,Wj(this.pi));a.set(1,Wj(this.hh));a.set(2,[this.le,this.nd,this.Jd]);a.set(3,Wj(this.la));return a.data()};
k.restore=function(a){var b=a[2];this.le=b[0];this.nd=b[1];this.Jd=b[2];this.Da=null;this.Uc=this.pi=new Ej(this,1,a[0]);this.zb=this.hh=new Ej(this,3,a[1]);this.la=new Ej(this,5,a[3],this.Vc);this.la.nc&&ek(this);fk(this);if(!hk(this))return!1;ik(this);return!0};
k.po=function(a,b,c){if(c)this.Ha("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)ij(this,d,[0,6144]);else{this.Ha("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ha("Font ROM data error: "+e.message);return}this.Sa()}};
function jk(a,b){if(1==b)return a.td[0]=T[0],a.td[1]=T[7],a.td;if(2==b){var c=a.Da.ef;if(a.Da===a.la){var d=a.la.Sd[0],c=d&7;d&16&&(c|=8);18!=a.la.Sd[1]&&(c|=32)}a.td[0]=T[c&15];c=c&32?Aj:zj;for(d=0;d<c.length;d++)a.td[d+1]=T[c[d]];return a.td}if(a.zb===a.hh)return T;c=null!=a.la.Sd[15]?a.la.Sd:Bj;for(d=0;d<a.td.length;d++){var e=c[d]||0;a.td[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.td}function ij(a,b,c,d){a.Tg=b;a.di=c;a.Ge=d}
function fk(a){var b=!1;if(window&&a.Tg){var c=a.Ge?0:2048,d=a.Ge?a.Ge:9;kk(a,1,a.di[0],c,d,14,a.Tg,xj,yj)&&(b=!0);c=jk(a);d=a.Ge?a.Ge:8;kk(a,3,a.di[1],0,d,8,a.Tg,c)&&(b=!0);a.Ge&&kk(a,5,a.di[0],0,a.Ge,14,a.Tg,c)&&(b=!0)}return b}function kk(a,b,c,d,e,f,h,g,l){var n=!1;lk(a,b,c,d,e,f,h,g,l)&&(n=!0);a.Om&&lk(a,b<<1,c,d,e,f,h,g,l)&&(n=!0);return n}
function lk(a,b,c,d,e,f,h,g,l){var n=!1,p=b&1?0:1,s=a.Vd[b];s||(s={lc:e<<p,mc:f<<p,$e:Array(g.length),jk:g.slice(),If:l,bi:Array(g.length)});for(l=0;l<g.length;l++){var t=g[l],v=s.$e[l]?s.jk[l]:[];if(t[0]!==v[0]||t[1]!==v[1]||t[2]!==v[2]){var n=s,v=l,A=p,C=c,U=d,ia=e,Ha=f,rb=h,ac=[0,0,0,0],Ib=window.document.createElement("canvas");Ib.width=n.lc<<4;Ib.height=n.mc<<4;for(var V=Ib.getContext("2d"),J=void 0,y=void 0,R=void 0,H=8>Ha||!U?Ha:8,sb=V.createImageData(n.lc,n.mc),J=0;256>J;J++){for(R=0;R<Ha;R++)for(var Ia=
n.If&&v&1&&R>=Ha-2,ea=rb[R<H?C+J*H+R:U+J*H+R-H],W=0;W<=A;W++)for(y=0;y<ia;y++){var Sa=y<<A,xc=(R<<A)+W,bc=Ia||ea&128>>(8<=y&&176<=J&&223>=J?7:y)?t:ac;mk(sb,Sa,xc,bc);A&&mk(sb,Sa+1,xc,bc)}V.putImageData(sb,(J&15)*n.lc,(J>>4)*n.mc)}n.$e[v]="#"+r(t[0])+r(t[1])+r(t[2]);n.jk[v]=t;n.bi[v]=Ib;n=!0}}a.Vd[b]=s;return n}function nk(a){0<a.De||0<=a.Kc?0>a.Ee&&(a.Ee=0):a.Ee=-1}
function ik(a){if(a.Tb){for(var b=10;15>=b;b++)if(null==a.Da.fc[b])return;var c=a.Da.fc[10],b=c&31,d=a.Da.fc[11]&31,e=a.Da.fc[9]&31,f=!1;a.Da===a.la&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)ok(a);else{c=a.Da.fc[15]+((a.Da.fc[14]&63)<<8);a.Kc!=c&&(ok(a),a.Kc=c);d=d-b+1;if(a.nm!=b||a.yk!=d)a.nm=b,a.yk=d;a.ge=e+1;nk(a)}}}
function ok(a){if(0<=a.Kc){if(void 0!==a.gc){var b=a.gc[a.Kc];if(b&131072){var b=b&-131073,c=a.Kc%a.Bb,d=Math.floor(a.Kc/a.Bb);a.Tb&&a.Vd[a.Tb]&&(a.ff&&pk(a,c,d,b,a.ff),pk(a,c,d,b));a.gc[a.Kc]=b}}a.Kc=-1}}
function qk(a){var b;a=a.Da;var c=a.ve[5];if(null!=c){b=2;var d=512,e=a.ve[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.md=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Se=function(a){var b=this.Da;null!=a&&b&&a!=b.Fh&&(b.Wh(a),this.oa.Wh(b.Ta,b.Pb,b.Nf))};
function hk(a,b){var c,d=a.Jd,e=a.Da;if(e)if(1==e.je)d=uj;else if(5==e.je){var d=null,f=e.Vc>>2,h=32768<f?32768:f,g=e.ve[6];if(null!=g){switch(g&12){case 0:e.Ta=655360;e.Pb=f;d=255;break;case 4:e.Ta=655360;e.Pb=f;d=3==a.le?15:16;break;case 8:e.Ta=720896;e.Pb=h;d=uj;break;case 12:e.Ta=753664,e.Pb=h,d=3==a.le?2:3}c=e.Jf[1]&8;f=e.fc[6]|(e.fc[7]&1)<<8;255!=d&&(g&1?753664==e.Ta?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=qk(a)}}else e.Bc&8&&(e.Bc&2?(d=e.Bc&16?6:5,e.Bc&4||(d-=1)):(d=e.Bc&1?3:1,e.Bc&4&&(d-=
1)));else a.Jd=null,null==d&&(d=a.nd);if(!gk(a,d,b))return!1;a.Se(c);return!0}
function gk(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.Em=0;a.Jd=b;b=a.Da||(b==uj?a.Uc:a.zb);if(b!=a.Da||b.Ta!=a.Ta||b.Pb!=a.Pb){ok(a);if(a.Ta){if(!lb(a.oa,a.Ta,a.Pb))return!1;a.Da&&(a.Da.nc=!1)}a.Da=b;b.nc=!0;a.Ta=b.Ta;a.Pb=b.Pb;if(!jb(a.oa,b.Ta,b.Pb,!1,b===a.la?b:null))return!1}a.Tb=0;a.Bb=a.Ih;a.sc=a.Xi;a.Si=tj[uj][2];b=0;var d=tj[a.Jd];d&&(a.Bb=d[0],a.sc=d[1],a.Si=d[2],b=d[3]||0,a.Tb=d[4],4==a.le&&a.Da===a.la&&3==a.Tb&&(7==a.la.fc[9]?a.sc=43:a.Tb=5));a.Qk=a.Bb*a.sc;a.Hh=a.Qk/a.Si;a.qi=(a.Hh<<1)+b;a.vk=
b?a.qi+b>>1:0;13<=a.Jd&&(a.Hh<<=1);a.Vd.length&&(a.yd=Math.floor(a.xd/a.Bb),a.zd=Math.floor(a.he/a.sc),a.Tb?(b=a.Vd[a.Tb],d=a.Vd[a.Tb<<1],a.Qm&&80==a.Bb?d&&a.yd>=3*d.lc>>2&&(a.Tb<<=1,b=d):(d&&a.yd>=d.lc&&(a.Tb<<=1,b=d),b&&(a.yd=b.lc,a.zd=b.mc)),a.$f=a.ag=0,b&&(a.$f=a.Bb*b.lc,a.ag=a.sc*b.mc)):(a.yd=a.zd=1,a.$f=a.Bb,a.ag=a.sc),a.Bh=a.Xc.createImageData(a.$f,a.ag),a.df=window.document.createElement("canvas"),a.df.width=a.$f,a.df.height=a.ag,a.ff=a.df.getContext("2d"),a.bk=a.ck=0,a.si=a.xd,a.ti=a.he,
b=a.xd-a.Bb*a.yd,d=a.he-a.sc*a.zd,0<b&&(a.bk=b>>1,a.si-=b),0<d&&(a.ck=d>>1,a.ti-=d),b||d)&&(a.Xc.fillStyle=a.Kb.style.backgroundColor,a.Xc.fillRect(0,0,a.xd,a.he));!1!==c?Fb(a,!0):ck(a,!0)}return!0}function Xj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function ck(a,b){var c;if(b){if(c=a.Hh,void 0===a.gc||a.gc.length!=c)a.gc=Array(c)}else{if(void 0===a.gc)return;c=a.gc.length}for(var d=0;d<c;d++)a.gc[d]=-1;a.De=-1}
function ak(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Vd[a.Tb];h.If&&(d=h.If[d]);var l=g>>4&15;h.If&&(l=h.If[l]);e?(b*=h.lc,c*=h.mc,e.fillStyle=h.$e[l],e.fillRect(b,c,h.lc,h.mc)):(b=b*a.yd+a.bk,c=c*a.zd+a.ck,a.Xc.fillStyle=h.$e[l],a.Xc.fillRect(b,c,a.yd,a.zd));g&256&&(l=(f&15)*h.lc,f=(f>>4)*h.mc,e?e.drawImage(h.bi[d],l,f,h.lc,h.mc,b,c,h.lc,h.mc):a.Xc.drawImage(h.bi[d],l,f,h.lc,h.mc,b,c,a.yd,a.zd));g&512&&(f=a.nm,g=a.yk,e?(a.ge&&a.ge!==h.mc&&(f=Math.floor(f*h.mc/a.ge),g=Math.floor(g*h.mc/a.ge)),
e.fillStyle=h.$e[d],e.fillRect(b,c+f,h.lc,g)):(a.ge&&a.ge!==a.zd&&(f=Math.floor(f*a.zd/a.ge),g=Math.floor(g*a.zd/a.ge)),a.Xc.fillStyle=h.$e[d],a.Xc.fillRect(b,c+f,a.yd,g)))}
function Fb(a,b){if(a.Mb){var c=!1;a.Da&&(a.Da===a.la?a.la.Bd&32&&(c=!0):a.Da.Bc&8&&(c=!0));if(c||b){if(b)ck(a,!0);else if(void 0===a.gc)return;var d=!1;!(b||++a.Em&15)&&0<=a.Ee&&(a.Ee++,d=!0);var e=0,f=a.Qk,c=a.Da.Ta,g=c+a.Da.Pb,h=(a.Da.fc[12]<<8)+a.Da.fc[13];a.Tb&&(h<<=1);var c=c+h,l=a.qi;c+l>g&&(l=g-c,0>l&&(l=0));g=c+l;if(h=!b){for(var h=a.oa,n=!0,q=c>>h.rb;0<l&&q<h.Ba.length;)h.Ba[q].lb&&(h.Ba[q].lb=n=!1,h.Ba[q].Bk=!0),l-=h.ic,q++;h=n}if(h){if(!d)return;if(!a.De){if(0>a.Kc)return;e=a.Kc;f=e+1}}if(a.Tb){if(a.Vd[a.Tb]){d=
0;h=a.De=0;l=1048575;a.Da.Bc&32&&(h=32768,l&=~h,a.Ee&2||(l&=-65537));for(c+=e<<1;c<g&&e<f;)n=jb(a.oa,c),n|=65536,n&h&&(a.De++,n&=l),e==a.Kc&&(n|=a.Ee&1?131072:0),q=a.gc[e],q!=n&&(ak(a,e%a.Bb,Math.floor(e/a.Bb),n,a.ff),a.gc[e]=n,d++),c+=2,e++;d&&a.ff&&a.Xc.drawImage(a.df,0,0,a.$f,a.ag,a.bk,a.ck,a.si,a.ti);Yj(a)}}else if(a.vk){for(var f=g,t,s,e=c,g=a.De=0,d=a.Si,h=16==d?65536:196608,l=16==d?1:2,n=Uj(a,l),v=q=0,z=a.Bb,E=0,ka=a.sc,la=0;e<f;){t=jb(a.oa,e);s=a.gc[g];if(s===t)q+=d;else{a.gc[g]=t;t=t>>8|
(t&255)<<8;s=h;var wb=16;q<z&&(z=q);for(var Uc=0;Uc<d;Uc++){var $d=(t&(s>>=l))>>(wb-=l);Xj(a.Bh,q++,v,n[$d])}q>E&&(E=q);v<ka&&(ka=v);v>=la&&(la=v+1)}e+=2;g++;if(q>=a.Bb){q=0;v+=2;if(v>a.sc)break;v==a.sc&&(v=1,e=c+a.vk)}}z<a.Bb&&(a.ff.putImageData(a.Bh,0,0,z,ka,E-z,la-ka),a.Xc.drawImage(a.df,0,0,a.Bb,a.sc,0,0,a.xd,a.he))}else{f=g;e=a.De=0;g=Uj(a);d=a.Da.ed;l=h=0;n=a.Bb;q=0;v=a.sc;for(z=0;c<f;){E=c++-a.Ta;E=d[E];ka=a.gc[e];if(ka===E)h+=8;else{a.gc[e]=E;h<n&&(n=h);for(ka=0;8>ka;ka++)la=E&2155905152,
0>la&&(la+=4294967296),la=T[la]||0,Xj(a.Bh,h++,l,g[la]),E<<=1;h>q&&(q=h);l<v&&(v=l);l>=z&&(z=l+1)}e++;if(h>=a.Bb&&(h=0,++l>a.sc))break}n<a.Bb&&(a.ff.putImageData(a.Bh,0,0,n,v,q-n,z-v),a.Xc.drawImage(a.df,0,0,a.Bb,a.sc,0,0,a.xd,a.he))}}}}k.Fn=function(a,b){return dk(this,this.Uc,b)};k.Wo=function(a,b,c){a=this.Uc;a.yh=a.pc;a.pc=b&31;this.ca(a.port,b,c,"CRTC.INDX")};k.En=function(a,b){return ek(this,this.Uc,b)};k.Vo=function(a,b,c){fk(this,this.Uc,b,c)};k.Gn=function(a,b){return gk(this,this.Uc,b)};
k.Xo=function(a,b,c){a=this.Uc;this.ca(a.port+4,b,c,"MODE");a.Bc=b;Sj(this,!1)};k.Hn=function(a,b){return hk(this,this.Uc,b)};k.Xl=function(a,b,c){this.la.wh=this.la.wh&-4|b&3;this.ca(a,b,c,"FEAT")};k.Mk=function(a,b){var c=this.la.hd?this.la.Sd[this.la.Bd&31]:this.la.Bd;this.ca(960,null,b,"ATC."+(this.la.hd?this.la.hi[this.la.Bd&31]:"INDX"),c);this.la.hd=!this.la.hd;return c};
k.Wl=function(a,b,c){var d=this.la.Bd&32;if(this.la.hd){var e=this.la.Bd&31;if(16<=e||!d)this.ca(a,b,c,"ATC."+this.la.hi[e]),this.la.Sd[e]=b;this.la.hd=!1}else this.la.Bd=b,this.ca(a,b,c,"ATC.INDX"),this.la.hd=!0,b&32&&!d&&Qj(this)&&Fb(this,!0)};k.Rn=function(a,b){var c=3-((this.la.fg&12)>>2),c=this.la.Zh&-17|(this.Xg&1<<c)<<4-c;this.la.Zh=c;this.ca(962,null,b,"STATUS0",c);return c};k.Zo=function(a,b,c){this.la.fg=b;Pj(this);this.ca(962,b,c,"MISC")};
k.Qn=function(a,b){var c=this.la.Dd;this.ca(964,null,b,"SEQ.INDX",c);return c};k.fp=function(a,b,c){this.la.Dd=b;this.ca(964,b,c,"SEQ.INDX")};k.Pn=function(a,b){var c=this.la.Jf[this.la.Dd];this.ca(965,null,b,"SEQ"+this.la.ji[this.la.Dd],c);return c};k.ep=function(a,b,c){this.ca(965,b,c,"SEQ."+this.la.ji[this.la.Dd]);this.la.Jf[this.la.Dd]=b;2==this.la.Dd&&(this.la.hb=vj[b&15])};k.xn=function(a,b){var c=this.la.Li;this.ca(972,null,b,"GRC1",c);return c};
b=a.xd-a.Bb*a.yd,d=a.he-a.sc*a.zd,0<b&&(a.bk=b>>1,a.si-=b),0<d&&(a.ck=d>>1,a.ti-=d),b||d)&&(a.Xc.fillStyle=a.Kb.style.backgroundColor,a.Xc.fillRect(0,0,a.xd,a.he));!1!==c?Lb(a,!0):rk(a,!0)}return!0}function mk(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function rk(a,b){var c;if(b){if(c=a.Hh,void 0===a.gc||a.gc.length!=c)a.gc=Array(c)}else{if(void 0===a.gc)return;c=a.gc.length}for(var d=0;d<c;d++)a.gc[d]=-1;a.De=-1}
function pk(a,b,c,d,e){var f=d&255,h=d>>8;d=h&15;var g=a.Vd[a.Tb];g.If&&(d=g.If[d]);var l=h>>4&15;g.If&&(l=g.If[l]);e?(b*=g.lc,c*=g.mc,e.fillStyle=g.$e[l],e.fillRect(b,c,g.lc,g.mc)):(b=b*a.yd+a.bk,c=c*a.zd+a.ck,a.Xc.fillStyle=g.$e[l],a.Xc.fillRect(b,c,a.yd,a.zd));h&256&&(l=(f&15)*g.lc,f=(f>>4)*g.mc,e?e.drawImage(g.bi[d],l,f,g.lc,g.mc,b,c,g.lc,g.mc):a.Xc.drawImage(g.bi[d],l,f,g.lc,g.mc,b,c,a.yd,a.zd));h&512&&(f=a.nm,h=a.yk,e?(a.ge&&a.ge!==g.mc&&(f=Math.floor(f*g.mc/a.ge),h=Math.floor(h*g.mc/a.ge)),
e.fillStyle=g.$e[d],e.fillRect(b,c+f,g.lc,h)):(a.ge&&a.ge!==a.zd&&(f=Math.floor(f*a.zd/a.ge),h=Math.floor(h*a.zd/a.ge)),a.Xc.fillStyle=g.$e[d],a.Xc.fillRect(b,c+f,a.yd,h)))}
function Lb(a,b){if(a.Mb){var c=!1;a.Da&&(a.Da===a.la?a.la.Bd&32&&(c=!0):a.Da.Bc&8&&(c=!0));if(c||b){if(b)rk(a,!0);else if(void 0===a.gc)return;var d=!1;!(b||++a.Em&15)&&0<=a.Ee&&(a.Ee++,d=!0);var e=0,f=a.Qk,c=a.Da.Ta,h=c+a.Da.Pb,g=(a.Da.fc[12]<<8)+a.Da.fc[13];a.Tb&&(g<<=1);var c=c+g,l=a.qi;c+l>h&&(l=h-c,0>l&&(l=0));h=c+l;if(g=!b){for(var g=a.oa,n=!0,p=c>>g.rb;0<l&&p<g.Ba.length;)g.Ba[p].lb&&(g.Ba[p].lb=n=!1,g.Ba[p].Bk=!0),l-=g.ic,p++;g=n}if(g){if(!d)return;if(!a.De){if(0>a.Kc)return;e=a.Kc;f=e+1}}if(a.Tb){if(a.Vd[a.Tb]){d=
0;g=a.De=0;l=1048575;a.Da.Bc&32&&(g=32768,l&=~g,a.Ee&2||(l&=-65537));for(c+=e<<1;c<h&&e<f;)n=nb(a.oa,c),n|=65536,n&g&&(a.De++,n&=l),e==a.Kc&&(n|=a.Ee&1?131072:0),p=a.gc[e],p!=n&&(pk(a,e%a.Bb,Math.floor(e/a.Bb),n,a.ff),a.gc[e]=n,d++),c+=2,e++;d&&a.ff&&a.Xc.drawImage(a.df,0,0,a.$f,a.ag,a.bk,a.ck,a.si,a.ti);nk(a)}}else if(a.vk){for(var f=h,s,t,e=c,h=a.De=0,d=a.Si,g=16==d?65536:196608,l=16==d?1:2,n=jk(a,l),v=p=0,A=a.Bb,C=0,U=a.sc,ia=0;e<f;){s=nb(a.oa,e);t=a.gc[h];if(t===s)p+=d;else{a.gc[h]=s;s=s>>8|(s&
255)<<8;t=g;var Ha=16;p<A&&(A=p);for(var rb=0;rb<d;rb++){var ac=(s&(t>>=l))>>(Ha-=l);mk(a.Bh,p++,v,n[ac])}p>C&&(C=p);v<U&&(U=v);v>=ia&&(ia=v+1)}e+=2;h++;if(p>=a.Bb){p=0;v+=2;if(v>a.sc)break;v==a.sc&&(v=1,e=c+a.vk)}}A<a.Bb&&(a.ff.putImageData(a.Bh,0,0,A,U,C-A,ia-U),a.Xc.drawImage(a.df,0,0,a.Bb,a.sc,0,0,a.xd,a.he))}else{f=h;e=a.De=0;h=jk(a);d=a.Da.ed;l=g=0;n=a.Bb;p=0;v=a.sc;for(A=0;c<f;){C=c++-a.Ta;C=d[C];U=a.gc[e];if(U===C)g+=8;else{a.gc[e]=C;g<n&&(n=g);for(U=0;8>U;U++)ia=C&2155905152,0>ia&&(ia+=4294967296),
ia=Dj[ia]||0,mk(a.Bh,g++,l,h[ia]),C<<=1;g>p&&(p=g);l<v&&(v=l);l>=A&&(A=l+1)}e++;if(g>=a.Bb&&(g=0,++l>a.sc))break}n<a.Bb&&(a.ff.putImageData(a.Bh,0,0,n,v,p-n,A-v),a.Xc.drawImage(a.df,0,0,a.Bb,a.sc,0,0,a.xd,a.he))}}}}k.Fn=function(a,b){return sk(this,this.Uc,b)};k.Wo=function(a,b,c){a=this.Uc;a.yh=a.pc;a.pc=b&31;this.ca(a.port,b,c,"CRTC.INDX")};k.En=function(a,b){return tk(this,this.Uc,b)};k.Vo=function(a,b,c){uk(this,this.Uc,b,c)};k.Gn=function(a,b){return vk(this,this.Uc,b)};
k.Xo=function(a,b,c){a=this.Uc;this.ca(a.port+4,b,c,"MODE");a.Bc=b;hk(this,!1)};k.Hn=function(a,b){return wk(this,this.Uc,b)};k.Xl=function(a,b,c){this.la.wh=this.la.wh&-4|b&3;this.ca(a,b,c,"FEAT")};k.Mk=function(a,b){var c=this.la.hd?this.la.Sd[this.la.Bd&31]:this.la.Bd;this.ca(960,null,b,"ATC."+(this.la.hd?this.la.hi[this.la.Bd&31]:"INDX"),c);this.la.hd=!this.la.hd;return c};
k.Wl=function(a,b,c){var d=this.la.Bd&32;if(this.la.hd){var e=this.la.Bd&31;if(16<=e||!d)this.ca(a,b,c,"ATC."+this.la.hi[e]),this.la.Sd[e]=b;this.la.hd=!1}else this.la.Bd=b,this.ca(a,b,c,"ATC.INDX"),this.la.hd=!0,b&32&&!d&&fk(this)&&Lb(this,!0)};k.Rn=function(a,b){var c=3-((this.la.fg&12)>>2),c=this.la.Zh&-17|(this.Xg&1<<c)<<4-c;this.la.Zh=c;this.ca(962,null,b,"STATUS0",c);return c};k.Zo=function(a,b,c){this.la.fg=b;ek(this);this.ca(962,b,c,"MISC")};
k.Qn=function(a,b){var c=this.la.Dd;this.ca(964,null,b,"SEQ.INDX",c);return c};k.fp=function(a,b,c){this.la.Dd=b;this.ca(964,b,c,"SEQ.INDX")};k.Pn=function(a,b){var c=this.la.Jf[this.la.Dd];this.ca(965,null,b,"SEQ"+this.la.ji[this.la.Dd],c);return c};k.ep=function(a,b,c){this.ca(965,b,c,"SEQ."+this.la.ji[this.la.Dd]);this.la.Jf[this.la.Dd]=b;2==this.la.Dd&&(this.la.hb=Cj[b&15])};k.xn=function(a,b){var c=this.la.Li;this.ca(972,null,b,"GRC1",c);return c};
k.Qo=function(a,b,c){this.la.Li=b;this.ca(972,b,c,"GRC1")};k.yn=function(a,b){var c=this.la.Mi;this.ca(970,null,b,"GRC2",c);return c};k.Ro=function(a,b,c){this.la.Mi=b;this.ca(970,b,c,"GRC2")};k.wn=function(a,b){var c=this.la.Cd;this.ca(974,null,b,"GRC.INDX",c);return c};k.Po=function(a,b,c){this.la.Cd=b;this.ca(974,b,c,"GRC.INDX")};k.vn=function(a,b){var c=this.la.ve[this.la.Cd];this.ca(975,null,b,"GRC."+this.la.ii[this.la.Cd],c);return c};
k.Oo=function(a,b,c){this.ca(975,b,c,"GRC."+this.la.ii[this.la.Cd]);this.la.ve[this.la.Cd]=b;switch(this.la.Cd){case 0:this.la.Lh=vj[b&15];this.la.Me=this.la.Lh&~this.la.oe;break;case 1:this.la.oe=~vj[b&15];this.la.Me=this.la.Lh&~this.la.oe;break;case 2:this.la.Ti=vj[b&15]&2155905152;break;case 3:case 5:this.Se(bk(this));break;case 4:this.la.Kj=(b&3)<<3;break;case 6:Sj(this,!1);break;case 7:this.la.Ui=vj[b&15^15]&2155905152;break;case 8:this.la.nb=b|b<<8|b<<16|b<<24}};
k.nn=function(a,b){return dk(this,this.zb,b)};k.Ho=function(a,b,c){a=this.zb;a.yh=a.pc;a.pc=b&31;this.ca(a.port,b,c,"CRTC.INDX")};k.mn=function(a,b){return ek(this,this.zb,b)};k.Go=function(a,b,c){fk(this,this.zb,b,c)};k.on=function(a,b){return gk(this,this.zb,b)};k.Io=function(a,b,c){a=this.zb;this.ca(a.port+4,b,c,"MODE");a.Bc=b;Sj(this,!1)};k.ln=function(a,b){var c=this.zb.ef;this.ca(this.zb.port+5,null,b,this.zb.type+".COLOR",c);return c};
k.Fo=function(a,b,c){this.ca(this.zb.port+5,b,c,this.zb.type+".COLOR");this.zb.ef!==b&&(this.zb.ef=b,ck(this,!1))};k.pn=function(a,b){return hk(this,this.zb,b)};function dk(a,b,c){var d=b.pc;a.ca(b.port,null,c,"CRTC.INDX",d);return d}function ek(a,b,c){var d;b.pc<b.Ri&&(d=b.fc[b.pc]);a.ca(b.port+1,null,c,"CRTC."+b.Vg[b.pc],d);return d}function fk(a,b,c,d){b.pc<b.Ri&&(a.ca(b.port+1,c,d,"CRTC."+b.Vg[b.pc]),b.fc[b.pc]=c,9==b.pc&&8!=b.yh&&Sj(a,!0),Tj(a))}
function gk(a,b,c){var d=b.Bc;a.ca(b.port+4,null,c,"MODE",d);return d}function hk(a,b,c){var d=0,e=F(a.T),f=e-b.aj;0>f&&(f=0);f%b.Vi>b.jo&&(d|=1);f%=b.Tk;f>b.mo&&(d|=8);b.aj=e-f;b===a.la?(d|=b.zf&48^48,b.hd=!1):d=(b.zf^=9)|240;b.zf=d;a.ca(b.port+6,null,c,b===a.la?"STATUS1":"STATUS",d);return d}k.Qa=function(a,b){this.Y&&(b||D(this.Y,Q.Ng))&&this.Y.message(a)};k.ca=function(a,b,c,d,e){this.Y&&this.Y.ca(this,a,b,c,d,Q.Ng,e)};
var Jj={948:Q.prototype.Fn,949:Q.prototype.En,952:Q.prototype.Gn,954:Q.prototype.Hn,980:Q.prototype.nn,981:Q.prototype.mn,984:Q.prototype.on,985:Q.prototype.ln,986:Q.prototype.pn},Kj={948:Q.prototype.Wo,949:Q.prototype.Vo,952:Q.prototype.Xo,980:Q.prototype.Ho,981:Q.prototype.Go,984:Q.prototype.Io,985:Q.prototype.Fo},Lj={960:Q.prototype.Mk,961:Q.prototype.Mk,962:Q.prototype.Rn,964:Q.prototype.Qn,965:Q.prototype.Pn,970:Q.prototype.yn,972:Q.prototype.xn,974:Q.prototype.wn,975:Q.prototype.vn},Mj={954:Q.prototype.Xl,
960:Q.prototype.Wl,961:Q.prototype.Wl,962:Q.prototype.Zo,964:Q.prototype.fp,965:Q.prototype.ep,970:Q.prototype.Ro,972:Q.prototype.Qo,974:Q.prototype.Po,975:Q.prototype.Oo,986:Q.prototype.Xl};
Fa(function(){for(var a=B(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new Q(d,e,f);Ua(d,c)}});
function V(a){this.Jk=a.adapter;switch(this.Jk){case 1:this.Rj=1016;this.qg=4;break;case 2:this.Rj=760;this.qg=3;break;default:w("Unrecognized serial adapter #"+this.Jk);return}this.ee=null;x.call(this,"SerialPort",a,V);var b=a.binding,c;a=ik;b&&(void 0===c&&(c="Panel"),(c=Ta(c,this.id))&&(b=c.ta[b])&&this.xb(null,null,a,b))}y(x,V);var ik="buffer";k=V.prototype;k.mk=function(a,b){return a==this.zh?(this.Nk=b,this):null};
k.xb=function(a,b,c,d){var e=this;switch(c){case ik:return this.ta[c]=this.ee=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),jk(e,[b]))},d.onkeypress=function(a){a=a||window.event;jk(e,[a.which||a.keyCode])},!0}return!1};k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.ma=C(a,"ChipSet");d&&Xh(d,V);ob(b,this,kk,this.Rj);sb(b,this,lk,this.Rj);this.Sa()};
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ke()};k.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.ni;c[b++]=this.qk;c[b++]=this.Ve;c[b++]=this.Yg;c[b++]=this.ae;c[b++]=this.Tc;c[b++]=this.fd;c[b++]=this.Fc;c[b++]=this.ok;c[b]=this.Lf;a.set(0,c);return a.data()};k.restore=function(a){return this.ke(a[0])};
k.ke=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ni=a[b++];this.qk=a[b++];this.Ve=a[b++];this.Yg=a[b++];this.ae=a[b++];this.Tc=a[b++];this.fd=a[b++];this.Fc=a[b++];this.ok=a[b++];this.Lf=a[b];return!0};function jk(a,b){a.Lf=a.Lf.concat(b);mk(a)}function mk(a){0<a.Lf.length&&!(a.Fc&1)&&(a.ni=a.Lf.shift(),a.Fc|=1);var b=-1;a.Fc&1&&a.Yg&1&&(b=4);0<=b?(a.ae&=-8,a.ae|=b,a.ma&&a.qg&&Hi(a.ma,a.qg)):(a.ae|=1,a.ma&&a.qg&&Ii(a.ma,a.qg))}
k.On=function(a,b){var c=this.Tc&128?this.Ve&255:this.ni;this.ca(a,null,b,this.Tc&128?"DLL":"RBR",c);this.Fc&=-2;mk(this);return c};k.zn=function(a,b){var c=this.Tc&128?this.Ve>>8:this.Yg;this.ca(a,null,b,this.Tc&128?"DLM":"IER",c);return c};k.An=function(a,b){var c=this.ae;this.ca(a,null,b,"IIR",c);return c};k.Bn=function(a,b){var c=this.Tc;this.ca(a,null,b,"LCR",c);return c};k.Dn=function(a,b){var c=this.fd;this.ca(a,null,b,"MCR",c);return c};
k.Oo=function(a,b,c){this.ca(975,b,c,"GRC."+this.la.ii[this.la.Cd]);this.la.ve[this.la.Cd]=b;switch(this.la.Cd){case 0:this.la.Lh=Cj[b&15];this.la.Me=this.la.Lh&~this.la.oe;break;case 1:this.la.oe=~Cj[b&15];this.la.Me=this.la.Lh&~this.la.oe;break;case 2:this.la.Ti=Cj[b&15]&2155905152;break;case 3:case 5:this.Se(qk(this));break;case 4:this.la.Kj=(b&3)<<3;break;case 6:hk(this,!1);break;case 7:this.la.Ui=Cj[b&15^15]&2155905152;break;case 8:this.la.nb=b|b<<8|b<<16|b<<24}};
k.nn=function(a,b){return sk(this,this.zb,b)};k.Ho=function(a,b,c){a=this.zb;a.yh=a.pc;a.pc=b&31;this.ca(a.port,b,c,"CRTC.INDX")};k.mn=function(a,b){return tk(this,this.zb,b)};k.Go=function(a,b,c){uk(this,this.zb,b,c)};k.on=function(a,b){return vk(this,this.zb,b)};k.Io=function(a,b,c){a=this.zb;this.ca(a.port+4,b,c,"MODE");a.Bc=b;hk(this,!1)};k.ln=function(a,b){var c=this.zb.ef;this.ca(this.zb.port+5,null,b,this.zb.type+".COLOR",c);return c};
k.Fo=function(a,b,c){this.ca(this.zb.port+5,b,c,this.zb.type+".COLOR");this.zb.ef!==b&&(this.zb.ef=b,rk(this,!1))};k.pn=function(a,b){return wk(this,this.zb,b)};function sk(a,b,c){var d=b.pc;a.ca(b.port,null,c,"CRTC.INDX",d);return d}function tk(a,b,c){var d;b.pc<b.Ri&&(d=b.fc[b.pc]);a.ca(b.port+1,null,c,"CRTC."+b.Vg[b.pc],d);return d}function uk(a,b,c,d){b.pc<b.Ri&&(a.ca(b.port+1,c,d,"CRTC."+b.Vg[b.pc]),b.fc[b.pc]=c,9==b.pc&&8!=b.yh&&hk(a,!0),ik(a))}
function vk(a,b,c){var d=b.Bc;a.ca(b.port+4,null,c,"MODE",d);return d}function wk(a,b,c){var d=0,e=F(a.T),f=e-b.aj;0>f&&(f=0);f%b.Vi>b.jo&&(d|=1);f%=b.Tk;f>b.mo&&(d|=8);b.aj=e-f;b===a.la?(d|=b.zf&48^48,b.hd=!1):d=(b.zf^=9)|240;b.zf=d;a.ca(b.port+6,null,c,b===a.la?"STATUS1":"STATUS",d);return d}k.Qa=function(a,b){this.Y&&(b||E(this.Y,S.Ng))&&this.Y.message(a)};k.ca=function(a,b,c,d,e){this.Y&&this.Y.ca(this,a,b,c,d,S.Ng,e)};
var Yj={948:S.prototype.Fn,949:S.prototype.En,952:S.prototype.Gn,954:S.prototype.Hn,980:S.prototype.nn,981:S.prototype.mn,984:S.prototype.on,985:S.prototype.ln,986:S.prototype.pn},Zj={948:S.prototype.Wo,949:S.prototype.Vo,952:S.prototype.Xo,980:S.prototype.Ho,981:S.prototype.Go,984:S.prototype.Io,985:S.prototype.Fo},ak={960:S.prototype.Mk,961:S.prototype.Mk,962:S.prototype.Rn,964:S.prototype.Qn,965:S.prototype.Pn,970:S.prototype.yn,972:S.prototype.xn,974:S.prototype.wn,975:S.prototype.vn},bk={954:S.prototype.Xl,
960:S.prototype.Wl,961:S.prototype.Wl,962:S.prototype.Zo,964:S.prototype.fp,965:S.prototype.ep,970:S.prototype.Ro,972:S.prototype.Qo,974:S.prototype.Po,975:S.prototype.Oo,986:S.prototype.Xl};
Fa(function(){for(var a=D(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=B(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new S(d,e,f);Ya(d,c)}});
function xk(a){this.Jk=a.adapter;switch(this.Jk){case 1:this.Rj=1016;this.qg=4;break;case 2:this.Rj=760;this.qg=3;break;default:w("Unrecognized serial adapter #"+this.Jk);return}this.ee=null;x.call(this,"SerialPort",a,xk);var b=a.binding,c;a=yk;b&&(void 0===c&&(c="Panel"),(c=Xa(c,this.id))&&(b=c.ta[b])&&this.xb(null,null,a,b))}z(x,xk);var yk="buffer";k=xk.prototype;k.mk=function(a,b){return a==this.zh?(this.Nk=b,this):null};
k.xb=function(a,b,c,d){var e=this;switch(c){case yk:return this.ta[c]=this.ee=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),zk(e,[b]))},d.onkeypress=function(a){a=a||window.event;zk(e,[a.which||a.keyCode])},!0}return!1};k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.ma=db(a,"ChipSet");d&&gi(d,xk);ub(b,this,Ak,this.Rj);yb(b,this,Bk,this.Rj);this.Sa()};
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ke()};k.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.ni;c[b++]=this.qk;c[b++]=this.Ve;c[b++]=this.Yg;c[b++]=this.ae;c[b++]=this.Tc;c[b++]=this.fd;c[b++]=this.Fc;c[b++]=this.ok;c[b]=this.Lf;a.set(0,c);return a.data()};k.restore=function(a){return this.ke(a[0])};
k.ke=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ni=a[b++];this.qk=a[b++];this.Ve=a[b++];this.Yg=a[b++];this.ae=a[b++];this.Tc=a[b++];this.fd=a[b++];this.Fc=a[b++];this.ok=a[b++];this.Lf=a[b];return!0};function zk(a,b){a.Lf=a.Lf.concat(b);Ck(a)}function Ck(a){0<a.Lf.length&&!(a.Fc&1)&&(a.ni=a.Lf.shift(),a.Fc|=1);var b=-1;a.Fc&1&&a.Yg&1&&(b=4);0<=b?(a.ae&=-8,a.ae|=b,a.ma&&a.qg&&Ri(a.ma,a.qg)):(a.ae|=1,a.ma&&a.qg&&Si(a.ma,a.qg))}
k.On=function(a,b){var c=this.Tc&128?this.Ve&255:this.ni;this.ca(a,null,b,this.Tc&128?"DLL":"RBR",c);this.Fc&=-2;Ck(this);return c};k.zn=function(a,b){var c=this.Tc&128?this.Ve>>8:this.Yg;this.ca(a,null,b,this.Tc&128?"DLM":"IER",c);return c};k.An=function(a,b){var c=this.ae;this.ca(a,null,b,"IIR",c);return c};k.Bn=function(a,b){var c=this.Tc;this.ca(a,null,b,"LCR",c);return c};k.Dn=function(a,b){var c=this.fd;this.ca(a,null,b,"MCR",c);return c};
k.Cn=function(a,b){var c=this.Fc;this.ca(a,null,b,"LSR",c);return c};k.Jn=function(a,b){var c=this.ok;this.ca(a,null,b,"MSR",c);return c};k.gp=function(a,b,c){this.ca(a,b,c,this.Tc&128?"DLL":"THR");this.Tc&128?this.Ve=this.Ve&-256|b:(this.qk=b,this.Fc&=-97,this.ee?(13!=b&&(8==b?this.ee.value=this.ee.value.slice(0,-1):(this.ee.value+=String.fromCharCode(b),this.ee.scrollTop=this.ee.scrollHeight)),a=!0):a=!1,a&&(this.Fc|=96))};
k.So=function(a,b,c){this.ca(a,b,c,this.Tc&128?"DLM":"IER");this.Tc&128?this.Ve=this.Ve&255|b<<8:this.Yg=b};k.To=function(a,b,c){this.ca(a,b,c,"LCR");this.Tc=b};
k.Uo=function(a,b,c){var d=this.fd;this.ca(a,b,c,"MCR");this.fd=b;this.Nk&&(d^b)&3&&(a=this.Nk,b=this.fd,(c=3==(b&3))?a.nc||(d=!1,a.fd&2||(a.reset(),a.Qa("serial mouse reset"),d=!0),a.fd&1||(a.Qa("serial mouse ID requested"),d=!0),d&&(jk(a.Wf,[77]),a.Qa("serial mouse ID sent")),nk(a,a.Kb),a.nc=c):a.nc&&(a.Qa("serial mouse inactive"),ok(a.Kb),a.nc=c),a.fd=b)};k.Qa=function(a){this.Y&&D(this.Y,this.Y.fk)&&this.Y.message(a)};k.ca=function(a,b,c,d,e){this.Y&&this.Y.ca(this,a,b,c,d,this.Y.fk,e)};
var kk={0:V.prototype.On,1:V.prototype.zn,2:V.prototype.An,3:V.prototype.Bn,4:V.prototype.Dn,5:V.prototype.Cn,6:V.prototype.Jn},lk={0:V.prototype.gp,1:V.prototype.So,3:V.prototype.To,4:V.prototype.Uo};Fa(function(){for(var a=B(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new V(d);Ua(d,c)}});function pk(a){x.call(this,"Mouse",a,pk);if(this.Ni=a.serial)this.Uj="SerialPort";this.nc=!1;this.Sa()}y(x,pk);k=pk.prototype;
k.qc=function(a,b,c,d){this.Ea=a;this.oa=b;this.T=c;(this.Y=d)&&Xh(d,pk)};k.Zb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Uj&&!this.Wf){for(var c=null;(c=C(this.Ea,this.Uj,c))&&(!c.mk||!(this.Wf=c.mk(this.Ni,this))););if(this.Wf){if(c=C(this.Ea,"Video"))this.Kb=c.Kb}else w(this.id+": "+this.Uj+" "+this.Ni+" unavailable")}this.nc?nk(this,this.Kb):ok(this.Kb)}return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ke()};
k.save=function(){var a=new H(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.ke(a[0])};k.ke=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.nc=a[b++];this.Ig=a[b++];this.Jg=a[b++];this.Cf=a[b++];this.Df=a[b++];this.nh=a[b++];this.oh=a[b++];this.fd=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.nc;b[a++]=this.Ig;b[a++]=this.Jg;b[a++]=this.Cf;b[a++]=this.Df;b[a++]=this.nh;b[a++]=this.oh;b[a]=this.fd;return b};
function nk(a,b){b&&(a.Bi||(b.addEventListener("mousemove",function(b){if(a.nc&&a.T&&a.T.Nb){if(0>a.Ig||0>a.Jg)a.Ig=b.clientX,a.Jg=b.clientY;a.Cf=b.clientX-a.Ig;a.Df=b.clientY-a.Jg;(a.Cf||a.Df)&&qk(a,null,b.clientX,b.clientY);a.Ig=b.clientX;a.Jg=b.clientY}},!1),b.addEventListener("mousedown",function(b){rk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){rk(a,b.button,!1)},!1),a.Bi=!0),b.style.cursor="none")}function ok(a){a&&(a.style.cursor="auto")}
function rk(a,b,c){if(a.nc&&a.T&&a.T.Nb)switch(b){case 0:a.nh!=c&&(a.nh=c,qk(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.oh!=c&&(a.oh=c,qk(a,"mouse button2 "+(c?"dn":"up")))}}function qk(a,b,c,d){var e=64|(a.nh?32:0)|(a.oh?16:0)|(a.Df&192)>>4|(a.Cf&192)>>6,f=a.Cf&63,g=a.Df&63;a.Qa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+r(e)+","+r(f)+","+r(g)+"]");jk(a.Wf,[e,f,g]);a.Cf=a.Df=0}k.Qa=function(a){this.Y&&D(this.Y,this.Y.xm)&&this.Y.message(a)};
Fa(function(){for(var a=B(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new pk(d);Ua(d,c)}});function sk(a,b,c){x.call(this,"Disk",{id:a.Ah+".disk"+tk++},sk);this.ga=a;this.Ea=a.Ea;this.Y=a.Y;this.Pa=b;this.mode=c;this.Ld=b.name;this.Sb=b.Sb;this.Ub=b.Ub;this.cc=b.cc;this.Lb=b.Lb;this.kf=b.kf;this.rh=this.Ad=!1;this.create();this.ue=[];this.Pg=[];this.Qd=null;this.Pk=0;this.Ii=!1;this.Sa()}var tk=0;y(x,sk);k=sk.prototype;k.qc=function(a,b,c,d){this.Y=d};
k.Uo=function(a,b,c){var d=this.fd;this.ca(a,b,c,"MCR");this.fd=b;this.Nk&&(d^b)&3&&(a=this.Nk,b=this.fd,(c=3==(b&3))?a.nc||(d=!1,a.fd&2||(a.reset(),a.Qa("serial mouse reset"),d=!0),a.fd&1||(a.Qa("serial mouse ID requested"),d=!0),d&&(zk(a.Wf,[77]),a.Qa("serial mouse ID sent")),Dk(a,a.Kb),a.nc=c):a.nc&&(a.Qa("serial mouse inactive"),Ek(a.Kb),a.nc=c),a.fd=b)};k.Qa=function(a){this.Y&&E(this.Y,this.Y.fk)&&this.Y.message(a)};k.ca=function(a,b,c,d,e){this.Y&&this.Y.ca(this,a,b,c,d,this.Y.fk,e)};
var Ak={0:xk.prototype.On,1:xk.prototype.zn,2:xk.prototype.An,3:xk.prototype.Bn,4:xk.prototype.Dn,5:xk.prototype.Cn,6:xk.prototype.Jn},Bk={0:xk.prototype.gp,1:xk.prototype.So,3:xk.prototype.To,4:xk.prototype.Uo};Fa(function(){for(var a=D(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new xk(d);Ya(d,c)}});function Fk(a){x.call(this,"Mouse",a,Fk);if(this.Ni=a.serial)this.Uj="SerialPort";this.nc=!1;this.Sa()}z(x,Fk);k=Fk.prototype;
k.qc=function(a,b,c,d){this.Ea=a;this.oa=b;this.T=c;(this.Y=d)&&gi(d,Fk)};k.Zb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Uj&&!this.Wf){for(var c=null;(c=db(this.Ea,this.Uj,c))&&(!c.mk||!(this.Wf=c.mk(this.Ni,this))););if(this.Wf){if(c=db(this.Ea,"Video"))this.Kb=c.Kb}else w(this.id+": "+this.Uj+" "+this.Ni+" unavailable")}this.nc?Dk(this,this.Kb):Ek(this.Kb)}return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ke()};
k.save=function(){var a=new I(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.ke(a[0])};k.ke=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.nc=a[b++];this.Ig=a[b++];this.Jg=a[b++];this.Cf=a[b++];this.Df=a[b++];this.nh=a[b++];this.oh=a[b++];this.fd=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.nc;b[a++]=this.Ig;b[a++]=this.Jg;b[a++]=this.Cf;b[a++]=this.Df;b[a++]=this.nh;b[a++]=this.oh;b[a]=this.fd;return b};
function Dk(a,b){b&&(a.Bi||(b.addEventListener("mousemove",function(b){if(a.nc&&a.T&&a.T.Nb){if(0>a.Ig||0>a.Jg)a.Ig=b.clientX,a.Jg=b.clientY;a.Cf=b.clientX-a.Ig;a.Df=b.clientY-a.Jg;(a.Cf||a.Df)&&Gk(a,null,b.clientX,b.clientY);a.Ig=b.clientX;a.Jg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Hk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Hk(a,b.button,!1)},!1),a.Bi=!0),b.style.cursor="none")}function Ek(a){a&&(a.style.cursor="auto")}
function Hk(a,b,c){if(a.nc&&a.T&&a.T.Nb)switch(b){case 0:a.nh!=c&&(a.nh=c,Gk(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.oh!=c&&(a.oh=c,Gk(a,"mouse button2 "+(c?"dn":"up")))}}function Gk(a,b,c,d){var e=64|(a.nh?32:0)|(a.oh?16:0)|(a.Df&192)>>4|(a.Cf&192)>>6,f=a.Cf&63,h=a.Df&63;a.Qa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+r(e)+","+r(f)+","+r(h)+"]");zk(a.Wf,[e,f,h]);a.Cf=a.Df=0}k.Qa=function(a){this.Y&&E(this.Y,this.Y.xm)&&this.Y.message(a)};
Fa(function(){for(var a=D(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Fk(d);Ya(d,c)}});function Ik(a,b,c){x.call(this,"Disk",{id:a.Ah+".disk"+Jk++},Ik);this.ga=a;this.Ea=a.Ea;this.Y=a.Y;this.Pa=b;this.mode=c;this.Ld=b.name;this.Sb=b.Sb;this.Ub=b.Ub;this.cc=b.cc;this.Lb=b.Lb;this.kf=b.kf;this.rh=this.Ad=!1;this.create();this.ue=[];this.Pg=[];this.Qd=null;this.Pk=0;this.Ii=!1;this.Sa()}var Jk=0;z(x,Ik);k=Ik.prototype;k.qc=function(a,b,c,d){this.Y=d};
k.Zb=function(a,b){b||!this.rh||this.Ad||(this.Sa(!1),this.load(this.Ld,this.yf,this.Nm,this));return!0};k.Nm=function(){this.Sa(!0)};
k.Yb=function(a,b){if(this.Ad){var c,d=0;if(this.Ii&&!ua("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=uk(this,!1);)if(d=c[0]){this.ga.Ha('Unable to save "'+this.Ld+'" (error '+d+")");break}b&&this.Ad&&(c="action=close&volume="+this.yf,c+="&machine="+this.ga.mf(),c+="&user="+this.ga.ie(),sa(ta()+"/api/v1/disk?"+c,!0),this.Ad=!1);d||this.ga.Ha(this.Ld+" saved")}return!0};
k.create=function(){this.pb=[];if("preload"!=this.mode){for(var a=Array(this.Sb),b=0;b<a.length;b++){for(var c=Array(this.Ub),d=0;d<c.length;d++){for(var e=Array(this.cc),f=1;f<=e.length;f++)e[f-1]=vk(null,b,d,f,this.Lb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.pb=a}this.lh=0};
k.load=function(a,b,c,d){var e=b;this.xh||(this.Ld=a,this.yf=b,this.xh=c,this.Gm=d||this.ga,0>b.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?e=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Sb+":"+this.Ub+":"+this.cc+":"+this.Lb,a+="&machine="+this.ga.mf(),a+="&user="+this.ga.ie(),e=ta()+"/api/v1/disk?"+a,this.rh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?
k.Yb=function(a,b){if(this.Ad){var c,d=0;if(this.Ii&&!ua("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Kk(this,!1);)if(d=c[0]){this.ga.Ha('Unable to save "'+this.Ld+'" (error '+d+")");break}b&&this.Ad&&(c="action=close&volume="+this.yf,c+="&machine="+this.ga.mf(),c+="&user="+this.ga.ie(),sa(ta()+"/api/v1/disk?"+c,!0),this.Ad=!1);d||this.ga.Ha(this.Ld+" saved")}return!0};
k.create=function(){this.pb=[];if("preload"!=this.mode){for(var a=Array(this.Sb),b=0;b<a.length;b++){for(var c=Array(this.Ub),d=0;d<c.length;d++){for(var e=Array(this.cc),f=1;f<=e.length;f++)e[f-1]=Lk(null,b,d,f,this.Lb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.pb=a}this.lh=0};
k.load=function(a,b,c,d){var e=b;this.xh||(this.Ld=a,this.yf=b,this.xh=c,this.Gm=d||this.ga,0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?e=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Sb+":"+this.Ub+":"+this.cc+":"+this.Lb,a+="&machine="+this.ga.mf(),a+="&user="+this.ga.ie(),e=ta()+"/api/v1/disk?"+a,this.rh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?
(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),e=ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.kf?"":d)+"&format=json")),sa(e,!0,null,this,this.Km,b))};
k.Km=function(a,b,c,d){var e=null;this.lf=!1;var f=0>c&&this.Ea&&!this.Ea.Mb;if(this.rh)c?this.ga.Ha('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ad=!0,e=this);else if(c)this.ga.Ha('Unable to load disk "'+this.Ld+'" (error '+c+")",f);else try{if(0<ea(a,!0).toLowerCase().indexOf("-readonly"))this.lf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.lf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.Ld]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{for(b=a=0;b<h.length;b++)for(c=0;c<h[b].length;c++)for(d=0;d<h[b][c].length;d++){var l=h[b][c][d];if(l){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,q=l.pattern;void 0===q&&(q=l.pattern=0);var t=l.data;if(void 0===t){var s=l.bytes;if(void 0!==s&&s.length){for(var f=n<<2,v=s.length;v<f;v++)s[v]=q;this.fill(l,s,0)}else t=[],q=l.pattern=q|q<<8|
q<<16|q<<24,l.data=t;delete l.bytes}vk(l,b,c);for(f=0;f<t.length;f++)a=a+t[f]&4294967295}}this.pb=h;this.lh=a;e=this}else w("Empty disk image: "+this.Ld)}catch(z){w("Disk image error: "+z.message)}this.xh&&(this.xh.call(this.Gm,this.Pa,e,this.Ld,this.yf),this.xh=null)};function vk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wm=b;a.Ym=c;a.Zc=a.Gc=0;a.lb=!1;return a}
k.no=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var l=0;h--;){var n=this.seek(e,f,g,!0);if(!n)break;this.fill(n,b,l);l+=n.length;g++}}(d=d[5])&&d(c,a)};function wk(a,b,c,d,e,f){if(a.Ad){var g;g="action=read&volume="+a.yf;g+="&chs="+a.Sb+":"+a.Ub+":"+a.cc+":"+a.Lb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.mf());g+="&user="+a.ga.ie();sa(ta()+"/api/v1/disk?"+g,!0,null,a,a.no,[b,c,d,e,!0,f])}else f&&f(-1,!1)}
function xk(a,b,c){b.lb=!0;var d=a.ue.indexOf(b);0<=d&&(a.ue.splice(d,1),a.Pg.splice(d,1));a.ue.push(b);a.Pg.push(oa());c&&yk(a)}function yk(a){if(a.ue.length){var b=a.Pg[0]+2E3;a.Qd&&a.Pk<b&&(clearTimeout(a.Qd),a.Qd=null);if(!a.Qd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Qd=setTimeout(function(){uk(a,!0)},b);a.Pk=c+b}}else a.Qd&&(clearTimeout(a.Qd),a.Qd=null)}
function uk(a,b){b&&(a.Qd=null);var c=a.ue[0];if(c){for(var d=c.Wm,e=c.Ym,c=c.sector,f=0,g=[],h=c-1;h<a.pb[d][e].length;h++){var l=a.pb[d][e][h];if(!l.lb)break;var n=a.ue.indexOf(l);a.ue.splice(n,1);a.Pg.splice(n,1);g=g.concat(zk(l));l.lb=!1;f++}a.Ad?(h={},a.Ii=!0,h.action="write",h.volume=a.yf,h.chs=a.Sb+":"+a.Ub+":"+a.cc+":"+a.Lb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ga.mf(),h.user=a.ga.ie(),h.data=JSON.stringify(g),d=sa(ta()+"/api/v1/disk",b,h,a,a.so,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.so=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ii=!1;if(0<=a&&a<this.pb.length&&0<=b&&b<this.pb[a].length)for(e-=1;0<f--&&0<=e&&e<this.pb[a][b].length;e++){var g=this.pb[a][b][e];c?xk(this,g,!1):g.lb||(g.Zc=g.Gc=0)}d&&yk(this)};k.info=function(){return this.pb.length?[this.pb.length,this.pb[0].length,this.pb[0][0].length,this.pb[0][0][0].length]:[0,0,0,0]};
function Ak(a){a=JSON.stringify(a.pb);a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}
k.seek=function(a,b,c,d,e){var f=null,g=this.Pa,h=this.pb[a];if(h){var l=h[b];if(!l&&g.Pf&&b<g.Ub)for(l=h[b]=Array(g.be),h=0;h<l.length;h++)l[h]=vk(null,a,b,h+1,g.Za,0);if(l){for(h=0;h<l.length;h++)if(l[h]&&l[h].sector==c){f=l[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<l.length;)null===l[h].pattern&&d++;wk(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.Pf&&9==g.Va&&(f=l[h]=vk(null,a,b,g.Va,g.Za,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function zk(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Bk(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.lf)return!1;if(b<a.length){if(c!=Bk(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Gc?f<a.Zc?(a.Gc+=a.Zc-f,a.Zc=f):f>=a.Zc+a.Gc&&(a.Gc+=f-(a.Zc+a.Gc)+1):(a.Zc=f,a.Gc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Ad&&xk(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.yf,this.lh];if(!this.Ad&&!this.lf)for(var c=this.pb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Gc){for(var h=[],l=0,n=g.Zc,q=g.Zc+g.Gc;n<q;)h[l++]=g.data[n++];b[a++]=[d,e,f,g.Zc,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(this.pb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.lh&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.lh+")",b=-1);for(;d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],l=g[f++],n=g[f++];if(h>=this.pb.length||l>=this.pb[h].length||n>=this.pb[h][l].length){c="sector "+h+":"+l+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.lf){c="unable to modify write-protected disk";b=-1;break}e=
g[f++];f=g[f++];g=e+f.length;if(h=this.pb[h][l][n]){for(l=h.data.length;l<e;)h.data[l++]=h.pattern;l=0;h.Zc=e;for(h.Gc=f.length;e<g;)h.data[e++]=f[l++];b++}}}0>b&&this.ga.Ha("unable to restore disk '"+this.Ld+": "+c);return b};k.Qa=function(a){this.Y&&D(this.Y,this.Y.tm)&&this.Y.message(a)};
function Ck(a){x.call(this,"FDC",a,Ck);this.dmaRead=this.vi;this.dmaWrite=this.wi;this.dmaFormat=this.Hm;this.Oe=null;if(a.autoMount&&(this.Oe=a.autoMount,"string"==typeof this.Oe))try{this.Oe=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Oe=null}this.wc=[]}y(x,Ck);m={};aa={};
var Dk={3:{wd:3,de:0,name:aa.Sp},4:{wd:2,de:1,name:aa.Qp},5:{wd:9,de:7,name:aa.$p},6:{wd:9,de:7,name:aa.Lp},7:{wd:2,de:0,name:aa.Np},8:{wd:1,de:2,name:aa.Rp},10:{wd:2,de:7,name:aa.Mp},13:{wd:6,de:7,name:aa.Gp},15:{wd:3,de:0,name:aa.Pp}};k=Ck.prototype;
k.Km=function(a,b,c,d){var e=null;this.lf=!1;var f=0>c&&this.Ea&&!this.Ea.Mb;if(this.rh)c?this.ga.Ha('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ad=!0,e=this);else if(c)this.ga.Ha('Unable to load disk "'+this.Ld+'" (error '+c+")",f);else try{if(0<fa(a,!0).toLowerCase().indexOf("-readonly"))this.lf=!0;else{var h=b.indexOf("\n");0<h&&1024>h&&0<b.substring(0,h).indexOf("write-protected")&&(this.lf=!0)}var g;g="<"==b.substr(0,1)?["Missing disk image: "+this.Ld]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(g.length)if(1==g.length)w(g[0]);else{for(b=a=0;b<g.length;b++)for(c=0;c<g[b].length;c++)for(d=0;d<g[b][c].length;d++){var l=g[b][c][d];if(l){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var s=l.data;if(void 0===s){var t=l.bytes;if(void 0!==t&&t.length){for(var f=n<<2,v=t.length;v<f;v++)t[v]=p;this.fill(l,t,0)}else s=[],p=l.pattern=p|p<<8|
p<<16|p<<24,l.data=s;delete l.bytes}Lk(l,b,c);for(f=0;f<s.length;f++)a=a+s[f]&4294967295}}this.pb=g;this.lh=a;e=this}else w("Empty disk image: "+this.Ld)}catch(A){w("Disk image error: "+A.message)}this.xh&&(this.xh.call(this.Gm,this.Pa,e,this.Ld,this.yf),this.xh=null)};function Lk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wm=b;a.Ym=c;a.Zc=a.Gc=0;a.lb=!1;return a}
k.no=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],h=d[2],g=d[3];a=d[4];b=JSON.parse(b);for(var l=0;g--;){var n=this.seek(e,f,h,!0);if(!n)break;this.fill(n,b,l);l+=n.length;h++}}(d=d[5])&&d(c,a)};function Mk(a,b,c,d,e,f){if(a.Ad){var h;h="action=read&volume="+a.yf;h+="&chs="+a.Sb+":"+a.Ub+":"+a.cc+":"+a.Lb;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.mf());h+="&user="+a.ga.ie();sa(ta()+"/api/v1/disk?"+h,!0,null,a,a.no,[b,c,d,e,!0,f])}else f&&f(-1,!1)}
function Nk(a,b,c){b.lb=!0;var d=a.ue.indexOf(b);0<=d&&(a.ue.splice(d,1),a.Pg.splice(d,1));a.ue.push(b);a.Pg.push(oa());c&&Ok(a)}function Ok(a){if(a.ue.length){var b=a.Pg[0]+2E3;a.Qd&&a.Pk<b&&(clearTimeout(a.Qd),a.Qd=null);if(!a.Qd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Qd=setTimeout(function(){Kk(a,!0)},b);a.Pk=c+b}}else a.Qd&&(clearTimeout(a.Qd),a.Qd=null)}
function Kk(a,b){b&&(a.Qd=null);var c=a.ue[0];if(c){for(var d=c.Wm,e=c.Ym,c=c.sector,f=0,h=[],g=c-1;g<a.pb[d][e].length;g++){var l=a.pb[d][e][g];if(!l.lb)break;var n=a.ue.indexOf(l);a.ue.splice(n,1);a.Pg.splice(n,1);h=h.concat(Pk(l));l.lb=!1;f++}a.Ad?(g={},a.Ii=!0,g.action="write",g.volume=a.yf,g.chs=a.Sb+":"+a.Ub+":"+a.cc+":"+a.Lb,g.addr=d+":"+e+":"+c+":"+f,g.machine=a.ga.mf(),g.user=a.ga.ie(),g.data=JSON.stringify(h),d=sa(ta()+"/api/v1/disk",b,g,a,a.so,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.so=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ii=!1;if(0<=a&&a<this.pb.length&&0<=b&&b<this.pb[a].length)for(e-=1;0<f--&&0<=e&&e<this.pb[a][b].length;e++){var h=this.pb[a][b][e];c?Nk(this,h,!1):h.lb||(h.Zc=h.Gc=0)}d&&Ok(this)};k.info=function(){return this.pb.length?[this.pb.length,this.pb[0].length,this.pb[0][0].length,this.pb[0][0][0].length]:[0,0,0,0]};
function Qk(a){a=JSON.stringify(a.pb);a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}
k.seek=function(a,b,c,d,e){var f=null,h=this.Pa,g=this.pb[a];if(g){var l=g[b];if(!l&&h.Pf&&b<h.Ub)for(l=g[b]=Array(h.be),g=0;g<l.length;g++)l[g]=Lk(null,a,b,g+1,h.Za,0);if(l){for(g=0;g<l.length;g++)if(l[g]&&l[g].sector==c){f=l[g];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++g<l.length;)null===l[g].pattern&&d++;Mk(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&h.Pf&&9==h.Va&&(f=l[g]=Lk(null,a,b,h.Va,h.Za,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function Pk(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var h=f<e.length?e[f]:a;c[d++]=h&255;c[d++]=h>>8&255;c[d++]=h>>16&255;c[d++]=h>>24&255}return c}function Rk(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.lf)return!1;if(b<a.length){if(c!=Rk(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var h=d.length;h<=f;h++)d[h]=e;a.Gc?f<a.Zc?(a.Gc+=a.Zc-f,a.Zc=f):f>=a.Zc+a.Gc&&(a.Gc+=f-(a.Zc+a.Gc)+1):(a.Zc=f,a.Gc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Ad&&Nk(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.yf,this.lh];if(!this.Ad&&!this.lf)for(var c=this.pb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var h=c[d][e][f];if(h&&h.Gc){for(var g=[],l=0,n=h.Zc,p=h.Zc+h.Gc;n<p;)g[l++]=h.data[n++];b[a++]=[d,e,f,h.Zc,g]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(this.pb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.lh&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.lh+")",b=-1);for(;d<a.length&&0<=b;){var f=0,h=a[d++],g=h[f++],l=h[f++],n=h[f++];if(g>=this.pb.length||l>=this.pb[g].length||n>=this.pb[g][l].length){c="sector "+g+":"+l+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.lf){c="unable to modify write-protected disk";b=-1;break}e=
h[f++];f=h[f++];h=e+f.length;if(g=this.pb[g][l][n]){for(l=g.data.length;l<e;)g.data[l++]=g.pattern;l=0;g.Zc=e;for(g.Gc=f.length;e<h;)g.data[e++]=f[l++];b++}}}0>b&&this.ga.Ha("unable to restore disk '"+this.Ld+": "+c);return b};k.Qa=function(a){this.Y&&E(this.Y,this.Y.tm)&&this.Y.message(a)};
function Sk(a){x.call(this,"FDC",a,Sk);this.dmaRead=this.vi;this.dmaWrite=this.wi;this.dmaFormat=this.Hm;this.Oe=null;if(a.autoMount&&(this.Oe=a.autoMount,"string"==typeof this.Oe))try{this.Oe=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Oe=null}this.wc=[]}z(x,Sk);m={};aa={};
var Tk={3:{wd:3,de:0,name:aa.Sp},4:{wd:2,de:1,name:aa.Qp},5:{wd:9,de:7,name:aa.$p},6:{wd:9,de:7,name:aa.Lp},7:{wd:2,de:0,name:aa.Np},8:{wd:1,de:2,name:aa.Rp},10:{wd:2,de:7,name:aa.Mp},13:{wd:6,de:7,name:aa.Gp},15:{wd:3,de:0,name:aa.Pp}};k=Sk.prototype;
k.xb=function(a,b,c,d){switch(c){case "listDisks":return this.ta[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.ta.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var l={};if(d=d.getAttribute("data-value"))try{l=eval("({"+d+"})")}catch(n){w("FDC option error: "+(n.message||n))}d=l.desc;void 0===d&&(d="");l=l.href;void 0!==l&&(d='<a href="'+l+'" target="_blank">'+d+"</a>");c.innerHTML=
d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.ta[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||Ek(a,c)}}(this,d),!0;case "loadDrive":return this.ta[c]=d,d.onclick=function(a){return function(){var b,c=a.ta.listDisks,d=a.ta.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&b<a.Aa.length)if(d=c.value){c=c.options[c.selectedIndex].text;if("?"==d){d=window.prompt("Enter the URL of a disk image to load.","");if(!d)return;c=ea(d);a.da("Attempting to load "+
d+' as "'+c+'"')}for(;Fk(a,b,c,d,!1)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var l=a,n=d,q=void 0,q=0;q<l.wc.length;q++)if(l.wc[q][1]==n){l.wc.splice(q,1);break}Gk(a,b,!1,!0)}}else Gk(a,b);else a.Ha("Nothing to load")}}(this),!0}return!1};k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.ma=C(a,"ChipSet");this.Ed();ob(b,this,Hk);sb(b,this,Ik);d&&Xh(d,Ck);Kc(c,19,this,this.Qi);this.Of()||this.Sa()};
k.Zb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ea.Gi){this.wc=[];for(var c=0;c<this.Aa.length;c++)Gk(this,c,!0);this.Of(!0)}}else if(!this.restore(a))return!1;if(c=this.ta.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.innerHTML="";for(var d=0;d<this.Yi;d++){var e=window.document.createElement("option");e.value=d;e.innerHTML=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Yi&&(c.value="0",Ek(this,0))}}return!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ed()};k.save=function(){var a=new H(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.eb=a[b++];b++;this.za=a[b++];this.ec=a[b++];this.ob=a[b++];this.$a=a[b++];this.xf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.wc=c);void 0===this.Aa&&(this.Yi=4,this.ma&&(this.Yi=li(this.ma)),this.Aa=Array(4));for(c=0;c<this.Aa.length;c++){var f=this.Aa[c];if(void 0===f){var f=this.Aa[c]={},g;if(this.ma)a:{g=this.ma;if(c<li(g)){if(!g.Ud){g=360;break a}if(c<g.Ud.length){g=g.Ud[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.Ub=
1;default:f.Sb=40;f.cc=9;break;case 720:f.Sb=80;f.cc=9;break;case 1200:f.Sb=80;f.cc=15;break;case 1440:f.Sb=80,f.cc=18}}this.Oi(f,c,e[c])||(d=!1)}this.qe=a[b++]||0;this.$l=a[b]||0;return d};k.Wj=function(){var a=0,b=[];b[a++]=this.eb;b[a++]=0;b[a++]=this.za;b[a++]=this.ec;b[a++]=this.ob;b[a++]=this.$a;b[a++]=this.xf;b[a++]=this.Yj();for(var c=a++,d=0;d<this.Aa.length;d++){var e=this.Aa[d];e.ua&&Jk(this,e.Re,e.ua)}b[c]=this.wc;b[a++]=this.qe;b[a]=this.$l;return b};
k.Oi=function(a,b,c){var d=0,e=!0;a.eb=b;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.Sb||40,a.Ub||c[3],a.cc||9,a.Lb||512,c[1],a.Jh,a.og,a.pg]);a.Wa=c[d++];var f=c[d++];a.name=f[0];a.Sb=f[1];a.Ub=f[2];a.cc=f[3];a.Lb=f[4];a.kf=f[5];(a.Jh=f[6])?(a.og=f[7],a.pg=f[8]):(a.Jh=a.Sb,a.og=a.Ub,a.pg=a.cc);a.Na=c[d++];a.$d=c[d++];a.kb=c[d++];a.$d=100<=a.$d?a.$d-100:a.$d-a.kb;a.Va=c[d++];a.be=c[d++];a.Za=c[d++];a.Ya=c[d++];a.Ra=null;a.ua||(a.Re="");f=c[d++];f===Kk?(f=c[d++],
c=c[d],Fk(this,b,f,c,!0)?a.ua&&Lk(this,f,c,a.ua):this.Sa(!1)):void 0!==f&&a.ua&&0>a.ua.restore(f)&&(e=!1);e&&a.ua&&void 0!==a.Ya&&(a.Ra=a.ua.seek(a.kb,a.Na,a.Va));return e};k.Yj=function(){for(var a=0,b=[],c=0;c<this.Aa.length;c++)b[a++]=this.Xj(this.Aa[c]);return b};k.Xj=function(a){var b=0,c=[];c[b++]=a.Wa;c[b++]=[a.name,a.Sb,a.Ub,a.cc,a.Lb,a.kf,a.Jh,a.og,a.pg];c[b++]=a.Na;c[b++]=a.$d+100;c[b++]=a.kb;c[b++]=a.Va;c[b++]=a.be;c[b++]=a.Za;c[b++]=a.Ya;c[b++]=Kk;c[b++]=a.em;c[b]=a.Re;return c};
d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.ta[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||Uk(a,c)}}(this,d),!0;case "loadDrive":return this.ta[c]=d,d.onclick=function(a){return function(){var b,c=a.ta.listDisks,d=a.ta.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&b<a.Aa.length)if(d=c.value){c=c.options[c.selectedIndex].text;if("?"==d){d=window.prompt("Enter the URL of a disk image to load.","");if(!d)return;c=fa(d);a.da("Attempting to load "+
d+' as "'+c+'"')}for(;Vk(a,b,c,d,!1)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var l=a,n=d,p=void 0,p=0;p<l.wc.length;p++)if(l.wc[p][1]==n){l.wc.splice(p,1);break}Wk(a,b,!1,!0)}}else Wk(a,b);else a.Ha("Nothing to load")}}(this),!0}return!1};k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.ma=db(a,"ChipSet");this.Ed();ub(b,this,Xk);yb(b,this,Yk);d&&gi(d,Sk);Uc(c,19,this,this.Qi);this.Of()||this.Sa()};
k.Zb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ea.Gi){this.wc=[];for(var c=0;c<this.Aa.length;c++)Wk(this,c,!0);this.Of(!0)}}else if(!this.restore(a))return!1;if(c=this.ta.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.innerHTML="";for(var d=0;d<this.Yi;d++){var e=window.document.createElement("option");e.value=d;e.innerHTML=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Yi&&(c.value="0",Uk(this,0))}}return!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ed()};k.save=function(){var a=new I(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.eb=a[b++];b++;this.za=a[b++];this.ec=a[b++];this.ob=a[b++];this.$a=a[b++];this.xf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.wc=c);void 0===this.Aa&&(this.Yi=4,this.ma&&(this.Yi=vi(this.ma)),this.Aa=Array(4));for(c=0;c<this.Aa.length;c++){var f=this.Aa[c];if(void 0===f){var f=this.Aa[c]={},h;if(this.ma)a:{h=this.ma;if(c<vi(h)){if(!h.Ud){h=360;break a}if(c<h.Ud.length){h=h.Ud[c];break a}}h=0}else h=0;switch(h){case 160:case 180:f.Ub=
1;default:f.Sb=40;f.cc=9;break;case 720:f.Sb=80;f.cc=9;break;case 1200:f.Sb=80;f.cc=15;break;case 1440:f.Sb=80,f.cc=18}}this.Oi(f,c,e[c])||(d=!1)}this.qe=a[b++]||0;this.$l=a[b]||0;return d};k.Wj=function(){var a=0,b=[];b[a++]=this.eb;b[a++]=0;b[a++]=this.za;b[a++]=this.ec;b[a++]=this.ob;b[a++]=this.$a;b[a++]=this.xf;b[a++]=this.Yj();for(var c=a++,d=0;d<this.Aa.length;d++){var e=this.Aa[d];e.ua&&Zk(this,e.Re,e.ua)}b[c]=this.wc;b[a++]=this.qe;b[a]=this.$l;return b};
k.Oi=function(a,b,c){var d=0,e=!0;a.eb=b;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.Sb||40,a.Ub||c[3],a.cc||9,a.Lb||512,c[1],a.Jh,a.og,a.pg]);a.Wa=c[d++];var f=c[d++];a.name=f[0];a.Sb=f[1];a.Ub=f[2];a.cc=f[3];a.Lb=f[4];a.kf=f[5];(a.Jh=f[6])?(a.og=f[7],a.pg=f[8]):(a.Jh=a.Sb,a.og=a.Ub,a.pg=a.cc);a.Na=c[d++];a.$d=c[d++];a.kb=c[d++];a.$d=100<=a.$d?a.$d-100:a.$d-a.kb;a.Va=c[d++];a.be=c[d++];a.Za=c[d++];a.Ya=c[d++];a.Ra=null;a.ua||(a.Re="");f=c[d++];f===$k?(f=c[d++],
c=c[d],Vk(this,b,f,c,!0)?a.ua&&al(this,f,c,a.ua):this.Sa(!1)):void 0!==f&&a.ua&&0>a.ua.restore(f)&&(e=!1);e&&a.ua&&void 0!==a.Ya&&(a.Ra=a.ua.seek(a.kb,a.Na,a.Va));return e};k.Yj=function(){for(var a=0,b=[],c=0;c<this.Aa.length;c++)b[a++]=this.Xj(this.Aa[c]);return b};k.Xj=function(a){var b=0,c=[];c[b++]=a.Wa;c[b++]=[a.name,a.Sb,a.Ub,a.cc,a.Lb,a.kf,a.Jh,a.og,a.pg];c[b++]=a.Na;c[b++]=a.$d+100;c[b++]=a.kb;c[b++]=a.Va;c[b++]=a.be;c[b++]=a.Za;c[b++]=a.Ya;c[b++]=$k;c[b++]=a.em;c[b]=a.Re;return c};
k.xk=function(a){var b;a=this.Aa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};k.hm=function(a,b,c){if(a.ua){var d=a.ua.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.kb=Math.floor(b/f),b%=f,a.Na=Math.floor(b/e),a.Va=b%e+1,a.Za=c*d[3],a.Wa=0,!0}return!1};
k.Of=function(a){a||(this.Ce=0);if(this.Oe)for(var b in this.Oe){var c=this.Oe[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.Aa.length){!Fk(this,d,c.name,c.path,!0)&&a&&this.Sa(!1);continue}}this.Ha("Unrecognized auto-mount specification for drive "+b)}return!!this.Ce};
function Fk(a,b,c,d,e){var f=a.Aa[b];if(d&&f.Re!=d){Gk(a,b,e,!0);if(f.Jc)return a.Ha("Drive "+b+" busy"),!0;f.Jc=!0;e&&(f.Ie=!0,a.Ce++,a.Qa("loading diskette '"+c+"'"));(new sk(a,f,"preload")).load(c,d,a.Mm);return!1}return!0}
k.Mm=function(a,b,c,d){var e;a.Jc=!1;b&&(e=b.info(),b&&e[0]>a.Sb||e[1]>a.Ub)&&(this.Ha('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.eb)),b=null);b&&(a.ua=b,a.em=c,a.Re=d,Lk(this,c,d,b),this.qe|=128,this.Ha('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.eb),a.Ie),a.Jh=e[0],a.og=e[1],a.pg=e[2]);a.Ie&&(a.Ie=!1,--this.Ce||this.Sa());Ek(this,a.eb)};
function Ek(a,b){if(0<=b&&b<a.Aa.length){var c=a.Aa[b],d=a.ta.listDisks,e=a.ta.listDrives;if(d&&e&&(e=parseInt(e.value,10),!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c.Re){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Gk(a,b,c,d){var e=a.Aa[b];e.ua&&(Jk(a,e.Re,e.ua),e.em="",e.Re="",e.ua=null,a.qe|=128,d||a.Ha("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ek(a,b))}
function Lk(a,b,c,d){var e;for(e=0;e<a.wc.length;e++)if(a.wc[e][1]==c){d.restore(a.wc[e][2]);return}a.wc[e]=[b,c,[]]}function Jk(a,b,c){var d;for(d=0;d<a.wc.length;d++)if(a.wc[d][1]==b){a.wc[d][2]=c.save();break}}k.No=function(a,b,c){this.ca(a,b,c,"OUTPUT");b&4?this.xf&4||this.xf&8&&this.ma&&Hi(this.ma,6):this.Ed();this.xf=b};k.un=function(a,b){this.ca(a,null,b,"STATUS",this.za);return this.za};
k.sn=function(a,b){var c=0;this.ob<this.$a&&(c=this.ec[this.ob]);this.xf&8&&this.ma&&Ii(this.ma,6);this.ca(a,null,b,"DATA["+this.ob+"]",c);++this.ob>=this.$a&&(this.za&=-81,this.ob=this.$a=0);return c};
k.Mo=function(a,b,c){this.ca(a,b,c,"DATA["+this.$a+"]");this.$a<this.ec.length&&(this.ec[this.$a++]=b);a=this.ec[0]&31;if(void 0!==Dk[a]&&this.$a>=Dk[a].wd){c=!1;this.ob=0;a=this.Oa();var d,e,f,g,h;b=a&31;switch(b){case 3:this.Oa(m.Tp);this.Oa(m.Ip);this.Rb();break;case 4:e=this.Oa(m.Ef);this.eb=e&3;d=this.Aa[this.eb];this.Rb();this.dc((d.Wa&4278190080)>>>24,m.Wp);break;case 5:case 6:e=this.Oa(m.Ef);c=e>>2&1;this.eb=e&3;d=this.Aa[this.eb];d.Na=c;e=d.kb=this.Oa(m.om);f=this.Oa(m.qm);g=d.Va=this.Oa(m.Bm);
h=this.Oa(m.gk);d.Za=128<<h;d.be=this.Oa(m.Fp);this.Oa(m.pm);this.Oa(m.Ep);6==b?this.xi(d):this.yi(d);Mk(this,d,a,c,e,f,g,h);c=!0;break;case 7:e=this.Oa(m.Ef);this.eb=e&3;d=this.Aa[this.eb];d.kb=d.$d=0;d.Wa=268435488;this.Rb();c=!0;break;case 8:d=this.Aa[this.eb];d.Na=0;this.Rb();this.dc(d.eb|d.Na<<2|d.Wa&255,m.Cm);this.dc(d.kb,m.Kp);this.eb=this.eb+1&3;break;case 10:e=this.Oa(m.Ef);c=e>>2&1;this.eb=e&3;d=this.Aa[this.eb];e=d.kb;f=d.Na=c;g=d.Va=1;h=0;d.Wa=0;d.ua&&(d.Ra=d.ua.seek(d.kb,d.Na,d.Va))?
h=d.Ra.length:d.Wa=1088;Mk(this,d,a,c,e,f,g,h);c=!0;break;case 13:e=this.Oa(m.Ef);c=e>>2&1;this.eb=e&3;d=this.Aa[this.eb];e=d.kb;f=d.Na=c;g=1;h=this.Oa(m.gk);d.Za=128<<h;d.be=this.Oa(m.Op);this.Oa(m.pm);d.nk=this.Oa(m.Dp);this.zk(d);Mk(this,d,a,c,e,f,g,h);c=!0;break;case 15:e=this.Oa(m.Ef),this.eb=e&3,d=this.Aa[this.eb],d.Na=e>>2&1,e=this.Oa(m.Jp),d.kb+=e-d.$d,0>d.kb&&(d.kb=0),d.kb>=d.Sb&&(d.kb=d.Sb-1),d.$d=e,d.Wa=32,0==d.kb&&(d.Wa|=268435456),this.Rb(),c=!0}0<this.$a&&(this.za|=80);this.xf&8&&(!d||
d.Wa&8||!c||this.ma&&Hi(this.ma,6))}};k.tn=function(a,b){var c=this.qe;this.qe&=-129;this.ca(a,null,b,"INPUT",c);return c};k.Lo=function(a,b,c){this.ca(a,b,c,"CONTROL");this.$l=b};function Mk(a,b,c,d,e,f,g,h){a.Rb();a.dc(b.eb|b.Na<<2|b.Wa&255,m.Cm);a.dc((b.Wa&65280)>>>8,m.Up);a.dc((b.Wa&16711680)>>>16,m.Vp);var l=0;if(e!=b.kb||f!=b.Na)l=g=1;c&128&&(f^=l,d||(l=0));a.dc(e+l,m.om);a.dc(f,m.qm);a.dc(g,m.Bm);a.dc(h,m.gk)}k.Oa=function(){var a=this.ec[this.ob];this.ob++;return a};
k.Rb=function(){this.ob=this.$a=0};k.dc=function(a){this.ec[this.$a++]=a};k.vi=function(a,b,c){void 0===b||0>b?this.tc(a,c):c(-1,!1)};k.wi=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.Hm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.xi=function(a){a.Wa=72;a.ua&&(a.Ra=null,a.Wa=0,this.ma&&(Ai(this.ma,2,this,"dmaRead",a),ui(this.ma,2)))};k.yi=function(a){a.Wa=72;a.ua&&(a.ua.lf?a.Wa=576:(a.Ra=null,a.Wa=0,this.ma&&(Ai(this.ma,2,this,"dmaWrite",a),ui(this.ma,2))))};
k.zk=function(a){a.Wa=72;a.ua&&(a.Ra=null,a.Wa=0,this.ma&&(a.Fe=0,a.yc=Array(4),a.Pf=!0,a.Vf=0,Ai(this.ma,2,this,"dmaFormat",a),ui(this.ma,2),a.Pf=!1))};k.tc=function(a,b){var c=-1;if(!a.Wa&&a.ua){do{if(a.Ra&&0<=(c=Bk(a.Ra,a.Ya++)))break;a.Ra=a.ua.seek(a.kb,a.Na,a.Va);if(!a.Ra){a.Wa=1088;break}a.Ya=0;this.Mf(a)}while(1)}b(c,!1)};
k.Of=function(a){a||(this.Ce=0);if(this.Oe)for(var b in this.Oe){var c=this.Oe[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.Aa.length){!Vk(this,d,c.name,c.path,!0)&&a&&this.Sa(!1);continue}}this.Ha("Unrecognized auto-mount specification for drive "+b)}return!!this.Ce};
function Vk(a,b,c,d,e){var f=a.Aa[b];if(d&&f.Re!=d){Wk(a,b,e,!0);if(f.Jc)return a.Ha("Drive "+b+" busy"),!0;f.Jc=!0;e&&(f.Ie=!0,a.Ce++,a.Qa("loading diskette '"+c+"'"));(new Ik(a,f,"preload")).load(c,d,a.Mm);return!1}return!0}
k.Mm=function(a,b,c,d){var e;a.Jc=!1;b&&(e=b.info(),b&&e[0]>a.Sb||e[1]>a.Ub)&&(this.Ha('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.eb)),b=null);b&&(a.ua=b,a.em=c,a.Re=d,al(this,c,d,b),this.qe|=128,this.Ha('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.eb),a.Ie),a.Jh=e[0],a.og=e[1],a.pg=e[2]);a.Ie&&(a.Ie=!1,--this.Ce||this.Sa());Uk(this,a.eb)};
function Uk(a,b){if(0<=b&&b<a.Aa.length){var c=a.Aa[b],d=a.ta.listDisks,e=a.ta.listDrives;if(d&&e&&(e=parseInt(e.value,10),!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c.Re){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Wk(a,b,c,d){var e=a.Aa[b];e.ua&&(Zk(a,e.Re,e.ua),e.em="",e.Re="",e.ua=null,a.qe|=128,d||a.Ha("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Uk(a,b))}
function al(a,b,c,d){var e;for(e=0;e<a.wc.length;e++)if(a.wc[e][1]==c){d.restore(a.wc[e][2]);return}a.wc[e]=[b,c,[]]}function Zk(a,b,c){var d;for(d=0;d<a.wc.length;d++)if(a.wc[d][1]==b){a.wc[d][2]=c.save();break}}k.No=function(a,b,c){this.ca(a,b,c,"OUTPUT");b&4?this.xf&4||this.xf&8&&this.ma&&Ri(this.ma,6):this.Ed();this.xf=b};k.un=function(a,b){this.ca(a,null,b,"STATUS",this.za);return this.za};
k.sn=function(a,b){var c=0;this.ob<this.$a&&(c=this.ec[this.ob]);this.xf&8&&this.ma&&Si(this.ma,6);this.ca(a,null,b,"DATA["+this.ob+"]",c);++this.ob>=this.$a&&(this.za&=-81,this.ob=this.$a=0);return c};
k.Mo=function(a,b,c){this.ca(a,b,c,"DATA["+this.$a+"]");this.$a<this.ec.length&&(this.ec[this.$a++]=b);a=this.ec[0]&31;if(void 0!==Tk[a]&&this.$a>=Tk[a].wd){c=!1;this.ob=0;a=this.Oa();var d,e,f,h,g;b=a&31;switch(b){case 3:this.Oa(m.Tp);this.Oa(m.Ip);this.Rb();break;case 4:e=this.Oa(m.Ef);this.eb=e&3;d=this.Aa[this.eb];this.Rb();this.dc((d.Wa&4278190080)>>>24,m.Wp);break;case 5:case 6:e=this.Oa(m.Ef);c=e>>2&1;this.eb=e&3;d=this.Aa[this.eb];d.Na=c;e=d.kb=this.Oa(m.om);f=this.Oa(m.qm);h=d.Va=this.Oa(m.Bm);
g=this.Oa(m.gk);d.Za=128<<g;d.be=this.Oa(m.Fp);this.Oa(m.pm);this.Oa(m.Ep);6==b?this.xi(d):this.yi(d);bl(this,d,a,c,e,f,h,g);c=!0;break;case 7:e=this.Oa(m.Ef);this.eb=e&3;d=this.Aa[this.eb];d.kb=d.$d=0;d.Wa=268435488;this.Rb();c=!0;break;case 8:d=this.Aa[this.eb];d.Na=0;this.Rb();this.dc(d.eb|d.Na<<2|d.Wa&255,m.Cm);this.dc(d.kb,m.Kp);this.eb=this.eb+1&3;break;case 10:e=this.Oa(m.Ef);c=e>>2&1;this.eb=e&3;d=this.Aa[this.eb];e=d.kb;f=d.Na=c;h=d.Va=1;g=0;d.Wa=0;d.ua&&(d.Ra=d.ua.seek(d.kb,d.Na,d.Va))?
g=d.Ra.length:d.Wa=1088;bl(this,d,a,c,e,f,h,g);c=!0;break;case 13:e=this.Oa(m.Ef);c=e>>2&1;this.eb=e&3;d=this.Aa[this.eb];e=d.kb;f=d.Na=c;h=1;g=this.Oa(m.gk);d.Za=128<<g;d.be=this.Oa(m.Op);this.Oa(m.pm);d.nk=this.Oa(m.Dp);this.zk(d);bl(this,d,a,c,e,f,h,g);c=!0;break;case 15:e=this.Oa(m.Ef),this.eb=e&3,d=this.Aa[this.eb],d.Na=e>>2&1,e=this.Oa(m.Jp),d.kb+=e-d.$d,0>d.kb&&(d.kb=0),d.kb>=d.Sb&&(d.kb=d.Sb-1),d.$d=e,d.Wa=32,0==d.kb&&(d.Wa|=268435456),this.Rb(),c=!0}0<this.$a&&(this.za|=80);this.xf&8&&(!d||
d.Wa&8||!c||this.ma&&Ri(this.ma,6))}};k.tn=function(a,b){var c=this.qe;this.qe&=-129;this.ca(a,null,b,"INPUT",c);return c};k.Lo=function(a,b,c){this.ca(a,b,c,"CONTROL");this.$l=b};function bl(a,b,c,d,e,f,h,g){a.Rb();a.dc(b.eb|b.Na<<2|b.Wa&255,m.Cm);a.dc((b.Wa&65280)>>>8,m.Up);a.dc((b.Wa&16711680)>>>16,m.Vp);var l=0;if(e!=b.kb||f!=b.Na)l=h=1;c&128&&(f^=l,d||(l=0));a.dc(e+l,m.om);a.dc(f,m.qm);a.dc(h,m.Bm);a.dc(g,m.gk)}k.Oa=function(){var a=this.ec[this.ob];this.ob++;return a};
k.Rb=function(){this.ob=this.$a=0};k.dc=function(a){this.ec[this.$a++]=a};k.vi=function(a,b,c){void 0===b||0>b?this.tc(a,c):c(-1,!1)};k.wi=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.Hm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.xi=function(a){a.Wa=72;a.ua&&(a.Ra=null,a.Wa=0,this.ma&&(Ki(this.ma,2,this,"dmaRead",a),Ei(this.ma,2)))};k.yi=function(a){a.Wa=72;a.ua&&(a.ua.lf?a.Wa=576:(a.Ra=null,a.Wa=0,this.ma&&(Ki(this.ma,2,this,"dmaWrite",a),Ei(this.ma,2))))};
k.zk=function(a){a.Wa=72;a.ua&&(a.Ra=null,a.Wa=0,this.ma&&(a.Fe=0,a.yc=Array(4),a.Pf=!0,a.Vf=0,Ki(this.ma,2,this,"dmaFormat",a),Ei(this.ma,2),a.Pf=!1))};k.tc=function(a,b){var c=-1;if(!a.Wa&&a.ua){do{if(a.Ra&&0<=(c=Rk(a.Ra,a.Ya++)))break;a.Ra=a.ua.seek(a.kb,a.Na,a.Va);if(!a.Ra){a.Wa=1088;break}a.Ya=0;this.Mf(a)}while(1)}b(c,!1)};
k.Cc=function(a,b){if(a.Wa||!a.ua)return-1;do{if(a.Ra&&a.ua.write(a.Ra,a.Ya++,b))break;a.Ra=a.ua.seek(a.kb,a.Na,a.Va);if(!a.Ra){a.Wa=8256;b=-1;break}a.Ya=0;this.Mf(a)}while(1);return b};k.Mf=function(a){a.Va++;a.Va>=a.pg+1&&(a.Va=1,a.Na++,a.Na>=a.og&&(a.Na=0,a.kb++))};k.$j=function(a,b){if(a.Wa)return-1;a.yc[a.Fe++]=b;if(a.Fe==a.yc.length){a.kb=a.yc[0];a.Na=a.yc[1];a.Va=a.yc[2];a.Za=128<<a.yc[3];for(var c=a.Fe=0;c<a.Za;c++)if(0>this.Cc(a,a.nk))return-1;a.Vf++}a.Vf>=a.be&&(b=-1);return b};
k.Qi=function(a){var b=this.T.K&255;this.Y&&D(this.Y,Ck.Kg|Ck.Xe)&&128>b&&(Mc(this.Y,19,a),Nc(this.T,a,function(a,b){return function(e){Oc(a.Y,19,e,F(a.T)-b)}}(this,F(this.T))));return!0};k.Qa=function(a,b){this.Y&&(null==b&&(b=Ck.Kg),D(this.Y,b)&&this.Y.message(a))};k.ca=function(a,b,c,d,e){this.Y&&this.Y.ca(this,a,b,c,d,Ck.Kg,e)};var Hk={1012:Ck.prototype.un,1013:Ck.prototype.sn,1015:Ck.prototype.tn},Ik={1010:Ck.prototype.No,1013:Ck.prototype.Mo,1015:Ck.prototype.Lo};
Fa(function(){for(var a=B(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ck(d);Ua(d,c)}});function W(a){x.call(this,"HDC",a,W);this.dmaRead=this.vi;this.dmaWrite=this.wi;this.dmaWriteBuffer=this.Im;this.dmaWriteFormat=this.Jm;this.ci=[];if(a.drives)try{this.ci=eval("("+a.drives+")")}catch(b){w("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.eg=(this.He="at"==a.type)?1:0;this.Xm=this.He?2:3}y(x,W);
var Nk=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.xb=function(){return!1};k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.ma=C(a,"ChipSet");ob(b,this,this.He?Ok:Pk);sb(b,this,this.He?Qk:Rk);d&&Xh(d,W);Kc(c,19,this,this.Xn);Kc(c,64,this,this.Qi);this.reset();this.Of()||this.Sa()};
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.Ed(),this.Ea.Gi&&this.Of(!0);else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.mf=function(){return this.Ea?this.Ea.mf():""};k.ie=function(){return this.Ea?this.Ea.ie():""};k.reset=function(){this.Ed(null,!0)};k.save=function(){var a=new H(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Qi=function(a){var b=this.T.K&255;this.Y&&E(this.Y,Sk.Kg|Sk.Xe)&&128>b&&(Wc(this.Y,19,a),Xc(this.T,a,function(a,b){return function(e){Yc(a.Y,19,e,F(a.T)-b)}}(this,F(this.T))));return!0};k.Qa=function(a,b){this.Y&&(null==b&&(b=Sk.Kg),E(this.Y,b)&&this.Y.message(a))};k.ca=function(a,b,c,d,e){this.Y&&this.Y.ca(this,a,b,c,d,Sk.Kg,e)};var Xk={1012:Sk.prototype.un,1013:Sk.prototype.sn,1015:Sk.prototype.tn},Yk={1010:Sk.prototype.No,1013:Sk.prototype.Mo,1015:Sk.prototype.Lo};
Fa(function(){for(var a=D(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Sk(d);Ya(d,c)}});function X(a){x.call(this,"HDC",a,X);this.dmaRead=this.vi;this.dmaWrite=this.wi;this.dmaWriteBuffer=this.Im;this.dmaWriteFormat=this.Jm;this.ci=[];if(a.drives)try{this.ci=eval("("+a.drives+")")}catch(b){w("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.eg=(this.He="at"==a.type)?1:0;this.Xm=this.He?2:3}z(x,X);
var cl=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=X.prototype;k.xb=function(){return!1};k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.ma=db(a,"ChipSet");ub(b,this,this.He?dl:el);yb(b,this,this.He?fl:gl);d&&gi(d,X);Uc(c,19,this,this.Xn);Uc(c,64,this,this.Qi);this.reset();this.Of()||this.Sa()};
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.Ed(),this.Ea.Gi&&this.Of(!0);else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.mf=function(){return this.Ea?this.Ea.mf():""};k.ie=function(){return this.Ea?this.Ea.ie():""};k.reset=function(){this.Ed(null,!0)};k.save=function(){var a=new I(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a,b){var c=0,d=!0;if(this.He)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Kd=a[c++],this.dm=a[c++],this.re=a[c++],this.Uh=a[c++],this.Sh=a[c++],this.Rh=a[c++],this.wf=a[c++],this.za=a[c++],this.Tj=a[c++],this.Th=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.vf=a[c++];this.za=a[c++];this.ec=a[c++];this.ob=a[c++];this.$a=a[c++];this.cm=a[c++];this.bm=a[c++];this.am=a[c++];var e=a[c++];void 0!==e?this.nf=e:void 0===this.nf&&(this.nf=-1)}void 0===this.Aa&&(this.Aa=Array(this.ci.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.Aa.length;e++){void 0===this.Aa[e]&&(this.Aa[e]={});var f=this.Aa[e];this.Oi(e,f,this.ci[e],c[e],b)||(d=!1);null!=this.vf&&1>=e&&(this.vf|=(f.type&3)<<(1-e<<1))}return d};
k.Wj=function(){var a=0,b=[];this.He?(b[a++]=this.Kd,b[a++]=this.dm,b[a++]=this.re,b[a++]=this.Uh,b[a++]=this.Sh,b[a++]=this.Rh,b[a++]=this.wf,b[a++]=this.za,b[a++]=this.Tj,b[a++]=this.Th):(b[a++]=this.vf,b[a++]=this.za,b[a++]=this.ec,b[a++]=this.ob,b[a++]=this.$a,b[a++]=this.cm,b[a++]=this.bm,b[a++]=this.am,b[a++]=this.nf);b[a]=this.Yj();return b};
k.Oi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.eb=a;b.errorCode=d[f++];b.jm=d[f++];b.kf=d[f++];b.af=d[f++];b.bf=d[f++];b.Na=d[f++];b.Ub=d[f++];b.Rd=d[f++];b.Va=d[f++];b.be=d[f++];b.Za=d[f++];b.dh=this.He?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.ie()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Nk[this.eg][b.type])b.type=this.Xm;c=Nk[this.eg][b.type];
b.cc=c[2]||17;b.Lb=c[3]||512;if(e&&this.ma&&(e=this.ma,c=b.type,e.qa)){var h=e.qa[18],h=a?h&240|c:h&15|c<<4;e.qa&&(e.qa[18]=h,ii(e))}void 0===b.ua&&(b.ua=null,this.Ha("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Sk(this,b);b.Ya=d[f++];b.Ra=null;b.ua&&(a=d[f],void 0!==a&&0>b.ua.restore(a)&&(g=!1),g&&void 0!==b.Ya&&(b.Ra=b.ua.seek(b.Rd,b.Na,b.Va+b.dh)));return g};k.Yj=function(){for(var a=0,b=[],c=0;c<this.Aa.length;c++)b[a++]=this.Xj(this.Aa[c]);return b};
k.Oi=function(a,b,c,d,e){var f=0,h=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.eb=a;b.errorCode=d[f++];b.jm=d[f++];b.kf=d[f++];b.af=d[f++];b.bf=d[f++];b.Na=d[f++];b.Ub=d[f++];b.Rd=d[f++];b.Va=d[f++];b.be=d[f++];b.Za=d[f++];b.dh=this.He?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.ie()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===cl[this.eg][b.type])b.type=this.Xm;c=cl[this.eg][b.type];
b.cc=c[2]||17;b.Lb=c[3]||512;if(e&&this.ma&&(e=this.ma,c=b.type,e.qa)){var g=e.qa[18],g=a?g&240|c:g&15|c<<4;e.qa&&(e.qa[18]=g,si(e))}void 0===b.ua&&(b.ua=null,this.Ha("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));hl(this,b);b.Ya=d[f++];b.Ra=null;b.ua&&(a=d[f],void 0!==a&&0>b.ua.restore(a)&&(h=!1),h&&void 0!==b.Ya&&(b.Ra=b.ua.seek(b.Rd,b.Na,b.Va+b.dh)));return h};k.Yj=function(){for(var a=0,b=[],c=0;c<this.Aa.length;c++)b[a++]=this.Xj(this.Aa[c]);return b};
k.Xj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.jm;c[b++]=a.kf;c[b++]=a.af;c[b++]=a.bf;c[b++]=a.Na;c[b++]=a.Ub;c[b++]=a.Rd;c[b++]=a.Va;c[b++]=a.be;c[b++]=a.Za;c[b++]=a.Ya;c[b]=a.ua?a.ua.save():null;return c};k.xk=function(a){var b;a=this.Aa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function Sk(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.af[2])?e=b.af[0]<<8|b.af[1]:c=b.type);null==c||d||(d=Nk[a.eg][c][1],e=Nk[a.eg][c][0]);d&&((c=Nk[a.eg][b.type])&&e!=c[0]&&d!=c[1]&&a.Ha("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Sb=e,b.Ub=d,null==b.ua&&(b.ua=new sk(a,b,b.mode)))}}
k.hm=function(a,b,c){if(a.ua){var d=a.ua.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Rd=Math.floor(b/g),b%=g,a.Na=Math.floor(b/f),a.Va=b%f,a.Za=c*d[3],a.errorCode=0,!0}}return!1};
k.Of=function(a){a||(this.Ce=0);for(var b=0;b<this.Aa.length;b++){var c=this.Aa[b];if(c.name&&c.path){if(!(a&&c.ua&&c.ua.rh)){var d;d=c.name;var c=c.path,e=this.Aa[b];e.Jc?(this.Ha("Drive "+b+" busy"),d=!0):(e.Jc=!0,e.Ie=!0,this.Ce++,this.Qa("loading "+d),(e.ua||new sk(this,e,e.mode)).load(d,c,this.Lm),d=!1);!d&&a&&this.Sa(!1)}}else a&&void 0!==c.type&&(c.ua=null,Sk(this,c,c.type))}return!!this.Ce};
k.Lm=function(a,b,c){a.Jc=!1;(a.ua=b)&&this.Ha('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.eb),a.Ie);a.Ie&&(a.Ie=!1,--this.Ce||this.Sa())};k.Un=function(a,b){var c=0;this.ob<this.$a&&(c=this.ec[this.ob]);this.ma&&Ii(this.ma,5);this.za&=-33;this.ca(a,null,b,"DATA["+this.ob+"]",c);++this.ob>=this.$a&&(this.ob=this.$a=0,this.za&=-15);return c};
k.ip=function(a,b,c){this.ca(a,b,c,"DATA["+this.$a+"]");this.$a<this.ec.length&&(this.ec[this.$a++]=b);a=12!=this.ec[0]?6:this.ec.length;6==this.$a&&(this.za&=-2);this.$a>=a&&(this.za|=2,this.za&=-2,Tk(this))};k.Vn=function(a,b){var c=this.za;this.ca(a,null,b,"STATUS",c);this.ob<this.$a&&(this.za|=1);return c};k.lp=function(a,b,c){this.ca(a,b,c,"RESET");this.cm=b;this.ma&&Ii(this.ma,5);this.Ed()};k.Tn=function(a,b){this.ca(a,null,b,"CONFIG",this.vf);return this.vf};
k.kp=function(a,b,c){this.ca(a,b,c,"PULSE");this.bm=b;this.za=13};k.jp=function(a,b,c){this.ca(a,b,c,"PATTERN");this.am=b};k.Oj=function(a,b,c){this.ca(a,b,c,"NOISE")};k.en=function(a,b){var c=-1,d=!1;if(this.Pa&&(d=0<this.Pa.Ya,c=this.tc(this.Pa),this.Pa.Ya==this.Pa.Lb))if(this.Pa.Za-=this.Pa.Lb,this.re=this.re-1&255,this.Pa.Za>=this.Pa.Lb){var e=this;this.tc(this.Pa,function(a){0<=a?Uk(e):(e.za=1,e.Kd=16)},!1)}else this.za=80;d||this.ca(a,null,b,"DATA",c);return c};
k.zo=function(a,b,c){this.Pa&&0!=this.Pa.Ya||this.ca(a,b,c,"DATA");this.Pa&&this.Pa.Za>=this.Pa.Lb&&(0>this.Cc(this.Pa,b)?(this.za=1,this.Kd=16):this.Pa.Ya==this.Pa.Lb&&(this.Pa.Za-=this.Pa.Lb,this.re=this.re-1&255,Uk(this),this.Pa.Za>=this.Pa.Lb||(this.za=80)))};k.gn=function(a,b){var c=this.Kd;this.ca(a,null,b,"ERROR",c);return c};k.Eo=function(a,b,c){this.ca(a,b,c,"WPREC");this.dm=b};k.hn=function(a,b){var c=this.re;this.ca(a,null,b,"SECCNT",c);return c};
function hl(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.af[2])?e=b.af[0]<<8|b.af[1]:c=b.type);null==c||d||(d=cl[a.eg][c][1],e=cl[a.eg][c][0]);d&&((c=cl[a.eg][b.type])&&e!=c[0]&&d!=c[1]&&a.Ha("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Sb=e,b.Ub=d,null==b.ua&&(b.ua=new Ik(a,b,b.mode)))}}
k.hm=function(a,b,c){if(a.ua){var d=a.ua.info(),e=d[0];if(e){var f=d[2],h=d[1]*f;if(b+c<=e*h)return a.Rd=Math.floor(b/h),b%=h,a.Na=Math.floor(b/f),a.Va=b%f,a.Za=c*d[3],a.errorCode=0,!0}}return!1};
k.Of=function(a){a||(this.Ce=0);for(var b=0;b<this.Aa.length;b++){var c=this.Aa[b];if(c.name&&c.path){if(!(a&&c.ua&&c.ua.rh)){var d;d=c.name;var c=c.path,e=this.Aa[b];e.Jc?(this.Ha("Drive "+b+" busy"),d=!0):(e.Jc=!0,e.Ie=!0,this.Ce++,this.Qa("loading "+d),(e.ua||new Ik(this,e,e.mode)).load(d,c,this.Lm),d=!1);!d&&a&&this.Sa(!1)}}else a&&void 0!==c.type&&(c.ua=null,hl(this,c,c.type))}return!!this.Ce};
k.Lm=function(a,b,c){a.Jc=!1;(a.ua=b)&&this.Ha('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.eb),a.Ie);a.Ie&&(a.Ie=!1,--this.Ce||this.Sa())};k.Un=function(a,b){var c=0;this.ob<this.$a&&(c=this.ec[this.ob]);this.ma&&Si(this.ma,5);this.za&=-33;this.ca(a,null,b,"DATA["+this.ob+"]",c);++this.ob>=this.$a&&(this.ob=this.$a=0,this.za&=-15);return c};
k.ip=function(a,b,c){this.ca(a,b,c,"DATA["+this.$a+"]");this.$a<this.ec.length&&(this.ec[this.$a++]=b);a=12!=this.ec[0]?6:this.ec.length;6==this.$a&&(this.za&=-2);this.$a>=a&&(this.za|=2,this.za&=-2,il(this))};k.Vn=function(a,b){var c=this.za;this.ca(a,null,b,"STATUS",c);this.ob<this.$a&&(this.za|=1);return c};k.lp=function(a,b,c){this.ca(a,b,c,"RESET");this.cm=b;this.ma&&Si(this.ma,5);this.Ed()};k.Tn=function(a,b){this.ca(a,null,b,"CONFIG",this.vf);return this.vf};
k.kp=function(a,b,c){this.ca(a,b,c,"PULSE");this.bm=b;this.za=13};k.jp=function(a,b,c){this.ca(a,b,c,"PATTERN");this.am=b};k.Oj=function(a,b,c){this.ca(a,b,c,"NOISE")};k.en=function(a,b){var c=-1,d=!1;if(this.Pa&&(d=0<this.Pa.Ya,c=this.tc(this.Pa),this.Pa.Ya==this.Pa.Lb))if(this.Pa.Za-=this.Pa.Lb,this.re=this.re-1&255,this.Pa.Za>=this.Pa.Lb){var e=this;this.tc(this.Pa,function(a){0<=a?jl(e):(e.za=1,e.Kd=16)},!1)}else this.za=80;d||this.ca(a,null,b,"DATA",c);return c};
k.zo=function(a,b,c){this.Pa&&0!=this.Pa.Ya||this.ca(a,b,c,"DATA");this.Pa&&this.Pa.Za>=this.Pa.Lb&&(0>this.Cc(this.Pa,b)?(this.za=1,this.Kd=16):this.Pa.Ya==this.Pa.Lb&&(this.Pa.Za-=this.Pa.Lb,this.re=this.re-1&255,jl(this),this.Pa.Za>=this.Pa.Lb||(this.za=80)))};k.gn=function(a,b){var c=this.Kd;this.ca(a,null,b,"ERROR",c);return c};k.Eo=function(a,b,c){this.ca(a,b,c,"WPREC");this.dm=b};k.hn=function(a,b){var c=this.re;this.ca(a,null,b,"SECCNT",c);return c};
k.Co=function(a,b,c){this.ca(a,b,c,"SECCNT");this.re=b};k.jn=function(a,b){var c=this.Uh;this.ca(a,null,b,"SECNUM",c);return c};k.Do=function(a,b,c){this.ca(a,b,c,"SECNUM");this.Uh=b};k.dn=function(a,b){var c=this.Sh;this.ca(a,null,b,"CYLLO",c);return c};k.yo=function(a,b,c){this.ca(a,b,c,"CYLLO");this.Sh=b};k.cn=function(a,b){var c=this.Rh;this.ca(a,null,b,"CYLHI",c);return c};k.xo=function(a,b,c){this.ca(a,b,c,"CYLHI");this.Rh=b};k.fn=function(a,b){var c=this.wf;this.ca(a,null,b,"DRVHD",c);return c};
k.Ao=function(a,b,c){this.ca(a,b,c,"DRVHD");this.wf=b;this.za=this.Aa[this.wf&16?1:0]?this.za|64:this.za&-65};k.kn=function(a,b){var c=this.za;this.ca(a,null,b,"STATUS",c);return c};k.wo=function(a,b,c){this.ca(a,b,c,"COMMAND");this.Tj=b;this.ma&&Ii(this.ma,14);Vk(this)};k.Bo=function(a,b,c){this.ca(a,b,c,"FDR");this.Th&4&&!(b&4)&&(this.Kd=1);this.Th=b};
function Vk(a){var b=!1,c=a.Tj,d=a.wf&16?1:0,e=a.wf&15,f=a.Sh|(a.Rh&3)<<8,g=a.Uh,h=a.re||256;a.Pa=null;a.Kd=0;a.za=80;(d=a.Aa[d])?(d.Rd=f,d.Na=e,d.Va=g,d.Za=h*d.Lb,c=144<=c?c:c&240,d.Ra=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.tc(d,function(b){0<=b&&a.ma?(Uk(a),a.za=136):(a.za=1,a.Kd=16)},!1);break;case 48:a.ma?(Uk(a),a.za=136):(a.za=1,a.Kd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Kd=1;b=!0;break;case 145:d.Ub=e+1,d.cc=h,b=!0}b&&Uk(a)}
function Uk(a){!a.ma||a.Th&2||Hi(a.ma,14)}
function Tk(a){a.ob=0;var b=a.Oa(),c=a.Oa(),d=c&32,e=d>>5,f=c&31,g=a.Oa(),h=a.Oa(),l=g<<2&768|h,n=g&63,q=a.Oa(),t=a.Oa(),s=a.Aa[e];s&&(s.Rd=l,s.Na=f,s.Va=n,s.Za=q*s.Lb);switch(b){case 3:a.Rb(s?s.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Oa());)s&&c<s.af.length&&(s.af[c++]=b);s&&Sk(a,s);b=0;s||a.nf!=e||(a.nf=-1,b=2);a.Rb(b|d);b=-1;break;case 224:case 228:a.Rb(0|d),b=-1}if(0<=b)switch(void 0===s?b=-1:(s.errorCode=0,s.jm=0),b){case 0:a.Rb(0|d);break;case 1:s.aq=
t;a.Rb(0|d);break;case 5:a.Rb(0|d);break;case 8:a.xi(s,function(b){a.Rb(b|d)});break;case 10:a.yi(s,function(b){a.Rb(b|d)});break;case 15:Wk(a,s,function(b){a.Rb(b|d)});break;default:a.Rb(2|d)}}k.Oa=function(){var a=-1;this.ob<this.$a&&(a=this.ec[this.ob++]);return a};k.Rb=function(a){this.ob=this.$a=0;void 0!==a&&this.dc(a);this.ma&&Hi(this.ma,5);this.za|=32};k.dc=function(a){this.ec[this.$a++]=a};k.vi=function(a,b,c){void 0===b||0>b?this.tc(a,c):c(-1,!1)};
k.wi=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.Im=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ya<a.bf.length?a.bf[a.Ya++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Jm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.xi=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.errorCode=0;Ai(this.ma,3,this,"dmaRead",a);ui(this.ma,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.yi=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.errorCode=0;Ai(this.ma,3,this,"dmaWrite",a);ui(this.ma,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function Wk(a,b,c){b.errorCode=4;b.bf&&b.bf.length==b.Za||(b.bf=Array(b.Za));b.Ya=0;a.ma?(b.errorCode=0,Ai(a.ma,3,a,"dmaWriteBuffer",b),ui(a.ma,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.zk=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.Fe=0;a.yc=Array(4);a.Pf=!0;a.Vf=0;a.errorCode=0;Ai(this.ma,3,this,"dmaWriteFormat",a);ui(this.ma,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.Pf=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.tc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ra&&(d=Bk(a.Ra,a.Ya),a.Ya+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;a.ua.seek(a.Rd,a.Na,a.Va+a.dh,!1,function(c,d){var l=-1;(a.Ra=c)?(a.Ya=0,f.Mf(a),l=Bk(a.Ra,a.Ya),a.Ya+=e):a.errorCode=20;b(l,d)})}return d};
k.Ao=function(a,b,c){this.ca(a,b,c,"DRVHD");this.wf=b;this.za=this.Aa[this.wf&16?1:0]?this.za|64:this.za&-65};k.kn=function(a,b){var c=this.za;this.ca(a,null,b,"STATUS",c);return c};k.wo=function(a,b,c){this.ca(a,b,c,"COMMAND");this.Tj=b;this.ma&&Si(this.ma,14);kl(this)};k.Bo=function(a,b,c){this.ca(a,b,c,"FDR");this.Th&4&&!(b&4)&&(this.Kd=1);this.Th=b};
function kl(a){var b=!1,c=a.Tj,d=a.wf&16?1:0,e=a.wf&15,f=a.Sh|(a.Rh&3)<<8,h=a.Uh,g=a.re||256;a.Pa=null;a.Kd=0;a.za=80;(d=a.Aa[d])?(d.Rd=f,d.Na=e,d.Va=h,d.Za=g*d.Lb,c=144<=c?c:c&240,d.Ra=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.tc(d,function(b){0<=b&&a.ma?(jl(a),a.za=136):(a.za=1,a.Kd=16)},!1);break;case 48:a.ma?(jl(a),a.za=136):(a.za=1,a.Kd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Kd=1;b=!0;break;case 145:d.Ub=e+1,d.cc=g,b=!0}b&&jl(a)}
function jl(a){!a.ma||a.Th&2||Ri(a.ma,14)}
function il(a){a.ob=0;var b=a.Oa(),c=a.Oa(),d=c&32,e=d>>5,f=c&31,h=a.Oa(),g=a.Oa(),l=h<<2&768|g,n=h&63,p=a.Oa(),s=a.Oa(),t=a.Aa[e];t&&(t.Rd=l,t.Na=f,t.Va=n,t.Za=p*t.Lb);switch(b){case 3:a.Rb(t?t.errorCode:4);a.dc(c);a.dc(h);a.dc(g);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Oa());)t&&c<t.af.length&&(t.af[c++]=b);t&&hl(a,t);b=0;t||a.nf!=e||(a.nf=-1,b=2);a.Rb(b|d);b=-1;break;case 224:case 228:a.Rb(0|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=0,t.jm=0),b){case 0:a.Rb(0|d);break;case 1:t.aq=
s;a.Rb(0|d);break;case 5:a.Rb(0|d);break;case 8:a.xi(t,function(b){a.Rb(b|d)});break;case 10:a.yi(t,function(b){a.Rb(b|d)});break;case 15:ll(a,t,function(b){a.Rb(b|d)});break;default:a.Rb(2|d)}}k.Oa=function(){var a=-1;this.ob<this.$a&&(a=this.ec[this.ob++]);return a};k.Rb=function(a){this.ob=this.$a=0;void 0!==a&&this.dc(a);this.ma&&Ri(this.ma,5);this.za|=32};k.dc=function(a){this.ec[this.$a++]=a};k.vi=function(a,b,c){void 0===b||0>b?this.tc(a,c):c(-1,!1)};
k.wi=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.Im=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ya<a.bf.length?a.bf[a.Ya++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Jm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.xi=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.errorCode=0;Ki(this.ma,3,this,"dmaRead",a);Ei(this.ma,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.yi=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.errorCode=0;Ki(this.ma,3,this,"dmaWrite",a);Ei(this.ma,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function ll(a,b,c){b.errorCode=4;b.bf&&b.bf.length==b.Za||(b.bf=Array(b.Za));b.Ya=0;a.ma?(b.errorCode=0,Ki(a.ma,3,a,"dmaWriteBuffer",b),Ei(a.ma,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.zk=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.Fe=0;a.yc=Array(4);a.Pf=!0;a.Vf=0;a.errorCode=0;Ki(this.ma,3,this,"dmaWriteFormat",a);Ei(this.ma,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.Pf=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.tc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ra&&(d=Rk(a.Ra,a.Ya),a.Ya+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;a.ua.seek(a.Rd,a.Na,a.Va+a.dh,!1,function(c,d){var l=-1;(a.Ra=c)?(a.Ya=0,f.Mf(a),l=Rk(a.Ra,a.Ya),a.Ya+=e):a.errorCode=20;b(l,d)})}return d};
k.Cc=function(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.ua.write(a.Ra,a.Ya++,b))break;a.ua.seek(a.Rd,a.Na,a.Va+a.dh,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=20;b=-1;break}a.Ya=0;this.Mf(a)}while(1);return b};k.Mf=function(a){a.Va++;var b=1-a.dh;a.Va>=a.cc+b&&(a.Va=b,a.Na++,a.Na>=a.Ub&&(a.Na=0,a.Rd++))};
k.$j=function(a,b){if(a.errorCode)return-1;a.yc[a.Fe++]=b;if(a.Fe==a.yc.length){a.Rd=a.yc[0];a.Na=a.yc[1];a.Va=a.yc[2];a.Za=128<<a.yc[3];for(var c=a.Fe=0;c<a.Za;c++)if(0>this.Cc(a,a.nk))return-1;a.Vf++}a.Vf>=a.be&&(b=-1);return b};k.Xn=function(a){var b=this.T.K&255;!(this.T.H>>8)&&128<b&&(this.nf=b-128);this.Y&&D(this.Y,W.ai|W.Xe)&&128<=b&&(Mc(this.Y,19,a),Nc(this.T,a,function(a,b){return function(e){Oc(a.Y,19,e,F(a.T)-b)}}(this,F(this.T))));return!0};
k.Qi=function(){var a;(a=this.T.H>>8)||(a=!this.ma)||(a=!(this.ma.tb[0].vd&64));return a?!0:!1};k.Qa=function(a,b){this.Y&&(null==b&&(b=W.ai),D(this.Y,b)&&this.Y.message(a))};k.ca=function(a,b,c,d,e){this.Y&&this.Y.ca(this,a,b,c,d,W.ai,e)};
var Pk={800:W.prototype.Un,801:W.prototype.Vn,802:W.prototype.Tn},Ok={496:W.prototype.en,497:W.prototype.gn,498:W.prototype.hn,499:W.prototype.jn,500:W.prototype.dn,501:W.prototype.cn,502:W.prototype.fn,503:W.prototype.kn},Rk={800:W.prototype.ip,801:W.prototype.lp,802:W.prototype.kp,803:W.prototype.jp,807:W.prototype.Oj,811:W.prototype.Oj,815:W.prototype.Oj},Qk={496:W.prototype.zo,497:W.prototype.Eo,498:W.prototype.Co,499:W.prototype.Do,500:W.prototype.yo,501:W.prototype.xo,502:W.prototype.Ao,503:W.prototype.wo,
1014:W.prototype.Bo};Fa(function(){for(var a=B(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new W(d);Ua(d,c)}});function Xk(a){x.call(this,"Debugger",a,Xk);this.fh=this.$c=-1;this.Dc=[0,0];this.ik=[0,0];this.Ph=null;this.gf=!1;this.te=[0,0];this.xc=[];Yk(this);Zk(this);Xh(this,this,a.messages,!0);this.ib={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Vj=a.commands}y(x,Xk);
var $k={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear window","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options"},al="DB AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
X="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),bl="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),Y={Lg:{La:1,Ma:"mem"},ek:{La:2,Ma:"port"},Fb:{La:4,Ma:"dma"},Ye:{La:8,Ma:"pic"},Ze:{La:16,Ma:"timer"},Gf:{La:32,Ma:"cmos"},ym:{La:64,Ma:"rtc"},We:{La:128,Ma:"8042"},uc:{La:256,Ma:"chipset"},dk:{La:512,Ma:"keyboard"},Ng:{La:1024,Ma:"video"},Kg:{La:2048,Ma:"fdc"},ai:{La:4096,Ma:"hdc"},tm:{La:8192,Ma:"disk"},fk:{La:16384,Ma:"serial"},Mg:{La:32768,Ma:"speaker"},zm:{La:65536,
Ma:"state"},xm:{La:131072,Ma:"mouse"},rm:{La:262144,Ma:"computer"},sm:{La:524288,Ma:"cpu"},um:{La:1048576,Ma:"dos"},Xe:{La:2097152,Ma:"int"},wm:{La:16777216,Ma:"log"},vm:{La:268435456,Ma:"halt"}},Z=[0,0],cl=[204,12291],dl=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,4228],[6,12385,4097],[6,14435,4100],[136,4211],[133,8307],[129,12417,4257],[129,12420,4260],[129,12449,4225],[129,12452,4228],[129,12385,4097],[129,14435,4100],[136,4467],[133,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],
k.$j=function(a,b){if(a.errorCode)return-1;a.yc[a.Fe++]=b;if(a.Fe==a.yc.length){a.Rd=a.yc[0];a.Na=a.yc[1];a.Va=a.yc[2];a.Za=128<<a.yc[3];for(var c=a.Fe=0;c<a.Za;c++)if(0>this.Cc(a,a.nk))return-1;a.Vf++}a.Vf>=a.be&&(b=-1);return b};k.Xn=function(a){var b=this.T.K&255;!(this.T.H>>8)&&128<b&&(this.nf=b-128);this.Y&&E(this.Y,X.ai|X.Xe)&&128<=b&&(Wc(this.Y,19,a),Xc(this.T,a,function(a,b){return function(e){Yc(a.Y,19,e,F(a.T)-b)}}(this,F(this.T))));return!0};
k.Qi=function(){var a;(a=this.T.H>>8)||(a=!this.ma)||(a=!(this.ma.tb[0].vd&64));return a?!0:!1};k.Qa=function(a,b){this.Y&&(null==b&&(b=X.ai),E(this.Y,b)&&this.Y.message(a))};k.ca=function(a,b,c,d,e){this.Y&&this.Y.ca(this,a,b,c,d,X.ai,e)};
var el={800:X.prototype.Un,801:X.prototype.Vn,802:X.prototype.Tn},dl={496:X.prototype.en,497:X.prototype.gn,498:X.prototype.hn,499:X.prototype.jn,500:X.prototype.dn,501:X.prototype.cn,502:X.prototype.fn,503:X.prototype.kn},gl={800:X.prototype.ip,801:X.prototype.lp,802:X.prototype.kp,803:X.prototype.jp,807:X.prototype.Oj,811:X.prototype.Oj,815:X.prototype.Oj},fl={496:X.prototype.zo,497:X.prototype.Eo,498:X.prototype.Co,499:X.prototype.Do,500:X.prototype.yo,501:X.prototype.xo,502:X.prototype.Ao,503:X.prototype.wo,
1014:X.prototype.Bo};Fa(function(){for(var a=D(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new X(d);Ya(d,c)}});function ml(a){x.call(this,"Debugger",a,ml);this.fh=this.$c=-1;this.Dc=[0,0];this.ik=[0,0];this.Ph=null;this.gf=!1;this.te=[0,0];this.xc=[];nl(this);ol(this);gi(this,this,a.messages,!0);this.ib={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Vj=a.commands}z(x,ml);
var pl={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear window","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options"},ql="DB AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
Y="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),rl="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),Z={Lg:{La:1,Ma:"mem"},ek:{La:2,Ma:"port"},Fb:{La:4,Ma:"dma"},Ye:{La:8,Ma:"pic"},Ze:{La:16,Ma:"timer"},Gf:{La:32,Ma:"cmos"},ym:{La:64,Ma:"rtc"},We:{La:128,Ma:"8042"},uc:{La:256,Ma:"chipset"},dk:{La:512,Ma:"keyboard"},Ng:{La:1024,Ma:"video"},Kg:{La:2048,Ma:"fdc"},ai:{La:4096,Ma:"hdc"},tm:{La:8192,Ma:"disk"},fk:{La:16384,Ma:"serial"},Mg:{La:32768,Ma:"speaker"},zm:{La:65536,
Ma:"state"},xm:{La:131072,Ma:"mouse"},rm:{La:262144,Ma:"computer"},sm:{La:524288,Ma:"cpu"},um:{La:1048576,Ma:"dos"},Xe:{La:2097152,Ma:"int"},wm:{La:16777216,Ma:"log"},vm:{La:268435456,Ma:"halt"}},$=[0,0],sl=[204,12291],tl=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,4228],[6,12385,4097],[6,14435,4100],[136,4211],[133,8307],[129,12417,4257],[129,12420,4260],[129,12449,4225],[129,12452,4228],[129,12385,4097],[129,14435,4100],[136,4467],[133,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],
[5,12452,4228],[5,12385,4097],[5,14435,4100],[136,4723],[133,8819],[149,12417,4257],[149,12420,4260],[149,12449,4225],[149,12452,4228],[149,12385,4097],[149,14435,4100],[136,4979],[133,9075],[7,12417,4257],[7,12420,4260],[7,12449,4225],[7,12452,4228],[7,12385,4097],[7,14435,4100],[35,15],[29],[183,12417,4257],[183,12420,4260],[183,12449,4225],[183,12452,4228],[183,12385,4097],[183,14435,4100],[27,15],[30],[190,12417,4257],[190,12420,4260],[190,12449,4225],[190,12452,4228],[190,12385,4097],[190,14435,
4100],[176,15],[1],[24,4225,4257],[24,4228,4260],[24,4257,4225],[24,4260,4228],[24,4193,4097],[24,6243,4100],[33,15],[4],[75,14435],[75,14691],[75,14947],[75,15203],[75,15459],[75,15715],[75,15971],[75,16227],[31,14435],[31,14691],[31,14947],[31,15203],[31,15459],[31,15715],[31,15971],[31,16227],[136,6243],[136,6499],[136,6755],[136,7011],[136,7267],[136,7523],[136,7779],[136,8035],[133,10339],[133,10595],[133,10851],[133,11107],[133,11363],[133,11619],[133,11875],[133,12131],[137,32768],[134,32768],
[10,37028,4247],[8,8323,4259],[64,49152],[70,49152],[130,49152],[9,49152],[136,36868],[73,45219,4234],[136,36866],[73,45219,4233],[76,41041,6755],[76,41044,6755],[132,39523,4161],[132,39523,4164],[95,4145],[91,4145],[82,4145],[90,4145],[98,4145],[94,4145],[81,4145],[89,4145],[97,4145],[93,4145],[96,4145],[92,4145],[86,4145],[85,4145],[87,4145],[84,4145],[191,12417,4097],[192,12420,4100],[191,12417,4097],[193,12420,4097],[184,4225,4257],[184,4228,4260],[188,12449,12417],[188,12452,12420],[120,8321,
4257],[120,8324,4260],[120,8353,4225],[120,8356,4228],[120,8323,4275],[102,8356,148],[120,8371,4227],[133,8324],[127],[188,14435,14691],[188,14435,14947],[188,14435,15203],[188,14435,15459],[188,14435,15715],[188,14435,15971],[188,14435,16227],[18],[28],[17,4102],[187],[138],[135],[147],[99],[120,8289,4129],[120,10339,4132],[120,8225,4193],[120,8228,6243],[121,8273,4161],[122,8276,4164],[25,4177,4161],[26,4180,4164],[184,4193,4097],[184,6243,4100],[180,8273,4193],[181,8276,6243],[112,8289,4161],[113,
10339,4164],[150,4193,4177],[151,6243,4180],[120,8289,4097],[120,8545,4097],[120,8801,4097],[120,9057,4097],[120,9313,4097],[120,9569,4097],[120,9825,4097],[120,10081,4097],[120,10339,4100],[120,10595,4100],[120,10851,4100],[120,11107,4100],[120,11363,4100],[120,11619,4100],[120,11875,4100],[120,12131,4100],[194,28801,4097],[195,28804,4097],[143,4099],[143],[104,8356,4246],[101,8356,4246],[120,8321,4097],[120,8324,4100],[34,36867,4097],[103,32768],[144,4099],[144],[78],[77,4097],[79],[80],[196,12417,
4113],[197,12420,4113],[198,12417,4449],[199,12420,4449],[3,1],[2,1],[69],[189],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[115,4145],[116,4145],[114,4145],[83,4145],[74,8289,4097],[74,10339,4097],[131,4097,4193],[131,4097,6243],[17,4148],[88,4148],[88,4102],[88,4145],[74,8289,6755],[74,10339,6755],[131,6755,4193],[131,6755,6243],[111,15],[0],[141,15],[142,15],[71],[23],[200,12417],[201,12420],[19],[177],[21],[179],[20],[178],[202,12417],[203,12420]],el={0:[205,
12419],1:[206,12419],2:[100,37027,4243],3:[117,37027,4243]},fl=[[[6,12417,4097],[129,12417,4097],[5,12417,4097],[149,12417,4097],[7,12417,4097],[183,12417,4097],[190,12417,4097],[24,4225,4097]],[[6,12420,4100],[129,12420,4100],[5,12420,4100],[149,12420,4100],[7,12420,4100],[183,12420,4100],[190,12420,4100],[24,4228,4100]],[[6,12420,4098],[129,12420,4098],[5,12420,4098],[149,12420,4098],[7,12420,4098],[183,12420,4098],[190,12420,4098],[24,4228,4098]],[[145,45185,4097],[146,45185,4097],[139,45185,4097],
[140,45185,4097],[169,45185,4097],[171,45185,4097],Z,[148,45185,4097]],[[145,45188,4097],[146,45188,4097],[139,45188,4097],[140,45188,4097],[169,45188,4097],[171,45188,4097],Z,[148,45188,4097]],[[145,12417,4113],[146,12417,4113],[139,12417,4113],[140,12417,4113],[169,12417,4113],[171,12417,4113],Z,[148,12417,4113]],[[145,12420,4113],[146,12420,4113],[139,12420,4113],[140,12420,4113],[169,12420,4113],[171,12420,4113],Z,[148,12420,4113]],[[145,12417,4449],[146,12417,4449],[139,12417,4449],[140,12417,
4449],[169,12417,4449],[171,12417,4449],Z,[148,12417,4449]],[[145,12420,4449],[146,12420,4449],[139,12420,4449],[140,12420,4449],[169,12420,4449],[171,12420,4449],Z,[148,12420,4449]],[[184,4225,4097],Z,[128,12417],[126,12417],[125,4225],[73,12417],[32,4225],[72,12417]],[[184,4228,4100],Z,[128,12420],[126,12420],[125,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],Z,Z,Z,Z,Z,Z],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[136,4228],Z],[],[[174,8323],[182,8323],[109,
4227],[119,4227],[185,4227],[186,4227],Z,Z],[[168,8323],[173,8323],[106,4227],[108,4227],[175,8323],Z,[110,4227],Z]],gl={19:{0:"disk reset",1:"get status",2:"read drive DL (CH:DH:CL:AL) into ES:BX",3:"write drive DL (CH:DH:CL:AL) from ES:BX",4:"verify drive DL (CH:DH:CL:AL)",5:"format drive DL using ES:BX",8:"read drive DL parameters into ES:DI",21:"get drive DL DASD type",22:"get drive DL change line status",23:"set drive DL DASD type",24:"set drive DL media type"},21:{128:"open device",129:"close device",
4113],[197,12420,4113],[198,12417,4449],[199,12420,4449],[3,1],[2,1],[69],[189],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[115,4145],[116,4145],[114,4145],[83,4145],[74,8289,4097],[74,10339,4097],[131,4097,4193],[131,4097,6243],[17,4148],[88,4148],[88,4102],[88,4145],[74,8289,6755],[74,10339,6755],[131,6755,4193],[131,6755,6243],[111,15],[0],[141,15],[142,15],[71],[23],[200,12417],[201,12420],[19],[177],[21],[179],[20],[178],[202,12417],[203,12420]],ul={0:[205,
12419],1:[206,12419],2:[100,37027,4243],3:[117,37027,4243]},vl=[[[6,12417,4097],[129,12417,4097],[5,12417,4097],[149,12417,4097],[7,12417,4097],[183,12417,4097],[190,12417,4097],[24,4225,4097]],[[6,12420,4100],[129,12420,4100],[5,12420,4100],[149,12420,4100],[7,12420,4100],[183,12420,4100],[190,12420,4100],[24,4228,4100]],[[6,12420,4098],[129,12420,4098],[5,12420,4098],[149,12420,4098],[7,12420,4098],[183,12420,4098],[190,12420,4098],[24,4228,4098]],[[145,45185,4097],[146,45185,4097],[139,45185,4097],
[140,45185,4097],[169,45185,4097],[171,45185,4097],$,[148,45185,4097]],[[145,45188,4097],[146,45188,4097],[139,45188,4097],[140,45188,4097],[169,45188,4097],[171,45188,4097],$,[148,45188,4097]],[[145,12417,4113],[146,12417,4113],[139,12417,4113],[140,12417,4113],[169,12417,4113],[171,12417,4113],$,[148,12417,4113]],[[145,12420,4113],[146,12420,4113],[139,12420,4113],[140,12420,4113],[169,12420,4113],[171,12420,4113],$,[148,12420,4113]],[[145,12417,4449],[146,12417,4449],[139,12417,4449],[140,12417,
4449],[169,12417,4449],[171,12417,4449],$,[148,12417,4449]],[[145,12420,4449],[146,12420,4449],[139,12420,4449],[140,12420,4449],[169,12420,4449],[171,12420,4449],$,[148,12420,4449]],[[184,4225,4097],$,[128,12417],[126,12417],[125,4225],[73,12417],[32,4225],[72,12417]],[[184,4228,4100],$,[128,12420],[126,12420],[125,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],$,$,$,$,$,$],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[136,4228],$],[],[[174,8323],[182,8323],[109,
4227],[119,4227],[185,4227],[186,4227],$,$],[[168,8323],[173,8323],[106,4227],[108,4227],[175,8323],$,[110,4227],$]],wl={19:{0:"disk reset",1:"get status",2:"read drive DL (CH:DH:CL:AL) into ES:BX",3:"write drive DL (CH:DH:CL:AL) from ES:BX",4:"verify drive DL (CH:DH:CL:AL)",5:"format drive DL using ES:BX",8:"read drive DL parameters into ES:DI",21:"get drive DL DASD type",22:"get drive DL change line status",23:"set drive DL DASD type",24:"set drive DL media type"},21:{128:"open device",129:"close device",
130:"program termination",131:"wait CX:DXus for event",132:"joystick support",133:"SYSREQ pressed",134:"wait CX:DXus",135:"move block (CX words)",136:"get extended memory size",137:"processor to virtual mode",144:"device busy loop",145:"interrupt complete flag set"},33:{0:"terminate program",1:"read character (al) from stdin with echo",2:"write character DL to stdout",3:"read character (al) from stdaux",4:"write character DL to stdaux",5:"write character DL to stdprn",6:"direct console output (input if DL=FF)",
7:"direct console input without echo",8:"read character (al) from stdin without echo",9:"write $-terminated string DS:DX to stdout",10:"buffered input (ds:dx)",11:"get stdin status",12:"flush buffer and read stdin",13:"disk reset",14:"select default drive DL",15:"open file using fcb DS:DX",16:"close file using fcb DS:DX",17:"find first matching file using fcb DS:DX",18:"find next matching file using fcb DS:DX",19:"delete file using fcb DS:DX",20:"sequential read from file using fcb DS:DX",21:"sequential write to file using fcb DS:DX",
22:"create or truncate file using fcb DS:DX",23:"rename file using fcb DS:DX",25:"get current default drive (al)",26:"set disk transfer area (dta) DS:DX",27:"get allocation information for default drive",28:"get allocation information for specific drive DL",31:"get drive parameter block for default drive",33:"read random record from file using fcb DS:DX",34:"write random record to file using fcb DS:DX",35:"get file size using fcb DS:DX",36:"set random record number for fcb DS:DX",37:"set address DS:DX of interrupt vector AL",
@ -668,85 +668,86 @@ Ma:"state"},xm:{La:131072,Ma:"mouse"},rm:{La:262144,Ma:"computer"},sm:{La:524288
49:"terminate and stay resident",50:"get drive parameter block (dpb=ds:bx) for drive DL",51:"extended break check",52:"get address (es:bx) of InDOS flag",53:"get address (es:bx) of interrupt vector AL",54:"get free disk space of drive DL",55:"get(0)/set(1) switch character DL (AL)",56:"get country-specific information",57:"create subdirectory DS:DX",58:"remove subdirectory DS:DX",59:"set current directory DS:DX",60:"create or truncate file DS:DX with attributes CX",61:"open existing file DS:DX with mode AL",
62:"close file BX",63:"read CX bytes from file BX into buffer DS:DX",64:"write CX bytes to file BX from buffer DS:DX",65:"delete file DS:DX",66:"set position CX:DX of file BX relative to AL",67:"get(0)/set(1) attributes CX of file DS:DX (AL)",68:"get device information (IOCTL)",69:"duplicate file handle BX",70:"force file handle CX to duplicate file handle BX",71:"get current directory (ds:si) for drive DL",72:"allocate memory segment with BX paragraphs",73:"free memory segment ES",74:"resize memory segment ES to BX paragraphs",
75:"load program DS:DX using parameter block ES:BX",76:"terminate with return code AL",77:"get return code (al)",78:"find first matching file DS:DX with attributes CX",79:"find next matching file",80:"set current psp BX",81:"get current psp (bx)",82:"get system variables (es:bx)",83:"translate bpb DS:SI to dpb (es:bp)",84:"get verify flag (al)",85:"create child psp at segment DX",86:"rename file DS:DX to name ES:DI",87:"get(0)/set(1) file date DX and time CX (AL)",88:"get(0)/set(1) memory allocation strategy (AL)",
89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};k=Xk.prototype;
k.qc=function(a,b,c){this.oa=b;this.T=c;this.Ea=a;this.Tm=C(a,"FDC");this.Ik=C(a,"HDC");this.Kf=dl;80186<=this.T.Ga&&(this.Kf=dl.slice(),this.Kf[15]=Z,80286<=this.T.Ga&&(this.Kf[15]=cl));Kc(this.T,33,this,this.$n);this.Sa();if(this.Vj){a=hl(this,this.Vj);delete this.Vj;for(var d in a)il(this,a[d])}};
k.xb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Xf=this.ta[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=hl(e,b,!0);for(b in c)il(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.ta[c]=d,Aa(d,function(){if(e.Xf){var a=e.Xf.value;e.Xf.value="";var b=hl(e,a,!0);for(a in b)il(e,b[a]);return!0}return!1}),!0;case "step":return this.ta[c]=d,Aa(d,function(a){var b=!1;Wa(e,!0)||(Va(e,!0),b=e.Af(a?1:0),Va(e,!1));return b}),
!0}return!1};k.Od=function(){this.Xf&&this.Xf.focus()};function Xh(a,b,c,d){d&&(a.gi=[]);d=0;c=hl(a,c);for(var e in Y)b[e]=Y[e].La,0<=c.indexOf(Y[e].Ma)&&(d|=Y[e].La,a.da(Y[e].Ma+" messages enabled"));void 0===a.hc&&(a.hc=0);a.hc|=d}function Yh(a,b,c){for(var d in Y)if(b==Y[d].La){a.gi[d]=c;break}}function D(a,b){return(a.hc&b)===b}
function Mc(a,b,c){if(16!=b&&21!=b&&22!=b&&26!=b&&28!=b){var d=a.T.H>>8,e=gl[b];if(e=e&&e[d]||""){var f=a.T;a.ib[X[0]]=r(f.H&255);a.ib[X[1]]=r(f.J&255);a.ib[X[2]]=r(f.K&255);a.ib[X[3]]=r(f.C&255);a.ib[X[4]]=r(f.H>>8);a.ib[X[5]]=r(f.J>>8);a.ib[X[6]]=r(f.K>>8);a.ib[X[7]]=r(f.C>>8);a.ib[X[8]]=u(f.H);a.ib[X[9]]=u(f.J);a.ib[X[10]]=u(f.K);a.ib[X[11]]=u(f.C);a.ib[X[12]]=u(f.Z);a.ib[X[13]]=u(f.I);a.ib[X[14]]=u(f.G);a.ib[X[15]]=u(f.F);a.ib[X[16]]=u(f.ab.pa);a.ib[X[17]]=u(f.wa.pa);a.ib[X[18]]=u(f.wb.pa);a.ib[X[19]]=
u(f.Eb.pa);a.ib[X[20]]=u(f.ra);e=" "+ia(a.ib,e)}a.message("INT 0x"+r(b)+": AH="+r(d)+" at "+da(c-a.T.wa.Xa,a.T.wa.pa)+e)}}function Oc(a,b,c,d,e){32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b&&a.message("INT 0x"+r(b)+"("+c+"): C="+(bd(a.T)?1:0)+(e||"")+" (cycles="+d+")")}
k.ca=function(a,b,c,d,e,f,g){f||(f=0);f|=Y.ek.La;if(null==d||(this.hc&f)==f)f=null,null!=d&&(f=this.T.wa.pa,d-=this.T.wa.Xa),this.message(a.zh+"."+(null!=c?"outPort":"inPort")+"(0x"+u(b)+","+(e?e:"unknown")+(null!=c?",0x"+r(c):"")+")"+(null!=g?": 0x"+r(g):"")+(null!=d?" at "+da(d,f):""))};k.message=function(a){this.da(a);this.T&&(this.hc&Y.vm.La&&this.T.Ab(),a=this.T,a.tf=0,a.Nc-=a.A,a.A=0,a.jh())};k.$n=function(a){D(this,this.um|this.Xe)&&Mc(this,33,a);return!0};k.Wn=function(){this.da("Type ? for list of debugger commands")};
function Zk(a){var b;if(rd(a)){if(!a.Wd||!a.Wd.length){a.Wd=Array(1E4);for(b=0;b<a.Wd.length;b++)a.Wd[b]=[0,null,0];a.of=0}if(!a.Rc||!a.Rc.length)for(a.Rc=Array(256),b=0;b<a.Rc.length;b++)a.Rc[b]=[b,0]}else a.of=0,a.Wd=[],a.Rc=[]}k.Qe=function(a){if(!jl(this))return!1;this.T.Qe(a);return!0};
k.Af=function(a,b,c){if(!jl(this))return!1;this.$c=0;do{a||rd(this)&&vd(this,this.T.Ca,!0);try{var d=this.T.Af(a);0<d&&(this.$c+=d,Ob(this.T,d,!0),Lb(this.T,d),this.fh++)}catch(e){this.$c=0,Ya(this.T,e.message||e)}}while(this.T.aa&240);!1!==c&&Kb(this.T);Jb(this,b||!1,!1);return 0<this.$c};k.Ab=function(){this.T.Ab()};function Jb(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Dc=[a.T.ra,a.T.wa.pa,void 0];b&&1!=a.oc?kl(a,null,c):ll(a)}
function jl(a){var b;if(b=a.T&&Xa(a.T))b=a.T,b.Mb?b=!0:(b.da(b.toString()+" not powered"),b=!1);b&&!Wa(a.T)?(a=a.T,a.jd?(a.da(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.Zb=function(a,b){return!b&&(this.reset(!0),this.da(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Yb=function(a,b){b&&this.da(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
k.reset=function(a){Zk(this);this.$c=this.fh=0;this.Dc=[this.T.ra,this.T.wa.pa,void 0];void 0===this.Nb||a||this.da("reset");this.Nb=!1;ml(this);a||Jb(this)};k.save=function(){var a=new H(this);a.set(0,this.Dc);a.set(1,this.te);a.set(2,[this.Ph,this.gf,this.hc]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Dc=a[b++],this.te=a[b++],this.Ph=a[b][0],this.gf=a[b][1],this.hc||(this.hc=a[b][2]));return!0};
k.start=function(a,b){this.oc||this.da("running");this.Nb=!0;this.ho=a;this.lo=b};k.stop=function(a,b){if(this.Nb){this.Nb=!1;this.$c=b-this.lo;if(!this.oc){var c="stopped";if(this.$c){var d=a-this.ho,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";rd(this)&&(c+=this.fh+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.da(c)}Jb(this,!0,2!=this.oc);this.Od();ml(this,this.T.Ca)}};function rd(a){return 1<a.vc.length||D(a,a.Xe)}
function vd(a,b,c){if(!c&&nl(a,b,a.vc))return!0;a.Rc.length&&(a.fh++,c=ib(a.oa,b),a.Rc[c][1]++,c=a.Wd[a.of],c[0]=a.T.ra,c[1]=a.T.wa.pa,c[2]=b,++a.of==a.Wd.length&&(a.of=0));return!1}function xb(a,b){return nl(a,b,a.Td)?(a.T.Ab(!0),!0):!1}function yb(a,b){return nl(a,b,a.Qc)?(a.T.Ab(!0),!0):!1}function qb(a,b,c){a.da("break on input from port "+u(b)+": "+r(c));a.T.Ab(!0)}function ub(a,b,c){a.da("break on output to port "+u(b)+": "+r(c));a.T.Ab(!0)}
function ol(a,b){if(b==a.T.wa.pa)return a.T.wa;if(b==a.T.Eb.pa)return a.T.Eb;if(b==a.T.ab.pa)return a.T.ab;if(b==a.T.wb.pa)return a.T.wb;var c=new Ub(a.T);c.load(b,!0);return c}function pl(a,b,c,d){var e=b[2];null==e&&(a=ol(a,b[1]),e=c?a.ac(b[0],d||0,!0):a.Wc(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.ub=function(a,b){var c=255,d=pl(this,a,!1,0);0<=d&&(c=ib(this.oa,d),void 0!==b&&ql(a,b));return c};
k.Ia=function(a,b){var c=65535,d=pl(this,a,!1,1);0<=d&&(c=jb(this.oa,d),void 0!==b&&ql(a,b));return c};k.Nd=function(a,b,c){var d=pl(this,a,!0,0);0<=d&&(kb(this.oa,d,b),void 0!==c&&ql(a,c),Kb(this.T))};k.bd=function(a,b,c){var d=pl(this,a,!0,1);0<=d&&(lb(this.oa,d,b),void 0!==c&&ql(a,c),Kb(this.T))};function $(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])}function ql(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
function Yk(a){var b;a.vc=["exec"];if(void 0!==a.Td)for(b=1;b<a.Td.length;b++){var c=a.oa,d=pl(a,a.Td[b]);Cb(c.Ba[d>>c.rb],!1)}a.Td=["read"];if(void 0!==a.Qc)for(b=1;b<a.Qc.length;b++)c=a.oa,d=pl(a,a.Qc[b]),Cb(c.Ba[d>>c.rb],!0);a.Qc=["write"]}k.Xd=function(a,b,c){if(!rl(this,a,b)){b[2]=pl(this,b);b[3]=c;a.push(b);if(a!=this.vc){var d=this.oa,e=pl(this,b);d.Ba[e>>d.rb].Xd(e&d.gb,a==this.Qc)}c||this.da("breakpoint enabled: "+$(b)+" ("+a[0]+")");Zk(this);return!0}return!1};
function rl(a,b,c,d){var e=!1;c=pl(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==pl(a,g)){e=!0;if(d){b.splice(f,1);b!=a.vc&&(d=a.oa,Cb(d.Ba[c>>d.rb],b==a.Qc));g[3]||a.da("breakpoint cleared: "+$(g)+" ("+b[0]+")");Zk(a);break}a.da("breakpoint exists: "+$(g)+" ("+b[0]+")");break}}return e}function sl(a,b){for(var c=1;c<b.length;c++)a.da("breakpoint enabled: "+$(b[c])+" ("+b[0]+")");return b.length-1}
function Db(a,b,c,d){if(void 0===d)Db(a,b,c,a.Td),Db(a,b,c,a.Qc);else for(var e=1;e<d.length;e++){var f=pl(a,d[e]);if(f>=b&&f<b+c){var g=a.oa;g.Ba[f>>g.rb].Xd(f&g.gb,d==a.Qc)}}}function ml(a,b){if(void 0!==b)nl(a,b,a.vc,!0),a.oc=0;else for(var c=1;c<a.vc.length;c++){var d=a.vc[c];if(d[3]){if(!rl(a,a.vc,d,!0))break;c=0}}}
function nl(a,b,c,d){var e=!1;16711680==(b&16711680)&&(b&=1048575);for(var f=1;f<c.length;f++){var g=c[f];if(b==pl(a,g)){g[3]?rl(a,c,g,!0):d||a.da("breakpoint hit: "+$(g)+" ("+c[0]+")");e=!0;break}}return e}
function tl(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.ub(b,1),g=a.Kf[f],h=g[0],l=-1;204==h&&(h=a.ub(b,1),g=el[h]||Z,f|=h<<8,h=g[0]);h>=al.length&&(l=a.ub(b,1),g=fl[h-al.length][l>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",t=g[f];if(void 0!==t){var s=t&15;if(0!=s&&15!=s){var v=t&240;if(128<=v)if(0>l&&(l=a.ub(b,1)),160<=v)q=l>>3&7,176==(t&240)?q+=16:3<=(t&15)&&(q+=8),q=X[q];else{if(128<=v){var q=a,z=t,s=b,E="",v=l>>6,E=l&7;3>v?(z=void 0,v||6!=E?(E=bl[E],1==v?(z=q.ub(s,
1),z&128?(z=z<<24>>24,E+="-"+r(-z)):E+="+"+r(z)):2==v&&(z=q.Ia(s,2),E+="+"+u(z))):(z=q.Ia(s,2),E=u(z)),E="["+E+"]"):E=X[E+(1==(z&15)?0:8)];q=E}}else if(16==v)q="1";else if(0==v){q=a;v=t;s=b;z=" ";switch(v&15){case 1:v&12288&&(z=r(q.ub(s,1)));break;case 2:z=u(q.ub(s,1)<<24>>24);break;case 3:case 4:z=u(q.Ia(s,2));break;case 6:v=q.Ia(s,2);q=q.Ia(s,2);z=$([v,q,void 0]);break;default:z="imm("+u(v)+")"}q=z}else 32==v?q="["+u(a.Ia(b,2))+"]":48==v?(1==s?(q=a.ub(b,1),q=q<<24>>24):q=a.Ia(b,2),q=b[0]+q&65535,
q=ul(a,[q,b[1],void 0])[0]||u(q)):96==v?q=X[(t&3840)>>8]:112==v?q=X[((t&3840)>>8)+16]:64==v?q="DS:[SI]":80==v&&(q="ES:[DI]");q.length||(q="type("+u(t)+")");0<h.length&&(h+=",");h+=q}}}l=$(e)+" ";n="";do n+=r(a.ub(e,1));while(e[0]!=b[0]);l+=(n+" ").substr(0,14);l+=(al[g[0]]+" ").substr(0,8);h&&(l+=" "+h);c&&(l=(l+" ").substr(0,50),l+=";",l=a.T.hf?l+("cycles="+F(a.T).toString()+" cs="+p(a.T.hg)):l+(c+(null!=d?"="+d.toString():"")));return l}
function vl(a,b){var c;switch(b){case "V":c=gd(a.T);break;case "D":c=a.T.ya&1024;break;case "I":c=a.T.ya&512;break;case "T":c=a.T.ya&256;break;case "S":c=fd(a.T);break;case "Z":c=ed(a.T);break;case "A":c=dd(a.T);break;case "P":c=cd(a.T);break;case "C":c=bd(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function wl(a,b){return a.Dg+"="+u(a.pa)+(b?"["+p(a.Xa,6)+","+u(a.Mc)+"]":"")}function xl(a,b,c,d){return a+"="+(null!=b?u(b):"")+"["+p(c,6)+","+u(d-c)+"]"}
function Al(a,b,c){var d=2==c?a.ik:a.Dc;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),e=null);var f=b,d=null;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var d=[],g=f.toUpperCase(),h=0;h<a.xc.length;h++){var f=a.xc[h][0],l=a.xc[h][2][g];if(void 0!==l){g=l.o;void 0!==g&&(h=l.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Bl(a,b),d=null):d=Bl(a,b):(e=Bl(a,b.substring(0,d)),c=Bl(a,b.substring(d+1)),d=
89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};k=ml.prototype;
k.qc=function(a,b,c){this.oa=b;this.T=c;this.Ea=a;this.Tm=db(a,"FDC");this.Ik=db(a,"HDC");this.Kf=tl;80186<=this.T.Ga&&(this.Kf=tl.slice(),this.Kf[15]=$,80286<=this.T.Ga&&(this.Kf[15]=sl));Uc(this.T,33,this,this.$n);this.Sa();if(this.Vj){a=xl(this,this.Vj);delete this.Vj;for(var d in a)yl(this,a[d])}};
k.xb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Xf=this.ta[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=xl(e,b,!0);for(b in c)yl(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.ta[c]=d,Aa(d,function(){if(e.Xf){var a=e.Xf.value;e.Xf.value="";var b=xl(e,a,!0);for(a in b)yl(e,b[a]);return!0}return!1}),!0;case "step":return this.ta[c]=d,Aa(d,function(a){var b=!1;$a(e,!0)||(Za(e,!0),b=e.Af(a?1:0),Za(e,!1));return b}),
!0}return!1};k.Od=function(){this.Xf&&this.Xf.focus()};function gi(a,b,c,d){d&&(a.gi=[]);d=0;c=xl(a,c);for(var e in Z)b[e]=Z[e].La,0<=c.indexOf(Z[e].Ma)&&(d|=Z[e].La,a.da(Z[e].Ma+" messages enabled"));void 0===a.hc&&(a.hc=0);a.hc|=d}function hi(a,b,c){for(var d in Z)if(b==Z[d].La){a.gi[d]=c;break}}function E(a,b){return(a.hc&b)===b}
function Wc(a,b,c){if(16!=b&&21!=b&&22!=b&&26!=b&&28!=b){var d=a.T.H>>8,e=wl[b];if(e=e&&e[d]||""){var f=a.T;a.ib[Y[0]]=r(f.H&255);a.ib[Y[1]]=r(f.J&255);a.ib[Y[2]]=r(f.K&255);a.ib[Y[3]]=r(f.C&255);a.ib[Y[4]]=r(f.H>>8);a.ib[Y[5]]=r(f.J>>8);a.ib[Y[6]]=r(f.K>>8);a.ib[Y[7]]=r(f.C>>8);a.ib[Y[8]]=u(f.H);a.ib[Y[9]]=u(f.J);a.ib[Y[10]]=u(f.K);a.ib[Y[11]]=u(f.C);a.ib[Y[12]]=u(f.Z);a.ib[Y[13]]=u(f.I);a.ib[Y[14]]=u(f.G);a.ib[Y[15]]=u(f.F);a.ib[Y[16]]=u(f.ab.pa);a.ib[Y[17]]=u(f.wa.pa);a.ib[Y[18]]=u(f.wb.pa);a.ib[Y[19]]=
u(f.Eb.pa);a.ib[Y[20]]=u(f.ra);e=" "+ka(a.ib,e)}a.message("INT 0x"+r(b)+": AH="+r(d)+" at "+da(c-a.T.wa.Xa,a.T.wa.pa)+e)}}function Yc(a,b,c,d,e){32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b&&a.message("INT 0x"+r(b)+"("+c+"): C="+(jd(a.T)?1:0)+(e||"")+" (cycles="+d+")")}
k.ca=function(a,b,c,d,e,f,h){f||(f=0);f|=Z.ek.La;if(null==d||(this.hc&f)==f)f=null,null!=d&&(f=this.T.wa.pa,d-=this.T.wa.Xa),this.message(a.zh+"."+(null!=c?"outPort":"inPort")+"(0x"+u(b)+","+(e?e:"unknown")+(null!=c?",0x"+r(c):"")+")"+(null!=h?": 0x"+r(h):"")+(null!=d?" at "+da(d,f):""))};k.message=function(a){this.da(a);this.T&&(this.hc&Z.vm.La&&this.T.Ab(),a=this.T,a.tf=0,a.Nc-=a.A,a.A=0,a.jh())};k.$n=function(a){E(this,this.um|this.Xe)&&Wc(this,33,a);return!0};k.Wn=function(){this.da("Type ? for list of debugger commands")};
function ol(a){var b;if(Bd(a)){if(!a.Wd||!a.Wd.length){a.Wd=Array(1E4);for(b=0;b<a.Wd.length;b++)a.Wd[b]=[0,null,0];a.of=0}if(!a.Rc||!a.Rc.length)for(a.Rc=Array(256),b=0;b<a.Rc.length;b++)a.Rc[b]=[b,0]}else a.of=0,a.Wd=[],a.Rc=[]}k.Qe=function(a){if(!zl(this))return!1;this.T.Qe(a);return!0};
k.Af=function(a,b,c){if(!zl(this))return!1;this.$c=0;do{a||Bd(this)&&Fd(this,this.T.Ca,!0);try{var d=this.T.Af(a);0<d&&(this.$c+=d,Ub(this.T,d,!0),Rb(this.T,d),this.fh++)}catch(e){this.$c=0,bb(this.T,e.message||e)}}while(this.T.aa&240);!1!==c&&Qb(this.T);Pb(this,b||!1,!1);return 0<this.$c};k.Ab=function(){this.T.Ab()};function Pb(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Dc=[a.T.ra,a.T.wa.pa,void 0];b&&1!=a.oc?Al(a,null,c):Bl(a)}
function zl(a){var b;if(b=a.T&&ab(a.T))b=a.T,b.Mb?b=!0:(b.da(b.toString()+" not powered"),b=!1);b&&!$a(a.T)?(a=a.T,a.jd?(a.da(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.Zb=function(a,b){return!b&&(this.reset(!0),this.da(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Yb=function(a,b){b&&this.da(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
k.reset=function(a){ol(this);this.$c=this.fh=0;this.Dc=[this.T.ra,this.T.wa.pa,void 0];void 0===this.Nb||a||this.da("reset");this.Nb=!1;Cl(this);a||Pb(this)};k.save=function(){var a=new I(this);a.set(0,this.Dc);a.set(1,this.te);a.set(2,[this.Ph,this.gf,this.hc]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Dc=a[b++],this.te=a[b++],this.Ph=a[b][0],this.gf=a[b][1],this.hc||(this.hc=a[b][2]));return!0};
k.start=function(a,b){this.oc||this.da("running");this.Nb=!0;this.ho=a;this.lo=b};k.stop=function(a,b){if(this.Nb){this.Nb=!1;this.$c=b-this.lo;if(!this.oc){var c="stopped";if(this.$c){var d=a-this.ho,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";Bd(this)&&(c+=this.fh+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.da(c)}Pb(this,!0,2!=this.oc);this.Od();Cl(this,this.T.Ca)}};function Bd(a){return 1<a.vc.length||E(a,a.Xe)}
function Fd(a,b,c){if(!c&&Dl(a,b,a.vc))return!0;a.Rc.length&&(a.fh++,c=mb(a.oa,b),a.Rc[c][1]++,c=a.Wd[a.of],c[0]=a.T.ra,c[1]=a.T.wa.pa,c[2]=b,++a.of==a.Wd.length&&(a.of=0));return!1}function Cb(a,b){return Dl(a,b,a.Td)?(a.T.Ab(!0),!0):!1}function Db(a,b){return Dl(a,b,a.Qc)?(a.T.Ab(!0),!0):!1}function wb(a,b,c){a.da("break on input from port "+u(b)+": "+r(c));a.T.Ab(!0)}function Ab(a,b,c){a.da("break on output to port "+u(b)+": "+r(c));a.T.Ab(!0)}
function El(a,b){if(b==a.T.wa.pa)return a.T.wa;if(b==a.T.Eb.pa)return a.T.Eb;if(b==a.T.ab.pa)return a.T.ab;if(b==a.T.wb.pa)return a.T.wb;var c=new Zb(a.T);c.load(b,!0);return c}function Fl(a,b,c,d){var e=b[2];null==e&&(a=El(a,b[1]),e=c?a.ac(b[0],d||0,!0):a.Wc(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.ub=function(a,b){var c=255,d=Fl(this,a,!1,0);0<=d&&(c=mb(this.oa,d),void 0!==b&&Gl(a,b));return c};
k.Ia=function(a,b){var c=65535,d=Fl(this,a,!1,1);0<=d&&(c=nb(this.oa,d),void 0!==b&&Gl(a,b));return c};k.Nd=function(a,b,c){var d=Fl(this,a,!0,0);0<=d&&(ob(this.oa,d,b),void 0!==c&&Gl(a,c),Qb(this.T))};k.bd=function(a,b,c){var d=Fl(this,a,!0,1);0<=d&&(pb(this.oa,d,b),void 0!==c&&Gl(a,c),Qb(this.T))};function Hl(a){return null==a[1]?"%"+q(a[2]):da(a[0],a[1])}function Gl(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
function nl(a){var b;a.vc=["exec"];if(void 0!==a.Td)for(b=1;b<a.Td.length;b++){var c=a.oa,d=Fl(a,a.Td[b]);Hb(c.Ba[d>>c.rb],!1)}a.Td=["read"];if(void 0!==a.Qc)for(b=1;b<a.Qc.length;b++)c=a.oa,d=Fl(a,a.Qc[b]),Hb(c.Ba[d>>c.rb],!0);a.Qc=["write"]}k.Xd=function(a,b,c){if(!Il(this,a,b)){b[2]=Fl(this,b);b[3]=c;a.push(b);if(a!=this.vc){var d=this.oa,e=Fl(this,b);d.Ba[e>>d.rb].Xd(e&d.gb,a==this.Qc)}c||this.da("breakpoint enabled: "+Hl(b)+" ("+a[0]+")");ol(this);return!0}return!1};
function Il(a,b,c,d){var e=!1;c=Fl(a,c);for(var f=1;f<b.length;f++){var h=b[f];if(c==Fl(a,h)){e=!0;if(d){b.splice(f,1);b!=a.vc&&(d=a.oa,Hb(d.Ba[c>>d.rb],b==a.Qc));h[3]||a.da("breakpoint cleared: "+Hl(h)+" ("+b[0]+")");ol(a);break}a.da("breakpoint exists: "+Hl(h)+" ("+b[0]+")");break}}return e}function Jl(a,b){for(var c=1;c<b.length;c++)a.da("breakpoint enabled: "+Hl(b[c])+" ("+b[0]+")");return b.length-1}
function Jb(a,b,c,d){if(void 0===d)Jb(a,b,c,a.Td),Jb(a,b,c,a.Qc);else for(var e=1;e<d.length;e++){var f=Fl(a,d[e]);if(f>=b&&f<b+c){var h=a.oa;h.Ba[f>>h.rb].Xd(f&h.gb,d==a.Qc)}}}function Cl(a,b){if(void 0!==b)Dl(a,b,a.vc,!0),a.oc=0;else for(var c=1;c<a.vc.length;c++){var d=a.vc[c];if(d[3]){if(!Il(a,a.vc,d,!0))break;c=0}}}
function Dl(a,b,c,d){var e=!1;16711680==(b&16711680)&&(b&=1048575);for(var f=1;f<c.length;f++){var h=c[f];if(b==Fl(a,h)){h[3]?Il(a,c,h,!0):d||a.da("breakpoint hit: "+Hl(h)+" ("+c[0]+")");e=!0;break}}return e}
function Kl(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.ub(b,1),h=a.Kf[f],g=h[0],l=-1;204==g&&(g=a.ub(b,1),h=ul[g]||$,f|=g<<8,g=h[0]);g>=ql.length&&(l=a.ub(b,1),h=vl[g-ql.length][l>>3&7]);var n=2,g="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var p="",s=h[f];if(void 0!==s){var t=s&15;if(0!=t&&15!=t){var v=s&240;if(128<=v)if(0>l&&(l=a.ub(b,1)),160<=v)p=l>>3&7,176==(s&240)?p+=16:3<=(s&15)&&(p+=8),p=Y[p];else{if(128<=v){var p=a,A=s,t=b,C="",v=l>>6,C=l&7;3>v?(A=void 0,v||6!=C?(C=rl[C],1==v?(A=p.ub(t,
1),A&128?(A=A<<24>>24,C+="-"+r(-A)):C+="+"+r(A)):2==v&&(A=p.Ia(t,2),C+="+"+u(A))):(A=p.Ia(t,2),C=u(A)),C="["+C+"]"):C=Y[C+(1==(A&15)?0:8)];p=C}}else if(16==v)p="1";else if(0==v){p=a;v=s;t=b;A=" ";switch(v&15){case 1:v&12288&&(A=r(p.ub(t,1)));break;case 2:A=u(p.ub(t,1)<<24>>24);break;case 3:case 4:A=u(p.Ia(t,2));break;case 6:v=p.Ia(t,2);p=p.Ia(t,2);A=Hl([v,p,void 0]);break;default:A="imm("+u(v)+")"}p=A}else 32==v?p="["+u(a.Ia(b,2))+"]":48==v?(1==t?(p=a.ub(b,1),p=p<<24>>24):p=a.Ia(b,2),p=b[0]+p&65535,
p=Ll(a,[p,b[1],void 0])[0]||u(p)):96==v?p=Y[(s&3840)>>8]:112==v?p=Y[((s&3840)>>8)+16]:64==v?p="DS:[SI]":80==v&&(p="ES:[DI]");p.length||(p="type("+u(s)+")");0<g.length&&(g+=",");g+=p}}}l=Hl(e)+" ";n="";do n+=r(a.ub(e,1));while(e[0]!=b[0]);l+=(n+" ").substr(0,14);l+=(ql[h[0]]+" ").substr(0,8);g&&(l+=" "+g);c&&(l=(l+" ").substr(0,50),l+=";",l=a.T.hf?l+("cycles="+F(a.T).toString()+" cs="+q(a.T.hg)):l+(c+(null!=d?"="+d.toString():"")));return l}
function Ml(a,b){var c;switch(b){case "V":c=od(a.T);break;case "D":c=a.T.ya&1024;break;case "I":c=a.T.ya&512;break;case "T":c=a.T.ya&256;break;case "S":c=nd(a.T);break;case "Z":c=md(a.T);break;case "A":c=ld(a.T);break;case "P":c=kd(a.T);break;case "C":c=jd(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function Nl(a,b){return a.Dg+"="+u(a.pa)+(b?"["+q(a.Xa,6)+","+u(a.Mc)+"]":"")}function Ol(a,b,c,d){return a+"="+(null!=b?u(b):"")+"["+q(c,6)+","+u(d-c)+"]"}
function Pl(a,b,c){var d=2==c?a.ik:a.Dc;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),e=null);var f=b,d=null;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var d=[],h=f.toUpperCase(),g=0;g<a.xc.length;g++){var f=a.xc[g][0],l=a.xc[g][2][h];if(void 0!==l){h=l.o;void 0!==h&&(g=l.s,void 0===g&&(g=f>>>4),d[0]=h,d[1]=g,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Ql(a,b),d=null):d=Ql(a,b):(e=Ql(a,b.substring(0,d)),c=Ql(a,b.substring(d+1)),d=
null)}return[c,e,d]}
function Bl(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Z;break;case "CS":d=a.T.wa.pa;break;case "DS":d=a.T.Eb.pa;break;case "ES":d=a.T.ab.pa;break;case "SS":d=a.T.wb.pa;break;case "IP":d=a.T.ra;break;default:d=ca(b),void 0===d&&a.da("invalid "+(c?c:"value")+": "+b)}else a.da("missing "+(c?c:"value"));return d}
function aj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],g=[],h;for(h in d){var l=d[h];"number"==typeof l&&(d[h]=l={o:l});var n=l.o,q=l.s,t=l.a;void 0!==n&&(void 0!==q&&(f[0]=n,f[1]=q,l.p=pl(a,f)),na(g,[n,h],e));t&&(l.a=t.replace(/''/g,'"'))}a.xc.push([b,c,d,g])}
function ul(a,b,c){for(var d=[],e=pl(a,b),f=0;f<a.xc.length;f++){var g=a.xc[f][0],h=a.xc[f][1];if(e>=g&&e<g+h){b=ma(a.xc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Cl(a,f,b,d):c&&(b=~b,Cl(a,f,b-1,d),Cl(a,f,b,d));break}}return d}function Cl(a,b,c,d){var e={},f=a.xc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.xc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function Dl(a,b){if("?"==b)a.da("\nfrequency commands:"),a.da("\tclear\tclear all frequency counts");else{var c,d=0;if(a.Rc)if("clear"==b){for(c=0;c<a.Rc.length;c++)a.Rc[c]=[c,0];a.da("frequency data cleared");d++}else if(void 0!==b)a.da("unknown frequency command: "+b),d++;else{var e=a.Rc.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.da((al[a.Kf[f][0]]+" ").substr(0,5)+" ("+r(f)+"): "+g+" times"),d++)}}d||a.da("no frequency data available")}}
function El(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.da("\nlist/load commands:"),a.da("\tl [address] [drive #] [sector #] [# sectors]"),a.da("\tln [address] lists symbol(s) nearest to address");else{var c=[],d,e=0,f=0,g=!1;if("json"==b[1])g=!0;else if(d="ln"==b[0],c=Al(a,b[1],d?1:2),d){c=ul(a,c,!0);c.length?(c[0]&&a.da(u(c[1])+": "+c[0]),4<c.length&&c[4]&&a.da(u(c[5])+": "+c[4])):a.da("no symbols");return}d=Bl(a,b[2],"drive #");if(void 0!==d){if(!g){e=Bl(a,b[3],"sector #");if(void 0===e)return;
f=Bl(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Tm;2<=d&&a.Ik&&(d-=2,h=a.Ik);if(h){var l=h.xk(d);if(l)if(l.ua)if(g)a.da(Ak(l.ua));else if(h.hm(l,e,f)){for(var n=0,q=!1,e=$(c);!q&&0<l.Za--;)(function(a,b){h.tc(l,function(c){0>c?(a.da("out of data at address "+$(b)),q=!0):(a.Nd(b,c,1),n++)})})(a,c);a.da(n+" bytes read at "+e)}else a.da("sector "+e+" request out of range");else a.da("drive "+d+" not loaded");else a.da("invalid drive: "+d)}else a.da("disk controller not present")}}}
function kl(a,b,c){if(b&&"?"==b[1])a.da("\nregister commands:"),a.da("\tr\t\tdisplay all registers"),a.da("\tr [target=#]\tmodify target register"),a.da("supported targets:"),a.da("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1<b.length){var f=b[1];if("p"==f)e=void 0!==a.T.Sc;else{d=!1;c=null;var g=f.indexOf("=");if(0<g)c=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)c=b[2];else{a.da("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.da("invalid value: "+
function Ql(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Z;break;case "CS":d=a.T.wa.pa;break;case "DS":d=a.T.Eb.pa;break;case "ES":d=a.T.ab.pa;break;case "SS":d=a.T.wb.pa;break;case "IP":d=a.T.ra;break;default:d=ca(b),void 0===d&&a.da("invalid "+(c?c:"value")+": "+b)}else a.da("missing "+(c?c:"value"));return d}
function gj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],h=[],g;for(g in d){var l=d[g];"number"==typeof l&&(d[g]=l={o:l});var n=l.o,p=l.s,s=l.a;void 0!==n&&(void 0!==p&&(f[0]=n,f[1]=p,l.p=Fl(a,f)),na(h,[n,g],e));s&&(l.a=s.replace(/''/g,'"'))}a.xc.push([b,c,d,h])}
function Ll(a,b,c){for(var d=[],e=Fl(a,b),f=0;f<a.xc.length;f++){var h=a.xc[f][0],g=a.xc[f][1];if(e>=h&&e<h+g){b=ma(a.xc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Rl(a,f,b,d):c&&(b=~b,Rl(a,f,b-1,d),Rl(a,f,b,d));break}}return d}function Rl(a,b,c,d){var e={},f=a.xc[b][3],h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.xc[b][2][g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)}
function Sl(a,b){if("?"==b)a.da("\nfrequency commands:"),a.da("\tclear\tclear all frequency counts");else{var c,d=0;if(a.Rc)if("clear"==b){for(c=0;c<a.Rc.length;c++)a.Rc[c]=[c,0];a.da("frequency data cleared");d++}else if(void 0!==b)a.da("unknown frequency command: "+b),d++;else{var e=a.Rc.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],h=e[c][1];h&&(a.da((ql[a.Kf[f][0]]+" ").substr(0,5)+" ("+r(f)+"): "+h+" times"),d++)}}d||a.da("no frequency data available")}}
function Tl(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.da("\nlist/load commands:"),a.da("\tl [address] [drive #] [sector #] [# sectors]"),a.da("\tln [address] lists symbol(s) nearest to address");else{var c=[],d,e=0,f=0,h=!1;if("json"==b[1])h=!0;else if(d="ln"==b[0],c=Pl(a,b[1],d?1:2),d){c=Ll(a,c,!0);c.length?(c[0]&&a.da(u(c[1])+": "+c[0]),4<c.length&&c[4]&&a.da(u(c[5])+": "+c[4])):a.da("no symbols");return}d=Ql(a,b[2],"drive #");if(void 0!==d){if(!h){e=Ql(a,b[3],"sector #");if(void 0===e)return;
f=Ql(a,b[4],"# of sectors");void 0===f&&(f=1)}var g=a.Tm;2<=d&&a.Ik&&(d-=2,g=a.Ik);if(g){var l=g.xk(d);if(l)if(l.ua)if(h)a.da(Qk(l.ua));else if(g.hm(l,e,f)){for(var n=0,p=!1,e=Hl(c);!p&&0<l.Za--;)(function(a,b){g.tc(l,function(c){0>c?(a.da("out of data at address "+Hl(b)),p=!0):(a.Nd(b,c,1),n++)})})(a,c);a.da(n+" bytes read at "+e)}else a.da("sector "+e+" request out of range");else a.da("drive "+d+" not loaded");else a.da("invalid drive: "+d)}else a.da("disk controller not present")}}}
function Al(a,b,c){if(b&&"?"==b[1])a.da("\nregister commands:"),a.da("\tr\t\tdisplay all registers"),a.da("\tr [target=#]\tmodify target register"),a.da("supported targets:"),a.da("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1<b.length){var f=b[1];if("p"==f)e=void 0!==a.T.Sc;else{d=!1;c=null;var h=f.indexOf("=");if(0<h)c=f.substr(h+1),f=f.substr(0,h);else if(2<b.length)c=b[2];else{a.da("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.da("invalid value: "+
c);return}switch(f.toUpperCase()){case "AL":a.T.H=a.T.H&65280|b&255;break;case "AH":a.T.H=a.T.H&255|b<<8&255;break;case "AX":a.T.H=b&65535;break;case "BL":a.T.C=a.T.C&65280|b&255;break;case "BH":a.T.C=a.T.C&255|b<<8&255;break;case "BX":a.T.C=b&65535;break;case "CL":a.T.J=a.T.J&65280|b&255;break;case "CH":a.T.J=a.T.J&255|b<<8&255;break;case "CX":a.T.J=b&65535;break;case "DL":a.T.K=a.T.K&65280|b&255;break;case "DH":a.T.K=a.T.K&255|b<<8&255;break;case "DX":a.T.K=b&65535;break;case "SP":a.T.Z=b&65535;
break;case "BP":a.T.I=b&65535;break;case "SI":a.T.G=b&65535;break;case "DI":a.T.F=b&65535;break;case "DS":Zc(a.T,b);break;case "ES":ad(a.T,b);break;case "SS":$c(a.T,b);break;case "CS":d=!0;Yc(a.T,b);a.Dc=[a.T.ra,a.T.wa.pa,void 0];break;case "IP":d=!0;I(a.T,b);a.Dc=[a.T.ra,a.T.wa.pa,void 0];break;case "C":b?md(a.T):hd(a.T);break;case "P":b?(c=a.T,cd(c)||(c.ka^=1)):(c=a.T,cd(c)&&(c.ka^=1));break;case "A":b?nd(a.T):id(a.T);break;case "Z":b?od(a.T):jd(a.T);break;case "S":b?pd(a.T):kd(a.T);break;case "I":b?
(c=a.T,c.ya|=512):(c=a.T,c.ya&=-513);break;case "D":b?(c=a.T,c.ya|=1024):(c=a.T,c.ya&=-1025);break;case "V":b?qd(a.T):ld(a.T);break;default:a.da("unknown register: "+f);return}Kb(a.T);a.da("\nupdated registers:");c=!0}}f=e;void 0===f&&(f=!!(a.T.ad&1));e="AX="+u(a.T.H)+" BX="+u(a.T.C)+" CX="+u(a.T.J)+" DX="+u(a.T.K)+" SP="+u(a.T.Z)+" BP="+u(a.T.I)+" SI="+u(a.T.G)+" DI="+u(a.T.F)+"\n";e+=wl(a.T.Eb,f)+" "+wl(a.T.ab,f)+" "+wl(a.T.wb,f);e=e+(f?"\n":" ")+(wl(a.T.wa,f)+" IP="+u(a.T.ra)+vl(a,"V")+vl(a,"D")+
vl(a,"I")+vl(a,"T")+vl(a,"S")+vl(a,"Z")+vl(a,"A")+vl(a,"P")+vl(a,"C"));f&&(f=a.oa,e+=" MS="+u(a.T.ad)+"\n"+xl("LD",a.T.Md.pa,a.T.Md.Xa,a.T.Md.Mc)+" "+xl("GD",null,a.T.Sc,a.T.cf)+" "+xl("ID",null,a.T.dd,a.T.we)+" TR="+u(a.T.Gg.pa)+" A20="+(f.xe==f.Ib?"ON":"OFF"));a.da((c?"":"\n")+e);d&&(a.Dc=[a.T.ra,a.T.wa.pa,void 0],ll(a,$(a.Dc)))}}function Fl(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;za(b,function(){return Va(a,!0)&&a.Af(e,d,!1)},function(){Kb(a.T);Va(a,!1)})}
function ll(a,b,c,d){b=Al(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.oa.xe];if(void 0!==c){e=Al(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.da("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Dc[0];d--&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){var f=a.ub(b),g=Wa(a,!1)||a.oc?a.$c:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=ul(a,b);if(h[0]){var l=h[0]+":";c=!1;h[2]&&(l+=" "+h[2]);a.da(l)}c&&a.da();h[3]&&(f=h[3],
g=null);c=tl(a,b,f,g);a.da(c);a.Dc=b;c=!1}}}function hl(a,b,c){c&&(b?a.Ph=b:b=a.Ph);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ja(a[d]);return a}
function il(a,b){!b.length&&a.gf&&(a.da("ended assemble @"+$(a.te)),a.Dc=a.te,a.gf=!1);b=b.toLowerCase();if(Xa(a)&&!Wa(a,!0)&&0<b.length){if(a.gf)b="a "+$(a.te)+" "+b;else{var c,d,e;switch(b){case "reset":a.Ea&&a.Ea.reset();return;default:for(d=b.charAt(0),e=1;e<b.length;e++){c=b.charAt(e);if(" "==c)break;if("r"==d||"a">c||"z"<c){b=b.substring(0,e)+" "+b.substring(e);break}}}}c=b.split(" ");switch(c[0].charAt(0)){case "a":var f=Al(a,c[1],1);if(null!=f[0])if(a.te=f,void 0===c[2])a.da("begin assemble @"+
$(f)),a.gf=!0,Kb(a.T);else if(a.da("not supported yet"),c=[],c.length){for(var g=0;g<c.length;g++)a.Nd(f,c[g],1);a.da(tl(a,a.te))}break;case "b":a:if(f=c[1],(c=c[0].charAt(1))&&"?"!=c)if("l"==c)f=0+sl(a,a.vc),f+=sl(a,a.Td),(f+=sl(a,a.Qc))||a.da("no breakpoints");else if(void 0===f)a.da("missing breakpoint address");else{g=[];if("*"!=f&&(g=Al(a,f,1),null==g[0]))break a;f=null==g[0]?f:u(g[0]);"c"==c?null==g[0]?(Yk(a),a.da("all breakpoints cleared")):rl(a,a.vc,g,!0)||rl(a,a.Td,g,!0)||rl(a,a.Qc,g,!0)||
a.da("breakpoint missing: "+$(g)):"i"==c?a.da("breakpoint "+(nb(a.oa,g[0])?"enabled":"cleared")+": port "+f+" (input)"):"o"==c?a.da("breakpoint "+(rb(a.oa,g[0])?"enabled":"cleared")+": port "+f+" (output)"):null!=g[0]&&("p"==c?a.Xd(a.vc,g):"r"==c?a.Xd(a.Td,g):"w"==c?a.Xd(a.Qc,g):a.da("unknown breakpoint command: "+c))}else a.da("\nbreakpoint commands:"),a.da("\tbi [p]\ttoggle break on input port [p]"),a.da("\tbo [p]\ttoggle break on output port [p]"),a.da("\tbp [a]\tset exec breakpoint at addr [a]"),
a.da("\tbr [a]\tset read breakpoint at addr [a]"),a.da("\tbw [a]\tset write breakpoint at addr [a]"),a.da("\tbc [a]\tclear breakpoint at addr [a]"),a.da("\tbl\tlist all breakpoints");break;case "c":a.Yf&&(a.Yf.value="");break;case "d":a:{var h=c[0],g=c[1],l=c[2],n;if("?"==g){f="symbols";for(n in Y)a.gi[n]&&(f.length&&(f+=","),f+=Y[n].Ma);f+=",state";a.da("\ndump commands:");a.da("\tdb [a] [#] dump bytes at address a");a.da("\tdw [a] [#] dump words at address a");a.da("\tds [s] dump descriptor for selector s");
f.length&&a.da("dumps are also available for: "+f)}else if("state"==g)a.da(Gl(a.Ea,!0));else if("symbols"==g)for(c=0;c<a.xc.length;c++)for(f in g=a.xc[c][0],h=a.xc[c][2],h)"."!=f.charAt(0)&&(l=h[f],n=l.o,void 0!==n&&(l=l.s,void 0===l&&(l=g>>>4),(d=h[f].l)&&(f=d),a.da(da(n,l)+" "+f)));else{for(n in Y)if(g==Y[n].Ma){(f=a.gi[n])?f(l):a.da("no dump registered for "+g);break a}f=Al(a,g,2);if(null!=f[0])if("ds"==h)if(c=ol(a,f[0]),null!=c.pa){f="selector="+u(f[0])+" limit="+u(c.Mc)+" base="+p(c.Xa);if(c.cb){f+=
" access="+u(c.cb);if(c.cb&4096)c.cb&2048?(f=f+"code:"+(c.cb&512?"readable,":"execonly,"),f+=c.cb&1024?"conforming,":"nonconforming,"):(f+="data:",f+=c.cb&512?"writeable,":"readonly,",f+=c.cb&1024?"expand down,":"expand up,"),f+=c.cb&256?"accessed":"not accessed";else switch(f+="type:",c.cb&7936){case 256:f+="tss";break;case 512:f+="ldt";break;case 768:f+="tss(busy)";break;case 1024:f+="call";break;case 1280:f+="task";break;case 1536:f+="int";break;case 1792:f+="trap";break;default:f+="unknown"}f+=
",dpl"+(c.cb>>13&24576);f+=c.cb&32768?",present":",not present"}a.da(f)}else a.da("invalid selector: "+u(f[0]));else{c=0;void 0!==l&&("l"==l.charAt(0)&&(l=l.substr(1)),c=parseInt(l,10));n="";c||(c=8);for(l=0;l<c;l++){e=d="";for(var g=$(f),q=0,t=0;16>t;t++){var s=a.ub(f,1);"dw"==h?t&1&&(d+=u(q|s<<8)+(7==t?" - ":" ")):d+=r(s)+(7==t?"-":" ");e+=32<=s&&128>s?String.fromCharCode(s):".";q=s}n&&(n+="\n");n+=g+" "+d+" "+e}n&&a.da(n);a.ik=f}}}break;case "e":f=c[1];if(void 0===f)a.da("missing address");else if(f=
Al(a,f,2),null!=f[0])for(g=2;g<c.length;g++)h=parseInt(c[g],16),a.da("setting "+$(f)+" to "+r(h)),a.Nd(f,h,1);break;case "f":Dl(a,c[1]);break;case "g":a:{f=c[1];if(void 0!==f){f=Al(a,f,1);if(null==f[0])break a;a.Xd(a.vc,f,!0)}a.Qe(!0)||a.da('cpu not available, "g" command ignored')}break;case "h":l=c[1];if(a.Nb&&void 0===l)a.Ab();else{f="";c=10;g=a.of;h=a.Wd;if(h.length)for(n=void 0===l?a.Vl:parseInt(l,10),isNaN(n)?n=c:f="more ",n>h.length&&(a.da("note: only "+h.length+" available"),n=h.length),g-=
n,0>g&&(null!=h[h.length-1][1]?g+=h.length:(n=g+n,g=0)),void 0!==l&&a.da(n+" instructions earlier:");c&&g!=a.of;){l=h[g];if(null==l[1])break;l=[l[0],l[1],l[2]];a.da(tl(a,l,"history",-n));++g==h.length&&(g=0);a.Vl=--n;c--}10==c&&(a.da("no "+f+"history available"),a.Vl=void 0)}break;case "i":(f=c[1])&&"?"!=f?(f=Bl(a,f),void 0!==f&&(c=pb(a.oa,f),a.da(u(f)+": "+r(c)))):(a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state"));break;case "l":El(a,
c);break;case "m":a:{f=null;h=c[1];"?"==h&&(h=void 0);if(void 0!==h){n=0;if("all"==h)n=4294967295,h=null;else if("on"==h)f=!0,h=null;else if("off"==h)f=!1,h=null;else{for(g in Y)if(h==Y[g].Ma){n=Y[g].La;f=!!(a.hc&n);break}if(!n){a.da("unknown message category: "+h);break a}}n&&("on"==c[2]?(a.hc|=n,f=!0):"off"==c[2]&&(a.hc&=~n,f=!1))}c=0;n="";for(g in Y)if(!h||h==Y[g].Ma)if(l=!!(a.hc&Y[g].La),null===f||f==l)n&&(n+=","),++c%10||(n+="\n\t"),n+=Y[g].Ma;void 0===h&&a.da("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");
a.da((null!==f?f?"messages on: ":"messages off: ":"message categories:\n\t")+(n||"none"))}break;case "o":f=c[1];c=c[2];f&&"?"!=f?(f=Bl(a,f,"port #"),c=Bl(a,c),void 0!==f&&void 0!==c&&tb(a.oa,f,c)):(a.da("\noutput commands:"),a.da("\to [p] [d]\twrite data [d] to port [p]"),a.da("warning: port accesses can affect hardware state"));break;case "p":case "pr":f="pr"==c[0]?1:0;c=1+f;if(a.oc)a.da("step in progress");else{h=!1;n=[a.T.ra,a.T.wa.pa,void 0];do switch(g=!1,a.ub(n)){case 38:case 46:case 54:case 62:case 240:ql(n,
1);g=!0;break;case 204:case 206:a.oc=c;ql(n,1);break;case 205:case 224:case 225:case 226:a.oc=c;ql(n,2);break;case 232:a.oc=c;ql(n,3);break;case 154:a.oc=c;ql(n,5);break;case 255:a.oc=0<=tl(a,n).indexOf("CALL")?c:0;break;case 243:case 242:ql(n,1);h=g=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:h&&(a.oc=c,ql(n,1))}while(g);a.oc?(a.Xd(a.vc,n,!0),a.Qe()||(a.T.Od(),a.oc=0)):Fl(a,f?"tr":"t")}break;case "r":kl(a,c);break;case "t":case "tr":Fl(a,c[0],
c[1]);break;case "u":ll(a,c[1],c[2],8);break;case "x":a:if(void 0===c[1]||"?"==c[1])a.da("\nexecution options:"),a.da("\tcs int #\tset checksum cycle interval to #"),a.da("\tcs start #\tset checksum cycle start count to #"),a.da("\tcs stop #\tset checksum cycle stop count to #"),a.da("\tsp #\t\tset speed multiplier to #");else switch(c[1]){case "cs":void 0!==c[3]&&(l=parseInt(c[3],10));switch(c[2]){case "int":a.T.qf=l;break;case "start":a.T.jg=l;break;case "stop":a.T.sf=l;break;default:a.da("unknown cs option");
break a}void 0!==l&&Hb(a.T);a.da("checksums "+(a.T.hf?"enabled":"disabled"));break;case "sp":void 0!==c[2]&&Nb(a.T,parseInt(c[2],10));a.da("target speed: "+(a.T.Je.toFixed(2)+"Mhz")+" ("+a.T.Gd+"x)");break;default:a.da("unknown option: "+c[1])}break;case "?":f="commands:";for(h in $k)f+="\n"+h+" ".substr(0,7-h.length)+$k[h];rd(a)||(f+="\nnote: frequency/history disabled if no exec breakpoints");a.da(f);break;default:a.da("unknown command: "+b)}}}
Fa(function(){for(var a=B(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Xk(d);Ua(d,c)}});function H(a,b,c){this.id=a.id;this.key=Hl(a,b,c);this.Y=a.Y;Il(this,a.mp)}function Hl(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
H.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Fi=!0):this.Fi?!0:va()&&(a=wa(this.key))?(this[this.id]=a,this.Fi=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){w(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){Il(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}},Qa:function(a){this.Y&&D(this.Y,this.Y.zm)&&this.Y.message(a)}};function Il(a,b){a[a.id]={};b&&a.set("parms",b);a.Fi=!1}
function Jl(a){var b=!0;if(va()){var c=JSON.stringify(a[a.id]);xa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function Kl(a,b,c){x.call(this,"Computer",a,Kl);this.Mb=!1;this.gg=a.buswidth;this.Oc=Ll;this.Eg=null;this.vh=!1;this.url=b?b.url:null;this.up=(Math.random()+0.1).toString(36).substr(2,12);this.Pc=Ml(this);if(this.T=Ta("CPU",this.id)){this.Y=Ta("Debugger",this.id);this.oa=new ab({id:this.Ah+".bus",buswidth:this.gg},this.T,this.Y);var d,e=Ra(this.id);if((this.yg=Ta("Panel",this.id))&&this.yg.Yf)for(b=0;b<e.length;b++)d=e[b],d.Ha=this.yg.Ha,d.da=this.yg.da,d.Yf=this.yg.Yf;for(b=0;b<e.length;b++)d=e[b],
d.qc&&d.qc(this,this.oa,this.T,this.Y);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Vh=d:this.Oc=parseInt(d,10));var f;if(a=Ma&&Ma.state||(f=!0,a.state))b=this.gm=a,f||(this.vh=!0,this.Oc=Ll),this.Oc&&(this.Yh=new H(this,"1.15.7"),this.Yh.load()?b=null:delete this.Yh);!b&&this.Oc&&(f=null,this.Pc&&(f=ta()+"/api/v1/user?req=load&user="+this.Pc+"&state="+Hl(this,"1.15.7")),b=f)&&(this.vh=!0);b?sa(b,!0,null,this,this.qo):this.Sa();c||Nl(this,this.Oh)}else w("Unable to find CPU component")}y(x,Kl);
var Kk=102,Ll=0;k=Kl.prototype;k.mf=function(){return this.up};k.ie=function(){return this.Pc?this.Pc:""};k.qo=function(a,b,c){c?(this.Vh=null,this.vh=!1,this.Ha("Unable to load machine state from server (error "+c+(b?": "+ja(b):"")+")")):this.Eg=b;this.Sa()};function Nl(a,b,c){for(var d=Ra(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Xa(f)){Xa(f,function(){Nl(a,b,c)});return}}b.call(a,c)}
function Ol(a,b){var c=new H(a,"1.15.7","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ha("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Oh=function(a){void 0===a&&(a=this.Oc||(this.Eg?1:Ll));var b=!1,c=!1;this.Ek=!1;var d=this.Yh||new H(this,"1.15.7");if(-1==a)b=!0;else if(a>Ll){if(d.load(this.Eg)){this.Te=new H(this,"1.15.7","failsafe");this.Te.load()&&(Pl(this,d),a=2,Il(this.Te));this.Te.set("timestamp",pa());Jl(this.Te);var e=this.Oc&&!this.vh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Ha("Error: "+g),"unable to verify user"==g&&(xa("user",""),this.Pc=null)):this.da(f+": "+g),Il(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Ol(this,c?d:null)}else 2==a&&d.clear()}else Ol(this);delete this.Eg;delete this.Yh}e=Ra(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.T&&(c=Ql(this,g,d,b,c));b=[d,a,c];-1!=a?Nl(this,this.Ak,b):this.Ak(b)};
function Ql(a,b,c,d,e){if(!b.Mb){b.Mb=!0;if(b.Zb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Zb(f,d)&&f&&(w("Unable to restore state for "+b.type),a.gm&&!a.Eg?(c.clear(),a.Oc=Ll,window&&window.location.reload()):a.Ek=!0,b.Zb(null),e=!1)}if(!d&&b.wk)for(a=b.wk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Ak=function(a){var b=a[0],c=0>a[1];a=a[2];this.Mb=!0;this.Ck||(this.da("PCjs v1.15.7\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ck=!0);this.T&&Ql(this,this.T,b,c,a);this.Ek&&(Pl(this,b),b.clear());!c&&this.Te&&(this.Te.clear(),delete this.Te)};
function Pl(a,b){if(ua("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ie(),d=b.toString(),e={app:"PCjs",ver:"1.15.7"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}}
function Gl(a,b,c){var d,e="none",f=new H(a,"1.15.7"),g=new H(a,"1.15.7","validate"),h=pa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.15.7");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.Yb&&(c&&a.T.Ab(),d=a.T.Yb(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.Mb=!1,!1===d&&(e=null)));for(var h=Ra(a.id),l=0;l<h.length;l++){var n=h[l];n.Mb&&(n.Yb&&(d=n.Yb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.Mb=!1,!1===d&&
(e=null)))}e&&(c?(h=d=!1,b?(a.Pc&&Rl(a,a.Pc,f.toString()),Jl(g)&&Jl(f)||(e=null,d=h=!0)):a.Oc&&(d=!0,h=3==a.Oc),d&&f.clear(h)):e=f.toString());c&&(a.Mb=!1);return e}k.reset=function(){this.oa&&this.oa.reset&&(this.Qa("Resetting "+this.oa.type,!0),this.oa.reset());for(var a=Ra(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&(this.Qa("Resetting "+c.type,!0),c.reset())}};
k.start=function(a,b){for(var c=Ra(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Ra(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.xb=function(a,b,c,d){var e=this;switch(c){case "save":return this.ta[c]=d,d.onclick=function(){var a=Ml(e,!0);if(a){var b=!(!e.Oc||e.Vh),c=Gl(e,b);b?Rl(e,a,c):e.Ha("Resume disabled, machine state not saved")}},!0;case "reset":return this.ta[c]=d,d.onclick=function(){Mb(e)},!0}return!1};
function Ml(a,b){var c=a.Pc;c||(c=wa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email Jeff@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Sl(a,c))||a.Ha("Your user ID has not been approved."))):b&&a.Ha("Browser local storage is not available"));return c}
function Sl(a,b){a.Pc=null;var c=sa(ta()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(xa("user",c.data),a.Pc=c.data)}catch(e){w(e.message+" ("+d+")")}return a.Pc}
function Rl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hl(a,"1.15.7");d.data=c;b=sa(ta()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ha(c),xa("user",""),a.Pc=null)}}
function Mb(a){if(a.Oc&&!a.Vh){var b=!ua("Click OK to save the PCjs machine state.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Gl(a,b,!0);!b&&a.gm?window&&window.location.reload():(b||(a.Gi=!0),a.Oh(Ll),a.Gi=!1)}else a.reset(),a.T&&Ib(a.T)}function C(a,b,c){a=Ra(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}k.Qa=function(a,b){this.Y&&(b||D(this.Y,this.Y.rm))&&this.Y.message(a)};
Fa(function(){for(var a=B(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=B(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=A(f),g=new Kl(g,d,!0);Ua(g,f);Nl(g,g.Oh)}});Ba.show.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ta("Computer",c.id))&&c.Ck&&!c.Mb&&c.Oh(-1)}});
Ba.exit.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ta("Computer",c.id))&&c.Mb&&Gl(c,!(!c.Oc||c.Vh),!0)}});var Tl=0;function Ul(a,b,c,d,e,f){e("Loading "+a+"...");sa(a,!0,null,null,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):Vl(h,a,b,c,d,e,f)})}
function Vl(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if(0===a.indexOf("<"))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){h=
null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Wl(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Wl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Wl(a,b,c)}})}else c(a,null)}
function Xl(a,b,c,d){function e(a){if(void 0===l){var b=h&&B(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ha(a))}function f(a){e("Error: "+a);n&&g();n=!1}function g(){0==--Tl&&Ia(!0)}var h,l,n=!0;Tl++;try{if(h=window.document.getElementById(a)){c||(c="/versions/pcjs/1.15.7/components.xsl");var q=function(a,d){if(d){var l=function(a,l){if(l)if(l)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=d.transformNode(l);n?(h.outerHTML=n,g()):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(l),(n=n.transformToFragment(d,window.document))?(h.parentNode.replaceChild(n,h),g()):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Ul(c,null,null,!1,e,l):f("failed to load XML file: "+b)}else f(a)};"<"!=b.substr(0,1)?Ul(b,a,d,!0,e,q):Vl(b,null,a,d,!1,e,q)}else f("failed to find machine element: "+a)}catch(t){f(t.message)}return n}
window.embedPC=function(a,b,c,d){return Xl(a,b,c,d)};window.enableEvents=Ia;window.sendEvent=Ja;Ia(!1);})();//@ sourceMappingURL=/tmp/pcjs/1.15.7/pc-dbg.map
break;case "BP":a.T.I=b&65535;break;case "SI":a.T.G=b&65535;break;case "DI":a.T.F=b&65535;break;case "DS":fd(a.T,b);break;case "ES":hd(a.T,b);break;case "SS":gd(a.T,b);break;case "CS":d=!0;ed(a.T,b);a.Dc=[a.T.ra,a.T.wa.pa,void 0];break;case "IP":d=!0;K(a.T,b);a.Dc=[a.T.ra,a.T.wa.pa,void 0];break;case "C":b?ud(a.T):pd(a.T);break;case "P":b?(c=a.T,kd(c)||(c.ka^=1)):(c=a.T,kd(c)&&(c.ka^=1));break;case "A":b?vd(a.T):qd(a.T);break;case "Z":b?wd(a.T):rd(a.T);break;case "S":b?zd(a.T):sd(a.T);break;case "I":b?
(c=a.T,c.ya|=512):(c=a.T,c.ya&=-513);break;case "D":b?(c=a.T,c.ya|=1024):(c=a.T,c.ya&=-1025);break;case "V":b?Ad(a.T):td(a.T);break;default:a.da("unknown register: "+f);return}Qb(a.T);a.da("\nupdated registers:");c=!0}}f=e;void 0===f&&(f=!!(a.T.ad&1));e="AX="+u(a.T.H)+" BX="+u(a.T.C)+" CX="+u(a.T.J)+" DX="+u(a.T.K)+" SP="+u(a.T.Z)+" BP="+u(a.T.I)+" SI="+u(a.T.G)+" DI="+u(a.T.F)+"\n";e+=Nl(a.T.Eb,f)+" "+Nl(a.T.ab,f)+" "+Nl(a.T.wb,f);e=e+(f?"\n":" ")+(Nl(a.T.wa,f)+" IP="+u(a.T.ra)+Ml(a,"V")+Ml(a,"D")+
Ml(a,"I")+Ml(a,"T")+Ml(a,"S")+Ml(a,"Z")+Ml(a,"A")+Ml(a,"P")+Ml(a,"C"));f&&(f=a.oa,e+=" MS="+u(a.T.ad)+"\n"+Ol("LD",a.T.Md.pa,a.T.Md.Xa,a.T.Md.Mc)+" "+Ol("GD",null,a.T.Sc,a.T.cf)+" "+Ol("ID",null,a.T.dd,a.T.we)+" TR="+u(a.T.Gg.pa)+" A20="+(f.xe==f.Ib?"ON":"OFF"));a.da((c?"":"\n")+e);d&&(a.Dc=[a.T.ra,a.T.wa.pa,void 0],Bl(a,Hl(a.Dc)))}}function Ul(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;za(b,function(){return Za(a,!0)&&a.Af(e,d,!1)},function(){Qb(a.T);Za(a,!1)})}
function Bl(a,b,c,d){b=Pl(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.oa.xe];if(void 0!==c){e=Pl(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.da("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Dc[0];d--&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){var f=a.ub(b),h=$a(a,!1)||a.oc?a.$c:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)h=null,d||d++;var f=null!=h?"cycles":null,g=Ll(a,b);if(g[0]){var l=g[0]+":";c=!1;g[2]&&(l+=" "+g[2]);a.da(l)}c&&a.da();g[3]&&(f=g[3],
h=null);c=Kl(a,b,f,h);a.da(c);a.Dc=b;c=!1}}}function xl(a,b,c){c&&(b?a.Ph=b:b=a.Ph);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a}
function yl(a,b){try{if(!b.length&&a.gf&&(a.da("ended assemble @"+Hl(a.te)),a.Dc=a.te,a.gf=!1),b=b.toLowerCase(),ab(a)&&!$a(a,!0)&&0<b.length){if(a.gf)b="a "+Hl(a.te)+" "+b;else{var c,d,e;switch(b){case "reset":a.Ea&&a.Ea.reset();return;default:for(d=b.charAt(0),e=1;e<b.length;e++){c=b.charAt(e);if(" "==c)break;if("r"==d||"a">c||"z"<c){b=b.substring(0,e)+" "+b.substring(e);break}}}}var f=b.split(" ");switch(f[0].charAt(0)){case "a":var h=Pl(a,f[1],1);if(null!=h[0])if(a.te=h,void 0===f[2])a.da("begin assemble @"+
Hl(h)),a.gf=!0,Qb(a.T);else{var g;a.da("not supported yet");g=[];if(g.length){for(var l=0;l<g.length;l++)a.Nd(h,g[l],1);a.da(Kl(a,a.te))}}break;case "b":a:{var n=f[1],p=f[0].charAt(1);if(p&&"?"!=p)if("l"==p)l=0,l+=Jl(a,a.vc),l+=Jl(a,a.Td),(l+=Jl(a,a.Qc))||a.da("no breakpoints");else if(void 0===n)a.da("missing breakpoint address");else{l=[];if("*"!=n&&(l=Pl(a,n,1),null==l[0]))break a;n=null==l[0]?n:u(l[0]);"c"==p?null==l[0]?(nl(a),a.da("all breakpoints cleared")):Il(a,a.vc,l,!0)||Il(a,a.Td,l,!0)||
Il(a,a.Qc,l,!0)||a.da("breakpoint missing: "+Hl(l)):"i"==p?a.da("breakpoint "+(tb(a.oa,l[0])?"enabled":"cleared")+": port "+n+" (input)"):"o"==p?a.da("breakpoint "+(xb(a.oa,l[0])?"enabled":"cleared")+": port "+n+" (output)"):null!=l[0]&&("p"==p?a.Xd(a.vc,l):"r"==p?a.Xd(a.Td,l):"w"==p?a.Xd(a.Qc,l):a.da("unknown breakpoint command: "+p))}else a.da("\nbreakpoint commands:"),a.da("\tbi [p]\ttoggle break on input port [p]"),a.da("\tbo [p]\ttoggle break on output port [p]"),a.da("\tbp [a]\tset exec breakpoint at addr [a]"),
a.da("\tbr [a]\tset read breakpoint at addr [a]"),a.da("\tbw [a]\tset write breakpoint at addr [a]"),a.da("\tbc [a]\tclear breakpoint at addr [a]"),a.da("\tbl\tlist all breakpoints")}break;case "c":a.Yf&&(a.Yf.value="");break;case "d":a:{var l=f[0],s=f[1],t=f[2],v;if("?"==s){l="symbols";for(v in Z)a.gi[v]&&(l.length&&(l+=","),l+=Z[v].Ma);l+=",state";a.da("\ndump commands:");a.da("\tdb [a] [#] dump bytes at address a");a.da("\tdw [a] [#] dump words at address a");a.da("\tds [s] dump descriptor for selector s");
l.length&&a.da("dumps are also available for: "+l)}else if("state"==s)a.da(Vl(a.Ea,!0));else if("symbols"==s)for(l=0;l<a.xc.length;l++){var A=a.xc[l][0],C=a.xc[l][2],U;for(U in C)if("."!=U.charAt(0)){var ia=C[U],Ha=ia.o;if(void 0!==Ha){var rb=ia.s;void 0===rb&&(rb=A>>>4);var ac=C[U].l;ac&&(U=ac);a.da(da(Ha,rb)+" "+U)}}}else{for(v in Z)if(s==Z[v].Ma){var Ib=a.gi[v];Ib?Ib(t):a.da("no dump registered for "+s);break a}var V=Pl(a,s,2);if(null!=V[0])if("ds"==l){var J=El(a,V[0]);if(null!=J.pa){var y="selector="+
u(V[0])+" limit="+u(J.Mc)+" base="+q(J.Xa);if(J.cb){y+=" access="+u(J.cb);if(J.cb&4096)J.cb&2048?(y+="code:",y+=J.cb&512?"readable,":"execonly,",y+=J.cb&1024?"conforming,":"nonconforming,"):(y+="data:",y+=J.cb&512?"writeable,":"readonly,",y+=J.cb&1024?"expand down,":"expand up,"),y+=J.cb&256?"accessed":"not accessed";else switch(y+="type:",J.cb&7936){case 256:y+="tss";break;case 512:y+="ldt";break;case 768:y+="tss(busy)";break;case 1024:y+="call";break;case 1280:y+="task";break;case 1536:y+="int";
break;case 1792:y+="trap";break;default:y+="unknown"}y+=",dpl"+(J.cb>>13&24576);y+=J.cb&32768?",present":",not present"}a.da(y)}else a.da("invalid selector: "+u(V[0]))}else{var R=0;void 0!==t&&("l"==t.charAt(0)&&(t=t.substr(1)),R=parseInt(t,10));var H="";R||(R=8);for(var sb=0;sb<R;sb++){for(var Ia=f="",s=Hl(V),ea=0,W=0;16>W;W++){var Sa=a.ub(V,1);"dw"==l?W&1&&(f+=u(ea|Sa<<8)+(7==W?" - ":" ")):f+=r(Sa)+(7==W?"-":" ");Ia+=32<=Sa&&128>Sa?String.fromCharCode(Sa):".";ea=Sa}H&&(H+="\n");H+=s+" "+f+" "+
Ia}H&&a.da(H);a.ik=V}}}break;case "e":var xc=f[1];if(void 0===xc)a.da("missing address");else{var bc=Pl(a,xc,2);if(null!=bc[0])for(l=2;l<f.length;l++){var Mj=parseInt(f[l],16);a.da("setting "+Hl(bc)+" to "+r(Mj));a.Nd(bc,Mj,1)}}break;case "f":Sl(a,f[1]);break;case "g":a:{var Nj=f[1];if(void 0!==Nj){var Oj=Pl(a,Nj,1);if(null==Oj[0])break a;a.Xd(a.vc,Oj,!0)}a.Qe(!0)||a.da('cpu not available, "g" command ignored')}break;case "h":Ia=f[1];if(a.Nb&&void 0===Ia)a.Ab();else{l="";s=10;ea=a.of;W=a.Wd;if(W.length){var Ka=
void 0===Ia?a.Vl:parseInt(Ia,10);isNaN(Ka)?Ka=s:l="more ";Ka>W.length&&(a.da("note: only "+W.length+" available"),Ka=W.length);ea-=Ka;0>ea&&(null!=W[W.length-1][1]?ea+=W.length:(Ka=ea+Ka,ea=0));for(void 0!==Ia&&a.da(Ka+" instructions earlier:");s&&ea!=a.of;){var ec=W[ea];if(null==ec[1])break;ec=[ec[0],ec[1],ec[2]];a.da(Kl(a,ec,"history",-Ka));++ea==W.length&&(ea=0);a.Vl=--Ka;s--}}10==s&&(a.da("no "+l+"history available"),a.Vl=void 0)}break;case "i":var Be=f[1];if(Be&&"?"!=Be){var Ce=Ql(a,Be);if(void 0!==
Ce){var km=vb(a.oa,Ce);a.da(u(Ce)+": "+r(km))}}else a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state");break;case "l":Tl(a,f);break;case "m":a:{l=null;H=f[1];"?"==H&&(H=void 0);if(void 0!==H){s=0;if("all"==H)s=4294967295,H=null;else if("on"==H)l=!0,H=null;else if("off"==H)l=!1,H=null;else{for(R in Z)if(H==Z[R].Ma){s=Z[R].La;l=!!(a.hc&s);break}if(!s){a.da("unknown message category: "+H);break a}}s&&("on"==f[2]?(a.hc|=s,l=!0):"off"==f[2]&&
(a.hc&=~s,l=!1))}s=0;V="";for(R in Z)if(!H||H==Z[R].Ma)if(sb=!!(a.hc&Z[R].La),null===l||l==sb)V&&(V+=","),++s%10||(V+="\n\t"),V+=Z[R].Ma;void 0===H&&a.da("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.da((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(V||"none"))}break;case "o":var De=f[1],lm=f[2];if(De&&"?"!=De){var Pj=Ql(a,De,"port #"),Qj=Ql(a,lm);void 0!==Pj&&void 0!==Qj&&zb(a.oa,Pj,Qj)}else a.da("\noutput commands:"),a.da("\to [p] [d]\twrite data [d] to port [p]"),
a.da("warning: port accesses can affect hardware state");break;case "p":case "pr":var Rj="pr"==f[0]?1:0,l=1+Rj;if(a.oc)a.da("step in progress");else{var xd,s=!1,La=[a.T.ra,a.T.wa.pa,void 0];do switch(xd=!1,a.ub(La)){case 38:case 46:case 54:case 62:case 240:Gl(La,1);xd=!0;break;case 204:case 206:a.oc=l;Gl(La,1);break;case 205:case 224:case 225:case 226:a.oc=l;Gl(La,2);break;case 232:a.oc=l;Gl(La,3);break;case 154:a.oc=l;Gl(La,5);break;case 255:a.oc=0<=Kl(a,La).indexOf("CALL")?l:0;break;case 243:case 242:Gl(La,
1);s=xd=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:s&&(a.oc=l,Gl(La,1))}while(xd);a.oc?(a.Xd(a.vc,La,!0),a.Qe()||(a.T.Od(),a.oc=0)):Ul(a,Rj?"tr":"t")}break;case "r":Al(a,f);break;case "t":case "tr":Ul(a,f[0],f[1]);break;case "u":Bl(a,f[1],f[2],8);break;case "x":a:if(void 0===f[1]||"?"==f[1])a.da("\nexecution options:"),a.da("\tcs int #\tset checksum cycle interval to #"),a.da("\tcs start #\tset checksum cycle start count to #"),a.da("\tcs stop #\tset checksum cycle stop count to #"),
a.da("\tsp #\t\tset speed multiplier to #");else switch(f[1]){case "cs":var Bc;void 0!==f[3]&&(Bc=parseInt(f[3],10));switch(f[2]){case "int":a.T.qf=Bc;break;case "start":a.T.jg=Bc;break;case "stop":a.T.sf=Bc;break;default:a.da("unknown cs option");break a}void 0!==Bc&&Nb(a.T);a.da("checksums "+(a.T.hf?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&Tb(a.T,parseInt(f[2],10));a.da("target speed: "+(a.T.Je.toFixed(2)+"Mhz")+" ("+a.T.Gd+"x)");break;default:a.da("unknown option: "+f[1])}break;case "?":var l=
"commands:",yd;for(yd in pl)l+="\n"+yd+" ".substr(0,7-yd.length)+pl[yd];Bd(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.da(l);break;default:a.da("unknown command: "+b)}}}catch(mm){a.da("debugger sad: "+mm.message)}}Fa(function(){for(var a=D(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new ml(d);Ya(d,c)}});function I(a,b,c){this.id=a.id;this.key=Wl(a,b,c);this.Y=a.Y;Xl(this,a.mp)}
function Wl(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
I.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Fi=!0):this.Fi?!0:va()&&(a=wa(this.key))?(this[this.id]=a,this.Fi=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){w(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){Xl(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}},Qa:function(a){this.Y&&E(this.Y,this.Y.zm)&&this.Y.message(a)}};function Xl(a,b){a[a.id]={};b&&a.set("parms",b);a.Fi=!1}
function Yl(a){var b=!0;if(va()){var c=JSON.stringify(a[a.id]);xa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function Zl(a,b,c){x.call(this,"Computer",a,Zl);this.Mb=!1;this.gg=a.buswidth;this.Oc=$l;this.Eg=null;this.vh=!1;this.url=b?b.url:null;this.up=(Math.random()+0.1).toString(36).substr(2,12);this.Pc=am(this);if(this.T=Xa("CPU",this.id)){this.Y=Xa("Debugger",this.id);this.oa=new fb({id:this.Ah+".bus",buswidth:this.gg},this.T,this.Y);var d,e=Va(this.id);if((this.yg=Xa("Panel",this.id))&&this.yg.Yf)for(b=0;b<e.length;b++)d=e[b],d.Ha=this.yg.Ha,d.da=this.yg.da,d.Yf=this.yg.Yf;for(b=0;b<e.length;b++)d=e[b],
d.qc&&d.qc(this,this.oa,this.T,this.Y);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Vh=d:this.Oc=parseInt(d,10));var f;if(a=Pa&&Pa.state||(f=!0,a.state))b=this.gm=a,f||(this.vh=!0,this.Oc=$l),this.Oc&&(this.Yh=new I(this,"1.15.7"),this.Yh.load()?b=null:delete this.Yh);!b&&this.Oc&&(f=null,this.Pc&&(f=ta()+"/api/v1/user?req=load&user="+this.Pc+"&state="+Wl(this,"1.15.7")),b=f)&&(this.vh=!0);b?sa(b,!0,null,this,this.qo):this.Sa();c||bm(this,this.Oh)}else w("Unable to find CPU component")}z(x,Zl);
var $k=102,$l=0;k=Zl.prototype;k.mf=function(){return this.up};k.ie=function(){return this.Pc?this.Pc:""};k.qo=function(a,b,c){c?(this.Vh=null,this.vh=!1,this.Ha("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):this.Eg=b;this.Sa()};function bm(a,b,c){for(var d=Va(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ab(f)){ab(f,function(){bm(a,b,c)});return}}b.call(a,c)}
function cm(a,b){var c=new I(a,"1.15.7","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ha("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Oh=function(a){void 0===a&&(a=this.Oc||(this.Eg?1:$l));var b=!1,c=!1;this.Ek=!1;var d=this.Yh||new I(this,"1.15.7");if(-1==a)b=!0;else if(a>$l){if(d.load(this.Eg)){this.Te=new I(this,"1.15.7","failsafe");this.Te.load()&&(dm(this,d),a=2,Xl(this.Te));this.Te.set("timestamp",pa());Yl(this.Te);var e=this.Oc&&!this.vh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),h=d.get("data");f&&("ok"==f?d.load(h):("error"==
f&&"no machine state"!=h?(this.Ha("Error: "+h),"unable to verify user"==h&&(xa("user",""),this.Pc=null)):this.da(f+": "+h),Xl(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&cm(this,c?d:null)}else 2==a&&d.clear()}else cm(this);delete this.Eg;delete this.Yh}e=Va(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.T&&(c=em(this,h,d,b,c));b=[d,a,c];-1!=a?bm(this,this.Ak,b):this.Ak(b)};
function em(a,b,c,d,e){if(!b.Mb){b.Mb=!0;if(b.Zb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Zb(f,d)&&f&&(w("Unable to restore state for "+b.type),a.gm&&!a.Eg?(c.clear(),a.Oc=$l,window&&window.location.reload()):a.Ek=!0,b.Zb(null),e=!1)}if(!d&&b.wk)for(a=b.wk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Ak=function(a){var b=a[0],c=0>a[1];a=a[2];this.Mb=!0;this.Ck||(this.da("PCjs v1.15.7\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ck=!0);this.T&&em(this,this.T,b,c,a);this.Ek&&(dm(this,b),b.clear());!c&&this.Te&&(this.Te.clear(),delete this.Te)};
function dm(a,b){if(ua("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ie(),d=b.toString(),e={app:"PCjs",ver:"1.15.7"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}}
function Vl(a,b,c){var d,e="none",f=new I(a,"1.15.7"),h=new I(a,"1.15.7","validate"),g=pa();h.set("timestamp",g);f.set("timestamp",g);f.set("version","1.15.7");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.Yb&&(c&&a.T.Ab(),d=a.T.Yb(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.Mb=!1,!1===d&&(e=null)));for(var g=Va(a.id),l=0;l<g.length;l++){var n=g[l];n.Mb&&(n.Yb&&(d=n.Yb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.Mb=!1,!1===d&&
(e=null)))}e&&(c?(g=d=!1,b?(a.Pc&&fm(a,a.Pc,f.toString()),Yl(h)&&Yl(f)||(e=null,d=g=!0)):a.Oc&&(d=!0,g=3==a.Oc),d&&f.clear(g)):e=f.toString());c&&(a.Mb=!1);return e}k.reset=function(){this.oa&&this.oa.reset&&(this.Qa("Resetting "+this.oa.type,!0),this.oa.reset());for(var a=Va(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&(this.Qa("Resetting "+c.type,!0),c.reset())}};
k.start=function(a,b){for(var c=Va(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Va(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.xb=function(a,b,c,d){var e=this;switch(c){case "save":return this.ta[c]=d,d.onclick=function(){var a=am(e,!0);if(a){var b=!(!e.Oc||e.Vh),c=Vl(e,b);b?fm(e,a,c):e.Ha("Resume disabled, machine state not saved")}},!0;case "reset":return this.ta[c]=d,d.onclick=function(){Sb(e)},!0}return!1};
function am(a,b){var c=a.Pc;c||(c=wa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email Jeff@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=gm(a,c))||a.Ha("Your user ID has not been approved."))):b&&a.Ha("Browser local storage is not available"));return c}
function gm(a,b){a.Pc=null;var c=sa(ta()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(xa("user",c.data),a.Pc=c.data)}catch(e){w(e.message+" ("+d+")")}return a.Pc}
function fm(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Wl(a,"1.15.7");d.data=c;b=sa(ta()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ha(c),xa("user",""),a.Pc=null)}}
function Sb(a){if(a.Oc&&!a.Vh){var b=!ua("Click OK to save the PCjs machine state.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Vl(a,b,!0);!b&&a.gm?window&&window.location.reload():(b||(a.Gi=!0),a.Oh($l),a.Gi=!1)}else a.reset(),a.T&&Ob(a.T)}function db(a,b,c){a=Va(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}k.Qa=function(a,b){this.Y&&(b||E(this.Y,this.Y.rm))&&this.Y.message(a)};
Fa(function(){for(var a=D(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],h=B(f),h=new Zl(h,d,!0);Ya(h,f);bm(h,h.Oh)}});Ba.show.push(function(){for(var a=D(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=Xa("Computer",c.id))&&c.Ck&&!c.Mb&&c.Oh(-1)}});
Ba.exit.push(function(){for(var a=D(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=Xa("Computer",c.id))&&c.Mb&&Vl(c,!(!c.Oc||c.Vh),!0)}});var hm=0;function im(a,b,c,d,e,f){e("Loading "+a+"...");sa(a,!0,null,null,function(h,g,l){l?(g||(g="unable to load "+a+" ("+l+")"),f(g,null)):jm(g,a,b,c,d,e,f)})}
function jm(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){var g=b;g&&0>g.indexOf("/")&&(g=window.location.pathname+g);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(g?" url=$2"+g+"$2":""))}g=null;if(0===a.indexOf("<"))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(s){g=
null,a=s.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?nm(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function nm(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);nm(a,b,c)}})}else c(a,null)}
function om(a,b,c,d){function e(a){if(void 0===l){var b=g&&D(g,"machine-warning");l=b&&b[0]||g}l&&(l.innerHTML=ja(a))}function f(a){e("Error: "+a);n&&h();n=!1}function h(){0==--hm&&Ja(!0)}var g,l,n=!0;hm++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.15.7/components.xsl");var p=function(a,d){if(d){var l=function(a,l){if(l)if(l)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=d.transformNode(l);n?(g.outerHTML=n,h()):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(l),(n=n.transformToFragment(d,window.document))?(g.parentNode.replaceChild(n,g),h()):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?im(c,null,null,!1,e,l):f("failed to load XML file: "+b)}else f(a)};"<"!=b.substr(0,1)?im(b,a,d,!0,e,p):jm(b,null,a,d,!1,e,p)}else f("failed to find machine element: "+a)}catch(s){f(s.message)}return n}
window.embedPC=function(a,b,c,d){return om(a,b,c,d)};window.enableEvents=Ja;window.sendEvent=Ma;Ja(!1);})();//@ sourceMappingURL=/tmp/pcjs/1.15.7/pc-dbg.map

View file

@ -3,8 +3,8 @@ function fa(a){return a.replace(/[&<>"']/g,function(a){return ea[a]})}function g
function s(a,b,c,d,e,f){b=!!b;var l=0,g=null,m=ca(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(g=n.responseText,200==n.status||!n.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(l=n.status||-1),e&&(d?e.call(d,m,g,l,f):e(m,g,l,f)))});if(c){var q="",u;for(u in c)c.hasOwnProperty(u)&&(q&&(q+="&"),q+=u+"="+encodeURIComponent(c[u]));q=q.replace(/%20/g,"+");n.open("POST",a,
b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(g=n.responseText,200!=n.status&&(l=n.status||-1),e&&(d?e.call(d,m,g,l,f):e(m,g,l,f)),a=[l,g]);return a}function ka(){return"http://"+(window?window.location.host:"www.pcjs.org")}function t(a){window?window.alert(a):console.log(a)}function la(a){var b=!1;window&&(b=window.confirm(a));return b}
function ma(){if(void 0===ja){var a;try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"===window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ja=a}return ja}function na(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var qa={init:[],show:[],exit:[]},ra=!1,sa=!0;function ua(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function v(a){qa.init.push(a)}function va(a){if(sa)for(var b=0;b<a.length;b++)a[b]()}function wa(a){!sa&&a?(sa=!0,ra&&xa("init")):sa=a}
function xa(a){qa[a]&&va(qa[a])}ua("onload",function(){ra=!0;va(qa.init)});ua("onpageshow",function(){va(qa.show)});ua(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){va(qa.exit)});
function pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var qa={init:[],show:[],exit:[]},ra=!1,sa=!0;function ua(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function v(a){qa.init.push(a)}
function va(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to Jeff@pcjs.org. Thanks.")}}function wa(a){!sa&&a?(sa=!0,ra&&xa("init")):sa=a}function xa(a){qa[a]&&va(qa[a])}ua("onload",function(){ra=!0;va(qa.init)});ua("onpageshow",function(){va(qa.show)});ua(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){va(qa.exit)});
function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.mj=b.comment;this.Hn=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.ug=this.id.substr(0,b),this.Ih=this.id.substr(b+1)):this.Ih=this.id;this[a]=c;this.Dh=null;this.Xc=this.Ab=this.Dc=this.uh=this.og=!1;this.pa={};this.Ma=null;this.ug&&this.ug.match(/\d+/);x[x.length]=this}var ya=void 0,za={};
if(window){ya||(ya=window.location.search.substr(1));for(var Aa,Ba=/\+/g,Ca=/([^&=]+)=?([^&]*)/g;Aa=Ca.exec(ya);)za[decodeURIComponent(Aa[1].replace(Ba," "))]=decodeURIComponent(Aa[2].replace(Ba," "))}function Da(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function y(a,b){b.prototype=Da(a.prototype)}var x=[];
function Ea(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Fa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<x.length;c++)if(x[c].id===a)return x[c]}return null}