Final preparations for open source roll-out

This commit is contained in:
Jeff Parsons 2014-10-12 00:08:15 -07:00 committed by jeffpar
commit 60669365f9
40 changed files with 2814 additions and 2639 deletions

View file

@ -1,167 +1,167 @@
(function(){var f;function aa(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 h(a){return aa(a,2)}function p(a){return aa(a,4)}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));return b}var ca={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}function r(){return Date.now()||+new Date}
function s(a,b,c,d,e){b=!!b;var g=0,k=null,n=ba(a),m=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(m.onreadystatechange=function(){4===m.readyState&&(m.onreadystatechange=void 0,k=m.responseText,200!=m.status&&(g=m.status||-1),d&&e&&e.call(d,n,k,g,void 0))});if(c){var l="",q;for(q in c)c.hasOwnProperty(q)&&(l&&(l+="&"),l+=q+"="+encodeURIComponent(c[q]));l=l.replace(/%20/g,"+");m.open("POST",a,b);m.setRequestHeader("Content-type","application/x-www-form-urlencoded");
m.send(l)}else m.open("GET",a,b),m.send();a=[];b||(k=m.responseText,200!=m.status&&(g=m.status||-1),d&&e&&e.call(d,n,k,g,void 0),a=[g,k]);return a}function u(a){window?window.alert(a):console.log(a)}function v(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(){var f;function aa(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 n(a){return aa(a,2)}function q(a){return aa(a,4)}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));return b}var ca={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function da(a){return a.replace(/[&<>"']/g,function(a){return ca[a]})}function r(){return Date.now()||+new Date}
function t(a,b,c,d,e){b=!!b;var g=0,h=null,m=ba(a),l=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(l.onreadystatechange=function(){4===l.readyState&&(l.onreadystatechange=void 0,h=l.responseText,200!=l.status&&(g=l.status||-1),d&&e&&e.call(d,m,h,g,void 0))});if(c){var k="",p;for(p in c)c.hasOwnProperty(p)&&(k&&(k+="&"),k+=p+"="+encodeURIComponent(c[p]));k=k.replace(/%20/g,"+");l.open("POST",a,b);l.setRequestHeader("Content-type","application/x-www-form-urlencoded");
l.send(k)}else l.open("GET",a,b),l.send();a=[];b||(h=l.responseText,200!=l.status&&(g=l.status||-1),d&&e&&e.call(d,m,h,g,void 0),a=[g,h]);return a}function u(a){window?window.alert(a):console.log(a)}function v(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 w={init:[],show:[],exit:[]},ga=!0;function ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){w.init.push(a)}
function y(a){if(ga)for(var b=0;b<a.length;b++)a[b]()}ha("onload",function(){y(w.init)});ha("onpageshow",function(){y(w.show)});ha(v("Opera")||v("iOS")?"onunload":"onbeforeunload",function(){y(w.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.Dd=this.id.substr(0,b),this.Cd=this.id.substr(b+1)):this.Cd=this.id;this[a]=c;this.tc=null;this.ib=this.Ra=this.rc=this.Sb=!1;this.q={};this.l=null;ia(this);A[A.length]=this}var ja=void 0;if(window){ja||(ja=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ja);)ka[1].replace(la," "),ka[2].replace(la," ")}
function na(){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=na()}var A=[];function oa(){}function pa(a,b){b||u(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 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;ia(this);A[A.length]=this}var ja=void 0;if(window){ja||(ja=window.location.search.substr(1));for(var ka,la=/\+/g,ma=/([^&=]+)=?([^&]*)/g;ka=ma.exec(ja);)ka[1].replace(la," "),ka[2].replace(la," ")}
function na(){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=na()}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 D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){u(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 k=g[e];if(k.nodeType===window.document.ELEMENT_NODE){var n=k.getAttribute("class");if(n){var m,l;l=n.split(" ");for(m=0;m<l.length;m++)switch(n=l[m],n){case "c1pjs-input":case "c1pjs-output":(l=D(k))&&l.binding&&a.H(n,l.type,l.binding,k),l=[]}}}}}}
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 m=h.getAttribute("class");if(m){var l,k;k=m.split(" ");for(l=0;l<k.length;l++)switch(m=k[l],m){case "c1pjs-input":case "c1pjs-output":(k=D(h))&&k.binding&&a.I(m,k.type,k.binding,h),k=[]}}}}}}
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},H:function(a,b,c,d){switch(c){case "clear":return this.q[c]||(this.q[c]=d,d.onclick=function(a){return function(){a.q.print&&(a.q.print.value="")}}(this)),!0;case "print":return this.q[c]||(this.q[c]=d,d.value="",oa=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),pa=function(a,b,c){oa(a,"notice",
c)}),!0}return!1},log:function(){},status:function(a){G(this,this.Cd+": "+a)},O:function(a){!this.ib&&(this.Sb=!1!==a)&&(this.name&&this.log("ready"),a=this.tc,this.tc=null,a&&a())}};function H(a,b){if(a.rc)return a.Ra&&(a.Ra=!1),a.rc=!1;if(a.ib)return G(a,a.toString()+" error"),!1;a.Ra=b;return a.Ra}function I(a,b){a.Ra&&(b?a.rc=!0:void 0===b&&G(a,a.toString()+" busy"));return a.Ra}function J(a,b){b&&(a.Sb?b():a.tc=b);return a.Sb}function K(a,b){a.ib=!0;pa("Fatal error: "+b,void 0,a.id)}
function G(a,b){oa(b,void 0,a.id)}function ia(a){var b=1;a.Dd&&(a=a.Dd.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.B=!1}B(qa);qa.prototype.H=function(a,b,c,d){return this.M&&this.M.H(a,b,c,d)||this.k&&this.k.H(a,b,c,d)||this.F&&this.F.H(a,b,c,d)||this.l&&this.l.H(a,b,c,d)?!0:z.prototype.H.call(this,a,b,c,d)};
qa.prototype.aa=function(a,b){a&&!this.B&&(this.B=!0,this.M=b,this.k=L(b,"cpu"),this.F=L(b,"keyboard"),this.l=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.O()}}x(ra);
function sa(a){z.call(this,"C1PCPU",a);ta(this);this.fa=this.B=!1;this.zd=a.autoStart;this.Gb=0;this.nd=1;this.La=2;this.speed=this.Gb;this.ob=1E6;this.zc=this.Bc=30;this.yc=5;this.Nf=1;this.lb=8;this.td=["Slow","Fast","Max"];this.Af=["("+this.Nf+"Mhz)","(up to "+this.lb+"Mhz)","(unlimited)"];this.Ba=[];this.ra=[];this.lc=65536;this.mc=0;this.Kb=65536;this.Lb=0;this.ne=128;this.oe=64;this.je=16;this.le=8;this.me=4;this.pe=2;this.ke=1;this.wf=65532;this.Fb=32;this.ec=2;this.tf=0;this.md=1;this.s=[this.Ag,
this.Uh,this.Li,this.i,this.i,this.Wh,this.qg,this.i,this.Zh,this.Th,this.pg,this.i,this.i,this.Qh,this.ng,this.i,this.zg,this.Vh,this.i,this.i,this.i,this.Xh,this.rg,this.i,this.Dg,this.Sh,this.i,this.i,this.i,this.Rh,this.og,this.i,this.rh,this.jg,this.i,this.i,this.wg,this.lg,this.ei,this.i,this.ai,this.ig,this.di,this.i,this.vg,this.fg,this.bi,this.i,this.xg,this.kg,this.i,this.i,this.i,this.mg,this.fi,this.i,this.vi,this.hg,this.i,this.i,this.i,this.gg,this.ci,this.i,this.li,this.fh,this.i,this.i,
this.i,this.hh,this.Nh,this.i,this.Yh,this.eh,this.Mh,this.i,this.qh,this.ah,this.Kh,this.i,this.Bg,this.gh,this.i,this.i,this.i,this.ih,this.Oh,this.i,this.Fg,this.dh,this.i,this.i,this.i,this.bh,this.Lh,this.i,this.mi,this.Sd,this.i,this.i,this.i,this.Ud,this.ji,this.i,this.$h,this.Rd,this.ii,this.i,this.ph,this.Od,this.gi,this.i,this.Cg,this.Td,this.i,this.i,this.i,this.Vd,this.ki,this.i,this.xi,this.Qd,this.i,this.i,this.i,this.Pd,this.hi,this.i,this.i,this.Bi,this.i,this.i,this.Ji,this.Di,this.Gi,
this.i,this.$g,this.i,this.Pi,this.i,this.Ii,this.yi,this.Fi,this.i,this.sg,this.Ci,this.i,this.i,this.Ki,this.Ei,this.Hi,this.i,this.Ri,this.Ai,this.Qi,this.i,this.i,this.zi,this.i,this.i,this.Hh,this.wh,this.Ch,this.i,this.Ih,this.yh,this.Dh,this.i,this.Ni,this.vh,this.Mi,this.i,this.Fh,this.sh,this.Ah,this.i,this.tg,this.xh,this.i,this.i,this.Jh,this.zh,this.Eh,this.i,this.Gg,this.uh,this.Oi,this.i,this.Gh,this.th,this.Bh,this.i,this.Tg,this.Lg,this.i,this.i,this.Ug,this.Ng,this.Xg,this.i,this.oh,
this.Kg,this.Zg,this.i,this.Sg,this.Hg,this.Vg,this.i,this.yg,this.Mg,this.i,this.i,this.i,this.Og,this.Yg,this.i,this.Eg,this.Jg,this.i,this.i,this.i,this.Ig,this.Wg,this.i,this.Qg,this.$d,this.i,this.i,this.Rg,this.be,this.lh,this.i,this.nh,this.Zd,this.Ph,this.i,this.Pg,this.Wd,this.jh,this.i,this.ug,this.ae,this.i,this.i,this.i,this.ce,this.mh,this.i,this.wi,this.Yd,this.i,this.i,this.i,this.Xd,this.kh,this.i];this.zf=[7,6,0,0,0,3,5,0,3,2,2,0,0,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,3,6,0,0,3,
3,5,0,4,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,3,2,2,0,3,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}B(sa);f=sa.prototype;
f.reset=function(a){this.fa&&this.S();ta(this);var b=this.wf;this.d=this.a[b]|this.a[b+1]<<8;this.ib=!1;this.l?this.l.reset():a&&(!0===this.zd||null===this.zd&&!this.l&&void 0===this.q.run)&&this.xa()};
f.H=function(a,b,c,d){a=!1;switch(c){case "run":this.q[c]=d;d.onclick=function(a){return function(){a.fa?a.S():a.xa()}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.q[c]=d;a=!0;break;case "setSpeed":this.q[c]=d,d.onclick=function(a){return function(){M(a,a.speed>=a.La?a.Gb:a.speed+1,!0)}}(this),a=!0}return a};
f.U=function(a,b,c){this.a=a;this.Z=b;this.pc=c-b+1;this.Xa=this.Z+this.pc;this.Z?u("unsupported CPU address buffer offset ("+this.Z+")"):this.O()};f.aa=function(a,b){if(a&&!this.B){this.M=b;(this.l=L(b,"debugger"))&&this.l.Kf();var c=L(b,"video");c&&(this.qc=function(a){return function(){ua(a)}}(c),this.V=function(a){return function(){a.V()}}(c));this.B=!0;this.reset(!0);this.update()}};function va(a,b,c,d,e){0>wa(a.Ba,b,c,d,e)&&(a.lc>b&&(a.lc=b),a.mc<c&&(a.mc=c),a.Ba.push([b,c,d,e]))}
function xa(a,b,c){for(var d=0;d<a.Ba.length;d++)b>=a.Ba[d][0]&&b<=a.Ba[d][1]&&a.Ba[d][3].call(a.Ba[d][2],b,c)}function N(a,b,c,d,e){0>wa(a.ra,b,c,d,e)&&(a.Kb>b&&(a.Kb=b),a.Lb<c&&(a.Lb=c),a.ra.push([b,c,d,e]))}function za(a,b,c){for(var d=0;d<a.ra.length;d++)b>=a.ra[d][0]&&b<=a.ra[d][1]&&a.ra[d][3].call(a.ra[d][2],b,c)}function wa(a,b,c,d,e){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==e)return g;return-1}
function M(a,b,c){void 0!==b&&(a.speed=b,a.q.setSpeed&&(a.q.setSpeed.innerHTML=a.td[2<=b?0:b+1]),G(a,"running at "+a.td[b].toLowerCase()+" speed "+a.Af[b]),c&&a.V());a.Wa=0;a.Ed=r();Aa(a)}f.qc=function(){};f.V=function(){};function O(a,b,c,d){void 0!==a.q[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.q[b].innerHTML=c.slice(c.length-d).toUpperCase())}
function Ba(a){O(a,"A",a.e,2);O(a,"X",a.m,2);O(a,"Y",a.o,2);var b=Ca(a);O(a,"C",b&a.ke?1:0);O(a,"Z",b&a.pe?1:0);O(a,"I",b&a.me?1:0);O(a,"D",b&a.le?1:0);O(a,"B",b&a.je?1:0);O(a,"V",b&a.oe?1:0);O(a,"N",b&a.ne?1:0);O(a,"S",a.p,4);O(a,"PC",a.d,4);a.q.speed&&a.ta&&(a.q.speed.innerHTML=a.ta.toFixed(1)+"Mhz")}
function Aa(a,b){var c=a.Bc;c<a.zc&&(c=a.zc);c<a.yc&&(c=a.yc);var d=1;b&&a.speed>a.Gb&&a.ta&&(d=a.ta);d>a.lb&&a.speed<a.La&&(d=a.lb);a.Pf=Math.round(1E3/a.Bc);a.Vb=Math.floor(a.ob/c*d);a.uc=Math.floor(a.ob/a.Bc*d);a.Gd=Math.floor(a.ob/a.zc*d);a.Fd=Math.floor(a.ob/a.yc*d);b||(a.Ua=a.uc,a.nb=a.Gd,a.mb=a.Fd);a.xc=0}
function Da(a){var b=r(),c=a.Pf;a.pb&&(c=Math.round(c*a.pb/a.uc));c-=b-a.Sf;if(b-=a.Ed)a.ta=Math.round(a.Wa/(100*b))/10,864E5<=b&&M(a);0>c?c=0:a.speed==a.nd?a.ta<=a.lb&&(c=0):a.speed==a.La&&(c=0);a.xc+=a.pb;return c}
f.xa=function(){if(H(this,!0)){this.fa||(M(this),this.M&&this.M.start(),this.fa=!0,this.q.run&&(this.q.run.innerHTML="Halt"),this.V());this.xc>=this.ob&&Aa(this,!0);this.pb=0;this.Sf=r();try{do{this.step(this.Vb);var a=this.ua-this.D;this.Wa+=a;this.pb+=a;this.ua=this.D=0;this.nb-=this.Vb;0>=this.nb&&(this.nb+=this.Gd,this.qc());this.mb-=this.Vb;0>=this.mb&&(this.mb+=this.Fd,Ba(this));this.Ua-=this.Vb;if(0>=this.Ua){this.Ua+=this.uc;break}}while(this.fa)}catch(b){this.S();this.update();H(this,!1);
K(this,b.message||b);return}setTimeout(function(a){return function(){a.xa()}}(this),Da(this))}else this.update(),this.M&&this.M.stop(this.Ed,this.Wa)};
f.step=function(a){var b=!0;this.b=this.h=-1;var c;if(c=a)if(c=this.l)c=this.l,c=0<c.qa.length||0<c.Aa.length||0<c.Da.length;this.ua=this.D=a;do{a=this.a[this.d];var d;if(d=c){d=this.l;var e=a,g=!1;Ea(d,this.d,d.qa,"exec")?g=!0:(d.Oa++,d.ea[e][1]++,d.Ca[d.jb++]=d.k.d,d.jb>=d.Ca.length&&(d.jb=0));d=!!g}if(d){b=void 0;this.S();break}this.d++;this.s[a].call(this);if(0<=this.b){this.b>=this.lc&&this.b<=this.mc&&xa(this,this.b,this.d);if(d=c)d=this.l,e=!1,Ea(d,this.b,d.Aa,"read")&&(e=!0),d=!!e;if(d){b=
!1;this.S();break}this.b=-1}else if(0<=this.h){this.h>=this.Kb&&this.h<=this.Lb&&za(this,this.h,this.d);if(d=c){d=this.l;var e=this.h,g=this.a[this.h],k=!1;(g&255)!=g&&(G(d,"invalid value at "+p(e)+": "+g),k=!0);Ea(d,e,d.Da,"write")&&(k=!0);d=!!k}if(d){b=!1;this.S();break}this.h=-1}this.D-=this.zf[a]}while(0<this.D);return b};function Fa(a){a.Ua=0;a.ua-=a.D;a.D=0}f.S=function(){I(this,!0);this.ua-=this.D;this.D=0;this.fa&&(this.fa=!1,this.q.run&&(this.q.run.innerHTML="Run"))};
f.update=function(){this.qc();Ba(this)};function Ga(a){return a.fa?a.Wa+a.ua-a.D:0}f.G=function(a){return this.a[a]};f.N=function(a,b){this.a[a]=b};function Ca(a){var b=a.c&256?1:0,b=b|(a.g&255?0:2),b=b|((a.t&255^a.u^a.t>>1)&128?64:0),b=b|(a.f&128?128:0);return a.v&60|b}
function Ha(a){a.v|=8;a.s[97]=a.bg;a.s[101]=a.dg;a.s[105]=a.ag;a.s[109]=a.Yf;a.s[113]=a.cg;a.s[117]=a.eg;a.s[121]=a.$f;a.s[125]=a.Zf;a.s[225]=a.ri;a.s[229]=a.ti;a.s[233]=a.qi;a.s[237]=a.ni;a.s[241]=a.si;a.s[245]=a.ui;a.s[249]=a.pi;a.s[253]=a.oi}function Ia(a){a.v&=-9;a.s[97]=a.Sd;a.s[101]=a.Ud;a.s[105]=a.Rd;a.s[109]=a.Od;a.s[113]=a.Td;a.s[117]=a.Vd;a.s[121]=a.Qd;a.s[125]=a.Pd;a.s[225]=a.$d;a.s[229]=a.be;a.s[233]=a.Zd;a.s[237]=a.Wd;a.s[241]=a.ae;a.s[245]=a.ce;a.s[249]=a.Yd;a.s[253]=a.Xd}
function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.u=b^c;a.t=e;a.f=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.g=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.f=a.g=(a.c=b-c-d)&255;a.u=b^c;a.t=a.c;a.c^=256;a.D--;return e&255}function ta(a){a.e=0;a.m=0;a.o=0;a.p=256;a.v=0;a.f=0;a.g=0;a.u=0;a.t=0;a.c=0;a.d=0;a.b=-1;a.h=-1;a.ta=0;a.Wa=a.ua=a.D=0}
f.Ag=function(){this.d++;this.a[this.p--]=this.d>>8;this.p|=256;this.a[this.p--]=this.d&255;this.p|=256;this.v|=16;this.v=Ca(this);this.a[this.p--]=this.v;this.p|=256;this.v&=239;this.b=65534;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.Uh=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e|=this.a[this.b]};f.Wh=function(){this.b=this.a[this.d++];this.f=this.g=this.e|=this.a[this.b]};
f.qg=function(){this.h=this.a[this.d++];this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.Zh=function(){this.v=Ca(this);this.a[this.p--]=this.v;this.p|=256};f.Th=function(){this.b=this.d++;this.f=this.g=this.e|=this.a[this.b]};f.pg=function(){this.c=this.e<<1;this.f=this.g=this.e=this.c&255};f.Qh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e|=this.a[this.b]};
f.ng=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.zg=function(){this.d+=(this.f&128?0:(this.D--,this.a[this.d]<<24>>24))+1};f.Vh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g=this.e|=this.a[this.b]};f.Xh=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.e|=this.a[this.b]};
f.rg=function(){this.h=this.a[this.d++]+this.m&255;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.Dg=function(){this.c=0};f.Sh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.f=this.g=this.e|=this.a[this.b]};f.Rh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e|=this.a[this.b]};f.og=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};
f.rh=function(){this.b=this.d++;this.a[this.p--]=this.d>>8;this.p|=256;this.a[this.p--]=this.d&255;this.p|=256;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.jg=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e&=this.a[this.b]};f.wg=function(){this.b=this.a[this.d++];this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.t=0;this.u=this.a[this.b]&64?128:0};f.lg=function(){this.b=this.a[this.d++];this.f=this.g=this.e&=this.a[this.b]};
f.ei=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.ai=function(){this.p=this.p+1&255|256;this.v=this.a[this.p];this.c=this.v&1?256:0;this.g=this.v&2?0:1;this.f=this.v&128;this.t=0;this.u=this.v&64?128:0};f.ig=function(){this.b=this.d++;this.f=this.g=this.e&=this.a[this.b]};
f.di=function(){this.c=this.c&65280|this.e;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.e=this.c&255};f.vg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.t=0;this.u=this.a[this.b]&64?128:0};f.fg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e&=this.a[this.b]};
f.bi=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.xg=function(){this.d+=(this.f&128?(this.D--,this.a[this.d]<<24>>24):0)+1};f.kg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g=this.e&=this.a[this.b]};f.mg=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.e&=this.a[this.b]};
f.fi=function(){this.h=this.a[this.d++]+this.m&255;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.vi=function(){this.c=256};f.hg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.f=this.g=this.e&=this.a[this.b]};f.gg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e&=this.a[this.b]};
f.ci=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.li=function(){this.p=this.p+1&255|256;this.v=this.a[this.p];this.c=this.v&1?256:0;this.g=this.v&2?0:1;this.f=this.v&128;this.t=0;this.u=this.v&64?128:0;this.p=this.p+2&255|256;this.d=this.a[this.p-1|256]|this.a[this.p]<<8};
f.fh=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e^=this.a[this.b]};f.hh=function(){this.b=this.a[this.d++];this.f=this.g=this.e^=this.a[this.b]};f.Nh=function(){this.h=this.a[this.d++];this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};f.Yh=function(){this.a[this.p--]=this.e;this.p|=256};f.eh=function(){this.b=this.d++;this.f=this.g=this.e^=this.a[this.b]};
f.Mh=function(){this.c=this.c&65279|(this.e&1?256:0);this.e=(this.c=this.c&65280|this.e>>1)&255;this.f=this.g=this.c&255};f.qh=function(){this.b=this.d;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.ah=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e^=this.a[this.b]};f.Kh=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
f.Bg=function(){this.d+=((this.t&255^this.u^this.t>>1)&128?0:(this.D--,this.a[this.d]<<24>>24))+1};f.gh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g=this.e^=this.a[this.b]};f.ih=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.e^=this.a[this.b]};f.Oh=function(){this.h=this.a[this.d++]+this.m&255;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
f.Fg=function(){this.v&=251};f.dh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.f=this.g=this.e^=this.a[this.b]};f.bh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e^=this.a[this.b]};f.Lh=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
f.mi=function(){this.p=this.p+2&255|256;this.d=(this.a[this.p-1|256]|this.a[this.p]<<8)+1};f.Sd=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255};f.bg=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=P(this,this.e,this.a[this.b])};
f.Ud=function(){this.b=this.a[this.d++];this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255};f.dg=function(){this.b=this.a[this.d++];this.e=P(this,this.e,this.a[this.b])};f.ji=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.$h=function(){this.p=this.p+1&255|256;this.f=this.g=this.e=this.a[this.p]};
f.Rd=function(){this.b=this.d++;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255};f.ag=function(){this.b=this.d++;this.e=P(this,this.e,this.a[this.b])};f.ii=function(){this.c=this.c&65280|this.e;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.e=this.c&255};f.ph=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.d=this.a[this.b]|this.a[this.b+1]<<8};
f.Od=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255};f.Yf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=P(this,this.e,this.a[this.b])};f.gi=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};
f.Cg=function(){this.d+=((this.t&255^this.u^this.t>>1)&128?(this.D--,this.a[this.d]<<24>>24):0)+1};f.Td=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255};f.cg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.e=P(this,this.e,this.a[this.b])};
f.Vd=function(){this.b=this.a[this.d++]+this.m&255;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255};f.eg=function(){this.b=this.a[this.d++]+this.m&255;this.e=P(this,this.e,this.a[this.b])};f.ki=function(){this.h=this.a[this.d++]+this.m&255;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.xi=function(){this.v|=4};
f.Qd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255};f.$f=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.e=P(this,this.e,this.a[this.b])};f.Pd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255};
f.Zf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.e=P(this,this.e,this.a[this.b])};f.hi=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.Bi=function(){this.h=this.a[this.d++]+this.m&255;this.h=this.a[this.h]|this.a[this.h+1]<<8;this.a[this.h]=this.e};f.Ji=function(){this.h=this.a[this.d++];this.a[this.h]=this.o};
f.Di=function(){this.h=this.a[this.d++];this.a[this.h]=this.e};f.Gi=function(){this.h=this.a[this.d++];this.a[this.h]=this.m};f.$g=function(){this.f=this.g=this.o=this.o-1&255};f.Pi=function(){this.f=this.g=this.e=this.m};f.Ii=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.o};f.yi=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.e};f.Fi=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.m};
f.sg=function(){this.d+=(this.c&256?0:(this.D--,this.a[this.d]<<24>>24))+1};f.Ci=function(){this.h=this.a[this.d++];this.h=(this.a[this.h]|this.a[this.h+1]<<8)+this.o;this.a[this.h]=this.e};f.Ki=function(){this.h=this.a[this.d++]+this.m&255;this.a[this.h]=this.o};f.Ei=function(){this.h=this.a[this.d++]+this.m&255;this.a[this.h]=this.e};f.Hi=function(){this.h=this.a[this.d++]+this.o&255;this.a[this.h]=this.m};f.Ri=function(){this.f=this.g=this.e=this.o};
f.Ai=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.a[this.h]=this.e};f.Qi=function(){this.p=this.m|256};f.zi=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.a[this.h]=this.e};f.Hh=function(){this.b=this.d++;this.f=this.g=this.o=this.a[this.b]};f.wh=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e=this.a[this.b]};f.Ch=function(){this.b=this.d++;this.f=this.g=this.m=this.a[this.b]};
f.Ih=function(){this.b=this.a[this.d++];this.f=this.g=this.o=this.a[this.b]};f.yh=function(){this.b=this.a[this.d++];this.f=this.g=this.e=this.a[this.b]};f.Dh=function(){this.b=this.a[this.d++];this.f=this.g=this.m=this.a[this.b]};f.Ni=function(){this.f=this.g=this.o=this.e};f.vh=function(){this.b=this.d++;this.f=this.g=this.e=this.a[this.b]};f.Mi=function(){this.f=this.g=this.m=this.e};f.Fh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.o=this.a[this.b]};
f.sh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e=this.a[this.b]};f.Ah=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.m=this.a[this.b]};f.tg=function(){this.d+=(this.c&256?(this.D--,this.a[this.d]<<24>>24):0)+1};f.xh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g=this.e=this.a[this.b]};f.Jh=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.o=this.a[this.b]};
f.zh=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.e=this.a[this.b]};f.Eh=function(){this.b=this.a[this.d++]+this.o&255;this.f=this.g=this.m=this.a[this.b]};f.Gg=function(){this.u=this.t=0};f.uh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.f=this.g=this.e=this.a[this.b]};f.Oi=function(){this.f=this.g=this.m=this.p&255};f.Gh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.o=this.a[this.b]};
f.th=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e=this.a[this.b]};f.Bh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.f=this.g=this.m=this.a[this.b]};f.Tg=function(){this.b=this.d++;this.f=this.g=this.c=this.o-this.a[this.b];this.c^=256};f.Lg=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};
f.Ug=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.o-this.a[this.b];this.c^=256};f.Ng=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Xg=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.oh=function(){this.f=this.g=this.o=this.o+1&255};f.Kg=function(){this.b=this.d++;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Zg=function(){this.f=this.g=this.m=this.m-1&255};
f.Sg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.o-this.a[this.b];this.c^=256};f.Hg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Vg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.yg=function(){this.d+=(this.g&255?(this.D--,this.a[this.d]<<24>>24):0)+1};
f.Mg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Og=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Yg=function(){this.h=this.a[this.d++]+this.m&255;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Eg=function(){Ia(this)};
f.Jg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Ig=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Wg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Qg=function(){this.b=this.d++;this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};
f.$d=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ri=function(){this.b=this.a[this.d++]+this.m&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=Q(this,this.e,this.a[this.b])};f.Rg=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};
f.be=function(){this.b=this.a[this.d++];this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ti=function(){this.b=this.a[this.d++];this.e=Q(this,this.e,this.a[this.b])};f.lh=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.nh=function(){this.f=this.g=this.m=this.m+1&255};
f.Zd=function(){this.b=this.d++;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.qi=function(){this.b=this.d++;this.e=Q(this,this.e,this.a[this.b])};f.Ph=function(){};f.Pg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};
f.Wd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ni=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=Q(this,this.e,this.a[this.b])};f.jh=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.ug=function(){this.d+=(this.g&255?0:(this.D--,this.a[this.d]<<24>>24))+1};
f.ae=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.si=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.o;this.e=Q(this,this.e,this.a[this.b])};
f.ce=function(){this.b=this.a[this.d++]+this.m&255;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.ui=function(){this.b=this.a[this.d++]+this.m&255;this.e=Q(this,this.e,this.a[this.b])};f.mh=function(){this.h=this.a[this.d++]+this.m&255;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.wi=function(){Ha(this)};
f.Yd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.pi=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.o;this.e=Q(this,this.e,this.a[this.b])};
f.Xd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.u=this.e^this.a[this.b];this.t=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};f.oi=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.e=Q(this,this.e,this.a[this.b])};f.kh=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};
f.Li=function(){var a;a=this.a[this.d++];switch(a){case this.tf:G(this,"HALT");this.S();break;case this.md: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,h(this.e)).replace(/%X/g,h(this.m)).replace(/%Y/g,h(this.o));G(this,b);Fa(this);break;default:this.d-=2,G(this,"undefined opSim: "+h(a)+" at "+p(this.d)),this.S()}};f.i=function(){var a=this.a[--this.d];G(this,"undefined opcode: "+h(a)+" at "+p(this.d));this.S()};
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.sa=this.a=null;this.Pa=a.size;if(this.sb=a.image){a=this.sb;var b;b=this.sb;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.sb);s(a,!0,null,this,this.Ff)}}B(R);
R.prototype.U=function(a,b,c,d){this.a=a;this.Dc=b;a=c-b+1;this.Pa||(this.Pa=a);a!=this.Pa?K(this,"computer-specified ROM size ("+p(a)+") does not match component-specified size ("+p(this.Pa)+")"):(d&&(this.k=d,N(d,b,c,this,this.N)),Ja(this))};R.prototype.aa=function(a,b){a&&!this.B&&(this.B=!0,this.l=L(b,"debugger"))};R.prototype.N=function(a,b){if(void 0!==b){this.l&&S(this.l,this,a,b,this.l.bc,!0);var c=a-this.Dc;this.a[this.Dc+c]=this.sa?this.sa[c]:0}};
R.prototype.Ff=function(a,b,c){if(c)G(this,"ROM load error ("+c+")");else{if("["==b[0])try{this.sa=eval("("+b+")")}catch(d){G(this,"ROM data error: "+(d.message||d));return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.sa=Array(a.length),b=0;b<a.length;b++)this.sa[b]=parseInt(a[b],16);Ja(this)}};
function Ja(a){if(!J(a))if(!a.sb)a.O();else if(a.sa&&a.a){var b=a.sa.length;if(b!=a.Pa)K(a,"ROM image size ("+p(b)+") does not match component-specified size ("+p(a.Pa)+")");else{for(var c=0;c<b;c++)a.a[a.Dc+c]=a.sa[c];a.O()}}}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 Ka(a){z.call(this,"C1PRAM",a)}B(Ka);Ka.prototype.U=function(a){this.a=a;this.O()};
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 Ka(d);E(d,c)}});
function La(a){z.call(this,"C1PKeyboard",a);this.B=!1;this.vc=a.model;this.Nc=8;this.De=9;this.Be=10;this.Ae=13;this.Ce=16;this.ze=17;this.we=18;this.xe=20;this.Oc=27;this.ye=91;this.te=this.Nc;this.ue=this.Be;this.qe=this.Ae;this.Ic=this.Oc;this.R=224;this.n=this.Ce+this.R;this.yb=this.ze+this.R;this.ac=this.we+this.R;this.Jc=this.xe+this.R;this.Hc=0+this.R;this.re=3;this.se=15;this.xb=1;this.wb=2;this.vb=4;this.Za=8;this.ub=64;this.$b=this.wb|this.vb|this.ub;this.ld=0;this.rf=1;this.qf=2;this.sf=
3;this.pf=4;this.Tf=8192;this.Qf=250;this.Rf=100;this.Of=300;this.Ma=[];this.Ma["break"]=this.Hc;this.Ma.esc=this.Ic;this.Ma["ctrl-c"]=this.re;this.Ma["ctrl-o"]=this.se;this.j=[];this.j[49]=30464;this.j[33]=30464+this.n;this.j[50]=30208;this.j[34]=30208+this.n;this.j[51]=29952;this.j[35]=29952+this.n;this.j[52]=29696;this.j[36]=29696+this.n;this.j[53]=29440;this.j[37]=29440+this.n;this.j[54]=29184;this.j[38]=29184+this.n;this.j[55]=28928;this.j[39]=28928+this.n;this.j[56]=26368;this.j[40]=26368+this.n;
this.j[57]=26112;this.j[41]=26112+this.n;this.j[48]=25856;this.j[58]=25600;this.j[42]=25600+this.n;this.j[45]=25344;this.j[61]=25344+this.n;this.j[46]=22272;this.j[62]=22272+this.n;this.j[108]=22016;this.j[76]=22016+this.n;this.j[92]=22016+this.n;this.j[111]=21760;this.j[79]=21760+this.n;this.j[this.te]=21760+this.n;this.j[this.ue]=21504;this.j[this.qe]=21248;this.j[119]=18176;this.j[87]=18176+this.n;this.j[101]=17920;this.j[69]=17920+this.n;this.j[114]=17664;this.j[82]=17664+this.n;this.j[116]=17408;
this.j[84]=17408+this.n;this.j[121]=17152;this.j[89]=17152+this.n;this.j[117]=16896;this.j[85]=16896+this.n;this.j[105]=16640;this.j[73]=16640+this.n;this.j[115]=14080;this.j[83]=14080+this.n;this.j[100]=13824;this.j[68]=13824+this.n;this.j[102]=13568;this.j[70]=13568+this.n;this.j[103]=13312;this.j[71]=13312+this.n;this.j[104]=13056;this.j[72]=13056+this.n;this.j[106]=12800;this.j[74]=12800+this.n;this.j[107]=12544;this.j[75]=12544+this.n;this.j[91]=12544+this.n;this.j[120]=9984;this.j[88]=9984+
this.n;this.j[99]=9728;this.j[67]=9728+this.n;this.j[118]=9472;this.j[86]=9472+this.n;this.j[98]=9216;this.j[66]=9216+this.n;this.j[110]=8960;this.j[78]=8960+this.n;this.j[94]=8960+this.n;this.j[109]=8704;this.j[77]=8704+this.n;this.j[93]=8704+this.n;this.j[44]=8448;this.j[60]=8448+this.n;this.j[113]=5888;this.j[81]=5888+this.n;this.j[97]=5632;this.j[65]=5632+this.n;this.j[122]=5376;this.j[90]=5376+this.n;this.j[32]=5120;this.j[47]=4864;this.j[63]=4864+this.n;this.j[59]=4608;this.j[43]=4608+this.n;
this.j[112]=4352;this.j[80]=4352+this.n;this.j[64]=4352+this.n;this.j[this.yb]=1536;this.j[this.Ic]=1280;this.j[this.n]=512;this.j[this.ac]=256;this.j[this.Jc]=0;this.reset()}B(La);f=La.prototype;f.reset=function(){this.tb(this.vc);this.w=this.xb;this.vd=0;this.L=[this.xb,0,0,0,0,0,0,0];this.ic=[];if(this.ca)for(var a in this.ca)isNaN(a)||this.ca[a]&&clearTimeout(this.ca[a]);this.ca=[];this.de=this.wa=0;this.wd=-1;this.ud=this.L;this.Hd=this.Ac=0;this.Ia=""};
f.H=function(a,b,c,d){if(void 0===this.q[c])switch(c){case "keyDown":return this.q[c]=d,d.onkeydown=function(a){return function(b){return Ma(a,b,!0)}}(this),!0;case "keyPress":return this.q[c]=d,d.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.Ia="";a.w&a.Za?a.w&=~a.Za:c=!Na(a,b);a.l&&T(a.l,a.l.ya)&&a.l.message("keyPress("+h(b)+"): "+(c?"pass":"consume"));return c}}(this),!0;case "keyUp":return this.q[c]=d,d.onkeyup=function(a){return function(b){return Ma(a,
b,!1)}}(this),!0;case "break":return this.q[c]=d,d.onclick=function(a){return function(){a.M&&a.M.reset(!0)}}(this),!0;default:if(void 0!==this.Ma[c])return this.q[c]=d,d.onclick=function(a,b,c){return function(){a.k&&a.k.V();return!Na(a,c)}}(this,c,this.Ma[c]),!0}return!1};f.U=function(a,b,c,d){this.a=a;this.Md=b;this.Bf=c-b+1;this.Xf=this.Md+this.Bf;d&&(this.k=d,N(d,b,c,this,this.N));this.O()};f.tb=function(a){this.qb=a;this.oc=255;600!=this.qb&&(this.oc=0,G(this,"updated keyboard model: "+this.qb))};
f.aa=function(a,b){a&&!this.B&&(this.B=!0,this.M=b,this.l=L(b,"debugger"))};f.O=function(){this.sc=(this.Jf=v("iOS"))||v("Android");this.l&&T(this.l,this.l.ya)&&this.l.message("mobile keyboard support: "+(this.sc?"true":"false")+" ("+window.navigator.userAgent+")");z.prototype.O.call(this)};function Oa(a,b){var c=b?a.Rf:a.Qf;a.k&&a.k.ta&&(c/=a.k.ta);return c}
function Pa(a,b){!a.wa||void 0!==b&&b==a.wa||(a.l&&T(a.l,a.l.ya)&&a.l.message("autoClear("+h(a.wa)+")"),clearTimeout(a.ca[a.wa]),U(a,a.wa,!1,a.pf))}function V(a,b,c){a.Ia=b;Qa(a,c||a.Of)}function Qa(a,b){if(0<a.Ia.length){var c=a.Ia.charCodeAt(0);10==c&&(c=13);65<=c&&90>=c&&(c+=32);a.Ia=a.Ia.substr(1);Na(a,c)}0<a.Ia.length&&setTimeout(function(a){return function(){Qa(a,b)}}(a),b)}
function Ma(a,b,c){var d,e=!c;b=b.keyCode;c&&(a.de=b);b==a.n-a.R?(a.w&=~a.vb,c&&(a.w|=a.vb),b+=a.R,e=!1):b==a.ac-a.R?(a.w&=~a.wb,c&&(a.w|=a.wb),b+=a.R,e=!1):b==a.yb-a.R?(a.w&=~a.ub,c&&(a.w|=a.ub),b+=a.R,e=!1):b==a.Jc-a.R?(c=!c,a.w&=~a.xb,c&&(a.w|=a.xb),b+=a.R,e=!1):b==a.ye?(a.w&=~a.Za,c&&(a.w|=a.Za),e=!1,d=!0):d=b==a.De?e=!1:b==a.Oc||b==a.Nc?c?!Na(a,b):!1:!0;e&&(a.w&=~a.Za,a.sc||b!=a.de||Pa(a));void 0===d&&(d=!U(a,b,c,a.qf));a.l&&T(a.l,a.l.ya)&&a.l.message("key"+(c?"Down":"Up")+"("+h(b)+"): "+(d?
"pass":"consume"));return d}function Na(a,b){var c=!1;b==a.Hc?a.M&&(a.M.reset(!0),c=!0):(a.sc&&65<=b&&90>=b&&(b+=32),Pa(a,b),U(a,b,!0,a.ld)&&(a.k.speed==a.k.La?U(a,b,!1,a.rf):(c=!1,a.ca[b]&&(clearTimeout(a.ca[b]),c=!0),c=Oa(a,c),a.ca[a.wa=b]=setTimeout(function(a){return function(){U(a,b,!1,a.sf)}}(a),c),a.l&&T(a.l,a.l.ya)&&a.l.message("keyPressSimulate("+h(b)+"): setTimeout()")),c=!0));a.l&&T(a.l,a.l.ya)&&a.l.message("keyPressSimulate("+h(b)+"): "+(c?"true":"false"));return c}
function U(a,b,c,d){var e=!1;c||(a.ca[b]=null,a.wa==b&&(a.wa=0));var g=0,k=a.j[b];void 0===k&&(1<=b&&26>=b&&(b+=64,g=a.yb),k=a.j[b]);void 0!==k&&(b=k>>12,e=k>>8&15,g||(g=k&255),c?(a.L[b]|=1<<e,a.L[0]=g==a.yb?a.L[0]|a.ub:g==a.n?a.L[0]|a.vb:g==a.ac?a.L[0]|a.wb:a.L[0]&~a.$b):(a.L[b]&=~(1<<e),a.L[0]&=~a.$b,a.L[0]|=a.w&a.$b),c=d==a.ld&&!a.ic.length,a.ic.push(a.L.slice()),a.Zb(c),e=!0);return e}f.G=function(){};f.N=function(a){var b=this.k.G(a);this.vd=b^this.oc;this.Ac++;this.Zb(!1,a,b)};
f.Zb=function(a,b){var c=Ga(this.k);if(!a)if(this.k.speed==this.k.La)a=void 0!==b&&32<=this.Ac;else{var d=c-this.Hd;a=0>d||d>=this.Tf}a&&(d=this.ic.shift(),void 0!==d&&(this.ud=d),this.Ac=0,this.Hd=c);for(d=c=0;8>d;d++)this.vd&1<<d&&(c|=this.ud[d]);c^=this.oc;if(void 0!==b)this.a[b]=c;else if(b=this.Md,c!=this.wd)for(d=b;d<this.Xf;d++)this.a[d]=c;this.wd=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 La(d);E(d,c)}});
function Ra(a,b,c,d){z.call(this,"C1PVideo",a);this.vc=a.model;this.Id=a.charCols;this.Jd=a.charRows;this.Gf=a.screenWidth;this.Hf=a.screenHeight;this.Nb=a.charWidth;this.Ob=a.charHeight;Sa(this);this.Pb=b;this.Ef=c;this.kb=d;this.hb=56832}B(Ra);f=Ra.prototype;f.reset=function(a){this.tb(this.vc);if(this.a)for(var b=this.Wb;b<this.Ec;b++)this.a[b]=a?Math.floor(256*Math.random()):32};
f.H=function(a,b,c,d){switch(c){case "refresh":return this.q[c]=d,d.onclick=function(a){return function(){Ta(a);ua(a)}}(this),!0}return!1};f.U=function(a,b,c,d){this.a=a;this.Wb=b;this.Df=c-b+1;this.Ec=this.Wb+this.Df;d&&(this.k=d,void 0!==this.hb&&(va(d,this.hb,this.hb,this,this.G),N(d,this.hb,this.hb,this,this.N)));this.reset(!0)};
function Sa(a,b,c,d,e){a.Ub=void 0!==b?b:a.Id;a.Uf=void 0!==c?c:a.Jd;a.Qa=a.Ub*a.Uf;a.Ec=a.Wb+a.Qa;a.Bd=void 0!==d?d:0;a.Kd=void 0!==e?e:c;a.xd=Math.floor(a.Gf/a.Ub);a.yd=Math.floor(a.Hf/a.Kd)}f.V=function(){this.Pb.focus()};f.tb=function(a){this.qb=a;600==this.qb?(Sa(this,this.Id,this.Jd,4,24),1024==this.Qa&&this.k&&(this.Jb=this.Ec+this.Qa-1,N(this.k,this.Jb,this.Jb,this,this.ie))):(G(this,"updated video model: "+this.qb),Sa(this,64,32));Ta(this);ua(this)};
f.aa=function(a,b){if(a&&!this.B&&J(this)){if(this.B=!0,this.l=L(b,"debugger"),this.F=L(b,"keyboard"))this.F.H("input","canvas","keyDown",this.Pb),this.F.H("input","canvas","keyPress",this.Pb),this.F.H("input","canvas","keyUp",this.Pb)}else!a&&this.B&&(this.B=!1)};f.O=function(){this.Nb||(this.Nb=Math.floor(this.kb.width/16));this.Ob||(this.Ob=Math.floor(this.kb.height/16));z.prototype.O.call(this)};
f.G=function(a,b){var c=this.k.G(a);void 0!==b&&this.l&&S(this.l,this,a,b,this.l.zb);this.k.N(a,c&127|(Math.floor(Ga(this.k)/8333)&1?128:0))};f.N=function(a,b){void 0!==b&&this.l&&S(this.l,this,a,b,this.l.zb)};
f.ie=function(a,b){if(void 0!==b){this.l&&S(this.l,this,a,b,this.l.zb,!0);this.tb(540);this.F&&this.F.tb(542);var c=this.k,d=c.ra,e=[],g=wa(d,this.Jb,this.Jb,this,this.ie);if(0<=g){e.push(d[g][0]);e.push(d[g][1]);d.splice(g,1);for(var k=65536,n=0,g=0;g<d.length;g++)k>d[g][0]&&(k=d[g][0]),n<d[g][1]&&(n=d[g][1]);e.push(k);e.push(n)}4==e.length&&(c.Kb=e[2],c.Lb=e[3])}};function Ta(a){a.jc=Array(a.Qa);for(var b=0;b<=a.Qa;b++)a.jc[b]=-1}
function ua(a){var b=0;if(a.B)for(;b<a.Qa;){var c=a.a[a.Wb+b];if(a.jc[b]!=c){var d=Math.floor(b/a.Ub);if(d>=a.Bd&&(d-=a.Bd,d<a.Kd)){var e=c*a.Nb;a.Ef.drawImage(a.kb,e%a.kb.width,Math.floor(e/a.kb.width)*a.Ob,a.Nb,a.Ob,b%a.Ub*a.xd,d*a.yd,a.xd,a.yd)}a.jc[b]=c}b++}}
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||u(a)},P:function(a){!this.jb&&(this.Tb=!1!==a)&&(this.name&&this.log("ready"),a=this.wc,this.wc=null,a&&a())}};function G(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 H(a,b){a.Sa&&(b?a.uc=!0:void 0===b&&a.i(a.toString()+" busy"));return a.Sa}
function I(a,b){b&&(a.Tb?b():a.wc=b);return a.Tb}function J(a,b){a.jb=!0;a.Xb("Fatal error: "+b)}function ia(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 K(a){z.call(this,"C1PPanel",a);this.C=!1}B(K);K.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)};
K.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"),oa())};function oa(){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 K(e));E(g,d);a&&g.P()}}x(oa);
function pa(a){z.call(this,"C1PCPU",a);qa(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,
this.j,this.dh,this.j,this.Si,this.j,this.Li,this.Bi,this.Ii,this.j,this.vg,this.Fi,this.j,this.j,this.Ni,this.Hi,this.Ki,this.j,this.Ui,this.Di,this.Ti,this.j,this.j,this.Ci,this.j,this.j,this.Kh,this.zh,this.Fh,this.j,this.Lh,this.Bh,this.Gh,this.j,this.Qi,this.yh,this.Pi,this.j,this.Ih,this.vh,this.Dh,this.j,this.wg,this.Ah,this.j,this.j,this.Mh,this.Ch,this.Hh,this.j,this.Jg,this.xh,this.Ri,this.j,this.Jh,this.wh,this.Eh,this.j,this.Wg,this.Og,this.j,this.j,this.Xg,this.Qg,this.$g,this.j,this.rh,
this.Ng,this.bh,this.j,this.Vg,this.Kg,this.Yg,this.j,this.Bg,this.Pg,this.j,this.j,this.j,this.Rg,this.ah,this.j,this.Hg,this.Mg,this.j,this.j,this.j,this.Lg,this.Zg,this.j,this.Tg,this.ce,this.j,this.j,this.Ug,this.ee,this.oh,this.j,this.qh,this.be,this.Sh,this.j,this.Sg,this.Zd,this.mh,this.j,this.xg,this.de,this.j,this.j,this.j,this.fe,this.ph,this.j,this.zi,this.ae,this.j,this.j,this.j,this.$d,this.nh,this.j];this.Cf=[7,6,0,0,0,3,5,0,3,2,2,0,0,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,3,6,0,0,3,
3,5,0,4,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,3,2,2,0,3,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}B(pa);f=pa.prototype;
f.reset=function(a){this.ga&&this.T();qa(this);var b=this.zf;this.d=this.a[b]|this.a[b+1]<<8;this.jb=!1;this.m?this.m.reset():a&&(!0===this.Cd||null===this.Cd&&!this.m&&void 0===this.r.run)&&this.ya()};
f.I=function(a,b,c,d){a=!1;switch(c){case "run":this.r[c]=d;d.onclick=function(a){return function(){a.ga?a.T():a.ya()}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.r[c]=d;a=!0;break;case "setSpeed":this.r[c]=d,d.onclick=function(a){return function(){M(a,a.speed>=a.Ma?a.Hb:a.speed+1,!0)}}(this),a=!0}return a};
f.V=function(a,b,c){this.a=a;this.$=b;this.rc=c-b+1;this.Ya=this.$+this.rc;this.$?u("unsupported CPU address buffer offset ("+this.$+")"):this.P()};f.ba=function(a,b){if(a&&!this.C){this.N=b;(this.m=L(b,"debugger"))&&this.m.Nf();var c=L(b,"video");c&&(this.tc=function(a){return function(){ra(a)}}(c),this.W=function(a){return function(){a.W()}}(c));this.C=!0;this.reset(!0);this.update()}};function sa(a,b,c,d,e){0>ta(a.Ca,b,c,d,e)&&(a.nc>b&&(a.nc=b),a.oc<c&&(a.oc=c),a.Ca.push([b,c,d,e]))}
function ua(a,b,c){for(var d=0;d<a.Ca.length;d++)b>=a.Ca[d][0]&&b<=a.Ca[d][1]&&a.Ca[d][3].call(a.Ca[d][2],b,c)}function N(a,b,c,d,e){0>ta(a.sa,b,c,d,e)&&(a.Lb>b&&(a.Lb=b),a.Mb<c&&(a.Mb=c),a.sa.push([b,c,d,e]))}function va(a,b,c){for(var d=0;d<a.sa.length;d++)b>=a.sa[d][0]&&b<=a.sa[d][1]&&a.sa[d][3].call(a.sa[d][2],b,c)}function ta(a,b,c,d,e){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==e)return g;return-1}
function M(a,b,c){void 0!==b&&(a.speed=b,a.r.setSpeed&&(a.r.setSpeed.innerHTML=a.wd[2<=b?0:b+1]),a.i("running at "+a.wd[b].toLowerCase()+" speed "+a.Df[b]),c&&a.W());a.Xa=0;a.Hd=r();xa(a)}f.tc=function(){};f.W=function(){};function O(a,b,c,d){void 0!==a.r[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.r[b].innerHTML=c.slice(c.length-d).toUpperCase())}
function ya(a){O(a,"A",a.e,2);O(a,"X",a.n,2);O(a,"Y",a.p,2);var b=za(a);O(a,"C",b&a.ne?1:0);O(a,"Z",b&a.se?1:0);O(a,"I",b&a.pe?1:0);O(a,"D",b&a.oe?1:0);O(a,"B",b&a.me?1:0);O(a,"V",b&a.re?1:0);O(a,"N",b&a.qe?1:0);O(a,"S",a.q,4);O(a,"PC",a.d,4);a.r.speed&&a.ua&&(a.r.speed.innerHTML=a.ua.toFixed(1)+"Mhz")}
function xa(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 Aa(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(G(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&&xa(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,ya(this));this.Va-=this.Wb;if(0>=this.Va){this.Va+=this.xc;break}}while(this.ga)}catch(b){this.T();this.update();G(this,!1);
J(this,b.message||b);return}setTimeout(function(a){return function(){a.ya()}}(this),Aa(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;Ba(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&&ua(this,this.b,this.d);if(d=c)d=this.m,e=!1,Ba(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&&va(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 "+q(e)+": "+g),h=!0);Ba(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 Ca(a){a.Va=0;a.va-=a.F;a.F=0}f.T=function(){H(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();ya(this)};function Da(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 za(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}
function Ea(a){a.w|=8;a.t[97]=a.eg;a.t[101]=a.gg;a.t[105]=a.dg;a.t[109]=a.ag;a.t[113]=a.fg;a.t[117]=a.hg;a.t[121]=a.cg;a.t[125]=a.bg;a.t[225]=a.ui;a.t[229]=a.wi;a.t[233]=a.ti;a.t[237]=a.qi;a.t[241]=a.vi;a.t[245]=a.xi;a.t[249]=a.si;a.t[253]=a.ri}function Fa(a){a.w&=-9;a.t[97]=a.Vd;a.t[101]=a.Xd;a.t[105]=a.Ud;a.t[109]=a.Rd;a.t[113]=a.Wd;a.t[117]=a.Yd;a.t[121]=a.Td;a.t[125]=a.Sd;a.t[225]=a.ce;a.t[229]=a.ee;a.t[233]=a.be;a.t[237]=a.Zd;a.t[241]=a.de;a.t[245]=a.fe;a.t[249]=a.ae;a.t[253]=a.$d}
function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.v=b^c;a.u=e;a.f=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.g=b+c+d&255;a.F--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.f=a.g=(a.c=b-c-d)&255;a.v=b^c;a.u=a.c;a.c^=256;a.F--;return e&255}function qa(a){a.e=0;a.n=0;a.p=0;a.q=256;a.w=0;a.f=0;a.g=0;a.v=0;a.u=0;a.c=0;a.d=0;a.b=-1;a.h=-1;a.ua=0;a.Xa=a.va=a.F=0}
f.Dg=function(){this.d++;this.a[this.q--]=this.d>>8;this.q|=256;this.a[this.q--]=this.d&255;this.q|=256;this.w|=16;this.w=za(this);this.a[this.q--]=this.w;this.q|=256;this.w&=239;this.b=65534;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.Xh=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e|=this.a[this.b]};f.Zh=function(){this.b=this.a[this.d++];this.f=this.g=this.e|=this.a[this.b]};
f.tg=function(){this.h=this.a[this.d++];this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.bi=function(){this.w=za(this);this.a[this.q--]=this.w;this.q|=256};f.Wh=function(){this.b=this.d++;this.f=this.g=this.e|=this.a[this.b]};f.sg=function(){this.c=this.e<<1;this.f=this.g=this.e=this.c&255};f.Th=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e|=this.a[this.b]};
f.qg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.Cg=function(){this.d+=(this.f&128?0:(this.F--,this.a[this.d]<<24>>24))+1};f.Yh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.e|=this.a[this.b]};f.$h=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e|=this.a[this.b]};
f.ug=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};f.Gg=function(){this.c=0};f.Vh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.e|=this.a[this.b]};f.Uh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e|=this.a[this.b]};f.rg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};
f.uh=function(){this.b=this.d++;this.a[this.q--]=this.d>>8;this.q|=256;this.a[this.q--]=this.d&255;this.q|=256;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.mg=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e&=this.a[this.b]};f.zg=function(){this.b=this.a[this.d++];this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.u=0;this.v=this.a[this.b]&64?128:0};f.og=function(){this.b=this.a[this.d++];this.f=this.g=this.e&=this.a[this.b]};
f.hi=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.di=function(){this.q=this.q+1&255|256;this.w=this.a[this.q];this.c=this.w&1?256:0;this.g=this.w&2?0:1;this.f=this.w&128;this.u=0;this.v=this.w&64?128:0};f.lg=function(){this.b=this.d++;this.f=this.g=this.e&=this.a[this.b]};
f.gi=function(){this.c=this.c&65280|this.e;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.e=this.c&255};f.yg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.u=0;this.v=this.a[this.b]&64?128:0};f.ig=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e&=this.a[this.b]};
f.ei=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.Ag=function(){this.d+=(this.f&128?(this.F--,this.a[this.d]<<24>>24):0)+1};f.ng=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.e&=this.a[this.b]};f.pg=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e&=this.a[this.b]};
f.ii=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.yi=function(){this.c=256};f.kg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.e&=this.a[this.b]};f.jg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e&=this.a[this.b]};
f.fi=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};f.oi=function(){this.q=this.q+1&255|256;this.w=this.a[this.q];this.c=this.w&1?256:0;this.g=this.w&2?0:1;this.f=this.w&128;this.u=0;this.v=this.w&64?128:0;this.q=this.q+2&255|256;this.d=this.a[this.q-1|256]|this.a[this.q]<<8};
f.ih=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e^=this.a[this.b]};f.kh=function(){this.b=this.a[this.d++];this.f=this.g=this.e^=this.a[this.b]};f.Qh=function(){this.h=this.a[this.d++];this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};f.ai=function(){this.a[this.q--]=this.e;this.q|=256};f.hh=function(){this.b=this.d++;this.f=this.g=this.e^=this.a[this.b]};
f.Ph=function(){this.c=this.c&65279|(this.e&1?256:0);this.e=(this.c=this.c&65280|this.e>>1)&255;this.f=this.g=this.c&255};f.th=function(){this.b=this.d;this.d=this.a[this.b]|this.a[this.b+1]<<8};f.eh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e^=this.a[this.b]};f.Nh=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
f.Eg=function(){this.d+=((this.u&255^this.v^this.u>>1)&128?0:(this.F--,this.a[this.d]<<24>>24))+1};f.jh=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.e^=this.a[this.b]};f.lh=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e^=this.a[this.b]};f.Rh=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
f.Ig=function(){this.w&=251};f.gh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.e^=this.a[this.b]};f.fh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e^=this.a[this.b]};f.Oh=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
f.pi=function(){this.q=this.q+2&255|256;this.d=(this.a[this.q-1|256]|this.a[this.q]<<8)+1};f.Vd=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.eg=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=P(this,this.e,this.a[this.b])};
f.Xd=function(){this.b=this.a[this.d++];this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.gg=function(){this.b=this.a[this.d++];this.e=P(this,this.e,this.a[this.b])};f.mi=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.ci=function(){this.q=this.q+1&255|256;this.f=this.g=this.e=this.a[this.q]};
f.Ud=function(){this.b=this.d++;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.dg=function(){this.b=this.d++;this.e=P(this,this.e,this.a[this.b])};f.li=function(){this.c=this.c&65280|this.e;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.e=this.c&255};f.sh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.d=this.a[this.b]|this.a[this.b+1]<<8};
f.Rd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.ag=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=P(this,this.e,this.a[this.b])};f.ji=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};
f.Fg=function(){this.d+=((this.u&255^this.v^this.u>>1)&128?(this.F--,this.a[this.d]<<24>>24):0)+1};f.Wd=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.fg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.e=P(this,this.e,this.a[this.b])};
f.Yd=function(){this.b=this.a[this.d++]+this.n&255;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.hg=function(){this.b=this.a[this.d++]+this.n&255;this.e=P(this,this.e,this.a[this.b])};f.ni=function(){this.h=this.a[this.d++]+this.n&255;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.Ai=function(){this.w|=4};
f.Td=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?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};f.cg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.e=P(this,this.e,this.a[this.b])};f.Sd=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?1:0);this.v=this.e^this.a[this.b];this.u=this.c;this.f=this.g=this.e=this.c&255};
f.bg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.e=P(this,this.e,this.a[this.b])};f.ki=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};f.Ei=function(){this.h=this.a[this.d++]+this.n&255;this.h=this.a[this.h]|this.a[this.h+1]<<8;this.a[this.h]=this.e};f.Mi=function(){this.h=this.a[this.d++];this.a[this.h]=this.p};
f.Gi=function(){this.h=this.a[this.d++];this.a[this.h]=this.e};f.Ji=function(){this.h=this.a[this.d++];this.a[this.h]=this.n};f.dh=function(){this.f=this.g=this.p=this.p-1&255};f.Si=function(){this.f=this.g=this.e=this.n};f.Li=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.p};f.Bi=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.e};f.Ii=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.n};
f.vg=function(){this.d+=(this.c&256?0:(this.F--,this.a[this.d]<<24>>24))+1};f.Fi=function(){this.h=this.a[this.d++];this.h=(this.a[this.h]|this.a[this.h+1]<<8)+this.p;this.a[this.h]=this.e};f.Ni=function(){this.h=this.a[this.d++]+this.n&255;this.a[this.h]=this.p};f.Hi=function(){this.h=this.a[this.d++]+this.n&255;this.a[this.h]=this.e};f.Ki=function(){this.h=this.a[this.d++]+this.p&255;this.a[this.h]=this.n};f.Ui=function(){this.f=this.g=this.e=this.p};
f.Di=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.a[this.h]=this.e};f.Ti=function(){this.q=this.n|256};f.Ci=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.a[this.h]=this.e};f.Kh=function(){this.b=this.d++;this.f=this.g=this.p=this.a[this.b]};f.zh=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e=this.a[this.b]};f.Fh=function(){this.b=this.d++;this.f=this.g=this.n=this.a[this.b]};
f.Lh=function(){this.b=this.a[this.d++];this.f=this.g=this.p=this.a[this.b]};f.Bh=function(){this.b=this.a[this.d++];this.f=this.g=this.e=this.a[this.b]};f.Gh=function(){this.b=this.a[this.d++];this.f=this.g=this.n=this.a[this.b]};f.Qi=function(){this.f=this.g=this.p=this.e};f.yh=function(){this.b=this.d++;this.f=this.g=this.e=this.a[this.b]};f.Pi=function(){this.f=this.g=this.n=this.e};f.Ih=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.p=this.a[this.b]};
f.vh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e=this.a[this.b]};f.Dh=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.n=this.a[this.b]};f.wg=function(){this.d+=(this.c&256?(this.F--,this.a[this.d]<<24>>24):0)+1};f.Ah=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.e=this.a[this.b]};f.Mh=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.p=this.a[this.b]};
f.Ch=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.e=this.a[this.b]};f.Hh=function(){this.b=this.a[this.d++]+this.p&255;this.f=this.g=this.n=this.a[this.b]};f.Jg=function(){this.v=this.u=0};f.xh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.e=this.a[this.b]};f.Ri=function(){this.f=this.g=this.n=this.q&255};f.Jh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.p=this.a[this.b]};
f.wh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.e=this.a[this.b]};f.Eh=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.n=this.a[this.b]};f.Wg=function(){this.b=this.d++;this.f=this.g=this.c=this.p-this.a[this.b];this.c^=256};f.Og=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};
f.Xg=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.p-this.a[this.b];this.c^=256};f.Qg=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.$g=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.rh=function(){this.f=this.g=this.p=this.p+1&255};f.Ng=function(){this.b=this.d++;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.bh=function(){this.f=this.g=this.n=this.n-1&255};
f.Vg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.p-this.a[this.b];this.c^=256};f.Kg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Yg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Bg=function(){this.d+=(this.g&255?(this.F--,this.a[this.d]<<24>>24):0)+1};
f.Pg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Rg=function(){this.b=this.a[this.d++]+this.n&255;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.ah=function(){this.h=this.a[this.d++]+this.n&255;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};f.Hg=function(){Fa(this)};
f.Mg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.p;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Lg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.n;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};f.Zg=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.Tg=function(){this.b=this.d++;this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256};
f.ce=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;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.ui=function(){this.b=this.a[this.d++]+this.n&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=Q(this,this.e,this.a[this.b])};f.Ug=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256};
f.ee=function(){this.b=this.a[this.d++];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.wi=function(){this.b=this.a[this.d++];this.e=Q(this,this.e,this.a[this.b])};f.oh=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.qh=function(){this.f=this.g=this.n=this.n+1&255};
f.be=function(){this.b=this.d++;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.ti=function(){this.b=this.d++;this.e=Q(this,this.e,this.a[this.b])};f.Sh=function(){};f.Sg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.n-this.a[this.b];this.c^=256};
f.Zd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;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.qi=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=Q(this,this.e,this.a[this.b])};f.mh=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.xg=function(){this.d+=(this.g&255?0:(this.F--,this.a[this.d]<<24>>24))+1};
f.de=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<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.vi=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.p;this.e=Q(this,this.e,this.a[this.b])};
f.fe=function(){this.b=this.a[this.d++]+this.n&255;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.xi=function(){this.b=this.a[this.d++]+this.n&255;this.e=Q(this,this.e,this.a[this.b])};f.ph=function(){this.h=this.a[this.d++]+this.n&255;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};f.zi=function(){Ea(this)};
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);Ca(this);break;default:this.d-=2,this.i("undefined opSim: "+n(a)+" at "+q(this.d)),this.T()}};f.j=function(){var a=this.a[--this.d];this.i("undefined opcode: "+n(a)+" at "+q(this.d));this.T()};
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 pa(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);t(a,!0,null,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?J(this,"computer-specified ROM size ("+q(a)+") does not match component-specified size ("+q(this.Qa)+")"):(d&&(this.l=d,N(d,b,c,this,this.O)),Ga(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("ROM load error ("+c+")");else{if("["==b[0])try{this.ta=eval("("+b+")")}catch(d){this.i("ROM data error: "+(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);Ga(this)}};
function Ga(a){if(!I(a))if(!a.tb)a.P();else if(a.ta&&a.a){var b=a.ta.length;if(b!=a.Qa)J(a,"ROM image size ("+q(b)+") does not match component-specified size ("+q(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 Ha(a){z.call(this,"C1PRAM",a)}B(Ha);Ha.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 Ha(d);E(d,c)}});
function Ia(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;
this.k[84]=17408+this.o;this.k[121]=17152;this.k[89]=17152+this.o;this.k[117]=16896;this.k[85]=16896+this.o;this.k[105]=16640;this.k[73]=16640+this.o;this.k[115]=14080;this.k[83]=14080+this.o;this.k[100]=13824;this.k[68]=13824+this.o;this.k[102]=13568;this.k[70]=13568+this.o;this.k[103]=13312;this.k[71]=13312+this.o;this.k[104]=13056;this.k[72]=13056+this.o;this.k[106]=12800;this.k[74]=12800+this.o;this.k[107]=12544;this.k[75]=12544+this.o;this.k[91]=12544+this.o;this.k[120]=9984;this.k[88]=9984+
this.o;this.k[99]=9728;this.k[67]=9728+this.o;this.k[118]=9472;this.k[86]=9472+this.o;this.k[98]=9216;this.k[66]=9216+this.o;this.k[110]=8960;this.k[78]=8960+this.o;this.k[94]=8960+this.o;this.k[109]=8704;this.k[77]=8704+this.o;this.k[93]=8704+this.o;this.k[44]=8448;this.k[60]=8448+this.o;this.k[113]=5888;this.k[81]=5888+this.o;this.k[97]=5632;this.k[65]=5632+this.o;this.k[122]=5376;this.k[90]=5376+this.o;this.k[32]=5120;this.k[47]=4864;this.k[63]=4864+this.o;this.k[59]=4608;this.k[43]=4608+this.o;
this.k[112]=4352;this.k[80]=4352+this.o;this.k[64]=4352+this.o;this.k[this.zb]=1536;this.k[this.Lc]=1280;this.k[this.o]=512;this.k[this.cc]=256;this.k[this.Mc]=0;this.reset()}B(Ia);f=Ia.prototype;f.reset=function(){this.ub(this.yc);this.A=this.yb;this.yd=0;this.M=[this.yb,0,0,0,0,0,0,0];this.kc=[];if(this.da)for(var a in this.da)isNaN(a)||this.da[a]&&clearTimeout(this.da[a]);this.da=[];this.ge=this.xa=0;this.zd=-1;this.xd=this.M;this.Kd=this.Dc=0;this.Ja=""};
f.I=function(a,b,c,d){if(void 0===this.r[c])switch(c){case "keyDown":return this.r[c]=d,d.onkeydown=function(a){return function(b){return Ja(a,b,!0)}}(this),!0;case "keyPress":return this.r[c]=d,d.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.Ja="";a.A&a.$a?a.A&=~a.$a:c=!Ka(a,b);a.m&&T(a.m,a.m.za)&&a.m.message("keyPress("+n(b)+"): "+(c?"pass":"consume"));return c}}(this),!0;case "keyUp":return this.r[c]=d,d.onkeyup=function(a){return function(b){return Ja(a,
b,!1)}}(this),!0;case "break":return this.r[c]=d,d.onclick=function(a){return function(){a.N&&a.N.reset(!0)}}(this),!0;default:if(void 0!==this.Na[c])return this.r[c]=d,d.onclick=function(a,b,c){return function(){a.l&&a.l.W();return!Ka(a,c)}}(this,c,this.Na[c]),!0}return!1};f.V=function(a,b,c,d){this.a=a;this.Pd=b;this.Ef=c-b+1;this.$f=this.Pd+this.Ef;d&&(this.l=d,N(d,b,c,this,this.O));this.P()};f.ub=function(a){this.rb=a;this.qc=255;600!=this.rb&&(this.qc=0,this.i("updated keyboard model: "+this.rb))};
f.ba=function(a,b){a&&!this.C&&(this.C=!0,this.N=b,this.m=L(b,"debugger"))};f.P=function(){this.vc=(this.Mf=v("iOS"))||v("Android");this.m&&T(this.m,this.m.za)&&this.m.message("mobile keyboard support: "+(this.vc?"true":"false")+" ("+window.navigator.userAgent+")");z.prototype.P.call(this)};function La(a,b){var c=b?a.Uf:a.Tf;a.l&&a.l.ua&&(c/=a.l.ua);return c}
function Ma(a,b){!a.xa||void 0!==b&&b==a.xa||(a.m&&T(a.m,a.m.za)&&a.m.message("autoClear("+n(a.xa)+")"),clearTimeout(a.da[a.xa]),U(a,a.xa,!1,a.sf))}function V(a,b,c){a.Ja=b;Na(a,c||a.Rf)}function Na(a,b){if(0<a.Ja.length){var c=a.Ja.charCodeAt(0);10==c&&(c=13);65<=c&&90>=c&&(c+=32);a.Ja=a.Ja.substr(1);Ka(a,c)}0<a.Ja.length&&setTimeout(function(a){return function(){Na(a,b)}}(a),b)}
function Ja(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?!Ka(a,b):!1:!0;e&&(a.A&=~a.$a,a.vc||b!=a.ge||Ma(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 Ka(a,b){var c=!1;b==a.Kc?a.N&&(a.N.reset(!0),c=!0):(a.vc&&65<=b&&90>=b&&(b+=32),Ma(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=La(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=Da(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 Ia(d);E(d,c)}});
function Oa(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;Pa(this);this.Qb=b;this.Hf=c;this.lb=d;this.ib=56832}B(Oa);f=Oa.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(){Qa(a);ra(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&&(sa(d,this.ib,this.ib,this,this.H),N(d,this.ib,this.ib,this,this.O)));this.reset(!0)};
function Pa(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?(Pa(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),Pa(this,64,32));Qa(this);ra(this)};
f.ba=function(a,b){if(a&&!this.C&&I(this)){if(this.C=!0,this.m=L(b,"debugger"),this.G=L(b,"keyboard"))this.G.I("input","canvas","keyDown",this.Qb),this.G.I("input","canvas","keyPress",this.Qb),this.G.I("input","canvas","keyUp",this.Qb)}else!a&&this.C&&(this.C=!1)};f.P=function(){this.Ob||(this.Ob=Math.floor(this.lb.width/16));this.Pb||(this.Pb=Math.floor(this.lb.height/16));z.prototype.P.call(this)};
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(Da(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=ta(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,m=0,g=0;g<d.length;g++)h>d[g][0]&&(h=d[g][0]),m<d[g][1]&&(m=d[g][1]);e.push(h);e.push(m)}4==e.length&&(c.Lb=e[2],c.Mb=e[3])}};function Qa(a){a.lc=Array(a.Ra);for(var b=0;b<=a.Ra;b++)a.lc[b]=-1}
function ra(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=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,k=e.getContext("2d"),e=new Ra(d,e,k,g);g.onload=function(a){return function(){a.O()}}(e,d.charSet);g.src=d.charSet;E(e,c)}});
function Ua(a){z.call(this,"C1PSerialPort",a);this.B=!1;this.Ad=a.demo;this.vf=0;this.uf=1;this.reset()}B(Ua);f=Ua.prototype;f.reset=function(){2!=this.Ea&&(this.Mb=this.nc=0,this.Ya='10 PRINT "HELLO OSI #'+ia(this)+'"\n',this.Ea=this.Tb=0)};f.start=function(){this.F&&this.Ad&&(V(this.F," C\n\n",3E3),setTimeout(function(a){return function(){a.Ea=1;V(a.F,"LOAD\n")}}(this),12E3));this.Ad=!1};
f.H=function(a,b,c,d){switch(c){case "listSerial":return this.q[c]=d,!0;case "loadSerial":return this.q[c]=d,d.onclick=function(a){return function(){a.q.listSerial&&s(a.q.listSerial.value,!0,null,a,a.Mf)}}(this),!0}return!1};f.U=function(a,b,c,d){this.a=a;this.Cc=b;this.Cf=c-b+1;this.Nd=this.Cc+this.Cf;if(this.k=d)va(d,b,c,this,this.G),N(d,b,c,this,this.N);this.O()};f.aa=function(a,b){a&&!this.B&&(this.B=!0,this.M=b,this.F=L(b,"keyboard"),this.l=L(b,"debugger"))};
f.Mf=function(a,b,c){b?(this.Ya=b,this.Ea=this.Tb=0,this.M&&this.F&&this.k.fa?(G(this,"auto-loading "+a),this.k.V(),"."!=this.Ya.charAt(0)?(this.Ea=1,V(this.F,"NEW\nLOAD\n")):(this.Ea=2,this.M.reset(!0),V(this.F,"ML"))):G(this,a+" ready to load")):G(this,a+" load error ("+c+")")};f.G=function(a,b){void 0!==b&&(a&1?Va(this):this.Ya&&!this.Tb&&Va(this))};f.N=function(a,b){void 0!==b&&this.l&&S(this.l,this,a,b,this.l.Pc,!0)};
function Va(a){if(void 0!==a.Ya){a.nc=0;a.Mb=0;if(a.Tb<a.Ya.length){var b=a.Ya.charCodeAt(a.Tb++);10==b&&(b=13);a.nc=b;a.Mb=1}else 1==a.Ea&&a.F&&V(a.F," \nRUN\n"),a.Ea=0;a.Zb()}}f.Zb=function(){var a;for(a=this.Cc+0;a<this.Nd;a+=2)this.a[a]=this.Mb?this.uf:this.vf;for(a=this.Cc+1;a<this.Nd;a+=2)this.a[a]=this.Mb?this.nc: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 Ua(d);E(d,c)}});
function Wa(a){z.call(this,"C1PDiskController",a);this.B=!1;this.mf=this.jd=0;this.fd=1;this.nf=this.kd=2;this.gd=3;this.Kc=128;this.Lc=64;this.Ja=4;this.gf=1;this.bd=2;this.ff=4;this.jf=8;this.hf=16;this.cd=32;this.ad=64;this.hc=128;this.ed=4;this.dd=8;this.kf=32;this.of=this.lf=16;this.hd=17;this.Mc=3;this.qd=1;this.rd=2;this.pd=4;this.od=8;this.ve=0;this.Ee=40;this.reset(!0)}B(Wa);f=Wa.prototype;
f.reset=function(a){Xa(this);this.J=-1;a&&(this.T=[],this.T[0]={Vi:this.ve,Ld:this.Ee,If:!0,Va:20,ga:0,Ta:-1,Ib:[]})};
function Xa(a){a.ee={r:a.ad,$:function(){},update:function(a){return function(c){void 0!==c&&(this.r=c);a.Xb.r&a.Ja||W(a,a.mf,this)}}(a)};a.Ga={r:255,$:function(){this.update()},update:function(a){return function(c){void 0===c?c=a.Ga.r:Ya(a,c,a.rb.r);c=c|a.hc|a.cd|a.jf|a.ff|a.bd|a.hf;c&=~a.gf;if(0<=a.J&&a.T[a.J].Ib.length){var d=a.T[a.J];d.If&&(c&=~a.cd);d.ga||(c&=~a.bd);10>=--d.Va&&(0<d.Va?(c&=~a.hc,Za(a)):(d.Va=100,0<=a.J&&(a.T[a.J].Ta=0,$a(a))))}this.r=c;a.Xb.r&a.Ja&&W(a,a.jd,this)}}(a)};a.Xb=
{r:0,$:function(){},update:function(a){return function(c){void 0!==c&&(this.r=c&~(a.Kc|a.Lc));W(a,a.fd,this);a.Ga.update();a.ee.update()}}(a)};a.fe={r:255,$:function(){},update:function(a){return function(c){void 0!==c&&(this.r=c);a.Yb.r&a.Ja||W(a,a.nf,this)}}(a)};a.rb={r:255,$:function(){},update:function(a){return function(c){void 0===c?c=a.rb.r:Ya(a,a.Ga.r,c);if(0<=a.J&&a.J<a.T.length){var d=a.T[a.J];d.Ib.length&&a.rb.r&a.dd&&!(c&a.dd)&&(c&a.ed?d.ga--:d.ga++,a.l&&T(a.l,a.l.Ka)&&a.l.message("stepping "+
(c&a.ed?"down":"up")+" to track "+d.ga),d.ga>=d.Ld&&(d.ga=d.Ld),0>d.ga&&(d.ga=0),d.Va=20,a.Ga.update(a.Ga.r|a.hc),Za(a))}this.r=c;a.Yb.r&a.Ja&&W(a,a.kd,this)}}(a)};a.Yb={r:0,$:function(){},update:function(a){return function(c){void 0!==c&&(this.r=c&~(a.Kc|a.Lc));W(a,a.gd,this);a.rb.update();a.fe.update()}}(a)};a.Si={r:0,$:function(){},update:function(a){return function(c){void 0!==c&&((c&a.Mc)==a.Mc&&(a.Ha.r=a.rd|a.pd|a.od),this.r=c);a.Ha.update()}}(a)};a.Ha={r:a.rd|a.pd|a.od,$:function(){},update:function(a){return function(c){void 0===
c&&(c=a.Ha.r);c&=~a.qd;0<=a.J&&0<=a.T[a.J].Ta&&(c|=a.qd);this.r=c;W(a,a.of,this)}}(a)};a.Gc={r:0,$:function(a){return function(){$a(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.r=c);W(a,a.hd,this)}}(a)};a.Ti={r:0,$:function(){},update:function(){return function(){}}(a)}}
f.H=function(a,b,c,d){switch(c){case "listDisk":return this.q[c]=d,!0;case "loadDisk":return this.q[c]=d,d.onclick=function(a){return function(){if(a.q.listDisk){var b=a.q.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);G(a,"loading "+ba(b)+"...");s(c,!0,null,a,a.Lf)}}}(this),!0}return!1};f.U=function(a,b,c,d){this.a=a;this.kc=b;if(this.k=d)va(d,b,c,this,this.G),N(d,b,c,this,this.N);this.O()};
f.aa=function(a,b){a&&!this.B&&(this.B=!0,this.l=L(b,"debugger"))};
f.Lf=function(a,b,c){if(c)G(this,"disk load error ("+c+")");else{c=[];G(this,"mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)G(this,"data error: "+d[0]);else if(this.T[0]){for(b=0;b<d.length;b++){var e,g=d[b],k=g.sectors;if(void 0===(e=g.trackNum)||void 0===k)throw"track "+b+" missing data";e!=b&&u("track "+e+" out of order (expected "+b+")");c=[];var n,m,l;if(e){ab(c,g,"trackSig");bb(c,g);X(c,g,"trackType");for(var q=0;q<k.length;q++){n=
k[q];m=n.sectorData;X(c,n,"sectorSig");X(c,n,"sectorNum");X(c,n,"sectorPages");for(l=0;l<m.length;l++)c.push(m[l]);ab(c,n,"sectorEndSig")}}else for(n=k[0],m=n.sectorData,X(c,g,"trackLoad",2),X(c,n,"sectorPages"),l=0;l<m.length;l++)c.push(m[l]);d[e].he=c;this.l&&T(this.l,this.l.Ka)&&this.l.message("track "+e+": "+c.length+" bytes")}this.T[0].Ib=d;G(this,"mount of "+a+" complete")}else G(this,"no available drives")}else G(this,"no tracks: "+a);else G(this,"no data: "+a)}catch(t){G(this,"disk data error: "+
(t.message||t))}}};function bb(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 ab(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))}
function cb(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case a.jd:a=a.Xb.r&a.Ja?a.Ga:a.ee;break;case a.fd:a=a.Xb;break;case a.kd:a=a.Yb.r&a.Ja?a.rb:a.fe;break;case a.gd:a=a.Yb;break;case a.lf:a=c?a.Si:a.Ha;break;case a.hd:a=a.Gc;break;default:a=a.Ti}return a}f.G=function(a,b){if(void 0!==b){var c=cb(this,a-this.kc,!1);this.l&&S(this.l,this,a,b,this.l.Ka,!1,c.ge);c.$()}};
f.N=function(a,b){if(void 0!==b){var c=this.k.G(a),d=cb(this,a-this.kc,!0);if(this.l&&T(this.l,this.l.Ka|this.l.bc)&&(S(this.l,this,a,b,this.l.Ka,!0,d.ge),d.xf))for(var e=128,g=d.r^c;g&&e;)g&e&&this.l.message(" changed "+d.ge+"."+d.xf[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function Ya(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&a.kf||(d|=2),a.Ga.r&a.ad||(d|=1));a.J!=d&&(a.J=d,a.Ha.update())}function Za(a){0<=a.J&&(a.T[a.J].Ta=-1,a.Gc.update(255),a.Ha.update())}
function $a(a){var b=null;if(0<=a.J){var b=a.T[a.J],c=b.Ib[b.ga];void 0!==c&&(0<=b.Ta&&b.Ta<c.he.length?(b.Va=100,b=c.he[b.Ta++],a.Gc.update(b),a.Ha.update()):(b.Va=10,Za(a)))}}function W(a,b,c){a.k.N(b+a.kc,c.r)}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 Wa(d);E(d,c)}});
function db(a){z.call(this,"C1PDebugger",a);this.Oa=-1;this.va=0;this.Fc=null;this.Rb=!1;this.Y=0;this.qa=[];this.Aa=[];this.Da=[];this.jb=0;this.Ca=[];this.ea=[];this.bc=1;this.ya=16;this.zb=32;this.Ka=64;this.Pc=128;this.Fa=this.Fe=0;this.Hb={port:this.bc,kbd:this.ya,video:this.zb,disk:this.Ka,serial:this.Pc};this.ja=0;this.ka=1;this.$a=2;this.Sc=3;this.Tc=4;this.Uc=5;this.Vc=6;this.Wc=7;this.Xc=8;this.Yc=9;this.Ge=10;this.Zc=11;this.$c=12;this.He=13;this.Ie=14;this.Je=15;this.Ke=16;this.la=17;
this.cc=18;this.dc=19;this.Cb=20;this.Me=21;this.Ne=22;this.ma=23;this.Db=24;this.Oe=25;this.Pe=26;this.Eb=27;this.Fb=28;this.na=29;this.ab=30;this.bb=31;this.cb=32;this.Qe=33;this.oa=34;this.Re=35;this.Se=36;this.Te=37;this.Ue=38;this.eb=39;this.fb=40;this.Ve=41;this.We=42;this.pa=43;this.Xe=44;this.Ye=45;this.Ze=46;this.za=47;this.fc=48;this.gc=49;this.$e=50;this.af=51;this.bf=52;this.cf=53;this.df=54;this.ef=55;this.ec=56;this.Le=57;this.gb="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.sd=["HLT","MSG"];eb(this,!0);this.X=[[this.Ge],[this.oa,1,this.ha],[this.ec,1],[],[],[this.oa,1,this.C],[this.$a,1,this.C],[],[this.Se],[this.oa,1,this.Q],[this.$a,0,this.Ab],[],[],[this.oa,2,this.A],[this.$a,2,this.A],[],[this.Yc,1,this.W],[this.oa,1,this.ia],[],[],[],[this.oa,1,this.I],[this.$a,1,this.I],[],[this.He],[this.oa,2,this.ba],[],[],[],[this.oa,2,this.K],[this.$a,2,this.K],[],[this.Fb,2,this.Bb],[this.ka,1,this.ha],[],[],[this.Vc,1,this.C],[this.ka,1,this.C],[this.eb,1,this.C],[],
[this.Ue],[this.ka,1,this.Q],[this.eb,0,this.Ab],[],[this.Vc,2,this.A],[this.ka,2,this.A],[this.eb,2,this.A],[],[this.Wc,1,this.W],[this.ka,1,this.ia],[],[],[],[this.ka,1,this.I],[this.eb,1,this.I],[],[this.Xe],[this.ka,2,this.ba],[],[],[],[this.ka,2,this.K],[this.eb,2,this.K],[],[this.Ve],[this.ma,1,this.ha],[],[],[],[this.ma,1,this.C],[this.cb,1,this.C],[],[this.Re],[this.ma,1,this.Q],[this.cb,0,this.Ab],[],[this.Eb,2,this.Bb],[this.ma,2,this.A],[this.cb,2,this.A],[],[this.Zc,1,this.W],[this.ma,
1,this.ia],[],[],[],[this.ma,1,this.I],[this.cb,1,this.I],[],[this.Je],[this.ma,2,this.ba],[],[],[],[this.ma,2,this.K],[this.cb,2,this.K],[],[this.We],[this.ja,1,this.ha],[],[],[],[this.ja,1,this.C],[this.fb,1,this.C],[],[this.Te],[this.ja,1,this.Q],[this.fb,0,this.Ab],[],[this.Eb,2,this.Qc],[this.ja,2,this.A],[this.fb,2,this.A],[],[this.$c,1,this.W],[this.ja,1,this.ia],[],[],[],[this.ja,1,this.I],[this.fb,1,this.I],[],[this.Ze],[this.ja,2,this.ba],[],[],[],[this.ja,2,this.K],[this.fb,2,this.K],[],
[],[this.za,1,this.ha],[],[],[this.gc,1,this.C],[this.za,1,this.C],[this.fc,1,this.C],[],[this.Ne],[],[this.cf],[],[this.gc,2,this.A],[this.za,2,this.A],[this.fc,2,this.A],[],[this.Sc,1,this.W],[this.za,1,this.ia],[],[],[this.gc,1,this.I],[this.za,1,this.I],[this.fc,1,this.Rc],[],[this.ef],[this.za,2,this.ba],[this.df],[],[],[this.za,2,this.K],[],[],[this.bb,1,this.Q],[this.na,1,this.ha],[this.ab,1,this.Q],[],[this.bb,1,this.C],[this.na,1,this.C],[this.ab,1,this.C],[],[this.af],[this.na,1,this.Q],
[this.$e],[],[this.bb,2,this.A],[this.na,2,this.A],[this.ab,2,this.A],[],[this.Tc,1,this.W],[this.na,1,this.ia],[],[],[this.bb,1,this.I],[this.na,1,this.I],[this.ab,1,this.Rc],[],[this.Ke],[this.na,2,this.ba],[this.bf],[],[this.bb,2,this.K],[this.na,2,this.K],[this.ab,2,this.ba],[],[this.dc,1,this.Q],[this.la,1,this.ha],[],[],[this.dc,1,this.C],[this.la,1,this.C],[this.Cb,1,this.C],[],[this.Pe],[this.la,1,this.Q],[this.Me],[],[this.dc,2,this.A],[this.la,2,this.A],[this.Cb,2,this.A],[],[this.Xc,1,
this.W],[this.la,1,this.ia],[],[],[],[this.la,1,this.I],[this.Cb,1,this.I],[],[this.Ie],[this.la,2,this.ba],[],[],[],[this.la,2,this.K],[this.Cb,2,this.K],[],[this.cc,1,this.Q],[this.pa,1,this.ha],[],[],[this.cc,1,this.C],[this.pa,1,this.C],[this.Db,1,this.C],[],[this.Oe],[this.pa,1,this.Q],[this.Qe],[],[this.cc,2,this.A],[this.pa,2,this.A],[this.Db,2,this.A],[],[this.Uc,1,this.W],[this.pa,1,this.ia],[],[],[],[this.pa,1,this.I],[this.Db,1,this.I],[],[this.Ye],[this.pa,2,this.ba],[],[],[],[this.pa,
2,this.K],[this.Db,2,this.K],[]]}B(db);f=db.prototype;f.H=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Qb=this.q[c]=d,this.Qb.focus(),d.onkeypress=function(a,b){return function(d){13==d.keyCode&&(c=b.value,b.value="",fb(a,c))}}(this,d),!0;case "debugEnter":return this.q[c]=d,fa(d,function(){return e.Qb?(c=e.Qb.value,fb(e,c),!0):!1}),!0;case "step":return this.q[c]=d,fa(d,function(a){var b=!1;I(e,!0)||(H(e,!0),b=e.step(a?1:0),H(e,!1));return b}),!0}return!1};
f.U=function(a,b,c){this.a=a;this.Z=b;this.pc=c-b+1;this.Xa=this.Z+this.pc;this.O()};f.aa=function(a,b){a&&!this.B&&(this.B=!0,this.k=L(b,"cpu"))};f.V=function(){this.Qb.focus()};
function eb(a,b){a.Ab=0;a.Q=1;a.K=2;a.ba=3;a.Bb=4;a.Qc=5;a.I=6;a.Rc=7;a.ha=8;a.ia=9;a.A=10;a.C=11;a.W=a.Bb;var c="",d,e;if(b)for(a.da="A #$nn $nnnn,X $nnnn,Y $nnnn ($nnnn) $nn,X $nn,Y ($nn,X) ($nn),Y $nnnn $nn".split(" "),d=0;d<a.da.length;d++)e=a.da[d],c+="("+e.replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\$/g,"\\$")+"|)";else for(a.da="A nn [nnnn+X] [nnnn+Y] nnnn [nnnn] [nn+X] [nn+Y] [[nn+X]] [[nn]+Y] [nnnn] [nn]".split(" "),
d=0;d<a.da.length;d++)e=a.da[d],c+="("+e.replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\+/g,"\\+")+"|)";a.Ui=new RegExp(c);a.yf=[a.Eb,a.Fb,a.Yc,a.Wc,a.Zc,a.$c,a.Sc,a.Tc,a.Xc,a.Uc]}f.S=function(){this.k.S()};function T(a,b){return(a.Fa&b)===b}function S(a,b,c,d,e,g,k){(a.Fa&e)==e&&(e=a.k.G(c),a.message(b.id+"."+(g?"setByte":"getByte")+"("+p(c)+")"+(void 0!==d?" @"+p(d):"")+": "+(k?k+"=":"")+h(e)))}
f.message=function(a){G(this,a);Fa(this.k)};f.Kf=function(){G(this,"Type ? for list of debugger commands\n")};f.xa=function(){if(!gb(this))return!1;this.k.xa();return!0};f.step=function(a){if(!gb(this))return!1;var b;try{b=this.k.step(a)}catch(c){b=void 0,K(this.k,c.message||c)}void 0!==b&&this.Oa++;this.k.update(!0);this.update(!0);return b};f.update=function(a){this.va=this.k.d;a||this.Sa?hb(this):ib(this)};
function gb(a){a.k&&J(a.k)&&!I(a.k)?(a=a.k,a.ib?(G(a,a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}f.reset=function(){var a;this.Ca.length||(this.Ca=Array(1E3));for(a=0;a<this.Ca.length;a++)this.Ca[a]=-1;this.ea.length||(this.ea=Array(256));for(a=0;a<this.ea.length;a++)this.ea[a]=[a,0];this.Oa&&this.update();this.Oa=0};f.start=function(){this.Sa||G(this,"running")};
f.stop=function(a,b){if(!this.Sa&&(G(this,"stopped"),b)){var c=r();G(this,c-a+"ms ("+b+" cycles)")}this.update();this.V();this.Sa||(this.Oa=0);jb(this,this.k.d)};function kb(a,b){return a+(b<<24>>24)}f.G=function(a){var b;a>=this.Z&&a<this.Xa&&(xa(this.k,a),b=this.a[this.Z+a],b&=255);return b};f.N=function(a,b){a<this.Z||a>=this.Xa?G(this,"invalid address: "+p(a)):(this.a[this.Z+a]=b&255,za(this.k,a),this.k.update())};function lb(a,b){Y(a.qa,b,void 0)||a.qa.push(b);return!0}
function Y(a,b,c){for(var d=!1,e=0;e<a.length;e++)if(a[e]==b){c&&a.splice(e,1);d=!0;break}return d}function mb(a,b){void 0!==b&&(jb(a,a.Na),lb(a,b)&&(a.Na=b))}function jb(a,b){void 0!==a.Na&&b==a.Na&&Y(a.qa,a.Na,!0)&&(a.Na=void 0);a.Sa=!1}function Ea(a,b,c,d){for(var e=!1,g=0;g<c.length;g++)if(c[g]==b){b!=a.Na&&G(a,"breakpoint hit: "+p(b)+" ("+d+")");e=!0;break}return e}
function nb(a,b,c){var d=p(b),e=a.G(b++),g=a.X[e],k=void 0===e?0:e,n=[],m=void 0===g[1]?0:g[1];do{d+=" "+h(k);if(!m--)break;k=a.G(b++);if(void 0===k)break;n.push(k)}while(1);void 0===g[0]&&(g=[a.Le,1,a.Q],n.push(e));var d=(d+" ").substr(0,15),d=d+a.gb[g[0]],l=null;if(void 0!==g[2]){m=g[2];l=a.da[m];if(1==g[1]&&m==a.W)l=l.replace(/nnnn/,p(kb(b,k=n.pop())));else for(;n.length;)l=l.replace(/nn/,h(k=n.pop()));m==a.Q&&1==g[1]&&32<=k&&128>k&&(l+=" ;'"+String.fromCharCode(k)+"'")}if(e==a.k.ec&&(k<
a.sd.length&&(l=a.sd[k]),k==a.k.md)){m=0;for(l='"';k=a.G(b++);)16>m?l+=String.fromCharCode(k):16==m&&(l+="\u2026"),m++;l+='"'}l&&(d+=" "+l);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.Wf=b;return d}
function Z(a,b){var c=a.va;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(G(a,"invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c<a.Z||c>=a.Xa)&&(G(a,"address out of range: "+aa(c)),c=void 0);return c}
function ob(a,b){if("?"==b)G(a,"\nfrequency commands:"),G(a,"clear\tclear all frequency counts");else{var c=0,d;if(a.ea)if("clear"==b){for(d=0;d<a.ea.length;d++)a.ea[d]=[d,0];G(a,"frequency data cleared");c++}else if(void 0!==b)G(a,"unknown frequency command: "+b),c++;else{var e=a.ea.slice();e.sort(function(a,b){return b[1]-a[1]});for(d=0;d<e.length;d++){var g=e[d][0],k=e[d][1];k&&(G(a,a.gb[a.X[g][0]]+" ("+h(g)+"): "+k+" times"),c++)}}c||G(a,"no frequency data available")}}
function hb(a,b,c,d){var e=Z(a,b);if(void 0!==e){void 0===d&&(d=1);b=a.Xa;if(void 0!==c){b=Z(a,c);if(void 0===b||b<e)return;if(256<b-e){G(a,"range too large");return}b++;d=-1}for(e!=a.va&&G(a);d--&&e<b;)c=nb(a,e,I(a,!1)||a.Sa?a.Oa:0),G(a,c),a.va=e=a.Wf}}
function ib(a,b){if(b&&"?"==b[1])G(a,"\nregister commands:"),G(a,"r to display all"),G(a,"r [target=value] to modify"),G(a,"supported targets:"),G(a,"A,X,Y,S,PC and flags C,Z,D,V,N");else{var c=!0;if(void 0!==b&&1<b.length){var c=!1,d=b[1],e=null,g=d.indexOf("=");if(0<g)e=d.substr(g+1),d=d.substr(0,g);else if(2<b.length)e=b[2];else{G(a,"missing value for "+b[1]);return}g=parseInt(e,16);if(isNaN(g)){G(a,"invalid value: "+e);return}switch(d.toUpperCase()){case "A":a.k.e=g&255;break;case "X":a.k.m=g&
255;break;case "Y":a.k.o=g&255;break;case "C":a.k.c=g?256:0;break;case "Z":a.k.g=g?0:1;break;case "D":g?Ha(a.k):Ia(a.k);break;case "V":g?(d=a.k,d.t=0,d.u=128):(d=a.k,d.t=0,d.u=0);break;case "N":a.k.f=g?128:0;break;case "S":if(256!=(g&-256)){G(a,"invalid stack pointer: "+e);return}a.k.p=g;break;case "PC":c=!0;a.k.d=g&65535;a.va=a.k.d;break;default:G(a,"unknown register: "+d);return}a.k.update()}G(a,"A="+h(a.k.e)+" X="+h(a.k.m)+" Y="+h(a.k.o)+" P="+h(Ca(a.k))+" S="+p(a.k.p)+" PC="+p(a.k.d));c&&hb(a,
p(a.va=a.k.d))}}function pb(a,b){var c=void 0===b?1:parseInt(b,10),d=1==c?0:1;ea(c,function(a){return function(){return H(a,!0)&&a.step(d)}}(a),function(a){return function(){H(a,!1)}}(a))}
function fb(a,b){b.length||(a.Rb?(G(a,"ended assemble @"+p(a.Y)),a.va=a.Y,a.Rb=!1):a.Fc&&(b=a.Fc));if(J(a)&&!I(a,!0)&&0<b.length){a.Rb?b="a "+p(a.Y)+" "+b:1<b.length&&1!=b.indexOf(" ")&&(b=b.charAt(0).toLowerCase()+" "+b.substr(1));var c=b.split(" ");a.Fc=c[0];switch(c[0].toLowerCase()){case "a":var d=Z(a,c[1]);if(void 0!==d)if(a.Y=d,void 0===c[2])G(a,"begin assemble @"+p(a.Y)),a.Rb=!0,a.k.update();else{var e,g=c[2],k=c[3],c=a.Y,d=[];if(void 0!==g){var n,g=g.toUpperCase();"?"==g.charAt(g.length-1)&&
(k="?",g=g.substr(0,g.length-1));for(n=0;n<a.gb.length&&g!=a.gb[n];n++);n==a.gb.length&&(G(a,"unknown operation: "+g),n=-1);var m="",l;if(0<=n&&void 0!==k)if(m=k.toUpperCase(),"?"==m){for(k=l=0;k<a.X.length;k++)a.X[k][0]===n&&(l||G(a,"supported opcodes:"),G(a," "+h(k)+": "+g+(void 0!==a.X[k][2]?" "+a.da[a.X[k][2]]:"")),l++);n=-1}else if(l=m.match(a.Ui),null!==l&&l[0]==m){for(k=1;k<l.length;k++)if(l[k]==m)if(void 0===e)e=k-1;else{G(a,"too many operand matches (both "+a.da[e]+" and "+a.da[k-1]+
")");n=-1;break}e==a.Bb&&0>a.yf.indexOf(n)&&(e=a.A);e==a.Qc&&n!=a.Eb&&(e=a.A)}else G(a,"unknown operand: "+m),n=-1;if(0<=n){l=-1;for(k=0;k<a.X.length;k++)if(a.X[k][0]===n&&a.X[k][2]===e)if(0>l)l=k;else{G(a,"too many instruction matches (both "+h(l)+" and "+h(k)+")");l=-2;break}if(0<=l){if(d.push(l),void 0!==e)if(g=a.X[l][1],m=m.match(/[0-9A-F]+/),null!==m)for(m=parseInt(m[0],16),1==g&&e==a.W&&(m-=c+2,-128>m||127<m)&&(G(a,"branch out of range ("+m+")"),d=[],g=0),k=0;k<g;k++)d.push(m&255),m>>>=8;else g&&
G(a,"instruction missing "+g+" bytes")}else G(a,"unknown instruction: "+g+" "+m+"")}}e=d;if(e.length){for(c=0;c<e.length;c++)a.N(a.Y+c,e[c]);G(a,nb(a,a.Y));a.Y+=e.length}}break;case "b":e=c[1];c=c[2];if(void 0===e||"?"==e)G(a,"\nbreakpoint commands:"),G(a,"bp [a]\tset exec breakpoint at [a]"),G(a,"br [a]\tset read breakpoint at [a]"),G(a,"bw [a]\tset write breakpoint at [a]"),G(a,"bc [a]\tclear breakpoint at [a]"),G(a,"bl\tlist all breakpoints");else if(void 0===c&&1<e.length&&(c=e.substr(1),e=e.substr(0,
1)),"l"==e){e=0;d=a.qa;for(c=0;c<d.length;c++)G(a,"breakpoint enabled: "+p(d[c])+" (exec)"),e++;d=a.Aa;for(c=0;c<d.length;c++)G(a,"breakpoint enabled: "+p(d[c])+" (read)"),e++;d=a.Da;for(c=0;c<d.length;c++)G(a,"breakpoint enabled: "+p(d[c])+" (write)"),e++;e||G(a,"no breakpoints")}else void 0===c?G(a,"missing breakpoint address"):"c"==e&&"*"==c?(a.qa=[],a.Aa=[],a.Da=[],G(a,"all breakpoints cleared")):(c=Z(a,c),void 0!==c&&("p"==e?lb(a,c)?G(a,"breakpoint enabled: "+p(c)+" (exec)"):G(a,"breakpoint not set: "+
p(c)):"c"==e?Y(a.qa,c,!0)?G(a,"breakpoint cleared: "+p(c)+" (exec)"):Y(a.Aa,c,!0)?G(a,"breakpoint cleared: "+p(c)+" (read)"):Y(a.Da,c,!0)?G(a,"breakpoint cleared: "+p(c)+" (write)"):G(a,"breakpoint missing: "+p(c)):"r"==e?(Y(a.Aa,c,void 0)||a.Aa.push(c),G(a,"breakpoint enabled: "+p(c)+" (read)")):"w"==e?(Y(a.Da,c,void 0)||a.Da.push(c),G(a,"breakpoint enabled: "+p(c)+" (write)")):G(a,"unknown breakpoint command: "+e)));break;case "d":e=c[1];d=c[2];if("?"==e)G(a,"\ndump commands:"),G(a,"d [a] [#] dump # lines of memory");
else if(e=Z(a,e),void 0!==e){c=0;void 0!==d&&("l"==d.charAt(0)&&(d=d.substr(1)),c=parseInt(d,10));c||(c=1);for(d=0;d<c;d++){m=g="";k=e;for(n=0;8>n&&e<a.Xa;n++)l=a.G(e),void 0===l&&(l=0),g+=h(l)+" ",m+=32<=l&&128>l?String.fromCharCode(l):".",e++;G(a,p(k)+" "+g+m)}a.va=e}break;case "e":e=c[1];if(void 0===e)G(a,"missing address");else if(e=Z(a,e),void 0!==e)for(d=2;d<c.length;d++)g=parseInt(c[d],16),a.N(e++,g);break;case "f":ob(a,c[1]);break;case "g":e=c[1];void 0!==e&&mb(a,Z(a,e));a.xa()||a.k.V();break;
case "h":a.S();break;case "o":if(void 0===c[1]||"?"==c[1])G(a,"\noption commands:"),G(a,"max\trun at maximum speed"),G(a,"fast\trun faster (up to "+a.k.lb+"Mhz)"),G(a,"slow\trun at normal speed (1Mhz)"),G(a,"classic\tuse classic operand syntax"),G(a,"modern\tuse modern operand syntax"),G(a,"msg\tenable message categories");else switch(e=c[1],e){case "slow":M(a.k,a.k.Gb);break;case "fast":M(a.k,a.k.nd);break;case "max":M(a.k,a.k.La);break;case "classic":eb(a,!0);G(a,"classic syntax enabled");break;
case "modern":eb(a,!1);G(a,"modern syntax enabled");break;case "msg":e=0;void 0!==c[2]&&("all"==c[2]?e=255:void 0!==a.Hb[c[2]]&&(e=a.Hb[c[2]]),e&&("on"==c[3]?a.Fa|=e:"off"==c[3]&&(a.Fa&=~e)));for(d in a.Hb)if(void 0===c[2]||"all"==c[2]||c[2]==d)e=a.Hb[d],G(a,d+" messages: "+(a.Fa&e?"on":"off"));break;default:G(a,"unknown option: "+e)}break;case "p":m=c[1];e=10;c=a.jb;d=a.Ca;if(void 0!==d){g=void 0===m?a.Vf:parseInt(m,10);void 0===g&&(g=10);g>d.length&&(G(a,"note: only "+d.length+" available"),g=d.length);
void 0!==m&&(a.wc=0,G(a,g+" instructions earlier:"));m=a.wc?a.wc:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.jb;){k=d[c];if(0>k)break;G(a,nb(a,k,m++));++c==d.length&&(c=0);e--;g--}a.Vf=g;a.wc=m}10==e&&G(a,"no history available");break;case "r":ib(a,c);break;case "s":a.G(a.k.d)==a.k.Fb?(mb(a,a.k.d+3),a.Sa=!0,a.xa()||a.k.V()):pb(a);break;case "t":pb(a,c[1]);break;case "u":hb(a,c[1],c[2],8);break;case "?":case "help":G(a,"\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");
G(a,"note: frequency and history commands operate only when breakpoints are set");break;default:G(a,"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 db(d);E(d,c)}});function $(a,b){z.call(this,"C1PComputer",a);this.P=b}B($);$.prototype.reset=function(a){var b=null,c;for(c in this.P)for(var d=0;d<this.P[c].length;d++){var e=this.P[c][d];e&&e.reset&&(e.reset(),"cpu"==c&&(b=e))}b&&(b.update(),a&&b.xa())};
$.prototype.start=function(){for(var a in this.P)if("cpu"!=a)for(var b=0;b<this.P[a].length;b++){var c=this.P[a][b];c&&c.start&&c.start()}};$.prototype.stop=function(a,b){for(var c in this.P)if("cpu"!=c)for(var d=0;d<this.P[c].length;d++){var e=this.P[c][d];e&&e.stop&&e.stop(a,b)}};$.prototype.H=function(a,b,c,d){switch(c){case "reset":return this.q[c]=d,d.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function L(a,b){return a.P[b]?a.P[b][0]:null}
function qb(a){var b=null,c;for(c in a.P)for(var d=0;d<a.P[c].length;d++){var e=a.P[c][d];if(e){if(!J(e)){J(e,function(a){return function(){qb(a)}}(a));return}"cpu"==c?b=e:e.aa&&e.aa(!0,a)}}a.O();G(a,"C1Pjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>");b&&b.aa(!0,a)}
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={},k,n=0,m=0,l=0;l<d.modules.length;l++){var q=d.modules[l];if(!l){if("cpu"!=q.type)break;n=q.start;m=q.end;k=Array(m+1-n);for(e=n;e<k.length;e++)k[e]=0}if(e=C(q.refID,d.id)){var t=q.type;void 0===g[t]&&(g[t]=[]);g[t].push(e);e.U&&void 0!==q.start&&e.U(k,q.start,q.end,g.cpu[0])}else{u('no component for <module refid="'+q.refID+'">');return}}if(void 0===k){u('<module type="cpu"> definition must appear first in the <computer> specification');
break}if(e=C("debugger",d.id))g["debugger"]=[e],e.U&&e.U(k,n,m,g.cpu[0]);(e=C("panel",d.id))&&(g.panel=[e]);d=new $(d,g);E(d,c);qb(d)}});function rb(a,b,c,d){var e=s(a);if(e[0])throw Error(e[1]);return sb(e[1],a,b,c,d)}
function sb(a,b,c,d,e){var g=null;if(a){if(e)for(var k=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g;g=k.exec(a);){var n=g[2],m=s(n),l=m[1];if(m[0]||!l)throw c="unable to resolve XML reference: "+g[0]+" ("+m[0]+")",Error(c);if(m=g[3]){var q=l.match(new RegExp("<"+g[1]+"[^>]*>"));if(q){for(var n=q[0],t,ya=/( [a-z]+=)(['"])(.*?)\2/g;t=ya.exec(m);)n=0>n.indexOf(t[1])?n.replace(">",t[0]+">"):n.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);q[0]!=n&&(l=l.replace(q[0],n))}else throw c="missing <"+g[1]+"> in "+n,
Error(c);}l=l.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(g[0],l);k.lastIndex=0}c&&(b&&0>b.indexOf("/")&&(b=window.location.pathname+b),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(b?" url=$2"+b+"$2":"")));if(0===a.indexOf("<"))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");else throw Error("unrecognized XML: "+
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 Oa(d,e,h,g);g.onload=function(a){return function(){a.P()}}(e,d.charSet);g.src=d.charSet;E(e,c)}});
function Ra(a){z.call(this,"C1PSerialPort",a);this.C=!1;this.Dd=a.demo;this.yf=0;this.xf=1;this.reset()}B(Ra);f=Ra.prototype;f.reset=function(){2!=this.Fa&&(this.Nb=this.pc=0,this.Za='10 PRINT "HELLO OSI #'+ia(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&&t(a.r.listSerial.value,!0,null,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)sa(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?Sa(this):this.Za&&!this.Ub&&Sa(this))};f.O=function(a,b){void 0!==b&&this.m&&S(this.m,this,a,b,this.m.Sc,!0)};
function Sa(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 Ra(d);E(d,c)}});
function Ta(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(Ta);f=Ta.prototype;
f.reset=function(a){Ua(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 Ua(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:Va(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,Wa(a)):(d.Wa=100,0<=a.K&&(a.U[a.K].Ua=0,Xa(a))))}this.s=c;a.Zb.s&a.Ka&&W(a,a.md,this)}}(a)};a.Zb=
{s:0,aa:function(){},update:function(a){return function(c){void 0!==c&&(this.s=c&~(a.Nc|a.Oc));W(a,a.jd,this);a.Ha.update();a.he.update()}}(a)};a.ie={s:255,aa:function(){},update:function(a){return function(c){void 0!==c&&(this.s=c);a.$b.s&a.Ka||W(a,a.qf,this)}}(a)};a.sb={s:255,aa:function(){},update:function(a){return function(c){void 0===c?c=a.sb.s:Va(a,a.Ha.s,c);if(0<=a.K&&a.K<a.U.length){var d=a.U[a.K];d.Jb.length&&a.sb.s&a.gd&&!(c&a.gd)&&(c&a.hd?d.ha--:d.ha++,a.m&&T(a.m,a.m.La)&&a.m.message("stepping "+
(c&a.hd?"down":"up")+" to track "+d.ha),d.ha>=d.Od&&(d.ha=d.Od),0>d.ha&&(d.ha=0),d.Wa=20,a.Ha.update(a.Ha.s|a.jc),Wa(a))}this.s=c;a.$b.s&a.Ka&&W(a,a.nd,this)}}(a)};a.$b={s:0,aa:function(){},update:function(a){return function(c){void 0!==c&&(this.s=c&~(a.Nc|a.Oc));W(a,a.kd,this);a.sb.update();a.ie.update()}}(a)};a.Vi={s:0,aa:function(){},update:function(a){return function(c){void 0!==c&&((c&a.Pc)==a.Pc&&(a.Ia.s=a.ud|a.sd|a.rd),this.s=c);a.Ia.update()}}(a)};a.Ia={s:a.ud|a.sd|a.rd,aa:function(){},update:function(a){return function(c){void 0===
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(){Xa(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)+"...");t(c,!0,null,a,a.Of)}}}(this),!0}return!1};f.V=function(a,b,c,d){this.a=a;this.mc=b;if(this.l=d)sa(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&&u("track "+e+" out of order (expected "+b+")");c=[];var m,l,k;if(e){Ya(c,g,"trackSig");Za(c,g);X(c,g,"trackType");for(var p=0;p<h.length;p++){m=
h[p];l=m.sectorData;X(c,m,"sectorSig");X(c,m,"sectorNum");X(c,m,"sectorPages");for(k=0;k<l.length;k++)c.push(l[k]);Ya(c,m,"sectorEndSig")}}else for(m=h[0],l=m.sectorData,X(c,g,"trackLoad",2),X(c,m,"sectorPages"),k=0;k<l.length;k++)c.push(l[k]);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(s){this.i("disk data error: "+
(s.message||s))}}};function Za(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 Ya(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))}
function $a(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=$a(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=$a(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 Va(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 Wa(a){0<=a.K&&(a.U[a.K].Ua=-1,a.Jc.update(255),a.Ia.update())}
function Xa(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,Wa(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 Ta(d);E(d,c)}});
function ab(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"];bb(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],[],
[this.Xe],[this.la,1,this.R],[this.fb,0,this.Bb],[],[this.Yc,2,this.B],[this.la,2,this.B],[this.fb,2,this.B],[],[this.Zc,1,this.X],[this.la,1,this.ja],[],[],[],[this.la,1,this.J],[this.fb,1,this.J],[],[this.$e],[this.la,2,this.ca],[],[],[],[this.la,2,this.L],[this.fb,2,this.L],[],[this.Ye],[this.na,1,this.ia],[],[],[],[this.na,1,this.D],[this.eb,1,this.D],[],[this.Ue],[this.na,1,this.R],[this.eb,0,this.Bb],[],[this.Fb,2,this.Cb],[this.na,2,this.B],[this.eb,2,this.B],[],[this.bd,1,this.X],[this.na,
1,this.ja],[],[],[],[this.na,1,this.J],[this.eb,1,this.J],[],[this.Me],[this.na,2,this.ca],[],[],[],[this.na,2,this.L],[this.eb,2,this.L],[],[this.Ze],[this.ka,1,this.ia],[],[],[],[this.ka,1,this.D],[this.gb,1,this.D],[],[this.We],[this.ka,1,this.R],[this.gb,0,this.Bb],[],[this.Fb,2,this.Tc],[this.ka,2,this.B],[this.gb,2,this.B],[],[this.cd,1,this.X],[this.ka,1,this.ja],[],[],[],[this.ka,1,this.J],[this.gb,1,this.J],[],[this.bf],[this.ka,2,this.ca],[],[],[],[this.ka,2,this.L],[this.gb,2,this.L],[],
[],[this.Aa,1,this.ia],[],[],[this.ic,1,this.D],[this.Aa,1,this.D],[this.hc,1,this.D],[],[this.Qe],[],[this.ff],[],[this.ic,2,this.B],[this.Aa,2,this.B],[this.hc,2,this.B],[],[this.Vc,1,this.X],[this.Aa,1,this.ja],[],[],[this.ic,1,this.J],[this.Aa,1,this.J],[this.hc,1,this.Uc],[],[this.hf],[this.Aa,2,this.ca],[this.gf],[],[],[this.Aa,2,this.L],[],[],[this.cb,1,this.R],[this.oa,1,this.ia],[this.bb,1,this.R],[],[this.cb,1,this.D],[this.oa,1,this.D],[this.bb,1,this.D],[],[this.df],[this.oa,1,this.R],
[this.cf],[],[this.cb,2,this.B],[this.oa,2,this.B],[this.bb,2,this.B],[],[this.Wc,1,this.X],[this.oa,1,this.ja],[],[],[this.cb,1,this.J],[this.oa,1,this.J],[this.bb,1,this.Uc],[],[this.Ne],[this.oa,2,this.ca],[this.ef],[],[this.cb,2,this.L],[this.oa,2,this.L],[this.bb,2,this.ca],[],[this.fc,1,this.R],[this.ma,1,this.ia],[],[],[this.fc,1,this.D],[this.ma,1,this.D],[this.Db,1,this.D],[],[this.Se],[this.ma,1,this.R],[this.Pe],[],[this.fc,2,this.B],[this.ma,2,this.B],[this.Db,2,this.B],[],[this.$c,1,
this.X],[this.ma,1,this.ja],[],[],[],[this.ma,1,this.J],[this.Db,1,this.J],[],[this.Le],[this.ma,2,this.ca],[],[],[],[this.ma,2,this.L],[this.Db,2,this.L],[],[this.ec,1,this.R],[this.qa,1,this.ia],[],[],[this.ec,1,this.D],[this.qa,1,this.D],[this.Eb,1,this.D],[],[this.Re],[this.qa,1,this.R],[this.Te],[],[this.ec,2,this.B],[this.qa,2,this.B],[this.Eb,2,this.B],[],[this.Xc,1,this.X],[this.qa,1,this.ja],[],[],[],[this.qa,1,this.J],[this.Eb,1,this.J],[],[this.af],[this.qa,2,this.ca],[],[],[],[this.qa,
2,this.L],[this.Eb,2,this.L],[]]}B(ab);f=ab.prototype;f.I=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Rb=this.r[c]=d,this.Rb.focus(),d.onkeypress=function(a,b){return function(d){13==d.keyCode&&(c=b.value,b.value="",cb(a,c))}}(this,d),!0;case "debugEnter":return this.r[c]=d,fa(d,function(){return e.Rb?(c=e.Rb.value,cb(e,c),!0):!1}),!0;case "step":return this.r[c]=d,fa(d,function(a){var b=!1;H(e,!0)||(G(e,!0),b=e.step(a?1:0),G(e,!1));return b}),!0}return!1};
f.V=function(a,b,c){this.a=a;this.$=b;this.rc=c-b+1;this.Ya=this.$+this.rc;this.P()};f.ba=function(a,b){a&&!this.C&&(this.C=!0,this.l=L(b,"cpu"))};f.W=function(){this.Rb.focus()};
function bb(a,b){a.Bb=0;a.R=1;a.L=2;a.ca=3;a.Cb=4;a.Tc=5;a.J=6;a.Uc=7;a.ia=8;a.ja=9;a.B=10;a.D=11;a.X=a.Cb;var c="",d,e;if(b)for(a.ea="A #$nn $nnnn,X $nnnn,Y $nnnn ($nnnn) $nn,X $nn,Y ($nn,X) ($nn),Y $nnnn $nn".split(" "),d=0;d<a.ea.length;d++)e=a.ea[d],c+="("+e.replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\$/g,"\\$")+"|)";else for(a.ea="A nn [nnnn+X] [nnnn+Y] nnnn [nnnn] [nn+X] [nn+Y] [[nn+X]] [[nn]+Y] [nnnn] [nn]".split(" "),
d=0;d<a.ea.length;d++)e=a.ea[d],c+="("+e.replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\+/g,"\\+")+"|)";a.Xi=new RegExp(c);a.Bf=[a.Fb,a.Gb,a.ad,a.Zc,a.bd,a.cd,a.Vc,a.Wc,a.$c,a.Xc]}f.T=function(){this.l.T()};function T(a,b){return(a.Ga&b)===b}function S(a,b,c,d,e,g,h){(a.Ga&e)==e&&(e=a.l.H(c),a.message(b.id+"."+(g?"setByte":"getByte")+"("+q(c)+")"+(void 0!==d?" @"+q(d):"")+": "+(h?h+"=":"")+n(e)))}
f.message=function(a){this.i(a);Ca(this.l)};f.Nf=function(){this.i("Type ? for list of debugger commands\n")};f.ya=function(){if(!db(this))return!1;this.l.ya();return!0};f.step=function(a){if(!db(this))return!1;var b;try{b=this.l.step(a)}catch(c){b=void 0,J(this.l,c.message||c)}void 0!==b&&this.Pa++;this.l.update(!0);this.update(!0);return b};f.update=function(a){this.wa=this.l.d;a||this.Ta?eb(this):fb(this)};
function db(a){a.l&&I(a.l)&&!H(a.l)?(a=a.l,a.jb?(a.i(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}f.reset=function(){var a;this.Da.length||(this.Da=Array(1E3));for(a=0;a<this.Da.length;a++)this.Da[a]=-1;this.fa.length||(this.fa=Array(256));for(a=0;a<this.fa.length;a++)this.fa[a]=[a,0];this.Pa&&this.update();this.Pa=0};f.start=function(){this.Ta||this.i("running")};
f.stop=function(a,b){if(!this.Ta&&(this.i("stopped"),b)){var c=r();this.i(c-a+"ms ("+b+" cycles)")}this.update();this.W();this.Ta||(this.Pa=0);gb(this,this.l.d)};function hb(a,b){return a+(b<<24>>24)}f.H=function(a){var b;a>=this.$&&a<this.Ya&&(ua(this.l,a),b=this.a[this.$+a],b&=255);return b};f.O=function(a,b){a<this.$||a>=this.Ya?this.i("invalid address: "+q(a)):(this.a[this.$+a]=b&255,va(this.l,a),this.l.update())};function ib(a,b){Y(a.ra,b,void 0)||a.ra.push(b);return!0}
function Y(a,b,c){for(var d=!1,e=0;e<a.length;e++)if(a[e]==b){c&&a.splice(e,1);d=!0;break}return d}function jb(a,b){void 0!==b&&(gb(a,a.Oa),ib(a,b)&&(a.Oa=b))}function gb(a,b){void 0!==a.Oa&&b==a.Oa&&Y(a.ra,a.Oa,!0)&&(a.Oa=void 0);a.Ta=!1}function Ba(a,b,c,d){for(var e=!1,g=0;g<c.length;g++)if(c[g]==b){b!=a.Oa&&a.i("breakpoint hit: "+q(b)+" ("+d+")");e=!0;break}return e}
function kb(a,b,c){var d=q(b),e=a.H(b++),g=a.Y[e],h=void 0===e?0:e,m=[],l=void 0===g[1]?0:g[1];do{d+=" "+n(h);if(!l--)break;h=a.H(b++);if(void 0===h)break;m.push(h)}while(1);void 0===g[0]&&(g=[a.Oe,1,a.R],m.push(e));var d=(d+" ").substr(0,15),d=d+a.hb[g[0]],k=null;if(void 0!==g[2]){l=g[2];k=a.ea[l];if(1==g[1]&&l==a.X)k=k.replace(/nnnn/,q(hb(b,h=m.pop())));else for(;m.length;)k=k.replace(/nn/,n(h=m.pop()));l==a.R&&1==g[1]&&32<=h&&128>h&&(k+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.l.gc&&(h<
a.vd.length&&(k=a.vd[h]),h==a.l.pd)){l=0;for(k='"';h=a.H(b++);)16>l?k+=String.fromCharCode(h):16==l&&(k+="\u2026"),l++;k+='"'}k&&(d+=" "+k);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.Zf=b;return d}
function Z(a,b){var c=a.wa;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.i("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c<a.$||c>=a.Ya)&&(a.i("address out of range: "+aa(c)),c=void 0);return c}
function lb(a,b){if("?"==b)a.i("\nfrequency commands:"),a.i("clear\tclear all frequency counts");else{var c=0,d;if(a.fa)if("clear"==b){for(d=0;d<a.fa.length;d++)a.fa[d]=[d,0];a.i("frequency data cleared");c++}else if(void 0!==b)a.i("unknown frequency command: "+b),c++;else{var e=a.fa.slice();e.sort(function(a,b){return b[1]-a[1]});for(d=0;d<e.length;d++){var g=e[d][0],h=e[d][1];h&&(a.i(a.hb[a.Y[g][0]]+" ("+n(g)+"): "+h+" times"),c++)}}c||a.i("no frequency data available")}}
function eb(a,b,c,d){var e=Z(a,b);if(void 0!==e){void 0===d&&(d=1);b=a.Ya;if(void 0!==c){b=Z(a,c);if(void 0===b||b<e)return;if(256<b-e){a.i("range too large");return}b++;d=-1}for(e!=a.wa&&a.i();d--&&e<b;)c=kb(a,e,H(a,!1)||a.Ta?a.Pa:0),a.i(c),a.wa=e=a.Zf}}
function fb(a,b){if(b&&"?"==b[1])a.i("\nregister commands:"),a.i("r to display all"),a.i("r [target=value] to modify"),a.i("supported targets:"),a.i("A,X,Y,S,PC and flags C,Z,D,V,N");else{var c=!0;if(void 0!==b&&1<b.length){var c=!1,d=b[1],e=null,g=d.indexOf("=");if(0<g)e=d.substr(g+1),d=d.substr(0,g);else if(2<b.length)e=b[2];else{a.i("missing value for "+b[1]);return}g=parseInt(e,16);if(isNaN(g)){a.i("invalid value: "+e);return}switch(d.toUpperCase()){case "A":a.l.e=g&255;break;case "X":a.l.n=g&
255;break;case "Y":a.l.p=g&255;break;case "C":a.l.c=g?256:0;break;case "Z":a.l.g=g?0:1;break;case "D":g?Ea(a.l):Fa(a.l);break;case "V":g?(d=a.l,d.u=0,d.v=128):(d=a.l,d.u=0,d.v=0);break;case "N":a.l.f=g?128:0;break;case "S":if(256!=(g&-256)){a.i("invalid stack pointer: "+e);return}a.l.q=g;break;case "PC":c=!0;a.l.d=g&65535;a.wa=a.l.d;break;default:a.i("unknown register: "+d);return}a.l.update()}a.i("A="+n(a.l.e)+" X="+n(a.l.n)+" Y="+n(a.l.p)+" P="+n(za(a.l))+" S="+q(a.l.q)+" PC="+q(a.l.d));c&&eb(a,
q(a.wa=a.l.d))}}function mb(a,b){var c=void 0===b?1:parseInt(b,10),d=1==c?0:1;ea(c,function(a){return function(){return G(a,!0)&&a.step(d)}}(a),function(a){return function(){G(a,!1)}}(a))}
function cb(a,b){b.length||(a.Sb?(a.i("ended assemble @"+q(a.Z)),a.wa=a.Z,a.Sb=!1):a.Ic&&(b=a.Ic));if(I(a)&&!H(a,!0)&&0<b.length){a.Sb?b="a "+q(a.Z)+" "+b:1<b.length&&1!=b.indexOf(" ")&&(b=b.charAt(0).toLowerCase()+" "+b.substr(1));var c=b.split(" ");a.Ic=c[0];switch(c[0].toLowerCase()){case "a":var d=Z(a,c[1]);if(void 0!==d)if(a.Z=d,void 0===c[2])a.i("begin assemble @"+q(a.Z)),a.Sb=!0,a.l.update();else{var e,g=c[2],h=c[3],c=a.Z,d=[];if(void 0!==g){var m,g=g.toUpperCase();"?"==g.charAt(g.length-1)&&
(h="?",g=g.substr(0,g.length-1));for(m=0;m<a.hb.length&&g!=a.hb[m];m++);m==a.hb.length&&(a.i("unknown operation: "+g),m=-1);var l="",k;if(0<=m&&void 0!==h)if(l=h.toUpperCase(),"?"==l){for(h=k=0;h<a.Y.length;h++)a.Y[h][0]===m&&(k||a.i("supported opcodes:"),a.i(" "+n(h)+": "+g+(void 0!==a.Y[h][2]?" "+a.ea[a.Y[h][2]]:"")),k++);m=-1}else if(k=l.match(a.Xi),null!==k&&k[0]==l){for(h=1;h<k.length;h++)if(k[h]==l)if(void 0===e)e=h-1;else{a.i("too many operand matches (both "+a.ea[e]+" and "+a.ea[h-1]+
")");m=-1;break}e==a.Cb&&0>a.Bf.indexOf(m)&&(e=a.B);e==a.Tc&&m!=a.Fb&&(e=a.B)}else a.i("unknown operand: "+l),m=-1;if(0<=m){k=-1;for(h=0;h<a.Y.length;h++)if(a.Y[h][0]===m&&a.Y[h][2]===e)if(0>k)k=h;else{a.i("too many instruction matches (both "+n(k)+" and "+n(h)+")");k=-2;break}if(0<=k){if(d.push(k),void 0!==e)if(g=a.Y[k][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.X&&(l-=c+2,-128>l||127<l)&&(a.i("branch out of range ("+l+")"),d=[],g=0),h=0;h<g;h++)d.push(l&255),l>>>=8;else g&&
a.i("instruction missing "+g+" bytes")}else a.i("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;c<e.length;c++)a.O(a.Z+c,e[c]);a.i(kb(a,a.Z));a.Z+=e.length}}break;case "b":e=c[1];c=c[2];if(void 0===e||"?"==e)a.i("\nbreakpoint commands:"),a.i("bp [a]\tset exec breakpoint at [a]"),a.i("br [a]\tset read breakpoint at [a]"),a.i("bw [a]\tset write breakpoint at [a]"),a.i("bc [a]\tclear breakpoint at [a]"),a.i("bl\tlist all breakpoints");else if(void 0===c&&1<e.length&&(c=e.substr(1),e=e.substr(0,
1)),"l"==e){e=0;d=a.ra;for(c=0;c<d.length;c++)a.i("breakpoint enabled: "+q(d[c])+" (exec)"),e++;d=a.Ba;for(c=0;c<d.length;c++)a.i("breakpoint enabled: "+q(d[c])+" (read)"),e++;d=a.Ea;for(c=0;c<d.length;c++)a.i("breakpoint enabled: "+q(d[c])+" (write)"),e++;e||a.i("no breakpoints")}else void 0===c?a.i("missing breakpoint address"):"c"==e&&"*"==c?(a.ra=[],a.Ba=[],a.Ea=[],a.i("all breakpoints cleared")):(c=Z(a,c),void 0!==c&&("p"==e?ib(a,c)?a.i("breakpoint enabled: "+q(c)+" (exec)"):a.i("breakpoint not set: "+
q(c)):"c"==e?Y(a.ra,c,!0)?a.i("breakpoint cleared: "+q(c)+" (exec)"):Y(a.Ba,c,!0)?a.i("breakpoint cleared: "+q(c)+" (read)"):Y(a.Ea,c,!0)?a.i("breakpoint cleared: "+q(c)+" (write)"):a.i("breakpoint missing: "+q(c)):"r"==e?(Y(a.Ba,c,void 0)||a.Ba.push(c),a.i("breakpoint enabled: "+q(c)+" (read)")):"w"==e?(Y(a.Ea,c,void 0)||a.Ea.push(c),a.i("breakpoint enabled: "+q(c)+" (write)")):a.i("unknown breakpoint command: "+e)));break;case "d":e=c[1];d=c[2];if("?"==e)a.i("\ndump commands:"),a.i("d [a] [#] dump # lines of memory");
else if(e=Z(a,e),void 0!==e){c=0;void 0!==d&&("l"==d.charAt(0)&&(d=d.substr(1)),c=parseInt(d,10));c||(c=1);for(d=0;d<c;d++){l=g="";h=e;for(m=0;8>m&&e<a.Ya;m++)k=a.H(e),void 0===k&&(k=0),g+=n(k)+" ",l+=32<=k&&128>k?String.fromCharCode(k):".",e++;a.i(q(h)+" "+g+l)}a.wa=e}break;case "e":e=c[1];if(void 0===e)a.i("missing address");else if(e=Z(a,e),void 0!==e)for(d=2;d<c.length;d++)g=parseInt(c[d],16),a.O(e++,g);break;case "f":lb(a,c[1]);break;case "g":e=c[1];void 0!==e&&jb(a,Z(a,e));a.ya()||a.l.W();break;
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":bb(a,!0);a.i("classic syntax enabled");break;
case "modern":bb(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(kb(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":fb(a,c);break;case "s":a.H(a.l.d)==a.l.Gb?(jb(a,a.l.d+3),a.Ta=!0,a.ya()||a.l.W()):mb(a);break;case "t":mb(a,c[1]);break;case "u":eb(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=F(window.document,"c1pjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new ab(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 nb(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(!I(e)){I(e,function(a){return function(){nb(a)}}(a));return}"cpu"==c?b=e:e.ba&&e.ba(!0,a)}}a.P();a.i("C1Pjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>");b&&b.ba(!0,a)}
x(function(){for(var a=F(window.document,"c1pjs","computer"),b=0;b<a.length;b++){var c=a[b],d=D(c),e,g={},h=C("panel",d.id);if(h&&(g.panel=[h],h.sc)){var m;e=d.id;m=void 0;var l=[];e&&(e=0<(m=e.indexOf("."))?e.substr(0,m+1):"");for(m=0;m<A.length;m++){var k=A[m];e&&k.id.indexOf(e)||l.push(k)}m=l;for(l=0;l<m.length;l++)e=m[l],e!=h&&(e.Xb=h.Xb,e.i=h.i,e.sc=h.sc)}for(var p,l=m=h=0;l<d.modules.length;l++){k=d.modules[l];if(!l){if("cpu"!=k.type)break;h=k.start;m=k.end;p=Array(m+1-h);for(e=h;e<p.length;e++)p[e]=
0}if(e=C(k.refID,d.id)){var s=k.type;void 0===g[s]&&(g[s]=[]);g[s].push(e);e.V&&void 0!==k.start&&e.V(p,k.start,k.end,g.cpu[0])}else{u('no component for <module refid="'+k.refID+'">');return}}if(void 0===p){u('<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(p,h,m,g.cpu[0]);d=new $(d,g);E(d,c);nb(d)}});function ob(a,b,c,d){var e=t(a);if(e[0])throw Error(e[1]);return pb(e[1],a,b,c,d)}
function pb(a,b,c,d,e){var g=null;if(a){if(e)for(var h=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g;g=h.exec(a);){var m=g[2],l=t(m),k=l[1];if(l[0]||!k)throw c="unable to resolve XML reference: "+g[0]+" ("+l[0]+")",Error(c);if(l=g[3]){var p=k.match(new RegExp("<"+g[1]+"[^>]*>"));if(p){for(var m=p[0],s,wa=/( [a-z]+=)(['"])(.*?)\2/g;s=wa.exec(l);)m=0>m.indexOf(s[1])?m.replace(">",s[0]+">"):m.replace(new RegExp(s[1]+"(['\"])(.*?)\\1"),s[0]);p[0]!=m&&(k=k.replace(p[0],m))}else throw c="missing <"+g[1]+"> in "+m,
Error(c);}k=k.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(g[0],k);h.lastIndex=0}c&&(b&&0>b.indexOf("/")&&(b=window.location.pathname+b),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(b?" url=$2"+b+"$2":"")));if(0===a.indexOf("<"))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");else throw Error("unrecognized XML: "+
(255<a.length?a.substr(0,255)+"...":a));}return[a,g]}
window.embedC1P=function(a,b,c){var d=c,e=c="",g=null;try{if(g=window.document.getElementById(a)){d||(d="/versions/c1pjs/1.15.4/components.xsl");var k="<"==b.substr(0,1)?sb(b,null,a,void 0,!1):rb(b,a,void 0,!0);c=k[0];var n=k[1];if(n){var k=rb(d),m=k[1];if(m)if(window.ActiveXObject||"ActiveXObject"in window){var l=n.transformNode(m);l?g.outerHTML=l:e="transformNodeToObject failed"}else if(window.document.implementation&&window.document.implementation.createDocument){var q=new XSLTProcessor;q.importStylesheet(m);
var t=q.transformToFragment(n,window.document);t?g.parentNode.replaceChild(t,g):e="transformToFragment failed"}else e="unable to transform XML: unsupported browser";else e="failed to load XSL file: "+d}else e="failed to load XML file: "+b}else e="failed to find machine element: "+a}catch(ya){e=ya.message}e&&g&&(a=F(g,"machine-warning"),a[0]&&(a[0].innerHTML="Error: "+da(e)));return e||c};window.enableEvents=function(a){ga=a};window.sendEvent=function(a){w[a]&&y(w[a])};})();//@ sourceMappingURL=/tmp/c1pjs/1.15.4/c1p-dbg.map
window.embedC1P=function(a,b,c){var d=c,e=c="",g=null;try{if(g=window.document.getElementById(a)){d||(d="/versions/c1pjs/1.15.4/components.xsl");var h="<"==b.substr(0,1)?pb(b,null,a,void 0,!1):ob(b,a,void 0,!0);c=h[0];var m=h[1];if(m){var h=ob(d),l=h[1];if(l)if(window.ActiveXObject||"ActiveXObject"in window){var k=m.transformNode(l);k?g.outerHTML=k:e="transformNodeToObject failed"}else if(window.document.implementation&&window.document.implementation.createDocument){var p=new XSLTProcessor;p.importStylesheet(l);
var s=p.transformToFragment(m,window.document);s?g.parentNode.replaceChild(s,g):e="transformToFragment failed"}else e="unable to transform XML: unsupported browser";else e="failed to load XSL file: "+d}else e="failed to load XML file: "+b}else e="failed to find machine element: "+a}catch(wa){e=wa.message}e&&g&&(a=F(g,"machine-warning"),a[0]&&(a[0].innerHTML="Error: "+da(e)));return e||c};window.enableEvents=function(a){ga=a};window.sendEvent=function(a){w[a]&&y(w[a])};})();//@ sourceMappingURL=/tmp/c1pjs/1.15.4/c1p-dbg.map

View file

@ -1,127 +1,127 @@
(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 r(a,b,c,d,f){b=!!b;var g=0,h=null,l=aa(a),m=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(m.onreadystatechange=function(){4===m.readyState&&(m.onreadystatechange=void 0,h=m.responseText,200!=m.status&&(g=m.status||-1),d&&f&&f.call(d,l,h,g,void 0))});if(c){var k="",n;for(n in c)c.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(c[n]));k=k.replace(/%20/g,"+");m.open("POST",a,b);m.setRequestHeader("Content-type","application/x-www-form-urlencoded");
m.send(k)}else m.open("GET",a,b),m.send();a=[];b||(h=m.responseText,200!=m.status&&(g=m.status||-1),d&&f&&f.call(d,l,h,g,void 0),a=[g,h]);return a}function s(a){window?window.alert(a):console.log(a)}function t(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 u={init:[],show:[],exit:[]},da=!0;
(function(){var e;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 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 r(a,b,c,d,f){b=!!b;var g=0,l=null,h=aa(a),m=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(m.onreadystatechange=function(){4===m.readyState&&(m.onreadystatechange=void 0,l=m.responseText,200!=m.status&&(g=m.status||-1),d&&f&&f.call(d,h,l,g,void 0))});if(c){var k="",n;for(n in c)c.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(c[n]));k=k.replace(/%20/g,"+");m.open("POST",a,b);m.setRequestHeader("Content-type","application/x-www-form-urlencoded");
m.send(k)}else m.open("GET",a,b),m.send();a=[];b||(l=m.responseText,200!=m.status&&(g=m.status||-1),d&&f&&f.call(d,h,l,g,void 0),a=[g,l]);return a}function s(a){window?window.alert(a):console.log(a)}function t(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 u={init:[],show:[],exit:[]},da=!0;
function v(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function w(a){u.init.push(a)}function x(a){if(da)for(var b=0;b<a.length;b++)a[b]()}v("onload",function(){x(u.init)});v("onpageshow",function(){x(u.show)});v(t("Opera")||t("iOS")?"onunload":"onbeforeunload",function(){x(u.exit)});
function y(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.bc=this.id.substr(0,b),this.ac=this.id.substr(b+1)):this.ac=this.id;this[a]=c;this.jb=null;this.Ma=this.pa=this.ib=this.Na=!1;this.o={};ea(this);z[z.length]=this}var A=void 0;if(window){A||(A=window.location.search.substr(1));for(var B,fa=/\+/g,ga=/([^&=]+)=?([^&]*)/g;B=ga.exec(A);)B[1].replace(fa," "),B[2].replace(fa," ")}
function ha(){var a=y.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 C(a){a.prototype=ha()}var z=[];function D(){}function ia(a,b){b||s(a)}function E(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<z.length;c++)if(z[c].id===a)return z[c]}return null}
function F(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){s(c.message+" ("+a+")")}return b}
function G(a,b){var c,d;d=H(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 h=g[f];if(h.nodeType===window.document.ELEMENT_NODE){var l=h.getAttribute("class");if(l){var m,k;k=l.split(" ");for(m=0;m<k.length;m++)switch(l=k[m],l){case "c1pjs-input":case "c1pjs-output":(k=F(h))&&k.binding&&a.G(l,k.type,k.binding,h),k=[]}}}}}}
function H(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}
y.prototype={toString:function(){return this.name?this.name:this.id||this.type},G:function(a,b,c,d){switch(c){case "clear":return this.o[c]||(this.o[c]=d,d.onclick=function(a){return function(){a.o.print&&(a.o.print.value="")}}(this)),!0;case "print":return this.o[c]||(this.o[c]=d,d.value="",D=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),ia=function(a,b,c){D(a,"notice",
c)}),!0}return!1},log:function(){},status:function(a){I(this,this.ac+": "+a)},I:function(a){!this.Ma&&(this.Na=!1!==a)&&(this.name&&this.log("ready"),a=this.jb,this.jb=null,a&&a())}};function ja(a,b){if(a.ib)return a.pa&&(a.pa=!1),a.ib=!1;if(a.Ma)return I(a,a.toString()+" error"),!1;a.pa=b;return a.pa}function J(a,b){b&&(a.Na?b():a.jb=b);return a.Na}function K(a,b){a.Ma=!0;ia("Fatal error: "+b,void 0,a.id)}function I(a,b){D(b,void 0,a.id)}
function ea(a){var b=1;a.bc&&(a=a.bc.match(/\d+/),null!==a&&(b=parseInt(a[0],10)));return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function L(a){y.call(this,"C1PPanel",a);this.w=!1}C(L);L.prototype.G=function(a,b,c,d){return this.F&&this.F.G(a,b,c,d)||this.s&&this.s.G(a,b,c,d)||this.B&&this.B.G(a,b,c,d)?!0:y.prototype.G.call(this,a,b,c,d)};L.prototype.R=function(a,b){a&&!this.w&&(this.w=!0,this.F=b,this.s=M(b,"cpu"),this.B=M(b,"keyboard"),ka())};
function ka(){for(var a=!1,b=H(window.document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],f=F(d),g=E(f.id);g||(a=!0,g=new L(f));G(g,d);a&&g.I()}}w(ka);
function N(a){y.call(this,"C1PCPU",a);la(this);this.Q=this.w=!1;this.Xb=a.autoStart;this.Za=0;this.ud=1;this.na=2;this.speed=this.Za;this.ta=1E6;this.ob=this.qb=30;this.nb=5;this.Ld=1;this.Pa=8;this.Rb=["Slow","Fast","Max"];this.zd=["("+this.Ld+"Mhz)","(up to "+this.Pa+"Mhz)","(unlimited)"];this.X=[];this.S=[];this.cb=65536;this.eb=0;this.Ga=65536;this.Ha=0;this.Mc=128;this.Nc=64;this.Ic=16;this.Kc=8;this.Lc=4;this.Oc=2;this.Jc=1;this.xd=65532;this.sd=0;this.td=1;this.q=[this.we,this.Qf,this.Hg,this.i,
this.i,this.Sf,this.me,this.i,this.Vf,this.Pf,this.le,this.i,this.i,this.Mf,this.je,this.i,this.ve,this.Rf,this.i,this.i,this.i,this.Tf,this.ne,this.i,this.ze,this.Of,this.i,this.i,this.i,this.Nf,this.ke,this.i,this.nf,this.fe,this.i,this.i,this.se,this.he,this.ag,this.i,this.Xf,this.ee,this.$f,this.i,this.re,this.be,this.Yf,this.i,this.te,this.ge,this.i,this.i,this.i,this.ie,this.bg,this.i,this.rg,this.de,this.i,this.i,this.i,this.ce,this.Zf,this.i,this.hg,this.af,this.i,this.i,this.i,this.cf,this.Jf,
this.i,this.Uf,this.$e,this.If,this.i,this.mf,this.Xe,this.Gf,this.i,this.xe,this.bf,this.i,this.i,this.i,this.df,this.Kf,this.i,this.Be,this.Ze,this.i,this.i,this.i,this.Ye,this.Hf,this.i,this.ig,this.rc,this.i,this.i,this.i,this.tc,this.fg,this.i,this.Wf,this.qc,this.eg,this.i,this.lf,this.nc,this.cg,this.i,this.ye,this.sc,this.i,this.i,this.i,this.uc,this.gg,this.i,this.tg,this.pc,this.i,this.i,this.i,this.oc,this.dg,this.i,this.i,this.xg,this.i,this.i,this.Fg,this.zg,this.Cg,this.i,this.We,this.i,
this.Lg,this.i,this.Eg,this.ug,this.Bg,this.i,this.oe,this.yg,this.i,this.i,this.Gg,this.Ag,this.Dg,this.i,this.Ng,this.wg,this.Mg,this.i,this.i,this.vg,this.i,this.i,this.Df,this.sf,this.yf,this.i,this.Ef,this.uf,this.zf,this.i,this.Jg,this.rf,this.Ig,this.i,this.Bf,this.of,this.wf,this.i,this.pe,this.tf,this.i,this.i,this.Ff,this.vf,this.Af,this.i,this.Ce,this.qf,this.Kg,this.i,this.Cf,this.pf,this.xf,this.i,this.Pe,this.He,this.i,this.i,this.Qe,this.Je,this.Te,this.i,this.kf,this.Ge,this.Ve,this.i,
this.Oe,this.De,this.Re,this.i,this.ue,this.Ie,this.i,this.i,this.i,this.Ke,this.Ue,this.i,this.Ae,this.Fe,this.i,this.i,this.i,this.Ee,this.Se,this.i,this.Me,this.zc,this.i,this.i,this.Ne,this.Bc,this.gf,this.i,this.jf,this.yc,this.Lf,this.i,this.Le,this.vc,this.ef,this.i,this.qe,this.Ac,this.i,this.i,this.i,this.Cc,this.hf,this.i,this.sg,this.xc,this.i,this.i,this.i,this.wc,this.ff,this.i];this.yd=[7,6,0,0,0,3,5,0,3,2,2,0,0,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,3,6,0,0,3,3,5,0,4,2,2,0,4,4,6,0,2,
5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,3,2,2,0,3,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}C(N);e=N.prototype;
e.reset=function(a){this.Q&&O(this);la(this);var b=this.xd;this.d=this.a[b]|this.a[b+1]<<8;this.Ma=!1;a&&(!0===this.Xb||null===this.Xb&&void 0===this.o.run)&&P(this)};
e.G=function(a,b,c,d){a=!1;switch(c){case "run":this.o[c]=d;d.onclick=function(a){return function(){a.Q?O(a):P(a)}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.o[c]=d;a=!0;break;case "setSpeed":this.o[c]=d,d.onclick=function(a){return function(){na(a,a.speed>=a.na?a.Za:a.speed+1,!0)}}(this),a=!0}return a};
e.O=function(a,b){this.a=a;(this.lc=b)?s("unsupported CPU address buffer offset ("+this.lc+")"):this.I()};e.R=function(a,b){if(a&&!this.w){this.F=b;var c=M(b,"video");c&&(this.hb=function(a){return function(){oa(a)}}(c),this.ca=function(a){return function(){a.ca()}}(c));this.w=!0;this.reset(!0);this.update()}};function pa(a,b,c,d,f){0>qa(a.X,b,c,d,f)&&(a.cb>b&&(a.cb=b),a.eb<c&&(a.eb=c),a.X.push([b,c,d,f]))}
function Q(a,b,c,d,f){0>qa(a.S,b,c,d,f)&&(a.Ga>b&&(a.Ga=b),a.Ha<c&&(a.Ha=c),a.S.push([b,c,d,f]))}function qa(a,b,c,d,f){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==f)return g;return-1}function na(a,b,c){void 0!==b&&(a.speed=b,a.o.setSpeed&&(a.o.setSpeed.innerHTML=a.Rb[2<=b?0:b+1]),I(a,"running at "+a.Rb[b].toLowerCase()+" speed "+a.zd[b]),c&&a.ca());a.ka=0;a.cc=Date.now()||+new Date;ra(a)}e.hb=function(){};e.ca=function(){};
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 sa(a){R(a,"A",a.e,2);R(a,"X",a.k,2);R(a,"Y",a.m,2);var b=ta(a);R(a,"C",b&a.Jc?1:0);R(a,"Z",b&a.Oc?1:0);R(a,"I",b&a.Lc?1:0);R(a,"D",b&a.Kc?1:0);R(a,"B",b&a.Ic?1:0);R(a,"V",b&a.Nc?1:0);R(a,"N",b&a.Mc?1:0);R(a,"S",a.n,4);R(a,"PC",a.d,4);a.o.speed&&a.V&&(a.o.speed.innerHTML=a.V.toFixed(1)+"Mhz")}
function ra(a,b){var c=a.qb;c<a.ob&&(c=a.ob);c<a.nb&&(c=a.nb);var d=1;b&&a.speed>a.Za&&a.V&&(d=a.V);d>a.Pa&&a.speed<a.na&&(d=a.Pa);a.Nd=Math.round(1E3/a.qb);a.Ra=Math.floor(a.ta/c*d);a.kb=Math.floor(a.ta/a.qb*d);a.ec=Math.floor(a.ta/a.ob*d);a.dc=Math.floor(a.ta/a.nb*d);b||(a.ia=a.kb,a.sa=a.ec,a.ra=a.dc);a.mb=0}function ua(a){a.mb>=a.ta&&ra(a,!0);a.ua=0;a.Qd=Date.now()||+new Date}
function va(a){var b=Date.now()||+new Date,c=a.Nd;a.ua&&(c=Math.round(c*a.ua/a.kb));c-=b-a.Qd;if(b-=a.cc)a.V=Math.round(a.ka/(100*b))/10,864E5<=b&&na(a);0>c?c=0:a.speed==a.ud?a.V<=a.Pa&&(c=0):a.speed==a.na&&(c=0);a.mb+=a.ua;return c}
function P(a){if(ja(a,!0)){a.Q||(na(a),a.F&&a.F.start(),a.Q=!0,a.o.run&&(a.o.run.innerHTML="Halt"),a.ca());ua(a);try{do{a.step(a.Ra);var b=a.W-a.A;a.ka+=b;a.ua+=b;a.W=a.A=0;a.sa-=a.Ra;0>=a.sa&&(a.sa+=a.ec,a.hb());a.ra-=a.Ra;0>=a.ra&&(a.ra+=a.dc,sa(a));a.ia-=a.Ra;if(0>=a.ia){a.ia+=a.kb;break}}while(a.Q)}catch(c){O(a);a.update();ja(a,!1);K(a,c.message||c);return}setTimeout(function(a){return function(){P(a)}}(a),va(a))}else a.update(),a.F&&a.F.stop(a.cc,a.ka)}
e.step=function(a){this.b=this.h=-1;this.W=this.A=a;do{a=this.a[this.d];this.d++;this.q[a].call(this);if(0<=this.b){if(this.b>=this.cb&&this.b<=this.eb)for(var b=this.b,c=this.d,d=0;d<this.X.length;d++)b>=this.X[d][0]&&b<=this.X[d][1]&&this.X[d][3].call(this.X[d][2],b,c);this.b=-1}else if(0<=this.h){if(this.h>=this.Ga&&this.h<=this.Ha)for(b=this.h,c=this.d,d=0;d<this.S.length;d++)b>=this.S[d][0]&&b<=this.S[d][1]&&this.S[d][3].call(this.S[d][2],b,c);this.h=-1}this.A-=this.yd[a]}while(0<this.A);return!0};
function O(a){a.pa&&(a.ib=!0);a.W-=a.A;a.A=0;a.Q&&(a.Q=!1,a.o.run&&(a.o.run.innerHTML="Run"))}e.update=function(){this.hb();sa(this)};function wa(a){return a.Q?a.ka+a.W-a.A:0}e.M=function(a){return this.a[a]};e.K=function(a,b){this.a[a]=b};function ta(a){var b=a.c&256?1:0,b=b|(a.g&255?0:2),b=b|((a.r&255^a.v^a.r>>1)&128?64:0),b=b|(a.f&128?128:0);return a.t&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.v=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.A--;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.v=b^c;a.r=a.c;a.c^=256;a.A--;return f&255}function la(a){a.e=0;a.k=0;a.m=0;a.n=256;a.t=0;a.f=0;a.g=0;a.v=0;a.r=0;a.c=0;a.d=0;a.b=-1;a.h=-1;a.V=0;a.ka=a.W=a.A=0}
e.we=function(){this.d++;this.a[this.n--]=this.d>>8;this.n|=256;this.a[this.n--]=this.d&255;this.n|=256;this.t|=16;this.t=ta(this);this.a[this.n--]=this.t;this.n|=256;this.t&=239;this.b=65534;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.Qf=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e|=this.a[this.b]};e.Sf=function(){this.b=this.a[this.d++];this.f=this.g=this.e|=this.a[this.b]};
e.me=function(){this.h=this.a[this.d++];this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.Vf=function(){this.t=ta(this);this.a[this.n--]=this.t;this.n|=256};e.Pf=function(){this.b=this.d++;this.f=this.g=this.e|=this.a[this.b]};e.le=function(){this.c=this.e<<1;this.f=this.g=this.e=this.c&255};e.Mf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e|=this.a[this.b]};
e.je=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.ve=function(){this.d+=(this.f&128?0:(this.A--,this.a[this.d]<<24>>24))+1};e.Rf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e|=this.a[this.b]};e.Tf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e|=this.a[this.b]};
e.ne=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.ze=function(){this.c=0};e.Of=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e|=this.a[this.b]};e.Nf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e|=this.a[this.b]};e.ke=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};
e.nf=function(){this.b=this.d++;this.a[this.n--]=this.d>>8;this.n|=256;this.a[this.n--]=this.d&255;this.n|=256;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.fe=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e&=this.a[this.b]};e.se=function(){this.b=this.a[this.d++];this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.r=0;this.v=this.a[this.b]&64?128:0};e.he=function(){this.b=this.a[this.d++];this.f=this.g=this.e&=this.a[this.b]};
e.ag=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.Xf=function(){this.n=this.n+1&255|256;this.t=this.a[this.n];this.c=this.t&1?256:0;this.g=this.t&2?0:1;this.f=this.t&128;this.r=0;this.v=this.t&64?128:0};e.ee=function(){this.b=this.d++;this.f=this.g=this.e&=this.a[this.b]};
e.$f=function(){this.c=this.c&65280|this.e;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.e=this.c&255};e.re=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.r=0;this.v=this.a[this.b]&64?128:0};e.be=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e&=this.a[this.b]};
e.Yf=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.te=function(){this.d+=(this.f&128?(this.A--,this.a[this.d]<<24>>24):0)+1};e.ge=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e&=this.a[this.b]};e.ie=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e&=this.a[this.b]};
e.bg=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.rg=function(){this.c=256};e.de=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e&=this.a[this.b]};e.ce=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e&=this.a[this.b]};
e.Zf=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.hg=function(){this.n=this.n+1&255|256;this.t=this.a[this.n];this.c=this.t&1?256:0;this.g=this.t&2?0:1;this.f=this.t&128;this.r=0;this.v=this.t&64?128:0;this.n=this.n+2&255|256;this.d=this.a[this.n-1|256]|this.a[this.n]<<8};
e.af=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e^=this.a[this.b]};e.cf=function(){this.b=this.a[this.d++];this.f=this.g=this.e^=this.a[this.b]};e.Jf=function(){this.h=this.a[this.d++];this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};e.Uf=function(){this.a[this.n--]=this.e;this.n|=256};e.$e=function(){this.b=this.d++;this.f=this.g=this.e^=this.a[this.b]};
e.If=function(){this.c=this.c&65279|(this.e&1?256:0);this.e=(this.c=this.c&65280|this.e>>1)&255;this.f=this.g=this.c&255};e.mf=function(){this.b=this.d;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.Xe=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e^=this.a[this.b]};e.Gf=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
e.xe=function(){this.d+=((this.r&255^this.v^this.r>>1)&128?0:(this.A--,this.a[this.d]<<24>>24))+1};e.bf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e^=this.a[this.b]};e.df=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e^=this.a[this.b]};e.Kf=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
e.Be=function(){this.t&=251};e.Ze=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e^=this.a[this.b]};e.Ye=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e^=this.a[this.b]};e.Hf=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
e.ig=function(){this.n=this.n+2&255|256;this.d=(this.a[this.n-1|256]|this.a[this.n]<<8)+1};e.rc=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Yd=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=S(this,this.e,this.a[this.b])};
e.tc=function(){this.b=this.a[this.d++];this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.$d=function(){this.b=this.a[this.d++];this.e=S(this,this.e,this.a[this.b])};e.fg=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.Wf=function(){this.n=this.n+1&255|256;this.f=this.g=this.e=this.a[this.n]};
e.qc=function(){this.b=this.d++;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Xd=function(){this.b=this.d++;this.e=S(this,this.e,this.a[this.b])};e.eg=function(){this.c=this.c&65280|this.e;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.e=this.c&255};e.lf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.d=this.a[this.b]|this.a[this.b+1]<<8};
e.nc=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Ud=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=S(this,this.e,this.a[this.b])};e.cg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};
e.ye=function(){this.d+=((this.r&255^this.v^this.r>>1)&128?(this.A--,this.a[this.d]<<24>>24):0)+1};e.sc=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Zd=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.e=S(this,this.e,this.a[this.b])};
e.uc=function(){this.b=this.a[this.d++]+this.k&255;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.ae=function(){this.b=this.a[this.d++]+this.k&255;this.e=S(this,this.e,this.a[this.b])};e.gg=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.tg=function(){this.t|=4};
e.pc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Wd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.e=S(this,this.e,this.a[this.b])};e.oc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};
e.Vd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.e=S(this,this.e,this.a[this.b])};e.dg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.xg=function(){this.h=this.a[this.d++]+this.k&255;this.h=this.a[this.h]|this.a[this.h+1]<<8;this.a[this.h]=this.e};e.Fg=function(){this.h=this.a[this.d++];this.a[this.h]=this.m};
e.zg=function(){this.h=this.a[this.d++];this.a[this.h]=this.e};e.Cg=function(){this.h=this.a[this.d++];this.a[this.h]=this.k};e.We=function(){this.f=this.g=this.m=this.m-1&255};e.Lg=function(){this.f=this.g=this.e=this.k};e.Eg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.m};e.ug=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.e};e.Bg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.k};
e.oe=function(){this.d+=(this.c&256?0:(this.A--,this.a[this.d]<<24>>24))+1};e.yg=function(){this.h=this.a[this.d++];this.h=(this.a[this.h]|this.a[this.h+1]<<8)+this.m;this.a[this.h]=this.e};e.Gg=function(){this.h=this.a[this.d++]+this.k&255;this.a[this.h]=this.m};e.Ag=function(){this.h=this.a[this.d++]+this.k&255;this.a[this.h]=this.e};e.Dg=function(){this.h=this.a[this.d++]+this.m&255;this.a[this.h]=this.k};e.Ng=function(){this.f=this.g=this.e=this.m};
e.wg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.a[this.h]=this.e};e.Mg=function(){this.n=this.k|256};e.vg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.a[this.h]=this.e};e.Df=function(){this.b=this.d++;this.f=this.g=this.m=this.a[this.b]};e.sf=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e=this.a[this.b]};e.yf=function(){this.b=this.d++;this.f=this.g=this.k=this.a[this.b]};
e.Ef=function(){this.b=this.a[this.d++];this.f=this.g=this.m=this.a[this.b]};e.uf=function(){this.b=this.a[this.d++];this.f=this.g=this.e=this.a[this.b]};e.zf=function(){this.b=this.a[this.d++];this.f=this.g=this.k=this.a[this.b]};e.Jg=function(){this.f=this.g=this.m=this.e};e.rf=function(){this.b=this.d++;this.f=this.g=this.e=this.a[this.b]};e.Ig=function(){this.f=this.g=this.k=this.e};e.Bf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.m=this.a[this.b]};
e.of=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e=this.a[this.b]};e.wf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.k=this.a[this.b]};e.pe=function(){this.d+=(this.c&256?(this.A--,this.a[this.d]<<24>>24):0)+1};e.tf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e=this.a[this.b]};e.Ff=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.m=this.a[this.b]};
e.vf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e=this.a[this.b]};e.Af=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.k=this.a[this.b]};e.Ce=function(){this.v=this.r=0};e.qf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e=this.a[this.b]};e.Kg=function(){this.f=this.g=this.k=this.n&255};e.Cf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.m=this.a[this.b]};
e.pf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e=this.a[this.b]};e.xf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.k=this.a[this.b]};e.Pe=function(){this.b=this.d++;this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.He=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};
e.Qe=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.Je=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Te=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.kf=function(){this.f=this.g=this.m=this.m+1&255};e.Ge=function(){this.b=this.d++;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ve=function(){this.f=this.g=this.k=this.k-1&255};
e.Oe=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.De=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Re=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.ue=function(){this.d+=(this.g&255?(this.A--,this.a[this.d]<<24>>24):0)+1};
e.Ie=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ke=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ue=function(){this.h=this.a[this.d++]+this.k&255;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};
e.Ae=function(){this.t&=-9;this.q[97]=this.rc;this.q[101]=this.tc;this.q[105]=this.qc;this.q[109]=this.nc;this.q[113]=this.sc;this.q[117]=this.uc;this.q[121]=this.pc;this.q[125]=this.oc;this.q[225]=this.zc;this.q[229]=this.Bc;this.q[233]=this.yc;this.q[237]=this.vc;this.q[241]=this.Ac;this.q[245]=this.Cc;this.q[249]=this.xc;this.q[253]=this.wc};e.Fe=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};
e.Ee=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Se=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.Me=function(){this.b=this.d++;this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256};
e.zc=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.ng=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=T(this,this.e,this.a[this.b])};e.Ne=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256};
e.Bc=function(){this.b=this.a[this.d++];this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.pg=function(){this.b=this.a[this.d++];this.e=T(this,this.e,this.a[this.b])};e.gf=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};e.jf=function(){this.f=this.g=this.k=this.k+1&255};
e.yc=function(){this.b=this.d++;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.mg=function(){this.b=this.d++;this.e=T(this,this.e,this.a[this.b])};e.Lf=function(){};e.Le=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256};
e.vc=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.jg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=T(this,this.e,this.a[this.b])};e.ef=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};e.qe=function(){this.d+=(this.g&255?0:(this.A--,this.a[this.d]<<24>>24))+1};
e.Ac=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.og=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.e=T(this,this.e,this.a[this.b])};
e.Cc=function(){this.b=this.a[this.d++]+this.k&255;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.qg=function(){this.b=this.a[this.d++]+this.k&255;this.e=T(this,this.e,this.a[this.b])};e.hf=function(){this.h=this.a[this.d++]+this.k&255;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};
e.sg=function(){this.t|=8;this.q[97]=this.Yd;this.q[101]=this.$d;this.q[105]=this.Xd;this.q[109]=this.Ud;this.q[113]=this.Zd;this.q[117]=this.ae;this.q[121]=this.Wd;this.q[125]=this.Vd;this.q[225]=this.ng;this.q[229]=this.pg;this.q[233]=this.mg;this.q[237]=this.jg;this.q[241]=this.og;this.q[245]=this.qg;this.q[249]=this.lg;this.q[253]=this.kg};
e.xc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.lg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.e=T(this,this.e,this.a[this.b])};
e.wc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.v=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.kg=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.e=T(this,this.e,this.a[this.b])};e.ff=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};
e.Hg=function(){var a;a=this.a[this.d++];switch(a){case this.sd:I(this,"HALT");O(this);break;case this.td: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,p(this.e,2)).replace(/%X/g,p(this.k,2)).replace(/%Y/g,p(this.m,2));I(this,b);this.ia=0;this.W-=this.A;this.A=0;break;default:this.d-=2,I(this,"undefined opSim: "+p(a,2)+" at "+p(this.d,4)),O(this)}};
e.i=function(){var a=this.a[--this.d];I(this,"undefined opcode: "+p(a,2)+" at "+p(this.d,4));O(this)};w(function(){for(var a=H(window.document,"c1pjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new N(d);G(d,c)}});
function U(a){y.call(this,"C1PROM",a);this.T=this.a=null;this.fa=a.size;if(this.xa=a.image){a=this.xa;var b;b=this.xa;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.xa);r(a,!0,null,this,this.Ed)}}C(U);
U.prototype.O=function(a,b,c,d){this.a=a;this.sb=b;a=c-b+1;this.fa||(this.fa=a);a!=this.fa?K(this,"computer-specified ROM size ("+p(a,4)+") does not match component-specified size ("+p(this.fa,4)+")"):(d&&(this.s=d,Q(d,b,c,this,this.K)),xa(this))};U.prototype.R=function(a){a&&!this.w&&(this.w=!0)};U.prototype.K=function(a,b){if(void 0!==b){var c=a-this.sb;this.a[this.sb+c]=this.T?this.T[c]:0}};
U.prototype.Ed=function(a,b,c){if(c)I(this,"ROM load error ("+c+")");else{if("["==b[0])try{this.T=eval("("+b+")")}catch(d){I(this,"ROM data error: "+(d.message||d));return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.T=Array(a.length),b=0;b<a.length;b++)this.T[b]=parseInt(a[b],16);xa(this)}};
function xa(a){if(!J(a))if(!a.xa)a.I();else if(a.T&&a.a){var b=a.T.length;if(b!=a.fa)K(a,"ROM image size ("+p(b,4)+") does not match component-specified size ("+p(a.fa,4)+")");else{for(var c=0;c<b;c++)a.a[a.sb+c]=a.T[c];a.I()}}}w(function(){for(var a=H(window.document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new U(d);G(d,c)}});function ya(a){y.call(this,"C1PRAM",a)}C(ya);ya.prototype.O=function(a){this.a=a;this.I()};
w(function(){for(var a=H(window.document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new ya(d);G(d,c)}});
function za(a){y.call(this,"C1PKeyboard",a);this.w=!1;this.lb=a.model;this.Bb=8;this.bd=9;this.$c=10;this.Zc=13;this.ad=16;this.Yc=17;this.Vc=18;this.Wc=20;this.Cb=27;this.Xc=91;this.Sc=this.Bb;this.Tc=this.$c;this.Pc=this.Zc;this.wb=this.Cb;this.J=224;this.l=this.ad+this.J;this.Da=this.Yc+this.J;this.Xa=this.Vc+this.J;this.xb=this.Wc+this.J;this.vb=0+this.J;this.Qc=3;this.Rc=15;this.Ca=1;this.Ba=2;this.Aa=4;this.ma=8;this.za=64;this.Wa=this.Ba|this.Aa|this.za;this.Mb=0;this.qd=1;this.pd=2;this.rd=
3;this.od=4;this.Rd=8192;this.Od=250;this.Pd=100;this.Md=300;this.ea=[];this.ea["break"]=this.vb;this.ea.esc=this.wb;this.ea["ctrl-c"]=this.Qc;this.ea["ctrl-o"]=this.Rc;this.j=[];this.j[49]=30464;this.j[33]=30464+this.l;this.j[50]=30208;this.j[34]=30208+this.l;this.j[51]=29952;this.j[35]=29952+this.l;this.j[52]=29696;this.j[36]=29696+this.l;this.j[53]=29440;this.j[37]=29440+this.l;this.j[54]=29184;this.j[38]=29184+this.l;this.j[55]=28928;this.j[39]=28928+this.l;this.j[56]=26368;this.j[40]=26368+this.l;
this.j[57]=26112;this.j[41]=26112+this.l;this.j[48]=25856;this.j[58]=25600;this.j[42]=25600+this.l;this.j[45]=25344;this.j[61]=25344+this.l;this.j[46]=22272;this.j[62]=22272+this.l;this.j[108]=22016;this.j[76]=22016+this.l;this.j[92]=22016+this.l;this.j[111]=21760;this.j[79]=21760+this.l;this.j[this.Sc]=21760+this.l;this.j[this.Tc]=21504;this.j[this.Pc]=21248;this.j[119]=18176;this.j[87]=18176+this.l;this.j[101]=17920;this.j[69]=17920+this.l;this.j[114]=17664;this.j[82]=17664+this.l;this.j[116]=17408;
function y(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={};ea(this);z[z.length]=this}var A=void 0;if(window){A||(A=window.location.search.substr(1));for(var B,fa=/\+/g,ga=/([^&=]+)=?([^&]*)/g;B=ga.exec(A);)B[1].replace(fa," "),B[2].replace(fa," ")}
function ha(){var a=y.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 C(a){a.prototype=ha()}var z=[];function D(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<z.length;c++)if(z[c].id===a)return z[c]}return null}
function E(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){s(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 f,g;g=d[c].childNodes;for(f=0;f<g.length;f++){var l=g[f];if(l.nodeType===window.document.ELEMENT_NODE){var h=l.getAttribute("class");if(h){var m,k;k=h.split(" ");for(m=0;m<k.length;m++)switch(h=k[m],h){case "c1pjs-input":case "c1pjs-output":(k=E(l))&&k.binding&&a.H(h,k.type,k.binding,l),k=[]}}}}}}
function G(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}
y.prototype={toString:function(){return this.name?this.name:this.id||this.type},H:function(a,b,c,d){switch(c){case "clear":return this.o[c]||(this.o[c]=d,d.onclick=function(a){return function(){a.o.print&&(a.o.print.value="")}}(this)),!0;case "print":return this.o[c]||(this.jb=this.o[c]=d,d.value="",this.t=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.Ta=function(a,
b,c){this.t(a,"notice",c)}),!0;default:return!1}},log:function(){},t:function(){},status:function(a){this.t(this.dc+": "+a)},Ta:function(a,b){b||s(a)},J:function(a){!this.Na&&(this.Oa=!1!==a)&&(this.name&&this.log("ready"),a=this.mb,this.mb=null,a&&a())}};function ia(a,b){if(a.lb)return a.qa&&(a.qa=!1),a.lb=!1;if(a.Na)return a.t(a.toString()+" error"),!1;a.qa=b;return a.qa}function H(a,b){b&&(a.Oa?b():a.mb=b);return a.Oa}function I(a,b){a.Na=!0;a.Ta("Fatal error: "+b)}
function ea(a){var b=1;a.ec&&(a=a.ec.match(/\d+/),null!==a&&(b=parseInt(a[0],10)));return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);function J(a){y.call(this,"C1PPanel",a);this.A=!1}C(J);J.prototype.H=function(a,b,c,d){return this.G&&this.G.H(a,b,c,d)||this.s&&this.s.H(a,b,c,d)||this.C&&this.C.H(a,b,c,d)?!0:y.prototype.H.call(this,a,b,c,d)};J.prototype.S=function(a,b){a&&!this.A&&(this.A=!0,this.G=b,this.s=K(b,"cpu"),this.C=K(b,"keyboard"),ja())};
function ja(){for(var a=!1,b=G(window.document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],f=E(d),g=D(f.id);g||(a=!0,g=new J(f));F(g,d);a&&g.J()}}w(ja);
function L(a){y.call(this,"C1PCPU",a);la(this);this.R=this.A=!1;this.$b=a.autoStart;this.ab=0;this.xd=1;this.oa=2;this.speed=this.ab;this.ua=1E6;this.rb=this.tb=30;this.qb=5;this.Od=1;this.Qa=8;this.Ub=["Slow","Fast","Max"];this.Cd=["("+this.Od+"Mhz)","(up to "+this.Qa+"Mhz)","(unlimited)"];this.Y=[];this.T=[];this.fb=65536;this.gb=0;this.Ha=65536;this.Ia=0;this.Pc=128;this.Qc=64;this.Lc=16;this.Nc=8;this.Oc=4;this.Rc=2;this.Mc=1;this.Ad=65532;this.vd=0;this.wd=1;this.q=[this.ze,this.Tf,this.Kg,this.i,
this.i,this.Vf,this.pe,this.i,this.Yf,this.Sf,this.oe,this.i,this.i,this.Pf,this.me,this.i,this.ye,this.Uf,this.i,this.i,this.i,this.Wf,this.qe,this.i,this.Ce,this.Rf,this.i,this.i,this.i,this.Qf,this.ne,this.i,this.qf,this.ie,this.i,this.i,this.ve,this.ke,this.dg,this.i,this.$f,this.he,this.cg,this.i,this.ue,this.ee,this.ag,this.i,this.we,this.je,this.i,this.i,this.i,this.le,this.eg,this.i,this.ug,this.ge,this.i,this.i,this.i,this.fe,this.bg,this.i,this.kg,this.df,this.i,this.i,this.i,this.ff,this.Mf,
this.i,this.Xf,this.cf,this.Lf,this.i,this.pf,this.$e,this.Jf,this.i,this.Ae,this.ef,this.i,this.i,this.i,this.gf,this.Nf,this.i,this.Ee,this.bf,this.i,this.i,this.i,this.af,this.Kf,this.i,this.lg,this.uc,this.i,this.i,this.i,this.wc,this.ig,this.i,this.Zf,this.tc,this.hg,this.i,this.of,this.qc,this.fg,this.i,this.Be,this.vc,this.i,this.i,this.i,this.xc,this.jg,this.i,this.wg,this.sc,this.i,this.i,this.i,this.rc,this.gg,this.i,this.i,this.Ag,this.i,this.i,this.Ig,this.Cg,this.Fg,this.i,this.Ze,this.i,
this.Og,this.i,this.Hg,this.xg,this.Eg,this.i,this.re,this.Bg,this.i,this.i,this.Jg,this.Dg,this.Gg,this.i,this.Qg,this.zg,this.Pg,this.i,this.i,this.yg,this.i,this.i,this.Gf,this.vf,this.Bf,this.i,this.Hf,this.xf,this.Cf,this.i,this.Mg,this.uf,this.Lg,this.i,this.Ef,this.rf,this.zf,this.i,this.se,this.wf,this.i,this.i,this.If,this.yf,this.Df,this.i,this.Fe,this.tf,this.Ng,this.i,this.Ff,this.sf,this.Af,this.i,this.Se,this.Ke,this.i,this.i,this.Te,this.Me,this.We,this.i,this.nf,this.Je,this.Ye,this.i,
this.Re,this.Ge,this.Ue,this.i,this.xe,this.Le,this.i,this.i,this.i,this.Ne,this.Xe,this.i,this.De,this.Ie,this.i,this.i,this.i,this.He,this.Ve,this.i,this.Pe,this.Cc,this.i,this.i,this.Qe,this.Ec,this.kf,this.i,this.mf,this.Bc,this.Of,this.i,this.Oe,this.yc,this.hf,this.i,this.te,this.Dc,this.i,this.i,this.i,this.Fc,this.lf,this.i,this.vg,this.Ac,this.i,this.i,this.i,this.zc,this.jf,this.i];this.Bd=[7,6,0,0,0,3,5,0,3,2,2,0,0,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,3,6,0,0,3,3,5,0,4,2,2,0,4,4,6,0,2,
5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,3,2,2,0,3,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}C(L);e=L.prototype;
e.reset=function(a){this.R&&M(this);la(this);var b=this.Ad;this.d=this.a[b]|this.a[b+1]<<8;this.Na=!1;a&&(!0===this.$b||null===this.$b&&void 0===this.o.run)&&N(this)};
e.H=function(a,b,c,d){a=!1;switch(c){case "run":this.o[c]=d;d.onclick=function(a){return function(){a.R?M(a):N(a)}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.o[c]=d;a=!0;break;case "setSpeed":this.o[c]=d,d.onclick=function(a){return function(){O(a,a.speed>=a.oa?a.ab:a.speed+1,!0)}}(this),a=!0}return a};
e.P=function(a,b){this.a=a;(this.oc=b)?s("unsupported CPU address buffer offset ("+this.oc+")"):this.J()};e.S=function(a,b){if(a&&!this.A){this.G=b;var c=K(b,"video");c&&(this.kb=function(a){return function(){P(a)}}(c),this.da=function(a){return function(){a.da()}}(c));this.A=!0;this.reset(!0);this.update()}};function ma(a,b,c,d,f){0>na(a.Y,b,c,d,f)&&(a.fb>b&&(a.fb=b),a.gb<c&&(a.gb=c),a.Y.push([b,c,d,f]))}
function Q(a,b,c,d,f){0>na(a.T,b,c,d,f)&&(a.Ha>b&&(a.Ha=b),a.Ia<c&&(a.Ia=c),a.T.push([b,c,d,f]))}function na(a,b,c,d,f){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==f)return g;return-1}function O(a,b,c){void 0!==b&&(a.speed=b,a.o.setSpeed&&(a.o.setSpeed.innerHTML=a.Ub[2<=b?0:b+1]),a.t("running at "+a.Ub[b].toLowerCase()+" speed "+a.Cd[b]),c&&a.da());a.la=0;a.fc=Date.now()||+new Date;oa(a)}e.kb=function(){};e.da=function(){};
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 pa(a){R(a,"A",a.e,2);R(a,"X",a.k,2);R(a,"Y",a.m,2);var b=qa(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 oa(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 ra(a){a.pb>=a.ua&&oa(a,!0);a.va=0;a.Td=Date.now()||+new Date}
function sa(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&&O(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 N(a){if(ia(a,!0)){a.R||(O(a),a.G&&a.G.start(),a.R=!0,a.o.run&&(a.o.run.innerHTML="Halt"),a.da());ra(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,pa(a));a.ja-=a.Sa;if(0>=a.ja){a.ja+=a.nb;break}}while(a.R)}catch(c){M(a);a.update();ia(a,!1);I(a,c.message||c);return}setTimeout(function(a){return function(){N(a)}}(a),sa(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 M(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();pa(this)};function ta(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 qa(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}
e.ze=function(){this.d++;this.a[this.n--]=this.d>>8;this.n|=256;this.a[this.n--]=this.d&255;this.n|=256;this.u|=16;this.u=qa(this);this.a[this.n--]=this.u;this.n|=256;this.u&=239;this.b=65534;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.Tf=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e|=this.a[this.b]};e.Vf=function(){this.b=this.a[this.d++];this.f=this.g=this.e|=this.a[this.b]};
e.pe=function(){this.h=this.a[this.d++];this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.Yf=function(){this.u=qa(this);this.a[this.n--]=this.u;this.n|=256};e.Sf=function(){this.b=this.d++;this.f=this.g=this.e|=this.a[this.b]};e.oe=function(){this.c=this.e<<1;this.f=this.g=this.e=this.c&255};e.Pf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e|=this.a[this.b]};
e.me=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.ye=function(){this.d+=(this.f&128?0:(this.B--,this.a[this.d]<<24>>24))+1};e.Uf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e|=this.a[this.b]};e.Wf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e|=this.a[this.b]};
e.qe=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};e.Ce=function(){this.c=0};e.Rf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e|=this.a[this.b]};e.Qf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e|=this.a[this.b]};e.ne=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.a[this.h]<<1;this.f=this.g=this.a[this.h]=this.c&255};
e.qf=function(){this.b=this.d++;this.a[this.n--]=this.d>>8;this.n|=256;this.a[this.n--]=this.d&255;this.n|=256;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.ie=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e&=this.a[this.b]};e.ve=function(){this.b=this.a[this.d++];this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.r=0;this.w=this.a[this.b]&64?128:0};e.ke=function(){this.b=this.a[this.d++];this.f=this.g=this.e&=this.a[this.b]};
e.dg=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.$f=function(){this.n=this.n+1&255|256;this.u=this.a[this.n];this.c=this.u&1?256:0;this.g=this.u&2?0:1;this.f=this.u&128;this.r=0;this.w=this.u&64?128:0};e.he=function(){this.b=this.d++;this.f=this.g=this.e&=this.a[this.b]};
e.cg=function(){this.c=this.c&65280|this.e;this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.e=this.c&255};e.ue=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.g=this.e&this.a[this.b];this.f=this.f&127|this.a[this.b]&128;this.r=0;this.w=this.a[this.b]&64?128:0};e.ee=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e&=this.a[this.b]};
e.ag=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.we=function(){this.d+=(this.f&128?(this.B--,this.a[this.d]<<24>>24):0)+1};e.je=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e&=this.a[this.b]};e.le=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e&=this.a[this.b]};
e.eg=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.ug=function(){this.c=256};e.ge=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e&=this.a[this.b]};e.fe=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e&=this.a[this.b]};
e.bg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65280|this.a[this.h];this.c<<=1;this.c=this.c&65534|(this.c&512?1:0);this.f=this.g=this.a[this.h]=this.c&255};e.kg=function(){this.n=this.n+1&255|256;this.u=this.a[this.n];this.c=this.u&1?256:0;this.g=this.u&2?0:1;this.f=this.u&128;this.r=0;this.w=this.u&64?128:0;this.n=this.n+2&255|256;this.d=this.a[this.n-1|256]|this.a[this.n]<<8};
e.df=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e^=this.a[this.b]};e.ff=function(){this.b=this.a[this.d++];this.f=this.g=this.e^=this.a[this.b]};e.Mf=function(){this.h=this.a[this.d++];this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};e.Xf=function(){this.a[this.n--]=this.e;this.n|=256};e.cf=function(){this.b=this.d++;this.f=this.g=this.e^=this.a[this.b]};
e.Lf=function(){this.c=this.c&65279|(this.e&1?256:0);this.e=(this.c=this.c&65280|this.e>>1)&255;this.f=this.g=this.c&255};e.pf=function(){this.b=this.d;this.d=this.a[this.b]|this.a[this.b+1]<<8};e.$e=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e^=this.a[this.b]};e.Jf=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
e.Ae=function(){this.d+=((this.r&255^this.w^this.r>>1)&128?0:(this.B--,this.a[this.d]<<24>>24))+1};e.ef=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e^=this.a[this.b]};e.gf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e^=this.a[this.b]};e.Nf=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
e.Ee=function(){this.u&=251};e.bf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e^=this.a[this.b]};e.af=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e^=this.a[this.b]};e.Kf=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65279|(this.a[this.h]&1?256:0);this.a[this.h]=(this.c=this.c&65280|this.a[this.h]>>1)&255;this.f=this.g=this.c&255};
e.lg=function(){this.n=this.n+2&255|256;this.d=(this.a[this.n-1|256]|this.a[this.n]<<8)+1};e.uc=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.ae=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=S(this,this.e,this.a[this.b])};
e.wc=function(){this.b=this.a[this.d++];this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.ce=function(){this.b=this.a[this.d++];this.e=S(this,this.e,this.a[this.b])};e.ig=function(){this.h=this.a[this.d++];this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.Zf=function(){this.n=this.n+1&255|256;this.f=this.g=this.e=this.a[this.n]};
e.tc=function(){this.b=this.d++;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.$d=function(){this.b=this.d++;this.e=S(this,this.e,this.a[this.b])};e.hg=function(){this.c=this.c&65280|this.e;this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.e=this.c&255};e.of=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.d=this.a[this.b]|this.a[this.b+1]<<8};
e.qc=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Xd=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=S(this,this.e,this.a[this.b])};e.fg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};
e.Be=function(){this.d+=((this.r&255^this.w^this.r>>1)&128?(this.B--,this.a[this.d]<<24>>24):0)+1};e.vc=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.be=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.e=S(this,this.e,this.a[this.b])};
e.xc=function(){this.b=this.a[this.d++]+this.k&255;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.de=function(){this.b=this.a[this.d++]+this.k&255;this.e=S(this,this.e,this.a[this.b])};e.jg=function(){this.h=this.a[this.d++]+this.k&255;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.wg=function(){this.u|=4};
e.sc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};e.Zd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.e=S(this,this.e,this.a[this.b])};e.rc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.e+this.a[this.b]+(this.c&256?1:0);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255};
e.Yd=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.e=S(this,this.e,this.a[this.b])};e.gg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.c&65280|this.a[this.h];this.c=this.c&65023|(this.c&1?512:0);this.c>>=1;this.f=this.g=this.a[this.h]=this.c&255};e.Ag=function(){this.h=this.a[this.d++]+this.k&255;this.h=this.a[this.h]|this.a[this.h+1]<<8;this.a[this.h]=this.e};e.Ig=function(){this.h=this.a[this.d++];this.a[this.h]=this.m};
e.Cg=function(){this.h=this.a[this.d++];this.a[this.h]=this.e};e.Fg=function(){this.h=this.a[this.d++];this.a[this.h]=this.k};e.Ze=function(){this.f=this.g=this.m=this.m-1&255};e.Og=function(){this.f=this.g=this.e=this.k};e.Hg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.m};e.xg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.e};e.Eg=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.a[this.h]=this.k};
e.re=function(){this.d+=(this.c&256?0:(this.B--,this.a[this.d]<<24>>24))+1};e.Bg=function(){this.h=this.a[this.d++];this.h=(this.a[this.h]|this.a[this.h+1]<<8)+this.m;this.a[this.h]=this.e};e.Jg=function(){this.h=this.a[this.d++]+this.k&255;this.a[this.h]=this.m};e.Dg=function(){this.h=this.a[this.d++]+this.k&255;this.a[this.h]=this.e};e.Gg=function(){this.h=this.a[this.d++]+this.m&255;this.a[this.h]=this.k};e.Qg=function(){this.f=this.g=this.e=this.m};
e.zg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.a[this.h]=this.e};e.Pg=function(){this.n=this.k|256};e.yg=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.a[this.h]=this.e};e.Gf=function(){this.b=this.d++;this.f=this.g=this.m=this.a[this.b]};e.vf=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.e=this.a[this.b]};e.Bf=function(){this.b=this.d++;this.f=this.g=this.k=this.a[this.b]};
e.Hf=function(){this.b=this.a[this.d++];this.f=this.g=this.m=this.a[this.b]};e.xf=function(){this.b=this.a[this.d++];this.f=this.g=this.e=this.a[this.b]};e.Cf=function(){this.b=this.a[this.d++];this.f=this.g=this.k=this.a[this.b]};e.Mg=function(){this.f=this.g=this.m=this.e};e.uf=function(){this.b=this.d++;this.f=this.g=this.e=this.a[this.b]};e.Lg=function(){this.f=this.g=this.k=this.e};e.Ef=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.m=this.a[this.b]};
e.rf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.e=this.a[this.b]};e.zf=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.k=this.a[this.b]};e.se=function(){this.d+=(this.c&256?(this.B--,this.a[this.d]<<24>>24):0)+1};e.wf=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.e=this.a[this.b]};e.If=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.m=this.a[this.b]};
e.yf=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.e=this.a[this.b]};e.Df=function(){this.b=this.a[this.d++]+this.m&255;this.f=this.g=this.k=this.a[this.b]};e.Fe=function(){this.w=this.r=0};e.tf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.e=this.a[this.b]};e.Ng=function(){this.f=this.g=this.k=this.n&255};e.Ff=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.m=this.a[this.b]};
e.sf=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.e=this.a[this.b]};e.Af=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.k=this.a[this.b]};e.Se=function(){this.b=this.d++;this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.Ke=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};
e.Te=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.Me=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.We=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.nf=function(){this.f=this.g=this.m=this.m+1&255};e.Je=function(){this.b=this.d++;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ye=function(){this.f=this.g=this.k=this.k-1&255};
e.Re=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.m-this.a[this.b];this.c^=256};e.Ge=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ue=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.xe=function(){this.d+=(this.g&255?(this.B--,this.a[this.d]<<24>>24):0)+1};
e.Le=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ne=function(){this.b=this.a[this.d++]+this.k&255;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Xe=function(){this.h=this.a[this.d++]+this.k&255;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};
e.De=function(){this.u&=-9;this.q[97]=this.uc;this.q[101]=this.wc;this.q[105]=this.tc;this.q[109]=this.qc;this.q[113]=this.vc;this.q[117]=this.xc;this.q[121]=this.sc;this.q[125]=this.rc;this.q[225]=this.Cc;this.q[229]=this.Ec;this.q[233]=this.Bc;this.q[237]=this.yc;this.q[241]=this.Dc;this.q[245]=this.Fc;this.q[249]=this.Ac;this.q[253]=this.zc};e.Ie=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};
e.He=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.c=this.e-this.a[this.b];this.c^=256};e.Ve=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.a[this.h]=this.a[this.h]-1&255};e.Pe=function(){this.b=this.d++;this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256};
e.Cc=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.qg=function(){this.b=this.a[this.d++]+this.k&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.e=T(this,this.e,this.a[this.b])};e.Qe=function(){this.b=this.a[this.d++];this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256};
e.Ec=function(){this.b=this.a[this.d++];this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.sg=function(){this.b=this.a[this.d++];this.e=T(this,this.e,this.a[this.b])};e.kf=function(){this.h=this.a[this.d++];this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};e.mf=function(){this.f=this.g=this.k=this.k+1&255};
e.Bc=function(){this.b=this.d++;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.pg=function(){this.b=this.d++;this.e=T(this,this.e,this.a[this.b])};e.Of=function(){};e.Oe=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.c=this.k-this.a[this.b];this.c^=256};
e.yc=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.mg=function(){this.b=this.a[this.d++]|this.a[this.d++]<<8;this.e=T(this,this.e,this.a[this.b])};e.hf=function(){this.h=this.a[this.d++]|this.a[this.d++]<<8;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};e.te=function(){this.d+=(this.g&255?0:(this.B--,this.a[this.d]<<24>>24))+1};
e.Dc=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.rg=function(){this.b=this.a[this.d++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.m;this.e=T(this,this.e,this.a[this.b])};
e.Fc=function(){this.b=this.a[this.d++]+this.k&255;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.tg=function(){this.b=this.a[this.d++]+this.k&255;this.e=T(this,this.e,this.a[this.b])};e.lf=function(){this.h=this.a[this.d++]+this.k&255;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};
e.vg=function(){this.u|=8;this.q[97]=this.ae;this.q[101]=this.ce;this.q[105]=this.$d;this.q[109]=this.Xd;this.q[113]=this.be;this.q[117]=this.de;this.q[121]=this.Zd;this.q[125]=this.Yd;this.q[225]=this.qg;this.q[229]=this.sg;this.q[233]=this.pg;this.q[237]=this.mg;this.q[241]=this.rg;this.q[245]=this.tg;this.q[249]=this.og;this.q[253]=this.ng};
e.Ac=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.og=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.m;this.e=T(this,this.e,this.a[this.b])};
e.zc=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.c=this.e-this.a[this.b]-(this.c&256?0:1);this.w=this.e^this.a[this.b];this.r=this.c;this.f=this.g=this.e=this.c&255;this.c^=256};e.ng=function(){this.b=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.e=T(this,this.e,this.a[this.b])};e.jf=function(){this.h=(this.a[this.d++]|this.a[this.d++]<<8)+this.k;this.f=this.g=this.a[this.h]=this.a[this.h]+1&255};
e.Kg=function(){var a;a=this.a[this.d++];switch(a){case this.vd:this.t("HALT");M(this);break;case this.wd: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,q(this.e,2)).replace(/%X/g,q(this.k,2)).replace(/%Y/g,q(this.m,2));this.t(b);this.ja=0;this.X-=this.B;this.B=0;break;default:this.d-=2,this.t("undefined opSim: "+q(a,2)+" at "+q(this.d,4)),M(this)}};
e.i=function(){var a=this.a[--this.d];this.t("undefined opcode: "+q(a,2)+" at "+q(this.d,4));M(this)};w(function(){for(var a=G(window.document,"c1pjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new L(d);F(d,c)}});
function U(a){y.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);r(a,!0,null,this,this.Hd)}}C(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?I(this,"computer-specified ROM size ("+q(a,4)+") does not match component-specified size ("+q(this.ga,4)+")"):(d&&(this.s=d,Q(d,b,c,this,this.L)),ua(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("ROM load error ("+c+")");else{if("["==b[0])try{this.U=eval("("+b+")")}catch(d){this.t("ROM data error: "+(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);ua(this)}};
function ua(a){if(!H(a))if(!a.ya)a.J();else if(a.U&&a.a){var b=a.U.length;if(b!=a.ga)I(a,"ROM image size ("+q(b,4)+") does not match component-specified size ("+q(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=G(window.document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new U(d);F(d,c)}});function va(a){y.call(this,"C1PRAM",a)}C(va);va.prototype.P=function(a){this.a=a;this.J()};
w(function(){for(var a=G(window.document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new va(d);F(d,c)}});
function wa(a){y.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=
3;this.rd=4;this.Ud=8192;this.Rd=250;this.Sd=100;this.Pd=300;this.fa=[];this.fa["break"]=this.yb;this.fa.esc=this.zb;this.fa["ctrl-c"]=this.Tc;this.fa["ctrl-o"]=this.Uc;this.j=[];this.j[49]=30464;this.j[33]=30464+this.l;this.j[50]=30208;this.j[34]=30208+this.l;this.j[51]=29952;this.j[35]=29952+this.l;this.j[52]=29696;this.j[36]=29696+this.l;this.j[53]=29440;this.j[37]=29440+this.l;this.j[54]=29184;this.j[38]=29184+this.l;this.j[55]=28928;this.j[39]=28928+this.l;this.j[56]=26368;this.j[40]=26368+this.l;
this.j[57]=26112;this.j[41]=26112+this.l;this.j[48]=25856;this.j[58]=25600;this.j[42]=25600+this.l;this.j[45]=25344;this.j[61]=25344+this.l;this.j[46]=22272;this.j[62]=22272+this.l;this.j[108]=22016;this.j[76]=22016+this.l;this.j[92]=22016+this.l;this.j[111]=21760;this.j[79]=21760+this.l;this.j[this.Vc]=21760+this.l;this.j[this.Wc]=21504;this.j[this.Sc]=21248;this.j[119]=18176;this.j[87]=18176+this.l;this.j[101]=17920;this.j[69]=17920+this.l;this.j[114]=17664;this.j[82]=17664+this.l;this.j[116]=17408;
this.j[84]=17408+this.l;this.j[121]=17152;this.j[89]=17152+this.l;this.j[117]=16896;this.j[85]=16896+this.l;this.j[105]=16640;this.j[73]=16640+this.l;this.j[115]=14080;this.j[83]=14080+this.l;this.j[100]=13824;this.j[68]=13824+this.l;this.j[102]=13568;this.j[70]=13568+this.l;this.j[103]=13312;this.j[71]=13312+this.l;this.j[104]=13056;this.j[72]=13056+this.l;this.j[106]=12800;this.j[74]=12800+this.l;this.j[107]=12544;this.j[75]=12544+this.l;this.j[91]=12544+this.l;this.j[120]=9984;this.j[88]=9984+
this.l;this.j[99]=9728;this.j[67]=9728+this.l;this.j[118]=9472;this.j[86]=9472+this.l;this.j[98]=9216;this.j[66]=9216+this.l;this.j[110]=8960;this.j[78]=8960+this.l;this.j[94]=8960+this.l;this.j[109]=8704;this.j[77]=8704+this.l;this.j[93]=8704+this.l;this.j[44]=8448;this.j[60]=8448+this.l;this.j[113]=5888;this.j[81]=5888+this.l;this.j[97]=5632;this.j[65]=5632+this.l;this.j[122]=5376;this.j[90]=5376+this.l;this.j[32]=5120;this.j[47]=4864;this.j[63]=4864+this.l;this.j[59]=4608;this.j[43]=4608+this.l;
this.j[112]=4352;this.j[80]=4352+this.l;this.j[64]=4352+this.l;this.j[this.Da]=1536;this.j[this.wb]=1280;this.j[this.l]=512;this.j[this.Xa]=256;this.j[this.xb]=0;this.reset()}C(za);e=za.prototype;e.reset=function(){this.ya(this.lb);this.u=this.Ca;this.Tb=0;this.D=[this.Ca,0,0,0,0,0,0,0];this.$a=[];if(this.P)for(var a in this.P)isNaN(a)||this.P[a]&&clearTimeout(this.P[a]);this.P=[];this.Dc=this.Z=0;this.Ub=-1;this.Sb=this.D;this.fc=this.pb=0;this.ba=""};
e.G=function(a,b,c,d){if(void 0===this.o[c])switch(c){case "keyDown":return this.o[c]=d,d.onkeydown=function(a){return function(b){return Aa(a,b,!0)}}(this),!0;case "keyPress":return this.o[c]=d,d.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.ba="";a.u&a.ma?a.u&=~a.ma:c=!V(a,b);return c}}(this),!0;case "keyUp":return this.o[c]=d,d.onkeyup=function(a){return function(b){return Aa(a,b,!1)}}(this),!0;case "break":return this.o[c]=d,d.onclick=function(a){return function(){a.F&&
a.F.reset(!0)}}(this),!0;default:if(void 0!==this.ea[c])return this.o[c]=d,d.onclick=function(a,b,c){return function(){a.s&&a.s.ca();return!V(a,c)}}(this,c,this.ea[c]),!0}return!1};e.O=function(a,b,c,d){this.a=a;this.kc=b;this.Ad=c-b+1;this.Td=this.kc+this.Ad;d&&(this.s=d,Q(d,b,c,this,this.K));this.I()};e.ya=function(a){this.va=a;this.gb=255;600!=this.va&&(this.gb=0,I(this,"updated keyboard model: "+this.va))};e.R=function(a,b){a&&!this.w&&(this.w=!0,this.F=b)};
e.I=function(){this.Zb=(this.Id=t("iOS"))||t("Android");y.prototype.I.call(this)};function Ba(a,b){var c=b?a.Pd:a.Od;a.s&&a.s.V&&(c/=a.s.V);return c}function Ca(a,b){!a.Z||void 0!==b&&b==a.Z||(clearTimeout(a.P[a.Z]),W(a,a.Z,!1,a.od))}function X(a,b,c){a.ba=b;Da(a,c||a.Md)}function Da(a,b){if(0<a.ba.length){var c=a.ba.charCodeAt(0);10==c&&(c=13);65<=c&&90>=c&&(c+=32);a.ba=a.ba.substr(1);V(a,c)}0<a.ba.length&&setTimeout(function(a){return function(){Da(a,b)}}(a),b)}
function Aa(a,b,c){var d,f=!c;b=b.keyCode;c&&(a.Dc=b);b==a.l-a.J?(a.u&=~a.Aa,c&&(a.u|=a.Aa),b+=a.J,f=!1):b==a.Xa-a.J?(a.u&=~a.Ba,c&&(a.u|=a.Ba),b+=a.J,f=!1):b==a.Da-a.J?(a.u&=~a.za,c&&(a.u|=a.za),b+=a.J,f=!1):b==a.xb-a.J?(c=!c,a.u&=~a.Ca,c&&(a.u|=a.Ca),b+=a.J,f=!1):b==a.Xc?(a.u&=~a.ma,c&&(a.u|=a.ma),f=!1,d=!0):d=b==a.bd?f=!1:b==a.Cb||b==a.Bb?c?!V(a,b):!1:!0;f&&(a.u&=~a.ma,a.Zb||b!=a.Dc||Ca(a));void 0===d&&(d=!W(a,b,c,a.pd));return d}
function V(a,b){var c=!1;b==a.vb?a.F&&(a.F.reset(!0),c=!0):(a.Zb&&65<=b&&90>=b&&(b+=32),Ca(a,b),W(a,b,!0,a.Mb)&&(a.s.speed==a.s.na?W(a,b,!1,a.qd):(c=!1,a.P[b]&&(clearTimeout(a.P[b]),c=!0),c=Ba(a,c),a.P[a.Z=b]=setTimeout(function(a){return function(){W(a,b,!1,a.rd)}}(a),c)),c=!0));return c}
function W(a,b,c,d){var f=!1;c||(a.P[b]=null,a.Z==b&&(a.Z=0));var g=0,h=a.j[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.Da),h=a.j[b]);void 0!==h&&(b=h>>12,f=h>>8&15,g||(g=h&255),c?(a.D[b]|=1<<f,a.D[0]=g==a.Da?a.D[0]|a.za:g==a.l?a.D[0]|a.Aa:g==a.Xa?a.D[0]|a.Ba:a.D[0]&~a.Wa):(a.D[b]&=~(1<<f),a.D[0]&=~a.Wa,a.D[0]|=a.u&a.Wa),c=d==a.Mb&&!a.$a.length,a.$a.push(a.D.slice()),a.Va(c),f=!0);return f}e.M=function(){};e.K=function(a){var b=this.s.M(a);this.Tb=b^this.gb;this.pb++;this.Va(!1,a,b)};
e.Va=function(a,b){var c=wa(this.s);if(!a)if(this.s.speed==this.s.na)a=void 0!==b&&32<=this.pb;else{var d=c-this.fc;a=0>d||d>=this.Rd}a&&(d=this.$a.shift(),void 0!==d&&(this.Sb=d),this.pb=0,this.fc=c);for(d=c=0;8>d;d++)this.Tb&1<<d&&(c|=this.Sb[d]);c^=this.gb;if(void 0!==b)this.a[b]=c;else if(b=this.kc,c!=this.Ub)for(d=b;d<this.Td;d++)this.a[d]=c;this.Ub=c};w(function(){for(var a=H(window.document,"c1pjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new za(d);G(d,c)}});
function Ea(a,b,c,d){y.call(this,"C1PVideo",a);this.lb=a.model;this.gc=a.charCols;this.hc=a.charRows;this.Fd=a.screenWidth;this.Gd=a.screenHeight;this.Ja=a.charWidth;this.Ka=a.charHeight;Fa(this);this.La=b;this.Dd=c;this.qa=d;this.oa=56832}C(Ea);e=Ea.prototype;e.reset=function(a){this.ya(this.lb);if(this.a)for(var b=this.Sa;b<this.tb;b++)this.a[b]=a?Math.floor(256*Math.random()):32};
e.G=function(a,b,c,d){switch(c){case "refresh":return this.o[c]=d,d.onclick=function(a){return function(){Ga(a);oa(a)}}(this),!0}return!1};e.O=function(a,b,c,d){this.a=a;this.Sa=b;this.Cd=c-b+1;this.tb=this.Sa+this.Cd;d&&(this.s=d,void 0!==this.oa&&(pa(d,this.oa,this.oa,this,this.M),Q(d,this.oa,this.oa,this,this.K)));this.reset(!0)};
function Fa(a,b,c,d,f){a.Qa=void 0!==b?b:a.gc;a.Sd=void 0!==c?c:a.hc;a.ga=a.Qa*a.Sd;a.tb=a.Sa+a.ga;a.$b=void 0!==d?d:0;a.ic=void 0!==f?f:c;a.Vb=Math.floor(a.Fd/a.Qa);a.Wb=Math.floor(a.Gd/a.ic)}e.ca=function(){this.La.focus()};e.ya=function(a){this.va=a;600==this.va?(Fa(this,this.gc,this.hc,4,24),1024==this.ga&&this.s&&(this.Fa=this.tb+this.ga-1,Q(this.s,this.Fa,this.Fa,this,this.Hc))):(I(this,"updated video model: "+this.va),Fa(this,64,32));Ga(this);oa(this)};
e.R=function(a,b){if(a&&!this.w&&J(this)){if(this.w=!0,this.B=M(b,"keyboard"))this.B.G("input","canvas","keyDown",this.La),this.B.G("input","canvas","keyPress",this.La),this.B.G("input","canvas","keyUp",this.La)}else!a&&this.w&&(this.w=!1)};e.I=function(){this.Ja||(this.Ja=Math.floor(this.qa.width/16));this.Ka||(this.Ka=Math.floor(this.qa.height/16));y.prototype.I.call(this)};e.M=function(a){var b=this.s.M(a);this.s.K(a,b&127|(Math.floor(wa(this.s)/8333)&1?128:0))};e.K=function(){};
e.Hc=function(a,b){if(void 0!==b){this.ya(540);this.B&&this.B.ya(542);var c=this.s,d=c.S,f=[],g=qa(d,this.Fa,this.Fa,this,this.Hc);if(0<=g){f.push(d[g][0]);f.push(d[g][1]);d.splice(g,1);for(var h=65536,l=0,g=0;g<d.length;g++)h>d[g][0]&&(h=d[g][0]),l<d[g][1]&&(l=d[g][1]);f.push(h);f.push(l)}4==f.length&&(c.Ga=f[2],c.Ha=f[3])}};function Ga(a){a.ab=Array(a.ga);for(var b=0;b<=a.ga;b++)a.ab[b]=-1}
function oa(a){var b=0;if(a.w)for(;b<a.ga;){var c=a.a[a.Sa+b];if(a.ab[b]!=c){var d=Math.floor(b/a.Qa);if(d>=a.$b&&(d-=a.$b,d<a.ic)){var f=c*a.Ja;a.Dd.drawImage(a.qa,f%a.qa.width,Math.floor(f/a.qa.width)*a.Ka,a.Ja,a.Ka,b%a.Qa*a.Vb,d*a.Wb,a.Vb,a.Wb)}a.ab[b]=c}b++}}
w(function(){for(var a=H(window.document,"c1pjs","video"),b=0;b<a.length;b++){var c=a[b],d=F(c),f=window.document.createElement("canvas");if(void 0===f){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor;
f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.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,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,h=f.getContext("2d"),f=new Ea(d,f,h,g);g.onload=function(a){return function(){a.I()}}(f,d.charSet);g.src=d.charSet;G(f,c)}});
function Ha(a){y.call(this,"C1PSerialPort",a);this.w=!1;this.Yb=a.demo;this.wd=0;this.vd=1;this.reset()}C(Ha);e=Ha.prototype;e.reset=function(){2!=this.Y&&(this.Ia=this.fb=0,this.la='10 PRINT "HELLO OSI #'+ea(this)+'"\n',this.Y=this.Oa=0)};e.start=function(){this.B&&this.Yb&&(X(this.B," C\n\n",3E3),setTimeout(function(a){return function(){a.Y=1;X(a.B,"LOAD\n")}}(this),12E3));this.Yb=!1};
e.G=function(a,b,c,d){switch(c){case "listSerial":return this.o[c]=d,!0;case "loadSerial":return this.o[c]=d,d.onclick=function(a){return function(){a.o.listSerial&&r(a.o.listSerial.value,!0,null,a,a.Kd)}}(this),!0}return!1};e.O=function(a,b,c,d){this.a=a;this.rb=b;this.Bd=c-b+1;this.mc=this.rb+this.Bd;if(this.s=d)pa(d,b,c,this,this.M),Q(d,b,c,this,this.K);this.I()};e.R=function(a,b){a&&!this.w&&(this.w=!0,this.F=b,this.B=M(b,"keyboard"))};
e.Kd=function(a,b,c){b?(this.la=b,this.Y=this.Oa=0,this.F&&this.B&&this.s.Q?(I(this,"auto-loading "+a),this.s.ca(),"."!=this.la.charAt(0)?(this.Y=1,X(this.B,"NEW\nLOAD\n")):(this.Y=2,this.F.reset(!0),X(this.B,"ML"))):I(this,a+" ready to load")):I(this,a+" load error ("+c+")")};e.M=function(a,b){void 0!==b&&(a&1?Ia(this):this.la&&!this.Oa&&Ia(this))};e.K=function(){};
function Ia(a){if(void 0!==a.la){a.fb=0;a.Ia=0;if(a.Oa<a.la.length){var b=a.la.charCodeAt(a.Oa++);10==b&&(b=13);a.fb=b;a.Ia=1}else 1==a.Y&&a.B&&X(a.B," \nRUN\n"),a.Y=0;a.Va()}}e.Va=function(){var a;for(a=this.rb+0;a<this.mc;a+=2)this.a[a]=this.Ia?this.vd:this.wd;for(a=this.rb+1;a<this.mc;a+=2)this.a[a]=this.Ia?this.fb:0};w(function(){for(var a=H(window.document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new Ha(d);G(d,c)}});
function Ja(a){y.call(this,"C1PDiskController",a);this.w=!1;this.ld=this.Kb=0;this.Hb=1;this.md=this.Lb=2;this.Ib=3;this.yb=128;this.zb=64;this.da=4;this.ed=1;this.Eb=2;this.dd=4;this.gd=8;this.fd=16;this.Fb=32;this.Db=64;this.Ya=128;this.jd=4;this.Gb=8;this.hd=32;this.nd=this.kd=16;this.Jb=17;this.Ab=3;this.Pb=1;this.Qb=2;this.Ob=4;this.Nb=8;this.Uc=0;this.cd=40;this.reset(!0)}C(Ja);e=Ja.prototype;
e.reset=function(a){Ka(this);this.C=-1;a&&(this.L=[],this.L[0]={Qg:this.Uc,jc:this.cd,Hd:!0,ja:20,U:0,ha:-1,Ea:[]})};
function Ka(a){a.Ec={p:a.Db,N:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c);a.Ta.p&a.da||Y(a,a.ld,this)}}(a)};a.$={p:255,N:function(){this.update()},update:function(a){return function(c){void 0===c?c=a.$.p:La(a,c,a.wa.p);c=c|a.Ya|a.Fb|a.gd|a.dd|a.Eb|a.fd;c&=~a.ed;if(0<=a.C&&a.L[a.C].Ea.length){var d=a.L[a.C];d.Hd&&(c&=~a.Fb);d.U||(c&=~a.Eb);10>=--d.ja&&(0<d.ja?(c&=~a.Ya,Ma(a)):(d.ja=100,0<=a.C&&(a.L[a.C].ha=0,Na(a))))}this.p=c;a.Ta.p&a.da&&Y(a,a.Kb,this)}}(a)};a.Ta={p:0,
N:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c&~(a.yb|a.zb));Y(a,a.Hb,this);a.$.update();a.Ec.update()}}(a)};a.Fc={p:255,N:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c);a.Ua.p&a.da||Y(a,a.md,this)}}(a)};a.wa={p:255,N:function(){},update:function(a){return function(c){void 0===c?c=a.wa.p:La(a,a.$.p,c);if(0<=a.C&&a.C<a.L.length){var d=a.L[a.C];d.Ea.length&&a.wa.p&a.Gb&&!(c&a.Gb)&&(c&a.jd?d.U--:d.U++,d.U>=d.jc&&(d.U=d.jc),0>d.U&&(d.U=0),d.ja=20,
a.$.update(a.$.p|a.Ya),Ma(a))}this.p=c;a.Ua.p&a.da&&Y(a,a.Lb,this)}}(a)};a.Ua={p:0,N:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c&~(a.yb|a.zb));Y(a,a.Ib,this);a.wa.update();a.Fc.update()}}(a)};a.Og={p:0,N:function(){},update:function(a){return function(c){void 0!==c&&((c&a.Ab)==a.Ab&&(a.aa.p=a.Qb|a.Ob|a.Nb),this.p=c);a.aa.update()}}(a)};a.aa={p:a.Qb|a.Ob|a.Nb,N:function(){},update:function(a){return function(c){void 0===c&&(c=a.aa.p);c&=~a.Pb;0<=a.C&&0<=a.L[a.C].ha&&(c|=
a.Pb);this.p=c;Y(a,a.nd,this)}}(a)};a.ub={p:0,N:function(a){return function(){Na(a)}}(a),update:function(a){return function(c){void 0!==c&&(this.p=c);Y(a,a.Jb,this)}}(a)};a.Pg={p:0,N:function(){},update:function(){return function(){}}(a)}}
e.G=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);I(a,"loading "+aa(b)+"...");r(c,!0,null,a,a.Jd)}}}(this),!0}return!1};e.O=function(a,b,c,d){this.a=a;this.bb=b;if(this.s=d)pa(d,b,c,this,this.M),Q(d,b,c,this,this.K);this.I()};e.R=function(a){a&&!this.w&&(this.w=!0)};
e.Jd=function(a,b,c){if(c)I(this,"disk load error ("+c+")");else{c=[];I(this,"mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)I(this,"data error: "+d[0]);else if(this.L[0]){for(b=0;b<d.length;b++){var f,g=d[b],h=g.sectors;if(void 0===(f=g.trackNum)||void 0===h)throw"track "+b+" missing data";f!=b&&s("track "+f+" out of order (expected "+b+")");c=[];var l,m,k;if(f){Oa(c,g,"trackSig");Pa(c,g);Z(c,g,"trackType");for(var n=0;n<h.length;n++){l=
h[n];m=l.sectorData;Z(c,l,"sectorSig");Z(c,l,"sectorNum");Z(c,l,"sectorPages");for(k=0;k<m.length;k++)c.push(m[k]);Oa(c,l,"sectorEndSig")}}else for(l=h[0],m=l.sectorData,Z(c,g,"trackLoad",2),Z(c,l,"sectorPages"),k=0;k<m.length;k++)c.push(m[k]);d[f].Gc=c}this.L[0].Ea=d;I(this,"mount of "+a+" complete")}else I(this,"no available drives")}else I(this,"no tracks: "+a);else I(this,"no data: "+a)}catch(q){I(this,"disk data error: "+(q.message||q))}}};
function Pa(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 Oa(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))}
function Qa(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case a.Kb:a=a.Ta.p&a.da?a.$:a.Ec;break;case a.Hb:a=a.Ta;break;case a.Lb:a=a.Ua.p&a.da?a.wa:a.Fc;break;case a.Ib:a=a.Ua;break;case a.kd:a=c?a.Og:a.aa;break;case a.Jb:a=a.ub;break;default:a=a.Pg}return a}e.M=function(a,b){void 0!==b&&Qa(this,a-this.bb,!1).N()};e.K=function(a,b){if(void 0!==b){var c=this.s.M(a);Qa(this,a-this.bb,!0).update(c)}};
function La(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&a.hd||(d|=2),a.$.p&a.Db||(d|=1));a.C!=d&&(a.C=d,a.aa.update())}function Ma(a){0<=a.C&&(a.L[a.C].ha=-1,a.ub.update(255),a.aa.update())}function Na(a){var b=null;if(0<=a.C){var b=a.L[a.C],c=b.Ea[b.U];void 0!==c&&(0<=b.ha&&b.ha<c.Gc.length?(b.ja=100,b=c.Gc[b.ha++],a.ub.update(b),a.aa.update()):(b.ja=10,Ma(a)))}}function Y(a,b,c){a.s.K(b+a.bb,c.p)}
w(function(){for(var a=H(window.document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=F(c),d=new Ja(d);G(d,c)}});function $(a,b){y.call(this,"C1PComputer",a);this.H=b}C($);$.prototype.reset=function(a){var b=null,c;for(c in this.H)for(var d=0;d<this.H[c].length;d++){var f=this.H[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.H)if("cpu"!=a)for(var b=0;b<this.H[a].length;b++){var c=this.H[a][b];c&&c.start&&c.start()}};
$.prototype.stop=function(a,b){for(var c in this.H)if("cpu"!=c)for(var d=0;d<this.H[c].length;d++){var f=this.H[c][d];f&&f.stop&&f.stop(a,b)}};$.prototype.G=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.H[b]?a.H[b][0]:null}
function Ra(a){var b=null,c;for(c in a.H)for(var d=0;d<a.H[c].length;d++){var f=a.H[c][d];if(f){if(!J(f)){J(f,function(a){return function(){Ra(a)}}(a));return}"cpu"==c?b=f:f.R&&f.R(!0,a)}}a.I();I(a,"C1Pjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>");b&&b.R(!0,a)}
w(function(){for(var a=H(window.document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=F(c),f,g={},h,l=0,m=0,k=0;k<d.modules.length;k++){var n=d.modules[k];if(!k){if("cpu"!=n.type)break;l=n.start;m=n.end;h=Array(m+1-l);for(f=l;f<h.length;f++)h[f]=0}if(f=E(n.refID,d.id)){var q=n.type;void 0===g[q]&&(g[q]=[]);g[q].push(f);f.O&&void 0!==n.start&&f.O(h,n.start,n.end,g.cpu[0])}else{s('no component for <module refid="'+n.refID+'">');return}}if(void 0===h){s('<module type="cpu"> definition must appear first in the <computer> specification');
break}if(f=E("debugger",d.id))g["debugger"]=[f],f.O&&f.O(h,l,m,g.cpu[0]);(f=E("panel",d.id))&&(g.panel=[f]);d=new $(d,g);G(d,c);Ra(d)}});function Sa(a,b,c,d){var f=r(a);if(f[0])throw Error(f[1]);return Ta(f[1],a,b,c,d)}
function Ta(a,b,c,d,f){var g=null;if(a){if(f)for(var h=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g;g=h.exec(a);){var l=g[2],m=r(l),k=m[1];if(m[0]||!k)throw c="unable to resolve XML reference: "+g[0]+" ("+m[0]+")",Error(c);if(m=g[3]){var n=k.match(new RegExp("<"+g[1]+"[^>]*>"));if(n){for(var l=n[0],q,ma=/( [a-z]+=)(['"])(.*?)\2/g;q=ma.exec(m);)l=0>l.indexOf(q[1])?l.replace(">",q[0]+">"):l.replace(new RegExp(q[1]+"(['\"])(.*?)\\1"),q[0]);n[0]!=l&&(k=k.replace(n[0],l))}else throw c="missing <"+g[1]+"> in "+l,
Error(c);}k=k.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(g[0],k);h.lastIndex=0}c&&(b&&0>b.indexOf("/")&&(b=window.location.pathname+b),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(b?" url=$2"+b+"$2":"")));if(0===a.indexOf("<"))window.ActiveXObject||"ActiveXObject"in window?(f||(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");else throw Error("unrecognized XML: "+
this.j[112]=4352;this.j[80]=4352+this.l;this.j[64]=4352+this.l;this.j[this.Ea]=1536;this.j[this.zb]=1280;this.j[this.l]=512;this.j[this.Za]=256;this.j[this.Ab]=0;this.reset()}C(wa);e=wa.prototype;e.reset=function(){this.za(this.ob);this.v=this.Da;this.Wb=0;this.F=[this.Da,0,0,0,0,0,0,0];this.bb=[];if(this.Q)for(var a in this.Q)isNaN(a)||this.Q[a]&&clearTimeout(this.Q[a]);this.Q=[];this.Gc=this.$=0;this.Xb=-1;this.Vb=this.F;this.ic=this.sb=0;this.ca=""};
e.H=function(a,b,c,d){if(void 0===this.o[c])switch(c){case "keyDown":return this.o[c]=d,d.onkeydown=function(a){return function(b){return xa(a,b,!0)}}(this),!0;case "keyPress":return this.o[c]=d,d.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.ca="";a.v&a.na?a.v&=~a.na:c=!V(a,b);return c}}(this),!0;case "keyUp":return this.o[c]=d,d.onkeyup=function(a){return function(b){return xa(a,b,!1)}}(this),!0;case "break":return this.o[c]=d,d.onclick=function(a){return function(){a.G&&
a.G.reset(!0)}}(this),!0;default:if(void 0!==this.fa[c])return this.o[c]=d,d.onclick=function(a,b,c){return function(){a.s&&a.s.da();return!V(a,c)}}(this,c,this.fa[c]),!0}return!1};e.P=function(a,b,c,d){this.a=a;this.nc=b;this.Dd=c-b+1;this.Wd=this.nc+this.Dd;d&&(this.s=d,Q(d,b,c,this,this.L));this.J()};e.za=function(a){this.wa=a;this.ib=255;600!=this.wa&&(this.ib=0,this.t("updated keyboard model: "+this.wa))};e.S=function(a,b){a&&!this.A&&(this.A=!0,this.G=b)};
e.J=function(){this.bc=(this.Ld=t("iOS"))||t("Android");y.prototype.J.call(this)};function ya(a,b){var c=b?a.Sd:a.Rd;a.s&&a.s.W&&(c/=a.s.W);return c}function za(a,b){!a.$||void 0!==b&&b==a.$||(clearTimeout(a.Q[a.$]),W(a,a.$,!1,a.rd))}function X(a,b,c){a.ca=b;Aa(a,c||a.Pd)}function Aa(a,b){if(0<a.ca.length){var c=a.ca.charCodeAt(0);10==c&&(c=13);65<=c&&90>=c&&(c+=32);a.ca=a.ca.substr(1);V(a,c)}0<a.ca.length&&setTimeout(function(a){return function(){Aa(a,b)}}(a),b)}
function xa(a,b,c){var d,f=!c;b=b.keyCode;c&&(a.Gc=b);b==a.l-a.K?(a.v&=~a.Ba,c&&(a.v|=a.Ba),b+=a.K,f=!1):b==a.Za-a.K?(a.v&=~a.Ca,c&&(a.v|=a.Ca),b+=a.K,f=!1):b==a.Ea-a.K?(a.v&=~a.Aa,c&&(a.v|=a.Aa),b+=a.K,f=!1):b==a.Ab-a.K?(c=!c,a.v&=~a.Da,c&&(a.v|=a.Da),b+=a.K,f=!1):b==a.$c?(a.v&=~a.na,c&&(a.v|=a.na),f=!1,d=!0):d=b==a.ed?f=!1:b==a.Fb||b==a.Eb?c?!V(a,b):!1:!0;f&&(a.v&=~a.na,a.bc||b!=a.Gc||za(a));void 0===d&&(d=!W(a,b,c,a.sd));return d}
function V(a,b){var c=!1;b==a.yb?a.G&&(a.G.reset(!0),c=!0):(a.bc&&65<=b&&90>=b&&(b+=32),za(a,b),W(a,b,!0,a.Pb)&&(a.s.speed==a.s.oa?W(a,b,!1,a.td):(c=!1,a.Q[b]&&(clearTimeout(a.Q[b]),c=!0),c=ya(a,c),a.Q[a.$=b]=setTimeout(function(a){return function(){W(a,b,!1,a.ud)}}(a),c)),c=!0));return c}
function W(a,b,c,d){var f=!1;c||(a.Q[b]=null,a.$==b&&(a.$=0));var g=0,l=a.j[b];void 0===l&&(1<=b&&26>=b&&(b+=64,g=a.Ea),l=a.j[b]);void 0!==l&&(b=l>>12,f=l>>8&15,g||(g=l&255),c?(a.F[b]|=1<<f,a.F[0]=g==a.Ea?a.F[0]|a.Aa:g==a.l?a.F[0]|a.Ba:g==a.Za?a.F[0]|a.Ca:a.F[0]&~a.Ya):(a.F[b]&=~(1<<f),a.F[0]&=~a.Ya,a.F[0]|=a.v&a.Ya),c=d==a.Pb&&!a.bb.length,a.bb.push(a.F.slice()),a.Xa(c),f=!0);return f}e.N=function(){};e.L=function(a){var b=this.s.N(a);this.Wb=b^this.ib;this.sb++;this.Xa(!1,a,b)};
e.Xa=function(a,b){var c=ta(this.s);if(!a)if(this.s.speed==this.s.oa)a=void 0!==b&&32<=this.sb;else{var d=c-this.ic;a=0>d||d>=this.Ud}a&&(d=this.bb.shift(),void 0!==d&&(this.Vb=d),this.sb=0,this.ic=c);for(d=c=0;8>d;d++)this.Wb&1<<d&&(c|=this.Vb[d]);c^=this.ib;if(void 0!==b)this.a[b]=c;else if(b=this.nc,c!=this.Xb)for(d=b;d<this.Wd;d++)this.a[d]=c;this.Xb=c};w(function(){for(var a=G(window.document,"c1pjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new wa(d);F(d,c)}});
function Ba(a,b,c,d){y.call(this,"C1PVideo",a);this.ob=a.model;this.jc=a.charCols;this.kc=a.charRows;this.Id=a.screenWidth;this.Jd=a.screenHeight;this.Ka=a.charWidth;this.La=a.charHeight;Ca(this);this.Ma=b;this.Gd=c;this.ra=d;this.pa=56832}C(Ba);e=Ba.prototype;e.reset=function(a){this.za(this.ob);if(this.a)for(var b=this.Ua;b<this.wb;b++)this.a[b]=a?Math.floor(256*Math.random()):32};
e.H=function(a,b,c,d){switch(c){case "refresh":return this.o[c]=d,d.onclick=function(a){return function(){Da(a);P(a)}}(this),!0}return!1};e.P=function(a,b,c,d){this.a=a;this.Ua=b;this.Fd=c-b+1;this.wb=this.Ua+this.Fd;d&&(this.s=d,void 0!==this.pa&&(ma(d,this.pa,this.pa,this,this.N),Q(d,this.pa,this.pa,this,this.L)));this.reset(!0)};
function Ca(a,b,c,d,f){a.Ra=void 0!==b?b:a.jc;a.Vd=void 0!==c?c:a.kc;a.ha=a.Ra*a.Vd;a.wb=a.Ua+a.ha;a.cc=void 0!==d?d:0;a.lc=void 0!==f?f:c;a.Yb=Math.floor(a.Id/a.Ra);a.Zb=Math.floor(a.Jd/a.lc)}e.da=function(){this.Ma.focus()};e.za=function(a){this.wa=a;600==this.wa?(Ca(this,this.jc,this.kc,4,24),1024==this.ha&&this.s&&(this.Ga=this.wb+this.ha-1,Q(this.s,this.Ga,this.Ga,this,this.Kc))):(this.t("updated video model: "+this.wa),Ca(this,64,32));Da(this);P(this)};
e.S=function(a,b){if(a&&!this.A&&H(this)){if(this.A=!0,this.C=K(b,"keyboard"))this.C.H("input","canvas","keyDown",this.Ma),this.C.H("input","canvas","keyPress",this.Ma),this.C.H("input","canvas","keyUp",this.Ma)}else!a&&this.A&&(this.A=!1)};e.J=function(){this.Ka||(this.Ka=Math.floor(this.ra.width/16));this.La||(this.La=Math.floor(this.ra.height/16));y.prototype.J.call(this)};e.N=function(a){var b=this.s.N(a);this.s.L(a,b&127|(Math.floor(ta(this.s)/8333)&1?128:0))};e.L=function(){};
e.Kc=function(a,b){if(void 0!==b){this.za(540);this.C&&this.C.za(542);var c=this.s,d=c.T,f=[],g=na(d,this.Ga,this.Ga,this,this.Kc);if(0<=g){f.push(d[g][0]);f.push(d[g][1]);d.splice(g,1);for(var l=65536,h=0,g=0;g<d.length;g++)l>d[g][0]&&(l=d[g][0]),h<d[g][1]&&(h=d[g][1]);f.push(l);f.push(h)}4==f.length&&(c.Ha=f[2],c.Ia=f[3])}};function Da(a){a.cb=Array(a.ha);for(var b=0;b<=a.ha;b++)a.cb[b]=-1}
function P(a){var b=0;if(a.A)for(;b<a.ha;){var c=a.a[a.Ua+b];if(a.cb[b]!=c){var d=Math.floor(b/a.Ra);if(d>=a.cc&&(d-=a.cc,d<a.lc)){var f=c*a.Ka;a.Gd.drawImage(a.ra,f%a.ra.width,Math.floor(f/a.ra.width)*a.La,a.Ka,a.La,b%a.Ra*a.Yb,d*a.Zb,a.Yb,a.Zb)}a.cb[b]=c}b++}}
w(function(){for(var a=G(window.document,"c1pjs","video"),b=0;b<a.length;b++){var c=a[b],d=E(c),f=window.document.createElement("canvas");if(void 0===f){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}f.setAttribute("class","c1pjs-canvas");f.setAttribute("width",d.screenWidth);f.setAttribute("height",d.screenHeight);f.setAttribute("contenteditable","true");f.setAttribute("autocapitalize","off");f.setAttribute("autocorrect","off");f.style.backgroundColor=d.screenColor;
f.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(f.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,f,d.screenWidth,d.screenHeight));c.appendChild(f);var g=new Image,l=f.getContext("2d"),f=new Ba(d,f,l,g);g.onload=function(a){return function(){a.J()}}(f,d.charSet);g.src=d.charSet;F(f,c)}});
function Ea(a){y.call(this,"C1PSerialPort",a);this.A=!1;this.ac=a.demo;this.zd=0;this.yd=1;this.reset()}C(Ea);e=Ea.prototype;e.reset=function(){2!=this.Z&&(this.Ja=this.hb=0,this.ma='10 PRINT "HELLO OSI #'+ea(this)+'"\n',this.Z=this.Pa=0)};e.start=function(){this.C&&this.ac&&(X(this.C," C\n\n",3E3),setTimeout(function(a){return function(){a.Z=1;X(a.C,"LOAD\n")}}(this),12E3));this.ac=!1};
e.H=function(a,b,c,d){switch(c){case "listSerial":return this.o[c]=d,!0;case "loadSerial":return this.o[c]=d,d.onclick=function(a){return function(){a.o.listSerial&&r(a.o.listSerial.value,!0,null,a,a.Nd)}}(this),!0}return!1};e.P=function(a,b,c,d){this.a=a;this.ub=b;this.Ed=c-b+1;this.pc=this.ub+this.Ed;if(this.s=d)ma(d,b,c,this,this.N),Q(d,b,c,this,this.L);this.J()};e.S=function(a,b){a&&!this.A&&(this.A=!0,this.G=b,this.C=K(b,"keyboard"))};
e.Nd=function(a,b,c){b?(this.ma=b,this.Z=this.Pa=0,this.G&&this.C&&this.s.R?(this.t("auto-loading "+a),this.s.da(),"."!=this.ma.charAt(0)?(this.Z=1,X(this.C,"NEW\nLOAD\n")):(this.Z=2,this.G.reset(!0),X(this.C,"ML"))):this.t(a+" ready to load")):this.t(a+" load error ("+c+")")};e.N=function(a,b){void 0!==b&&(a&1?Fa(this):this.ma&&!this.Pa&&Fa(this))};e.L=function(){};
function Fa(a){if(void 0!==a.ma){a.hb=0;a.Ja=0;if(a.Pa<a.ma.length){var b=a.ma.charCodeAt(a.Pa++);10==b&&(b=13);a.hb=b;a.Ja=1}else 1==a.Z&&a.C&&X(a.C," \nRUN\n"),a.Z=0;a.Xa()}}e.Xa=function(){var a;for(a=this.ub+0;a<this.pc;a+=2)this.a[a]=this.Ja?this.yd:this.zd;for(a=this.ub+1;a<this.pc;a+=2)this.a[a]=this.Ja?this.hb:0};w(function(){for(var a=G(window.document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Ea(d);F(d,c)}});
function Ga(a){y.call(this,"C1PDiskController",a);this.A=!1;this.od=this.Nb=0;this.Kb=1;this.pd=this.Ob=2;this.Lb=3;this.Bb=128;this.Cb=64;this.ea=4;this.hd=1;this.Hb=2;this.gd=4;this.kd=8;this.jd=16;this.Ib=32;this.Gb=64;this.$a=128;this.md=4;this.Jb=8;this.ld=32;this.qd=this.nd=16;this.Mb=17;this.Db=3;this.Sb=1;this.Tb=2;this.Rb=4;this.Qb=8;this.Xc=0;this.fd=40;this.reset(!0)}C(Ga);e=Ga.prototype;
e.reset=function(a){Ha(this);this.D=-1;a&&(this.M=[],this.M[0]={Tg:this.Xc,mc:this.fd,Kd:!0,ka:20,V:0,ia:-1,Fa:[]})};
function Ha(a){a.Hc={p:a.Gb,O:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c);a.Va.p&a.ea||Y(a,a.od,this)}}(a)};a.aa={p:255,O:function(){this.update()},update:function(a){return function(c){void 0===c?c=a.aa.p:Ia(a,c,a.xa.p);c=c|a.$a|a.Ib|a.kd|a.gd|a.Hb|a.jd;c&=~a.hd;if(0<=a.D&&a.M[a.D].Fa.length){var d=a.M[a.D];d.Kd&&(c&=~a.Ib);d.V||(c&=~a.Hb);10>=--d.ka&&(0<d.ka?(c&=~a.$a,Ja(a)):(d.ka=100,0<=a.D&&(a.M[a.D].ia=0,Ka(a))))}this.p=c;a.Va.p&a.ea&&Y(a,a.Nb,this)}}(a)};a.Va={p:0,
O:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c&~(a.Bb|a.Cb));Y(a,a.Kb,this);a.aa.update();a.Hc.update()}}(a)};a.Ic={p:255,O:function(){},update:function(a){return function(c){void 0!==c&&(this.p=c);a.Wa.p&a.ea||Y(a,a.pd,this)}}(a)};a.xa={p:255,O:function(){},update:function(a){return function(c){void 0===c?c=a.xa.p:Ia(a,a.aa.p,c);if(0<=a.D&&a.D<a.M.length){var d=a.M[a.D];d.Fa.length&&a.xa.p&a.Jb&&!(c&a.Jb)&&(c&a.md?d.V--:d.V++,d.V>=d.mc&&(d.V=d.mc),0>d.V&&(d.V=0),d.ka=
20,a.aa.update(a.aa.p|a.$a),Ja(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(){Ka(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)+"...");r(c,!0,null,a,a.Md)}}}(this),!0}return!1};e.P=function(a,b,c,d){this.a=a;this.eb=b;if(this.s=d)ma(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],l=g.sectors;if(void 0===(f=g.trackNum)||void 0===l)throw"track "+b+" missing data";f!=b&&s("track "+f+" out of order (expected "+b+")");c=[];var h,m,k;if(f){La(c,g,"trackSig");Ma(c,g);Z(c,g,"trackType");for(var n=0;n<l.length;n++){h=
l[n];m=h.sectorData;Z(c,h,"sectorSig");Z(c,h,"sectorNum");Z(c,h,"sectorPages");for(k=0;k<m.length;k++)c.push(m[k]);La(c,h,"sectorEndSig")}}else for(h=l[0],m=h.sectorData,Z(c,g,"trackLoad",2),Z(c,h,"sectorPages"),k=0;k<m.length;k++)c.push(m[k]);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(p){this.t("disk data error: "+(p.message||p))}}};
function Ma(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 La(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))}
function Na(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&&Na(this,a-this.eb,!1).O()};e.L=function(a,b){if(void 0!==b){var c=this.s.N(a);Na(this,a-this.eb,!0).update(c)}};
function Ia(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 Ja(a){0<=a.D&&(a.M[a.D].ia=-1,a.xb.update(255),a.ba.update())}function Ka(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,Ja(a)))}}function Y(a,b,c){a.s.L(b+a.eb,c.p)}
w(function(){for(var a=G(window.document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=E(c),d=new Ga(d);F(d,c)}});function $(a,b){y.call(this,"C1PComputer",a);this.I=b}C($);$.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&&N(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 K(a,b){return a.I[b]?a.I[b][0]:null}
function Oa(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(!H(f)){H(f,function(a){return function(){Oa(a)}}(a));return}"cpu"==c?b=f:f.S&&f.S(!0,a)}}a.J();a.t("C1Pjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>");b&&b.S(!0,a)}
w(function(){for(var a=G(window.document,"c1pjs","computer"),b=0;b<a.length;b++){var c=a[b],d=E(c),f,g={},l=D("panel",d.id);if(l&&(g.panel=[l],l.jb)){var h;f=d.id;h=void 0;var m=[];f&&(f=0<(h=f.indexOf("."))?f.substr(0,h+1):"");for(h=0;h<z.length;h++){var k=z[h];f&&k.id.indexOf(f)||m.push(k)}h=m;for(m=0;m<h.length;m++)f=h[m],f!=l&&(f.Ta=l.Ta,f.t=l.t,f.jb=l.jb)}for(var n,m=h=l=0;m<d.modules.length;m++){k=d.modules[m];if(!m){if("cpu"!=k.type)break;l=k.start;h=k.end;n=Array(h+1-l);for(f=l;f<n.length;f++)n[f]=
0}if(f=D(k.refID,d.id)){var p=k.type;void 0===g[p]&&(g[p]=[]);g[p].push(f);f.P&&void 0!==k.start&&f.P(n,k.start,k.end,g.cpu[0])}else{s('no component for <module refid="'+k.refID+'">');return}}if(void 0===n){s('<module type="cpu"> definition must appear first in the <computer> specification');break}if(f=D("debugger",d.id))g["debugger"]=[f],f.P&&f.P(n,l,h,g.cpu[0]);d=new $(d,g);F(d,c);Oa(d)}});function Pa(a,b,c,d){var f=r(a);if(f[0])throw Error(f[1]);return Qa(f[1],a,b,c,d)}
function Qa(a,b,c,d,f){var g=null;if(a){if(f)for(var l=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g;g=l.exec(a);){var h=g[2],m=r(h),k=m[1];if(m[0]||!k)throw c="unable to resolve XML reference: "+g[0]+" ("+m[0]+")",Error(c);if(m=g[3]){var n=k.match(new RegExp("<"+g[1]+"[^>]*>"));if(n){for(var h=n[0],p,ka=/( [a-z]+=)(['"])(.*?)\2/g;p=ka.exec(m);)h=0>h.indexOf(p[1])?h.replace(">",p[0]+">"):h.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);n[0]!=h&&(k=k.replace(n[0],h))}else throw c="missing <"+g[1]+"> in "+h,
Error(c);}k=k.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(g[0],k);l.lastIndex=0}c&&(b&&0>b.indexOf("/")&&(b=window.location.pathname+b),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(b?" url=$2"+b+"$2":"")));if(0===a.indexOf("<"))window.ActiveXObject||"ActiveXObject"in window?(f||(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");else throw Error("unrecognized XML: "+
(255<a.length?a.substr(0,255)+"...":a));}return[a,g]}
window.embedC1P=function(a,b,c){var d=c,f=c="",g=null;try{if(g=window.document.getElementById(a)){d||(d="/versions/c1pjs/1.15.4/components.xsl");var h="<"==b.substr(0,1)?Ta(b,null,a,void 0,!1):Sa(b,a,void 0,!0);c=h[0];var l=h[1];if(l){var h=Sa(d),m=h[1];if(m)if(window.ActiveXObject||"ActiveXObject"in window){var k=l.transformNode(m);k?g.outerHTML=k:f="transformNodeToObject failed"}else if(window.document.implementation&&window.document.implementation.createDocument){var n=new XSLTProcessor;n.importStylesheet(m);
var q=n.transformToFragment(l,window.document);q?g.parentNode.replaceChild(q,g):f="transformToFragment failed"}else f="unable to transform XML: unsupported browser";else f="failed to load XSL file: "+d}else f="failed to load XML file: "+b}else f="failed to find machine element: "+a}catch(ma){f=ma.message}f&&g&&(a=H(g,"machine-warning"),a[0]&&(a[0].innerHTML="Error: "+ca(f)));return f||c};window.enableEvents=function(a){da=a};window.sendEvent=function(a){u[a]&&x(u[a])};})();//@ sourceMappingURL=/tmp/c1pjs/1.15.4/c1p.map
window.embedC1P=function(a,b,c){var d=c,f=c="",g=null;try{if(g=window.document.getElementById(a)){d||(d="/versions/c1pjs/1.15.4/components.xsl");var l="<"==b.substr(0,1)?Qa(b,null,a,void 0,!1):Pa(b,a,void 0,!0);c=l[0];var h=l[1];if(h){var l=Pa(d),m=l[1];if(m)if(window.ActiveXObject||"ActiveXObject"in window){var k=h.transformNode(m);k?g.outerHTML=k:f="transformNodeToObject failed"}else if(window.document.implementation&&window.document.implementation.createDocument){var n=new XSLTProcessor;n.importStylesheet(m);
var p=n.transformToFragment(h,window.document);p?g.parentNode.replaceChild(p,g):f="transformToFragment failed"}else f="unable to transform XML: unsupported browser";else f="failed to load XSL file: "+d}else f="failed to load XML file: "+b}else f="failed to find machine element: "+a}catch(ka){f=ka.message}f&&g&&(a=G(g,"machine-warning"),a[0]&&(a[0].innerHTML="Error: "+ca(f)));return f||c};window.enableEvents=function(a){da=a};window.sendEvent=function(a){u[a]&&x(u[a])};})();//@ sourceMappingURL=/tmp/c1pjs/1.15.4/c1p.map

File diff suppressed because it is too large Load diff

View file

@ -1,109 +1,109 @@
(function(){var g;function h(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){return h(a,2)}function ba(a,b){return void 0!==b?h(b,4)+":"+h(a,4):h(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}
(function(){var g;function h(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){return h(a,2)}function da(a,b){return void 0!==b?h(b,4)+":"+h(a,4):h(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(){return Date.now()||+new Date}function ja(){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 ka=[31,28,31,30,31,30,31,31,30,31,30,31];
function p(a,b,c,d,e,f){b=!!b;var l=0,k=null,m=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(n.onreadystatechange=void 0,k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f))});if(c){var q="",s;for(s in c)c.hasOwnProperty(s)&&(q&&(q+="&"),q+=s+"="+encodeURIComponent(c[s]));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||(k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f),a=[l,k]);return a}function la(){return"http://"+(window?window.location.host:"www.pcjs.org")}function t(a){window?window.alert(a):console.log(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}function na(a){window&&window.localStorage.setItem("user",a)}
function oa(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 pa={init:[],show:[],exit:[]},qa=!0;function ra(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){pa.init.push(a)}function sa(a){if(qa)for(var b=0;b<a.length;b++)a[b]()}ra("onload",function(){sa(pa.init)});ra("onpageshow",function(){sa(pa.show)});
ra(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){sa(pa.exit)});function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.bj=b.comment;this.rn=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.gg=this.id.substr(0,b),this.vh=this.id.substr(b+1)):this.vh=this.id;this[a]=c;this.qh=null;this.Vc=this.yb=this.Cc=this.fh=this.bg=!1;this.oa={};this.Ga=null;this.gg&&this.gg.match(/\d+/);w[w.length]=this}var ta,va=void 0,wa={};
if(window){va||(va=window.location.search.substr(1));for(var xa,ya=/\+/g,za=/([^&=]+)=?([^&]*)/g;xa=za.exec(va);)wa[decodeURIComponent(xa[1].replace(ya," "))]=decodeURIComponent(xa[2].replace(ya," "))}function Aa(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=Aa(a.prototype)}var w=[];function Ba(){}function Ca(a,b){b||t(a)}
function Da(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):void 0);for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ea(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<w.length;c++)if(w[c].id===a)return w[c]}return null}
function Fa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):void 0);for(d=0;d<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){t(c.message+" ("+a+")")}return b}
function A(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 l=f[e];if(l.nodeType===window.document.ELEMENT_NODE){var k=l.getAttribute("class");if(k){var m,n;n=k.split(" ");for(m=0;m<n.length;m++)switch(k=n[m],k){case "pcjs-input":case "pcjs-output":(n=z(l))&&n.binding&&a.sb(k,n.type,n.binding,l),n=[]}}}}}}
function oa(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 pa={init:[],show:[],exit:[]},qa=!0;function ra(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){pa.init.push(a)}function ta(a){if(qa)for(var b=0;b<a.length;b++)a[b]()}ra("onload",function(){ta(pa.init)});ra("onpageshow",function(){ta(pa.show)});
ra(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ta(pa.exit)});function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.fj=b.comment;this.vn=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.kg=this.id.substr(0,b),this.Ah=this.id.substr(b+1)):this.Ah=this.id;this[a]=c;this.vh=null;this.Xc=this.zb=this.Ec=this.kh=this.fg=!1;this.oa={};this.Ha=null;this.kg&&this.kg.match(/\d+/);w[w.length]=this}var ua=void 0,va={};
if(window){ua||(ua=window.location.search.substr(1));for(var wa,xa=/\+/g,ya=/([^&=]+)=?([^&]*)/g;wa=ya.exec(ua);)va[decodeURIComponent(wa[1].replace(xa," "))]=decodeURIComponent(wa[2].replace(xa," "))}function za(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=za(a.prototype)}var w=[];
function Aa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ba(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<w.length;c++)if(w[c].id===a)return w[c]}return null}
function Ca(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){t(c.message+" ("+a+")")}return b}
function A(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 l=f[e];if(l.nodeType===window.document.ELEMENT_NODE){var k=l.getAttribute("class");if(k){var m,n;n=k.split(" ");for(m=0;m<n.length;m++)switch(k=n[m],k){case "pcjs-input":case "pcjs-output":(n=z(l))&&n.binding&&a.tb(k,n.type,n.binding,l),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}
v.prototype={toString:function(){return this.name?this.name:this.id||this.type},sb:function(a,b,c,d){switch(c){case "clear":return this.oa[c]||(this.oa[c]=d,d.onclick=function(a){return function(){a.oa.print&&(a.oa.print.value="")}}(this)),!0;case "print":return this.oa[c]||(this.oa[c]=d,d.value="",Ba=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),Ca=function(a,b,c){Ba(a,
"notice",c)},ta=d),!0}return!1},log:function(){},status:function(a){Ga(this,this.vh+": "+a)},error:function(a){t(a)},Ma:function(a){!this.Vc&&(this.bg=!1!==a)&&(this.name&&this.log("ready"),a=this.qh,this.qh=null,a&&a())},Rb:function(){return this.yb=!0},Ib:function(a,b){b&&(this.yb=!1);return!0}};function Ha(a,b){if(a.fh)return a.Cc&&(a.Cc=!1),a.fh=!1;if(a.Vc)return Ga(a,a.toString()+" error"),!1;a.Cc=b;return a.Cc}function Ia(a,b){b&&(a.bg?b():a.qh=b);return a.bg}
function Ja(a,b){a.Vc=!0;C(a,"Fatal error: "+b)}function C(a,b,c){Ca(b,c,a.id)}function Ga(a,b){Ba(b,void 0,a.id)}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);var Ka="undefined"!==typeof window.Sk;function La(a){v.call(this,"Panel",a,La)}y(v,La);La.prototype.sb=function(a,b,c,d){return this.Ea&&this.Ea.sb(a,b,c,d)||this.ja&&this.ja.sb(a,b,c,d)||this.Za&&this.Za.sb(a,b,c,d)?!0:v.prototype.sb.call(this,a,b,c,d)};
La.prototype.dc=function(a,b,c,d){this.Ea=a;this.ja=c;this.Ga=d;this.Za=D(a,"Keyboard")};La.prototype.Rb=function(a,b){b||Ma();return!0};La.prototype.Ib=function(){return!0};function Ma(){for(var a=!1,b=B(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Ea(e.id);f||(a=!0,f=new La(e));A(f,d);a&&f.Ma()}}u(Ma);
function Na(a,b,c){v.call(this,"Bus",a,Na);this.ja=b;this.Ga=c;this.cf=a.buswidth||20;this.Je=this.ub=(1<<this.cf)-1;this.Hb=20>=this.cf?12:14;this.lc=1<<this.Hb;this.Zi=this.lc>>2;this.Ya=this.lc-1;this.Tf=(this.Je+this.lc)/this.lc|0;this.Nd=this.Tf-1;this.Gf=[];this.Hf=[];this.xh();this.Ma()}y(v,Na);Na.prototype.xh=function(){this.xa=Array(this.Tf);for(var a=0;a<this.Tf;a++)this.xa[a]=new Oa(a*this.lc);this.ja.xh(this.xa,this.Je,this.Hb,this.Ya,this.Nd);this.ja.ub=this.ub};
Na.prototype.reset=function(){Pa(this,!0)};function Qa(a,b,c,d,e){if(!(b&a.Ya||!c||c&a.Ya)){for(var f=b>>a.Hb;0<c&&f<a.xa.length;){var l=a.xa[f];if(void 0!==l&&l.size)return Ra(a,1,b,c);b=f*a.lc;a.xa[f++]=new Oa(b,a.lc,d,e);c-=a.lc}return!0}return Ra(a,2,b,c)}function Pa(a,b){if(void 0!==b&&20<a.cf){var c=a.ub&-1048577|(b?1048576:0);c!=a.ub&&(a.ub=c,a.ja&&(a.ja.ub=c))}}
Na.prototype.Fg=function(a,b,c){if(!(a&this.Ya||!b||b&this.Ya)){for(var d=a>>this.Hb;0<b;){var e=this.xa[d];if(!e.ea)return Ra(this,5,a,b);e.Dd(c);b-=this.lc;d++}return!0}return Ra(this,3,a,b)};function Ta(a,b,c){if(!(b&a.Ya||!c||c&a.Ya)){for(var d=b>>a.Hb;0<c;)b=d*a.lc,a.xa[d++]=new Oa(b),c-=a.lc;return!0}return Ra(a,4,b,c)}function Ua(a,b){return a.xa[(b&a.ub)>>a.Hb].zi(b&a.Ya)}function Va(a,b){var c=b&a.Ya,d=(b&a.ub)>>a.Hb;return c!=a.Ya?a.xa[d].vn(c):a.xa[d++].zi(c)|a.xa[d&a.Nd].zi(0)<<8}
function Wa(a,b,c){a.xa[(b&a.ub)>>a.Hb].Hi(b&a.Ya,c&255)}function Xa(a,b,c){var d=b&a.Ya;b=(b&a.ub)>>a.Hb;d!=a.Ya?a.xa[b].Hn(d,c&65535):(a.xa[b++].Hi(d,c&255),a.xa[b&a.Nd].Hi(0,c>>8&255))}function Ya(a){for(var b=0,c=[],d=0;d<a.Tf;d++){var e=a.xa[d];if(e.Na||e.fj){c[b++]=d;var f=c,l=b++;a:if(e=e.save()){for(var k=0,m=0,n=[];k<e.length;){for(var q=e[k],s=k+1;s<e.length&&e[s]===q;)s++;n[m++]=s-k;n[m++]=q;k=s}if(n.length<e.length){e=n;break a}}f[l]=e}}c[b]=a.Je==a.ub;return c}
function Za(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,l=e+d,k=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=l;n++)void 0!==f.Gf[n]?t("Input port "+h(n,4)+" registered by "+f.Gf[n][0].id+", ignoring "+k.id):f.Gf[n]=[k,m,!1,!1]}}function $a(a,b,c){var d=255;a=a.Gf[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function ab(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,l=e+d,k=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=l;n++)void 0!==f.Hf[n]?t("Output port "+h(n,4)+" registered by "+f.Hf[n][0].id+", ignoring "+k.id):f.Hf[n]=[k,m,!1,!1]}}function bb(a,b,c,d){a=a.Hf[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Ra(a,b,c,d){a.error("Memory block error ("+b+","+h(c)+","+h(d)+")");return!1}
function Oa(a,b,c,d){this.$i=b;this.la=null;this.offset=0;this.hj=c;this.ea=null;this.Na=this.fj=!1;if(b)if(d)this.ea=d,a=[d.Jd,a-d.Wa],this.la=a[0],this.offset=a[1],this.Dd(d.Ke);else if(Ka)this.buffer=new window.Sk(b),this.Oi=new window.Sn(this.buffer,0,b),this.ej=new window.Ln(this.buffer,0,b),this.la=new window.Nn(this.buffer,0,b>>2),this.Dd(cb);else{this.la=Array(b>>2);for(d=0;d<this.la.length;d++)this.la[d]=0;this.Dd(db)}else this.Dd()}
Oa.prototype={xg:function(){return 0},Ig:function(){},tn:function(a){return this.Oi[a]},xn:function(a){return this.ej.getUint16(a,!0)},Fn:function(a,b){this.Oi[a]=b;this.Na=!0},Jn:function(a,b){this.ej.setUint16(a,b,!0);this.Na=!0},sn:function(a){return this.la[a>>2]>>((a&3)<<3)&255},wn:function(a){var b=a>>2;a=(a&3)<<3;var c=this.la[b]>>a;return 24>a?c&65535:c&255|(this.la[b+1]&255)<<8},En:function(a,b){var c=a>>2,d=(a&3)<<3;this.la[c]=this.la[c]&~(255<<d)|b<<d;this.Na=!0},In:function(a,b){var c=
a>>2,d=(a&3)<<3;24>d?this.la[c]=this.la[c]&~(65535<<d)|b<<d:(this.la[c]=this.la[c]&16777215|b<<24,c++,this.la[c]=this.la[c]&4294967040|b>>8);this.Na=!0},save:function(){var a,b;if(this.ea)a=null;else if(Ka)for(a=Array(this.$i>>2),b=0;b<a.length;b++)a[b]=this.la[b];else a=this.la;return a},restore:function(a){if(this.ea)return null===a;if(this.$i==a.length<<2){var b;if(Ka)for(b=0;b<this.la.length;b++)this.la[b]=a[b];else this.la=a;return this.Na=!0}return!1},Dd:function(a,b){a||(a=[]);void 0===b&&
(b=!0);var c=a;this.tc=c[0]?c[0]:this.xg;this.un=c[1]?c[1]:this.xg;b&&(this.zi=c[0]?c[0]:this.xg,this.vn=c[1]?c[1]:this.xg);c=a;this.vc=c[2]&&!this.hj?c[2]:this.Ig;this.Gn=c[3]&&!this.hj?c[3]:this.Ig;b&&(this.Hi=c[2]?c[2]:this.Ig,this.Hn=c[3]?c[3]:this.Ig)}};var db=[Oa.prototype.sn,Oa.prototype.wn,Oa.prototype.En,Oa.prototype.In];if(Ka)var cb=[Oa.prototype.tn,Oa.prototype.xn,Oa.prototype.Fn,Oa.prototype.Jn];
function eb(a,b){v.call(this,"CPU",a,eb);var c=a.multiplier||1;this.ad=a.cycles||b;this.vd=c;this.jg=Math.round(this.ad/1E4)/100;this.bf=this.jg*this.vd;this.pc=this.yb=!1;this.eh=a.autoStart;c=wa.autostart;void 0!==c&&(this.eh="true"==c?!0:"false"==c?!1:null);this.ag=!1;this.og=this.ve=0;this.pg=a.csStart;this.ef=a.csInterval;this.ff=a.csStop;var d=this;this.wm=function(){fb(d)};this.Ma()}y(v,eb);g=eb.prototype;
g.dc=function(a,b,c,d){this.ma=b;this.Ga=d;this.Ea=a;var e=D(a,"Video");e&&(this.Ye=function(){hb(e)},this.Ae=function(){e.Ae()});this.ga=D(a,"ChipSet");this.Ma()};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.Rb=function(a,b){if(!b){if(a&&this.restore){ib(this);if(!this.restore(a))return!1;jb(this)}else this.reset();ta&&t("No debugger detected")}this.yb=!0;!kb(this)&&this.Ga&&this.Ga.Xn();this.Ye();this.Xe();return!0};
g.Ib=function(a){this.yb=!1;return a&&this.save?this.save():!0};function kb(a){return!0===a.eh||null===a.eh&&void 0===a.oa.run?(fb(a),!0):!1}g.Ae=function(){};g.nj=function(){return 0};function jb(a){void 0===a.pg&&(a.pg=0);void 0===a.ef&&(a.ef=-1);void 0===a.ff&&(a.ff=-1);a.ag=0<=a.pg&&0<a.ef;a.ag&&(a.og=0,a.ve=a.pg-a.ae)}function E(a,b,c,d){void 0!==a.oa[b]&&(void 0===d&&(d=4),void 0===c&&(Ja(a,"Register "+b+" is invalid"),lb(a)),c=h(c,d),a.oa[b].innerHTML!=c&&(a.oa[b].innerHTML=c))}g.Xe=function(){};
g.Ye=function(){};g.sb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.oa[c]=d;d.onclick=function(){e.pc?lb(e,!0):fb(e,!0)};a=!0;break;case "reset":this.oa[c]=d;d.onclick=function(){e.Ea&&mb(e.Ea)};a=!0;break;case "speed":this.oa[c]=d;a=!0;break;case "setSpeed":this.oa[c]=d,d.onclick=function(){nb(e,e.vd<<1,!0)},d.innerHTML=this.bf.toFixed(2)+"Mhz",a=!0}return a};function ob(a,b,c){a.ae+=b;c&&(a.$c=a.A=0)}
function pb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.vd&&a.Ic&&(d=a.Ic/a.jg);a.tj=Math.round(1E3/30);a.pm=Math.floor(a.ad/c*d);a.Eh=Math.floor(a.ad/30*d);a.xj=Math.floor(a.ad/60*d);a.wj=Math.floor(a.ad/2*d);b||(a.jf=a.Eh,a.hf=a.xj,a.gf=a.wj);a.si=0}function qb(a,b){var c=a.ae+a.yd+a.$c-a.A;b&&1<a.vd&&a.Ic>a.jg&&(c=Math.round(c/a.vd));return c}function ib(a){a.Ic=0;a.mg=1;a.ae=a.yd=a.$c=a.A=0;jb(a);nb(a,1)}
function nb(a,b,c){void 0!==b&&(0.8>a.Ic/a.bf&&(b=1),a.vd=b,a.bf=a.jg*a.vd,b=a.bf.toFixed(2)+"Mhz",a.oa.setSpeed&&(a.oa.setSpeed.innerHTML=b),Ga(a,"target speed: "+b),c&&a.Ae());ob(a,a.yd);a.yd=0;a.ue=ia();a.Yd=0;pb(a)}
function fb(a,b){if(Ha(a,!0)){a.pc||(nb(a),a.Ea&&a.Ea.start(a.ue,qb(a)),a.pc=!0,a.ga&&sb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Halt"),b&&a.Ae());a.si>=a.ad&&pb(a,!0);a.kf=0;a.lg=ia();if(a.Yd){var c=a.lg-a.Yd;c>a.tj&&(a.ue+=c,a.ue>a.lg&&(a.ue=a.lg))}try{do{a.Ok(a.ag?1:Math.round(a.pm/a.mg));var d=a.$c-a.A;a.yd+=d;a.kf+=d;ob(a,0,!0);var c=a,e=d;if(c.ag){var f=!1;c.og=c.og+c.nj()|0;c.ve-=e;0>=c.ve&&(c.ve+=c.ef,f=!0);0<=c.ff&&c.ff<=qb(c)&&(c.ef=c.ff=-1,jb(c),lb(c),f=!0);f&&Ga(c,qb(c)+" cycles: checksum="+
h(c.og))}a.hf-=d;0>=a.hf&&(a.hf+=a.xj,a.Ye());a.gf-=d;0>=a.gf&&(a.gf+=a.wj,a.Xe());a.jf-=d;if(0>=a.jf){a.jf+=a.Eh;break}}while(a.pc)}catch(l){lb(a);a.Ye();a.Xe();a.Ea&&a.Ea.stop(ia(),qb(a));Ha(a,!1);Ja(a,l.message);return}d=setTimeout;c=a.wm;a.Yd=ia();e=a.tj;a.kf&&(e=Math.round(e*a.kf/a.Eh));e-=a.Yd-a.lg;if(f=a.Yd-a.ue)a.Ic=Math.round(a.yd/(10*f))/100,864E5<=f&&(a.ae=0,a.ga&&tb(a.ga,!0),nb(a));if(0>e||a.Ic<a.bf)e=0;a.si+=a.kf;a.Yd+=e;d(c,e)}else a.Ye(),a.Xe(),a.Ea&&a.Ea.stop(ia(),qb(a))}
function lb(a,b){a.Cc&&(a.fh=!0);a.$c-=a.A;a.A=0;ob(a,a.yd);a.yd=0;a.pc&&(a.pc=!1,a.ga&&sb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Run"));a.ih=b}g.Ok=function(){return 0};
var ub=[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 vb(a,b,c){this.ja=a;this.cb=this.ua=0;this.Yc=65535;this.sc=this.ic=0;this.Cg=b;wb(this,c)}function xb(a){this.ua=a;this.Yc=65535;return this.cb=a<<4}
function yb(a){var b,c;a&4?(b=this.ja.ze.cb,c=this.ja.ze.Yc):(b=this.ja.Pc,c=this.ja.Ie);b+=a&65528;if(b+7<=c){this.Gc=zb;this.Nb=Ab;this.ja.A-=15;c=F(this.ja,b+0);var d=F(this.ja,b+4),e=F(this.ja,b+2)|(d&255)<<16;F(this.ja,b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.Nb=Bb);if(b&2048||!(b&512))this.Nb=Cb;this.ua=a;this.Yc=c;this.ic=d;this.sc=(d&24576)>>13;return this.cb=e}if(b&&768>=b)return this.ua=a,this.Yc=c,this.ic=d,this.sc=(d&24576)>>13,this.cb=e}return-1}
function Db(a){return this.cb+a}function Eb(a){return this.cb+a}function zb(a,b,c){return a+b<=this.Yc?this.cb+a:Bb.call(this,0,0,c)}function Bb(a,b,c){c||Fb.call(this.ja,13,0);return-1}function Ab(a,b,c){return a+b<=this.Yc?this.cb+a:Cb.call(this,0,0,c)}function Cb(a,b,c){c||Fb.call(this.ja,13,0);return-1}vb.prototype.save=function(){return[this.ua,this.cb,this.Yc,this.ic,this.sc,this.Cg]};
vb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.cb=a[1],this.Yc=a[2],this.ic=a[3],this.sc=a[4],this.Cg=a[5])};function wb(a,b){void 0===b&&(b=!!(a.ja.cd&1));b?(a.load=yb,a.Gc=zb,a.Nb=Ab):(a.load=xb,a.Gc=Db,a.Nb=Eb)}
function Gb(a){this.Ca=a.model||8088;var b=0;switch(this.Ca){default:case 8088:b=4772727;break;case 80286:b=6E6}eb.call(this,a,b);this.Li=61442;this.Ef=4;this.we=255;this.ti=4;this.Z=5;this.na=6;this.ba=7;this.ca=8;this.P=9;this.U=11;this.V=12;this.Zd=4;this.zj=60;this.Aj=83;this.Ab=3;this.$a=9;this.Pb=16;this.sg=1;this.Ej=19;this.Gj=28;this.Ij=16;this.Hj=21;this.Fj=37;this.Cj=2;this.Mh=9;this.Dj=5;this.Bj=33;this.Oh=10;this.Nh=8;this.of=3;this.nf=15;this.Wj=51;this.Xj=1;this.Yj=2;this.Zj=4;this.Vj=
32;this.ak=this.Ph=15;this.Bb=16;this.Cb=4;this.ck=11;this.bk=18;this.$j=24;this.kb=4;this.dk=2;this.Qh=16;this.ek=17;this.Vh=18;this.fk=19;this.Uh=5;this.Wh=6;this.kk=2;this.jk=8;this.hk=9;this.Yh=this.Xh=this.gk=this.ik=10;this.Kj=80;this.Mj=144;this.Jj=86;this.Lj=154;this.Oj=101;this.Qj=165;this.Nj=107;this.Pj=171;this.mk=70;this.ok=113;this.lk=76;this.nk=124;this.Sj=80;this.Uj=128;this.Rj=86;this.Tj=134;this.qf=3;this.pf=16;this.ci=10;this.bi=8;this.pk=51;this.Qb=8;this.qk=17;this.rk=36;this.Xb=
11;this.sk=16;this.rf=10;this.qb=2;this.Jh=18;this.Kh=9-this.qb;this.Lh=17-this.qb;this.Rh=12;this.Sh=9-this.qb;this.Th=13-this.qb;this.Zh=18;this.$h=9-this.qb;this.ai=17-this.qb;this.di=15;this.ei=9-this.qb;this.fi=15-this.qb;this.ji=11;this.ki=9-this.qb;this.li=10-this.qb;this.tk=8;this.wk=12;this.uk=18;this.vk=17;this.xk=15;this.hi=8;this.gi=20;this.ii=2;this.oi=3;this.sf=9;this.ni=5;this.mi=11;this.qi=4;this.pi=17;this.yk=11;this.Ja=Hb.slice();80186<=this.Ca&&(this.we=31,this.Ja[15]=G,this.Ja[96]=
Ib,this.Ja[97]=Jb,this.Ja[98]=Kb,this.Ja[99]=G,this.Ja[100]=G,this.Ja[101]=G,this.Ja[102]=G,this.Ja[103]=G,this.Ja[104]=Lb,this.Ja[105]=Mb,this.Ja[106]=Nb,this.Ja[107]=Ob,this.Ja[108]=Pb,this.Ja[109]=Qb,this.Ja[110]=Rb,this.Ja[111]=Sb,this.Ja[192]=Tb,this.Ja[193]=Ub,this.Ja[200]=Vb,this.Ja[200]=Wb,this.Ja[241]=Xb,Yb[7]=Zb,$b[7]=Zb,80286<=this.Ca&&(this.Li=2,this.Ef=0,this.Ja[15]=ac,this.Ja[99]=bc,this.Ja[84]=cc,this.P=this.ca=this.ba=this.na=this.Z=this.ti=0,this.V=this.U=1,this.Zd=3,this.zj=14,this.Aj=
16,this.Ab=2,this.Pb=this.$a=7,this.sg=0,this.Ej=7,this.Gj=13,this.Ij=7,this.Hj=11,this.Fj=16,this.Cj=3,this.Mh=6,this.Dj=2,this.Bj=13,this.Nh=this.Oh=5,this.of=2,this.nf=7,this.Wj=23,this.Xj=0,this.Yj=1,this.Zj=3,this.Vj=17,this.Ph=7,this.ak=11,this.Bb=7,this.Cb=3,this.ck=7,this.bk=11,this.$j=15,this.kb=2,this.dk=3,this.Qh=7,this.fk=this.Vh=this.ek=8,this.Wh=this.Uh=4,this.kk=2,this.jk=3,this.hk=5,this.ik=2,this.gk=3,this.Xh=5,this.Yh=3,this.Kj=14,this.Mj=22,this.Jj=17,this.Lj=25,this.Oj=17,this.Qj=
25,this.Nj=20,this.Pj=28,this.mk=13,this.ok=21,this.lk=16,this.nk=24,this.Sj=13,this.Uj=21,this.Rj=16,this.Tj=24,this.qf=2,this.pf=7,this.bi=this.ci=5,this.pk=19,this.qk=this.Qb=5,this.rk=17,this.Xb=3,this.sk=5,this.rf=3,this.qb=0,this.Jh=8,this.Kh=5,this.Lh=9,this.Sh=this.Rh=5,this.Th=4,this.$h=this.Zh=5,this.ai=4,this.di=7,this.ei=5,this.fi=8,this.ji=3,this.ki=4,this.li=3,this.wk=this.tk=11,this.vk=this.uk=15,this.xk=7,this.hi=5,this.gi=8,this.ii=0,this.oi=2,this.sf=6,this.ni=3,this.mi=6,this.qi=
3,this.yk=this.pi=5));this.Uk=[];this.Mi=[];this.Ug=0;this.xa=[];this.Je=this.ub=this.Hb=this.Ya=this.Nd=0;this.S=this.fl;this.T=this.gl;this.N=this.hm;this.O=this.im;this.Q=this.Cn;this.R=this.Dn;dc(this)}y(eb,Gb);g=Gb.prototype;g.xh=function(a,b,c,d,e){this.xa=a;this.Je=this.ub=b;this.Hb=c;this.Ya=d;this.Nd=e};g.reset=function(){this.pc&&lb(this);dc(this);ib(this);this.Vc=!1};
function dc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.cd=65520;a.Qc=0;a.ke=1023;a.oc={ui:0,ua:0,ic:0,ig:-1};a.Da=new vb(a,"CS");a.Zb=new vb(a,"DS");a.Sb=new vb(a,"SS");a.fb=new vb(a,"ES");a.Mk=new vb(a,"ZERO");ec(a,0,65535);80286<=a.Ca&&(a.Pc=a.Ie=0,a.ze=new vb(a,"LDT",!0),a.Eg=new vb(a,"TSS",!0),a.rb=new vb(a,"VER",!0),ec(a,65520,61440),a.Da.cb=16711680);fc(a,0);gc(a);a.Ta=0;a.lb=a.wf=-1;a.Pf=0;a.da=a.Aa=-1;a.C=a.Zb;a.M=a.Sb;a.Y=a.pa=0}
g.nj=function(){var a=this.G+this.B+this.I+this.J+this.X+this.H+this.F+this.D|0;return a=a+this.qa+this.Da.ua+this.Zb.ua+this.Sb.ua+this.fb.ua+hc(this)|0};function ic(a,b){var c=a.Mi[b];if(void 0!==c){for(;0<c.length;)c.pop()(--a.Ug);delete a.Mi[b]}}function gc(a,b){void 0===b&&(b=!!(a.cd&1));jc=b?kc:lc;wb(a.Da,b);wb(a.Zb,b);wb(a.Sb,b);wb(a.fb,b)}
g.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.X,this.H,this.F,this.D]);a.set(1,[this.qa,this.Da.save(),this.Zb.save(),this.Sb.save(),this.fb.save(),hc(this),null!=this.Pc?[this.cd,this.Pc,this.Ie,this.Qc,this.ke,this.ze.save(),this.Eg.save()]:null]);a.set(2,[this.C.Cg,this.M.Cg,this.Y,this.pa,this.Ta,this.da,this.Aa]);a.set(3,[this.mg,this.ae,this.vd]);a.set(4,Ya(this.ma));return a.data()};
g.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.X=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.Da.restore(b[1]);this.Zb.restore(b[2]);this.Sb.restore(b[3]);this.fb.restore(b[4]);fc(this,b[5]);var c=b[6];c&&c.length&&(this.cd=c[0],this.Pc=c[1],this.Ie=c[2],this.Qc=c[3],this.ke=c[4],this.ze.restore(c[5]),this.Eg.restore(c[6]),gc(this));I(this,b[0]);b=a[2];this.C=pc(this,b[0]);this.M=pc(this,b[1]);this.Y=b[2];this.pa=b[3];this.Ta=b[4];this.da=b[5];this.Aa=
b[6];b=a[3];this.mg=b[0];this.ae=b[1];nb(this,b[2]);a:{b=this.ma;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.Zi){for(var f=0,l=Array(b.Zi),k=0;k<e.length-1;)for(var m=e[k++],n=e[k++];m--;)l[f++]=n;e=l}f=b.xa[d];if(!f||!f.restore(e)){b.error("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Pa(b,a[c]);b=!0}return b};
function pc(a,b){switch(b){case "CS":return a.Da;case "DS":return a.Zb;case "SS":return a.Sb;case "ES":return a.fb;case "ZERO":return a.Mk;default:return[0,b,0,0,""]}}function qc(a,b){var c;if(a.cd&1){if(c=a.Qc+(b<<3),c+7<=a.ke){a.oc.ui=F(a,c);a.oc.ua=F(a,c+2);a.oc.ic=F(a,c+4);switch(a.oc.ic&7936){case 1536:a.oc.ig=-17153;break;case 1792:a.oc.ig=-16641;break;default:return!1}return!0}}else if(c=a.Qc+(b<<2),c+7<=a.ke)return a.oc.ui=F(a,c),a.oc.ua=F(a,c+2),a.oc.ig=-769,!0;return!1}
function rc(a,b){a.Ba=a.Da.load(b)+a.qa;a.Y|=a.Ef}function sc(a,b){a.Zb.load(b);a.Y|=a.Ef}function tc(a,b){a.Sb.load(b);a.Y|=4}function uc(a,b){a.fb.load(b);a.Y|=a.Ef}function I(a,b){a.Ba=a.Da.cb+(a.qa=b&65535)}function ec(a,b,c){a.Ba=a.Da.load(c)+(a.qa=b)}function J(a,b){a.Ba=a.Da.cb+(a.qa=a.qa+b&65535)}function vc(a){return a.W&a.$?1:0}function wc(a){return ub[a.fa&255]?4:0}function xc(a){return(a.fa^a.ha)&16?16:0}function yc(a){return a.W&a.$-1?0:64}function zc(a){return a.fa&a.$>>1?128:0}
function Ac(a){return(a.fa^a.ha^a.fa>>1)&a.$>>1?2048:0}function Bc(a){a.W&=~a.$}function Cc(a){a.ha=a.fa&16|a.ha&-17}function Dc(a){a.W|=a.$-1}function Ec(a){a.fa&=~a.$;a.ha=a.fa&32896|a.ha&-32897}function Fc(a){a.W|=a.$}function Gc(a){a.ha=~(a.fa&16)&16|a.ha&-17}function Hc(a){a.W&=~(a.$-1)}function Ic(a){zc(a)||(a.fa^=a.$>>1|a.$>>2,a.ha^=32896)}function Jc(a){a.fa|=a.$;a.ha=a.fa&32896|a.ha&-32897}function hc(a){return a.Fa&-2262|vc(a)|wc(a)|xc(a)|yc(a)|zc(a)|Ac(a)}
function fc(a,b){a.$=256;a.W=a.fa=a.ha=0;b&1&&Fc(a);b&4||(a.fa|=1);b&16&&(a.ha|=16);b&64||Dc(a);b&128&&Ic(a);b&2048&&Jc(a);a.Fa=a.Fa&-1793|b&1792|a.Li;a.Fa&256&&(a.Ta|=2,a.Y|=4)}
g.sb=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.oa[c]=d;e=!0;break;default:e=eb.prototype.sb.call(this,a,b,c,d)}return e};function Kc(a,b){return a.xa[(b&a.ub)>>a.Hb].tc(b&a.Ya)}
function F(a,b){var c=b&a.Ya,d=(b&a.ub)>>a.Hb;a.A-=a.ti;return c!=a.Ya?a.xa[d].un(c):a.xa[d++].tc(c)|a.xa[d&a.Nd].tc(0)<<8}function Lc(a,b,c){a.xa[(b&a.ub)>>a.Hb].vc(b&a.Ya,c&255)}function Mc(a,b,c){var d=b&a.Ya;b=(b&a.ub)>>a.Hb;a.A-=a.ti;d!=a.Ya?a.xa[b].Gn(d,c&65535):(a.xa[b++].vc(d,c&255),a.xa[b&a.Nd].vc(0,c>>8&255))}g.fl=function(a,b){this.Af=a;this.da=a.Gc(this.tf=b,0);return this.Y&1?0:Kc(this,this.da)};g.gl=function(a,b){this.Af=a;this.da=a.Gc(this.tf=b,1);return this.Y&1?0:F(this,this.da)};
g.hm=function(a,b){this.Af=a;this.Aa=this.da=a.Gc(this.tf=b,0);return this.Y&1?0:Kc(this,this.da)};g.im=function(a,b){this.Af=a;this.Aa=this.da=a.Gc(this.tf=b,1);return this.Y&1?0:F(this,this.da)};g.Cn=function(a){this.Y&2||Lc(this,this.Af.Nb(this.tf,1),a)};g.Dn=function(a){this.Y&2||Mc(this,this.Af.Nb(this.tf,2),a)};g.aa=function(){var a=Kc(this,this.Ba);this.Ba=this.Da.cb+(this.qa=this.qa+1&65535);return a};
g.L=function(){var a=Kc(this,this.Ba)<<24>>24;this.Ba=this.Da.cb+(this.qa=this.qa+1&65535);return a&65535};g.K=function(){var a=F(this,this.Ba);this.Ba=this.Da.cb+(this.qa=this.qa+2&65535);return a};g.za=function(){var a=this.X;this.X=this.X+2&65535;return F(this,this.Sb.Gc(a,1))};function K(a,b){var c=a.X=a.X-2&65535;Mc(a,a.Sb.Nb(c,1),b)}
g.Xe=function(){E(this,"AX",this.G);E(this,"BX",this.B);E(this,"CX",this.I);E(this,"DX",this.J);E(this,"SP",this.X);E(this,"BP",this.H);E(this,"SI",this.F);E(this,"DI",this.D);E(this,"CS",this.Da.ua);E(this,"DS",this.Zb.ua);E(this,"SS",this.Sb.ua);E(this,"ES",this.fb.ua);E(this,"IP",this.qa);var a=hc(this);E(this,"PS",a);E(this,"C",a&1?1:0,1);E(this,"P",a&4?1:0,1);E(this,"A",a&16?1:0,1);E(this,"Z",a&64?1:0,1);E(this,"S",a&128?1:0,1);E(this,"T",a&256?1:0,1);E(this,"I",a&512?1:0,1);E(this,"D",a&1024?
1:0,1);E(this,"O",a&2048?1:0,1);this.oa.speed&&(this.oa.speed.innerHTML=this.pc&&this.Ic?this.Ic.toFixed(2)+"Mhz":"Stopped")};
g.Ok=function(a){this.ih=!0;this.$c=this.A=a;this.ga&&tb(this.ga);a||!this.Ga||this.Ga.Vn(this.Ga.On)||(this.Y|=4);do{if(a=this.Y&240)this.pa|=a;else if(this.vg=this.Ba,this.da=this.Aa=-1,this.C=this.Zb,this.M=this.Sb,this.pa=this.Y&256,this.Ta){a:{if(!(this.Y&4))if(this.Ta&1&&this.Fa&512){if(a=Nc(this.ga),-1<=a&&(this.Ta&=-2,0<=a)){this.Ta&=-5;Oc.call(this,a,null,11);break a}}else if(this.Ta&2){this.Ta&=-3;Oc.call(this,1,null,11);break a}if(a=this.Ta&8){a=this.ga;for(var b=!1,c=0;c<a.va;c++)for(var d=
a.va[c],e=0;e<d.Ia.length;e++){var f=d.Ia[e];f.Zc||(Pc(a,f),f.Zc||(b=!0))}a=!b}a&&(this.Ta&=-9)}if(this.Ta&4){this.Y=this.A=0;break}}this.Y=0;this.Ja[this.aa()].call(this)}while(0<this.A);return this.ih?this.$c-this.A:void 0===this.ih?0:-1};u(function(){for(var a=B(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Gb(d);A(d,c)}});function Qc(a,b){this.ha=a^b;this.$=256;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=a+b)&255}
function Rc(a,b){this.$=256;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=this.ha=a|b)&255}function Sc(a,b){this.ha=a^b;this.W=this.fa=a+b+(this.W&this.$?1:0);this.$=256;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return this.W&255}function Tc(a,b){this.ha=a^b;this.W=this.fa=a-b-(this.W&this.$?1:0);this.$=256;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return this.W&255}
function Uc(a,b){this.$=256;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=this.ha=a&b)&255}function Vc(a,b){this.ha=a^b;this.$=256;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=a-b)&255}function Wc(a,b){this.$=256;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=this.ha=a^b)&255}function Xc(a,b){this.ha=a^b;this.$=256;this.W=this.fa=a-b;this.A-=0>this.Aa?0>this.da?this.Ab:this.Mh:this.$a;this.Y|=2;return a}
function Yc(a,b){this.ha=a^b;this.$=65536;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=a+b)&65535}function Zc(a,b){this.$=65536;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=this.ha=a|b)&65535}function $c(a,b){this.ha=a^b;this.W=this.fa=a+b+(this.W&this.$?1:0);this.$=65536;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return this.W&65535}
function ad(a,b){this.ha=a^b;this.W=this.fa=a-b-(this.W&this.$?1:0);this.$=65536;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return this.W&65535}function bd(a,b){this.$=65536;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=this.ha=a&b)&65535}function cd(a,b){this.ha=a^b;this.$=65536;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=a-b)&65535}
function dd(a,b){this.$=65536;this.A-=0>this.Aa?0>this.da?this.Ab:this.$a:this.Pb;return(this.W=this.fa=this.ha=a^b)&65535}function ed(a,b){this.ha=a^b;this.$=65536;this.W=this.fa=a-b;this.A-=0>this.Aa?0>this.da?this.Ab:this.Mh:this.$a;this.Y|=2;return a}function fd(a,b){this.W=this.W&this.$-1|(a&b?this.$:0);(a^a>>1)&b>>1?Jc(this):Ec(this)}function gd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;fd.call(this,d,256)}return c}
function hd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;fd.call(this,d,65536)}return c}function id(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);fd.call(this,d,256)}return c}function jd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);fd.call(this,d,65536)}return c}function nd(a,b){var c=a;if(b){var d;(d=(b&this.we)%9)?(d=a<<d|(this.W&this.$?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.W&this.$?1:0)<<8;fd.call(this,d,256)}return c}
function od(a,b){var c=a;if(b){var d;(d=(b&this.we)%17)?(d=a<<d|(this.W&this.$?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.W&this.$?1:0)<<16;fd.call(this,d,65536)}return c}function pd(a,b){var c=a;b&&(c=(b&this.we)%9,c=a>>c|(this.W&this.$?1:0)<<8-c|a<<9-c,fd.call(this,c,256),c&=255);return c}function qd(a,b){var c=a;b&&(c=(b&this.we)%17,c=a>>c|(this.W&this.$?1:0)<<16-c|a<<17-c,fd.call(this,c,65536),c&=65535);return c}
function rd(a,b){var c=a;b&&(c=8<b?this.W=this.fa=0:(this.W=this.fa=a<<b)&255,this.ha=0,this.$=256);return c}function sd(a,b){var c=a;b&&(c=16<b?this.W=this.fa=0:(this.W=this.fa=a<<b)&65535,this.ha=0,this.$=65536);return c}function td(a,b){if(b){var c=8<b?0:a>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|256:this.W&-257;this.ha=a^this.W;this.$=256;a=this.W}return a&255}
function ud(a,b){if(b){var c=16<b?0:a>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|65536:this.W&-65537;this.ha=a^this.W;this.$=65536;a=this.W}return a&65535}function vd(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|256:this.W&-257;this.ha=a^this.W;this.$=256;a=this.W}return a&255}function wd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|65536:this.W&-65537;this.ha=a^this.W;this.$=65536;a=this.W}return a&65535}
function xd(){this.A-=0>this.da?2:this.xk;return 1}function yd(){var a=this.I&this.we;this.A-=(0>this.da?this.hi:this.gi)+(a<<this.ii);return a}function zd(){var a=this.aa();this.A-=(0>this.da?this.hi:this.gi)+(a<<this.ii);return a}function Ad(){return null}function Bd(a){Fb.call(this,13,0);return a}function Zb(a){G.call(this);return a}function M(a){N.call(this);return a}
var Cd=[Qc,Rc,Sc,Tc,Uc,Vc,Wc,Xc],Dd=[Yc,Zc,$c,ad,bd,cd,dd,ed],Ed=[function(a,b){this.A-=0>this.Aa?this.Qb:this.qk;return b},Bd,Bd,Bd,Bd,Bd,Bd,Bd],Fd=[function(a,b){this.A-=0>this.Aa?this.ik:this.gk;return b},M,M,M,M,M,M,M],Gd=[gd,id,nd,pd,rd,td,M,vd],Hd=[hd,jd,od,qd,sd,ud,M,wd],Jd=[function(a,b){b=this.aa();this.W=this.fa=this.ha=a&b;this.$=256;this.A-=0>this.da?this.ni:this.mi;this.Y|=2;return a},M,function(a){this.A-=0>this.da?this.qf:this.pf;return a^255},function(a,b){b=0;this.ha=a^b;this.$=256;
this.A-=0>this.da?this.qf:this.pf;return(this.W=this.fa=b-a)&255},function(a){this.G=this.lb=(this.W=(this.G&255)*a)&65535;this.ha=this.fa=this.W;this.$=256;this.G&65280?(Fc(this),Jc(this)):(Bc(this),Ec(this));this.A-=0>this.da?this.mk:this.lk;this.Y|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.lb=b&65535;this.W=this.ha=this.fa=b;this.$=256;127<b||-128>b?(Fc(this),Jc(this)):(Bc(this),Ec(this));this.A-=0>this.da?this.Sj:this.Rj;this.Y|=2;return a},function(a){if(!a)return Id.call(this),
a;var b=this.G/a;if(255<b)return Id.call(this),a;this.lb=this.G=b&255|(this.G%a&255)<<8;this.fa=this.ha=this.W=b|256;this.$=256;this.A-=0>this.da?this.Kj:this.Jj;this.Y|=2;return a},function(a){if(!a)return Id.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Id.call(this),a;this.lb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.fa=this.ha=this.W=b|256;this.$=256;this.A-=0>this.da?this.Oj:this.Nj;this.Y|=2;return a}],Kd=[function(a,b){b=this.K();this.W=this.fa=this.ha=
a&b;this.$=65536;this.A-=0>this.da?this.ni:this.mi;this.Y|=2;return a},M,function(a){this.A-=0>this.da?this.qf:this.pf;return a^65535},function(a,b){b=0;this.ha=a^b;this.$=65536;this.A-=0>this.da?this.qf:this.pf;return(this.W=this.fa=b-a)&65535},function(a){this.lb=this.G=(this.W=this.G*a)&65535;this.wf=this.J=this.W>>16&65535;this.ha=this.fa=this.W;this.$=65536;this.J?(Fc(this),Jc(this)):(Bc(this),Ec(this));this.A-=0>this.da?this.ok:this.nk;this.Y|=2;return a},function(a){var b=(this.G<<16>>16)*
(a<<16>>16);this.G=this.lb=b&65535;this.J=this.wf=b>>16&65535;this.W=this.ha=this.fa=b;this.$=65536;32767<b||-32768>b?(Fc(this),Jc(this)):(Bc(this),Ec(this));this.A-=0>this.da?this.Uj:this.Tj;this.Y|=2;return a},function(a,b){if(!a)return Id.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Id.call(this),a;this.lb=this.G=c&65535;this.wf=this.J=b%a&65535;this.fa=this.ha=this.W=c|65536;this.$=65536;this.A-=0>this.da?this.Mj:this.Lj;this.Y|=2;return a},function(a,b){if(!a)return Id.call(this),
a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Id.call(this),a;this.lb=this.G=d&65535;this.wf=this.J=b%c&65535;this.fa=this.ha=this.W=d|65536;this.$=65536;this.A-=0>this.da?this.Qj:this.Pj;this.Y|=2;return a}],Yb=[function(a){this.ha=a;a=(this.fa=a+1)&255;this.W=a|(this.W&this.$?1:0)<<8;this.$=256;this.A-=0>this.da?this.of:this.nf;return a},function(a){this.ha=a;a=(this.fa=a-1)&255;this.W=a|(this.W&this.$?1:0)<<8;this.$=256;this.A-=0>this.da?this.of:this.nf;
return a},M,M,M,M,M,M],$b=[function(a){this.ha=a;a=(this.fa=a+1)&65535;this.W=a|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=0>this.da?this.of:this.nf;return a},function(a){this.ha=a;a=(this.fa=a-1)&65535;this.W=a|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=0>this.da?this.of:this.nf;return a},function(a){K(this,this.qa);I(this,a);this.A-=0>this.da?this.Ij:this.Hj;this.Y|=2;return a},function(a){if(0>this.da)return M.call(this,a);K(this,this.Da.ua);K(this,this.qa);ec(this,a,F(this,this.da+2));this.A-=
this.Fj;this.Y|=2;return a},function(a){I(this,a);this.A-=0>this.da?this.ck:this.bk;this.Y|=2;return a},function(a){if(0>this.da)return M.call(this,a);ec(this,a,F(this,this.da+2));this.A-=this.$j;this.Y|=2;return a},function(a){var b=a;this.Y&512&&(a=a-2&65535,80286>this.Ca&&(b=a));K(this,b);this.A-=0>this.da?this.Xb:this.sk;this.Y|=2;return a},Bd],Ld=[gd,id,nd,pd,rd,td,M,vd],Md=[hd,jd,od,qd,sd,ud,M,wd];function Nd(a,b){this.A-=0>this.Aa?0>this.da?this.kk:this.jk:this.hk;return b}
function Od(){return Nd.call(this,0,this.lb)}function Pd(a,b){this.W=this.fa=this.ha=a&b;this.$=256;this.A-=0>this.Aa?0>this.da?this.oi:this.sf:this.sf;this.Y|=2;return a}function Qd(a,b){this.W=this.fa=this.ha=a&b;this.$=65536;this.A-=0>this.Aa?0>this.da?this.oi:this.sf:this.sf;this.Y|=2;return a}function Rd(a,b){var c=(b<<16>>16)*(this.aa()<<24>>24);this.W=this.ha=this.fa=c;this.$=256;32767<c||-32768>c?(Fc(this),Jc(this)):(Bc(this),Ec(this));this.A-=0>this.da?21:24;return c&65535}
function Sd(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.W=this.ha=this.fa=c;this.$=65536;32767<c||-32768>c?(Fc(this),Jc(this)):(Bc(this),Ec(this));this.A-=0>this.da?21:24;return c&65535}function Td(a){return a}function Ud(a){if(0>this.da)return N.call(this),a;this.A-=this.dk;return this.da}function Vd(a,b){if(0>this.da)return N.call(this),a;sc(this,F(this,this.da+2));this.A-=this.Qh;return b}
function Wd(a,b){if(0>this.da)return N.call(this),a;uc(this,F(this,this.da+2));this.A-=this.Qh;return b}function Xd(a){if(0>this.da)return G.call(this),a;var b=a<<16>>16,c=F(this,this.da)<<16>>16,d=F(this,this.da+2)<<16>>16;this.A-=this.Bj;if(b<c||b>d)I(this,this.vg-this.Da.cb),Oc.call(this,5,null,0);this.Y|=2;return a}function Yd(a,b){this.A-=10+(0>this.da?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Hc(this),a;Dc(this);return a}
function Zd(a,b){this.A-=14+(0>this.da?0:2);if(0<=this.rb.load(b,!0)&&this.rb.sc>=(this.Da.ua&3)&&this.rb.sc>=(b&3))return Hc(this),this.rb.ic&65280;Dc(this);return a}function $d(a,b){this.A-=14+(0>this.da?0:2);if(b&65528&&0<=this.rb.load(b,!0)&&(3072==(this.rb.ic&3072)||this.rb.sc>=(this.Da.ua&3))&&this.rb.sc>=(b&3))return Hc(this),this.rb.Yc;Dc(this);return a}
function ae(a,b){if(0>this.da){switch(this.Pf&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.B=this.B&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.B=this.B&255|a<<8}this.A-=this.qi}else this.Aa=this.da,this.Q(a),this.A-=this.pi;return b}
function be(a,b){if(0>this.da){switch(this.Pf&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.B=a;break;case 4:this.X=a;break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.qi}else this.Aa=this.da,this.R(a),this.A-=this.pi;return b}function Oc(a,b,c){qc(this,a)&&(K(this,hc(this)),this.Fa&=this.oc.ig,K(this,this.Da.ua),K(this,this.qa),null!=b&&K(this,b),ec(this,this.oc.ui,this.oc.ua),this.A-=this.Wj+c)}
function Id(){I(this,this.vg-this.Da.cb);Oc.call(this,0,null,2)}function Fb(a,b){this.Ga&&this.Ga.message("Fault 0x"+aa(a)+(null!=b?" (0x"+h(b,4)+")":"")+" on opcode 0x"+aa(Ua(this.ma,this.Ba))+" at "+ba(this.qa,this.Da.ua));80186<=this.Ca&&(I(this,this.vg-this.Da.cb),Oc.call(this,a,b,0))}function G(){Fb.call(this,6);lb(this)}function N(){I(this,this.vg-this.Da.cb);Ja(this,"Undefined opcode 0x"+aa(Ua(this.ma,this.Ba))+" at "+ba(this.qa,this.Da.ua));lb(this)}
function ce(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}function de(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a}function ee(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a}function fe(a){a=a.call(this,this.G&255,this.B&255);this.G=this.G&-256|a}function ge(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a}function he(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a}
function ie(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a}function je(a){a=a.call(this,this.G&255,this.B>>8);this.G=this.G&-256|a}function ke(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a}function le(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a}function me(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a}function ne(a){a=a.call(this,this.I&255,this.B&255);this.I=this.I&-256|a}
function oe(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a}function pe(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a}function qe(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a}function re(a){a=a.call(this,this.I&255,this.B>>8);this.I=this.I&-256|a}function se(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a}function te(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a}
function ue(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function ve(a){a=a.call(this,this.J&255,this.B&255);this.J=this.J&-256|a}function we(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a}function xe(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a}function ye(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function ze(a){a=a.call(this,this.J&255,this.B>>8);this.J=this.J&-256|a}
function Ae(a){a=a.call(this,this.B&255,this.G&255);this.B=this.B&-256|a}function Be(a){a=a.call(this,this.B&255,this.I&255);this.B=this.B&-256|a}function Ce(a){a=a.call(this,this.B&255,this.J&255);this.B=this.B&-256|a}function De(a){a=a.call(this,this.B&255,this.B&255);this.B=this.B&-256|a}function Ee(a){a=a.call(this,this.B&255,this.G>>8);this.B=this.B&-256|a}function Fe(a){a=a.call(this,this.B&255,this.I>>8);this.B=this.B&-256|a}
function Ge(a){a=a.call(this,this.B&255,this.J>>8);this.B=this.B&-256|a}function He(a){a=a.call(this,this.B&255,this.B>>8);this.B=this.B&-256|a}function Ie(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8}function Je(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8}function Ke(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8}function Le(a){a=a.call(this,this.G>>8,this.B&255);this.G=this.G&255|a<<8}
function Me(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8}function Ne(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8}function Oe(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8}function Pe(a){a=a.call(this,this.G>>8,this.B>>8);this.G=this.G&255|a<<8}function Qe(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8}function Re(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8}
function Se(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8}function Te(a){a=a.call(this,this.I>>8,this.B&255);this.I=this.I&255|a<<8}function Ue(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8}function Ve(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8}function We(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8}function Xe(a){a=a.call(this,this.I>>8,this.B>>8);this.I=this.I&255|a<<8}
function Ye(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8}function Ze(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8}function $e(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function af(a){a=a.call(this,this.J>>8,this.B&255);this.J=this.J&255|a<<8}function bf(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8}function cf(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8}
function df(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function ef(a){a=a.call(this,this.J>>8,this.B>>8);this.J=this.J&255|a<<8}function ff(a){a=a.call(this,this.B>>8,this.G&255);this.B=this.B&255|a<<8}function gf(a){a=a.call(this,this.B>>8,this.I&255);this.B=this.B&255|a<<8}function hf(a){a=a.call(this,this.B>>8,this.J&255);this.B=this.B&255|a<<8}function jf(a){a=a.call(this,this.B>>8,this.B&255);this.B=this.B&255|a<<8}
function kf(a){a=a.call(this,this.B>>8,this.G>>8);this.B=this.B&255|a<<8}function lf(a){a=a.call(this,this.B>>8,this.I>>8);this.B=this.B&255|a<<8}function mf(a){a=a.call(this,this.B>>8,this.J>>8);this.B=this.B&255|a<<8}function nf(a){a=a.call(this,this.B>>8,this.B>>8);this.B=this.B&255|a<<8}function of(a){this.G=a.call(this,this.G,this.G)}function pf(a){this.G=a.call(this,this.G,this.I)}function qf(a){this.G=a.call(this,this.G,this.J)}function rf(a){this.G=a.call(this,this.G,this.B)}
function sf(a){this.G=a.call(this,this.G,this.X)}function tf(a){this.G=a.call(this,this.G,this.H)}function uf(a){this.G=a.call(this,this.G,this.F)}function vf(a){this.G=a.call(this,this.G,this.D)}function wf(a){this.I=a.call(this,this.I,this.G)}function xf(a){this.I=a.call(this,this.I,this.I)}function yf(a){this.I=a.call(this,this.I,this.J)}function zf(a){this.I=a.call(this,this.I,this.B)}function Af(a){this.I=a.call(this,this.I,this.X)}function Bf(a){this.I=a.call(this,this.I,this.H)}
function Cf(a){this.I=a.call(this,this.I,this.F)}function Df(a){this.I=a.call(this,this.I,this.D)}function Ef(a){this.J=a.call(this,this.J,this.G)}function Ff(a){this.J=a.call(this,this.J,this.I)}function Gf(a){this.J=a.call(this,this.J,this.J)}function Hf(a){this.J=a.call(this,this.J,this.B)}function If(a){this.J=a.call(this,this.J,this.X)}function Jf(a){this.J=a.call(this,this.J,this.H)}function Kf(a){this.J=a.call(this,this.J,this.F)}function Lf(a){this.J=a.call(this,this.J,this.D)}
function Mf(a){this.B=a.call(this,this.B,this.G)}function Nf(a){this.B=a.call(this,this.B,this.I)}function Of(a){this.B=a.call(this,this.B,this.J)}function Pf(a){this.B=a.call(this,this.B,this.B)}function Qf(a){this.B=a.call(this,this.B,this.X)}function Rf(a){this.B=a.call(this,this.B,this.H)}function Sf(a){this.B=a.call(this,this.B,this.F)}function Tf(a){this.B=a.call(this,this.B,this.D)}function Uf(a){this.X=a.call(this,this.X,this.G)}function Vf(a){this.X=a.call(this,this.X,this.I)}
function Wf(a){this.X=a.call(this,this.X,this.J)}function Xf(a){this.X=a.call(this,this.X,this.B)}function Yf(a){this.X=a.call(this,this.X,this.X)}function Zf(a){this.X=a.call(this,this.X,this.H)}function $f(a){this.X=a.call(this,this.X,this.F)}function ag(a){this.X=a.call(this,this.X,this.D)}function bg(a){this.H=a.call(this,this.H,this.G)}function cg(a){this.H=a.call(this,this.H,this.I)}function dg(a){this.H=a.call(this,this.H,this.J)}function eg(a){this.H=a.call(this,this.H,this.B)}
function fg(a){this.H=a.call(this,this.H,this.X)}function gg(a){this.H=a.call(this,this.H,this.H)}function hg(a){this.H=a.call(this,this.H,this.F)}function ig(a){this.H=a.call(this,this.H,this.D)}function jg(a){this.F=a.call(this,this.F,this.G)}function kg(a){this.F=a.call(this,this.F,this.I)}function lg(a){this.F=a.call(this,this.F,this.J)}function mg(a){this.F=a.call(this,this.F,this.B)}function ng(a){this.F=a.call(this,this.F,this.X)}function og(a){this.F=a.call(this,this.F,this.H)}
function pg(a){this.F=a.call(this,this.F,this.F)}function qg(a){this.F=a.call(this,this.F,this.D)}function rg(a){this.D=a.call(this,this.D,this.G)}function sg(a){this.D=a.call(this,this.D,this.I)}function tg(a){this.D=a.call(this,this.D,this.J)}function ug(a){this.D=a.call(this,this.D,this.B)}function vg(a){this.D=a.call(this,this.D,this.X)}function wg(a){this.D=a.call(this,this.D,this.H)}function xg(a){this.D=a.call(this,this.D,this.F)}function yg(a){this.D=a.call(this,this.D,this.D)}
var zg=[function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.G&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.G&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.G&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.G&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.F),this.G&255);this.Q(a);this.A-=this.Z},function(a){a=
v.prototype={toString:function(){return this.name?this.name:this.id||this.type},tb:function(a,b,c,d){switch(c){case "clear":return this.oa[c]||(this.oa[c]=d,d.onclick=function(a){return function(){a.oa.print&&(a.oa.print.value="")}}(this)),!0;case "print":return this.oa[c]||(this.bh=this.oa[c]=d,d.value="",this.ac=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.xa=
function(a,b,c){this.ac(a,"notice",c)}),!0;default:return!1}},log:function(){},ac:function(){},status:function(a){this.ac(this.Ah+": "+a)},xa:function(a,b){b||t(a)},Oa:function(a){!this.Xc&&(this.fg=!1!==a)&&(this.name&&this.log("ready"),a=this.vh,this.vh=null,a&&a())},Sb:function(){return this.zb=!0},Jb:function(a,b){b&&(this.zb=!1);return!0}};function Da(a,b){if(a.kh)return a.Ec&&(a.Ec=!1),a.kh=!1;if(a.Xc)return a.ac(a.toString()+" error"),!1;a.Ec=b;return a.Ec}
function Ea(a,b){b&&(a.fg?b():a.vh=b);return a.fg}function Fa(a,b){a.Xc=!0;a.xa("Fatal error: "+b)}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);var Ga="undefined"!==typeof window.Wk;function Ha(a){v.call(this,"Panel",a,Ha)}y(v,Ha);Ha.prototype.tb=function(a,b,c,d){return this.Fa&&this.Fa.tb(a,b,c,d)||this.ja&&this.ja.tb(a,b,c,d)||this.ab&&this.ab.tb(a,b,c,d)?!0:v.prototype.tb.call(this,a,b,c,d)};
Ha.prototype.gc=function(a,b,c,d){this.Fa=a;this.ja=c;this.Ha=d;this.ab=C(a,"Keyboard")};Ha.prototype.Sb=function(a,b){b||Ia();return!0};Ha.prototype.Jb=function(){return!0};function Ia(){for(var a=!1,b=B(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Ba(e.id);f||(a=!0,f=new Ha(e));A(f,d);a&&f.Oa()}}u(Ia);
function Ja(a,b,c){v.call(this,"Bus",a,Ja);this.ja=b;this.Ha=c;this.ff=a.buswidth||20;this.Le=this.vb=(1<<this.ff)-1;this.Ib=20>=this.ff?12:14;this.nc=1<<this.Ib;this.cj=this.nc>>2;this.$a=this.nc-1;this.Xf=(this.Le+this.nc)/this.nc|0;this.Pd=this.Xf-1;this.Kf=[];this.Lf=[];this.Ch();this.Oa()}y(v,Ja);Ja.prototype.Ch=function(){this.ya=Array(this.Xf);for(var a=0;a<this.Xf;a++)this.ya[a]=new D(a*this.nc);this.ja.Ch(this.ya,this.Le,this.Ib,this.$a,this.Pd);this.ja.vb=this.vb};
Ja.prototype.reset=function(){Ka(this,!0)};function La(a,b,c,d,e){if(!(b&a.$a||!c||c&a.$a)){for(var f=b>>a.Ib;0<c&&f<a.ya.length;){var l=a.ya[f];if(void 0!==l&&l.size)return Ma(1,b,c);b=f*a.nc;a.ya[f++]=new D(b,a.nc,d,e);c-=a.nc}return!0}return Ma(2,b,c)}function Ka(a,b){if(void 0!==b&&20<a.ff){var c=a.vb&-1048577|(b?1048576:0);c!=a.vb&&(a.vb=c,a.ja&&(a.ja.vb=c))}}
Ja.prototype.Jg=function(a,b,c){if(!(a&this.$a||!b||b&this.$a)){for(var d=a>>this.Ib;0<b;){var e=this.ya[d];if(!e.ea)return Ma(5,a,b);e.Fd(c);b-=this.nc;d++}return!0}return Ma(3,a,b)};function Na(a,b,c){if(!(b&a.$a||!c||c&a.$a)){for(var d=b>>a.Ib;0<c;)b=d*a.nc,a.ya[d++]=new D(b),c-=a.nc;return!0}return Ma(4,b,c)}function Oa(a,b){return a.ya[(b&a.vb)>>a.Ib].Ei(b&a.$a)}function Pa(a,b){var c=b&a.$a,d=(b&a.vb)>>a.Ib;return c!=a.$a?a.ya[d].zn(c):a.ya[d++].Ei(c)|a.ya[d&a.Pd].Ei(0)<<8}
function Ra(a,b,c){a.ya[(b&a.vb)>>a.Ib].Mi(b&a.$a,c&255)}function Sa(a,b,c){var d=b&a.$a;b=(b&a.vb)>>a.Ib;d!=a.$a?a.ya[b].Ln(d,c&65535):(a.ya[b++].Mi(d,c&255),a.ya[b&a.Pd].Mi(0,c>>8&255))}function Ta(a){for(var b=0,c=[],d=0;d<a.Xf;d++){var e=a.ya[d];if(e.Qa||e.jj){c[b++]=d;var f=c,l=b++;a:if(e=e.save()){for(var k=0,m=0,n=[];k<e.length;){for(var q=e[k],s=k+1;s<e.length&&e[s]===q;)s++;n[m++]=s-k;n[m++]=q;k=s}if(n.length<e.length){e=n;break a}}f[l]=e}}c[b]=a.Le==a.vb;return c}
function Ua(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,l=e+d,k=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=l;n++)void 0!==f.Kf[n]?t("Input port "+h(n,4)+" registered by "+f.Kf[n][0].id+", ignoring "+k.id):f.Kf[n]=[k,m,!1,!1]}}function Va(a,b,c){var d=255;a=a.Kf[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function Wa(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,l=e+d,k=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=l;n++)void 0!==f.Lf[n]?t("Output port "+h(n,4)+" registered by "+f.Lf[n][0].id+", ignoring "+k.id):f.Lf[n]=[k,m,!1,!1]}}function Xa(a,b,c,d){a=a.Lf[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Ma(a,b,c){t("Memory block error ("+a+","+h(b)+","+h(c)+")");return!1}
function D(a,b,c,d){this.dj=b;this.la=null;this.offset=0;this.lj=c;this.ea=null;this.Qa=this.jj=!1;if(b)if(d)this.ea=d,a=[d.Ld,a-d.Ya],this.la=a[0],this.offset=a[1],this.Fd(d.Ne);else if(Ga)this.buffer=new window.Wk(b),this.Ti=new window.Wn(this.buffer,0,b),this.ij=new window.Pn(this.buffer,0,b),this.la=new window.Rn(this.buffer,0,b>>2),this.Fd(Ya);else{this.la=Array(b>>2);for(d=0;d<this.la.length;d++)this.la[d]=0;this.Fd(Za)}else this.Fd()}
D.prototype={Bg:function(){return 0},Mg:function(){},xn:function(a){return this.Ti[a]},Bn:function(a){return this.ij.getUint16(a,!0)},Jn:function(a,b){this.Ti[a]=b;this.Qa=!0},Nn:function(a,b){this.ij.setUint16(a,b,!0);this.Qa=!0},wn:function(a){return this.la[a>>2]>>((a&3)<<3)&255},An:function(a){var b=a>>2;a=(a&3)<<3;var c=this.la[b]>>a;return 24>a?c&65535:c&255|(this.la[b+1]&255)<<8},In:function(a,b){var c=a>>2,d=(a&3)<<3;this.la[c]=this.la[c]&~(255<<d)|b<<d;this.Qa=!0},Mn:function(a,b){var c=
a>>2,d=(a&3)<<3;24>d?this.la[c]=this.la[c]&~(65535<<d)|b<<d:(this.la[c]=this.la[c]&16777215|b<<24,c++,this.la[c]=this.la[c]&4294967040|b>>8);this.Qa=!0},save:function(){var a,b;if(this.ea)a=null;else if(Ga)for(a=Array(this.dj>>2),b=0;b<a.length;b++)a[b]=this.la[b];else a=this.la;return a},restore:function(a){if(this.ea)return null===a;if(this.dj==a.length<<2){var b;if(Ga)for(b=0;b<this.la.length;b++)this.la[b]=a[b];else this.la=a;return this.Qa=!0}return!1},Fd:function(a,b){a||(a=[]);void 0===b&&
(b=!0);var c=a;this.vc=c[0]?c[0]:this.Bg;this.yn=c[1]?c[1]:this.Bg;b&&(this.Ei=c[0]?c[0]:this.Bg,this.zn=c[1]?c[1]:this.Bg);c=a;this.xc=c[2]&&!this.lj?c[2]:this.Mg;this.Kn=c[3]&&!this.lj?c[3]:this.Mg;b&&(this.Mi=c[2]?c[2]:this.Mg,this.Ln=c[3]?c[3]:this.Mg)}};var Za=[D.prototype.wn,D.prototype.An,D.prototype.In,D.prototype.Mn];if(Ga)var Ya=[D.prototype.xn,D.prototype.Bn,D.prototype.Jn,D.prototype.Nn];
function $a(a,b){v.call(this,"CPU",a,$a);var c=a.multiplier||1;this.cd=a.cycles||b;this.xd=c;this.ng=Math.round(this.cd/1E4)/100;this.ef=this.ng*this.xd;this.rc=this.zb=!1;this.jh=a.autoStart;c=va.autostart;void 0!==c&&(this.jh="true"==c?!0:"false"==c?!1:null);this.eg=!1;this.sg=this.xe=0;this.tg=a.csStart;this.hf=a.csInterval;this.jf=a.csStop;var d=this;this.Am=function(){ab(d)};this.Oa()}y(v,$a);g=$a.prototype;
g.gc=function(a,b,c,d){this.ma=b;this.Ha=d;this.Fa=a;var e=C(a,"Video");e&&(this.af=function(){bb(e)},this.Ce=function(){e.Ce()});this.ga=C(a,"ChipSet");this.Oa()};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.Sb=function(a,b){if(!b){if(a&&this.restore){cb(this);if(!this.restore(a))return!1;db(this)}else this.reset();this.ac("No debugger detected")}this.zb=!0;!fb(this)&&this.Ha&&this.Ha.ao();this.af();this.$e();return!0};
g.Jb=function(a){this.zb=!1;return a&&this.save?this.save():!0};function fb(a){return!0===a.jh||null===a.jh&&void 0===a.oa.run?(ab(a),!0):!1}g.Ce=function(){};g.rj=function(){return 0};function db(a){void 0===a.tg&&(a.tg=0);void 0===a.hf&&(a.hf=-1);void 0===a.jf&&(a.jf=-1);a.eg=0<=a.tg&&0<a.hf;a.eg&&(a.sg=0,a.xe=a.tg-a.ce)}function E(a,b,c,d){void 0!==a.oa[b]&&(void 0===d&&(d=4),void 0===c&&(Fa(a,"Register "+b+" is invalid"),gb(a)),c=h(c,d),a.oa[b].innerHTML!=c&&(a.oa[b].innerHTML=c))}g.$e=function(){};
g.af=function(){};g.tb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.oa[c]=d;d.onclick=function(){e.rc?gb(e,!0):ab(e,!0)};a=!0;break;case "reset":this.oa[c]=d;d.onclick=function(){e.Fa&&hb(e.Fa)};a=!0;break;case "speed":this.oa[c]=d;a=!0;break;case "setSpeed":this.oa[c]=d,d.onclick=function(){ib(e,e.xd<<1,!0)},d.innerHTML=this.ef.toFixed(2)+"Mhz",a=!0}return a};function jb(a,b,c){a.ce+=b;c&&(a.bd=a.A=0)}
function kb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.xd&&a.Lc&&(d=a.Lc/a.ng);a.xj=Math.round(1E3/30);a.tm=Math.floor(a.cd/c*d);a.Jh=Math.floor(a.cd/30*d);a.Bj=Math.floor(a.cd/60*d);a.Aj=Math.floor(a.cd/2*d);b||(a.mf=a.Jh,a.lf=a.Bj,a.kf=a.Aj);a.xi=0}function lb(a,b){var c=a.ce+a.Ad+a.bd-a.A;b&&1<a.xd&&a.Lc>a.ng&&(c=Math.round(c/a.xd));return c}function cb(a){a.Lc=0;a.qg=1;a.ce=a.Ad=a.bd=a.A=0;db(a);ib(a,1)}
function ib(a,b,c){void 0!==b&&(0.8>a.Lc/a.ef&&(b=1),a.xd=b,a.ef=a.ng*a.xd,b=a.ef.toFixed(2)+"Mhz",a.oa.setSpeed&&(a.oa.setSpeed.innerHTML=b),a.ac("target speed: "+b),c&&a.Ce());jb(a,a.Ad);a.Ad=0;a.we=ia();a.$d=0;kb(a)}
function ab(a,b){if(Da(a,!0)){a.rc||(ib(a),a.Fa&&a.Fa.start(a.we,lb(a)),a.rc=!0,a.ga&&mb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Halt"),b&&a.Ce());a.xi>=a.cd&&kb(a,!0);a.nf=0;a.pg=ia();if(a.$d){var c=a.pg-a.$d;c>a.xj&&(a.we+=c,a.we>a.pg&&(a.we=a.pg))}try{do{a.Sk(a.eg?1:Math.round(a.tm/a.qg));var d=a.bd-a.A;a.Ad+=d;a.nf+=d;jb(a,0,!0);var c=a,e=d;if(c.eg){var f=!1;c.sg=c.sg+c.rj()|0;c.xe-=e;0>=c.xe&&(c.xe+=c.hf,f=!0);0<=c.jf&&c.jf<=lb(c)&&(c.hf=c.jf=-1,db(c),gb(c),f=!0);f&&c.ac(lb(c)+" cycles: checksum="+
h(c.sg))}a.lf-=d;0>=a.lf&&(a.lf+=a.Bj,a.af());a.kf-=d;0>=a.kf&&(a.kf+=a.Aj,a.$e());a.mf-=d;if(0>=a.mf){a.mf+=a.Jh;break}}while(a.rc)}catch(l){gb(a);a.af();a.$e();a.Fa&&a.Fa.stop(ia(),lb(a));Da(a,!1);Fa(a,l.message);return}d=setTimeout;c=a.Am;a.$d=ia();e=a.xj;a.nf&&(e=Math.round(e*a.nf/a.Jh));e-=a.$d-a.pg;if(f=a.$d-a.we)a.Lc=Math.round(a.Ad/(10*f))/100,864E5<=f&&(a.ce=0,a.ga&&nb(a.ga,!0),ib(a));if(0>e||a.Lc<a.ef)e=0;a.xi+=a.nf;a.$d+=e;d(c,e)}else a.af(),a.$e(),a.Fa&&a.Fa.stop(ia(),lb(a))}
function gb(a,b){a.Ec&&(a.kh=!0);a.bd-=a.A;a.A=0;jb(a,a.Ad);a.Ad=0;a.rc&&(a.rc=!1,a.ga&&mb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Run"));a.nh=b}g.Sk=function(){return 0};
var ob=[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 pb(a,b,c){this.ja=a;this.eb=this.ua=0;this.$c=65535;this.uc=this.kc=0;this.Gg=b;rb(this,c)}function sb(a){this.ua=a;this.$c=65535;return this.eb=a<<4}
function tb(a){var b,c;a&4?(b=this.ja.Be.eb,c=this.ja.Be.$c):(b=this.ja.Rc,c=this.ja.Ke);b+=a&65528;if(b+7<=c){this.Jc=ub;this.Ob=vb;this.ja.A-=15;c=F(this.ja,b+0);var d=F(this.ja,b+4),e=F(this.ja,b+2)|(d&255)<<16;F(this.ja,b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.Ob=wb);if(b&2048||!(b&512))this.Ob=xb;this.ua=a;this.$c=c;this.kc=d;this.uc=(d&24576)>>13;return this.eb=e}if(b&&768>=b)return this.ua=a,this.$c=c,this.kc=d,this.uc=(d&24576)>>13,this.eb=e}return-1}
function yb(a){return this.eb+a}function zb(a){return this.eb+a}function ub(a,b,c){return a+b<=this.$c?this.eb+a:wb.call(this,0,0,c)}function wb(a,b,c){c||Ab.call(this.ja,13,0);return-1}function vb(a,b,c){return a+b<=this.$c?this.eb+a:xb.call(this,0,0,c)}function xb(a,b,c){c||Ab.call(this.ja,13,0);return-1}pb.prototype.save=function(){return[this.ua,this.eb,this.$c,this.kc,this.uc,this.Gg]};
pb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.eb=a[1],this.$c=a[2],this.kc=a[3],this.uc=a[4],this.Gg=a[5])};function rb(a,b){void 0===b&&(b=!!(a.ja.ed&1));b?(a.load=tb,a.Jc=ub,a.Ob=vb):(a.load=sb,a.Jc=yb,a.Ob=zb)}
function Bb(a){this.Da=a.model||8088;var b=0;switch(this.Da){default:case 8088:b=4772727;break;case 80286:b=6E6}$a.call(this,a,b);this.Qi=61442;this.If=4;this.ye=255;this.yi=4;this.Z=5;this.na=6;this.ba=7;this.ca=8;this.P=9;this.U=11;this.V=12;this.ae=4;this.Dj=60;this.Ej=83;this.Bb=3;this.bb=9;this.Qb=16;this.wg=1;this.Ij=19;this.Kj=28;this.Mj=16;this.Lj=21;this.Jj=37;this.Gj=2;this.Rh=9;this.Hj=5;this.Fj=33;this.Th=10;this.Sh=8;this.rf=3;this.qf=15;this.$j=51;this.ak=1;this.bk=2;this.ck=4;this.Zj=
32;this.ek=this.Uh=15;this.Cb=16;this.Db=4;this.gk=11;this.fk=18;this.dk=24;this.mb=4;this.hk=2;this.Vh=16;this.ik=17;this.$h=18;this.jk=19;this.Zh=5;this.ai=6;this.ok=2;this.nk=8;this.lk=9;this.ci=this.bi=this.kk=this.mk=10;this.Oj=80;this.Qj=144;this.Nj=86;this.Pj=154;this.Sj=101;this.Uj=165;this.Rj=107;this.Tj=171;this.qk=70;this.sk=113;this.pk=76;this.rk=124;this.Wj=80;this.Yj=128;this.Vj=86;this.Xj=134;this.tf=3;this.sf=16;this.hi=10;this.gi=8;this.tk=51;this.Rb=8;this.uk=17;this.vk=36;this.Zb=
11;this.wk=16;this.uf=10;this.rb=2;this.Oh=18;this.Ph=9-this.rb;this.Qh=17-this.rb;this.Wh=12;this.Xh=9-this.rb;this.Yh=13-this.rb;this.di=18;this.ei=9-this.rb;this.fi=17-this.rb;this.ii=15;this.ji=9-this.rb;this.ki=15-this.rb;this.oi=11;this.pi=9-this.rb;this.qi=10-this.rb;this.xk=8;this.Ak=12;this.yk=18;this.zk=17;this.Bk=15;this.mi=8;this.li=20;this.ni=2;this.ti=3;this.vf=9;this.si=5;this.ri=11;this.vi=4;this.ui=17;this.Ck=11;this.Ka=Cb.slice();80186<=this.Da&&(this.ye=31,this.Ka[15]=G,this.Ka[96]=
Db,this.Ka[97]=Eb,this.Ka[98]=Fb,this.Ka[99]=G,this.Ka[100]=G,this.Ka[101]=G,this.Ka[102]=G,this.Ka[103]=G,this.Ka[104]=Gb,this.Ka[105]=Hb,this.Ka[106]=Ib,this.Ka[107]=Jb,this.Ka[108]=Kb,this.Ka[109]=Lb,this.Ka[110]=Mb,this.Ka[111]=Nb,this.Ka[192]=Ob,this.Ka[193]=Pb,this.Ka[200]=Qb,this.Ka[200]=Rb,this.Ka[241]=Sb,Tb[7]=Ub,Vb[7]=Ub,80286<=this.Da&&(this.Qi=2,this.If=0,this.Ka[15]=Wb,this.Ka[99]=Xb,this.Ka[84]=Yb,this.P=this.ca=this.ba=this.na=this.Z=this.yi=0,this.V=this.U=1,this.ae=3,this.Dj=14,this.Ej=
16,this.Bb=2,this.Qb=this.bb=7,this.wg=0,this.Ij=7,this.Kj=13,this.Mj=7,this.Lj=11,this.Jj=16,this.Gj=3,this.Rh=6,this.Hj=2,this.Fj=13,this.Sh=this.Th=5,this.rf=2,this.qf=7,this.$j=23,this.ak=0,this.bk=1,this.ck=3,this.Zj=17,this.Uh=7,this.ek=11,this.Cb=7,this.Db=3,this.gk=7,this.fk=11,this.dk=15,this.mb=2,this.hk=3,this.Vh=7,this.jk=this.$h=this.ik=8,this.ai=this.Zh=4,this.ok=2,this.nk=3,this.lk=5,this.mk=2,this.kk=3,this.bi=5,this.ci=3,this.Oj=14,this.Qj=22,this.Nj=17,this.Pj=25,this.Sj=17,this.Uj=
25,this.Rj=20,this.Tj=28,this.qk=13,this.sk=21,this.pk=16,this.rk=24,this.Wj=13,this.Yj=21,this.Vj=16,this.Xj=24,this.tf=2,this.sf=7,this.gi=this.hi=5,this.tk=19,this.uk=this.Rb=5,this.vk=17,this.Zb=3,this.wk=5,this.uf=3,this.rb=0,this.Oh=8,this.Ph=5,this.Qh=9,this.Xh=this.Wh=5,this.Yh=4,this.ei=this.di=5,this.fi=4,this.ii=7,this.ji=5,this.ki=8,this.oi=3,this.pi=4,this.qi=3,this.Ak=this.xk=11,this.zk=this.yk=15,this.Bk=7,this.mi=5,this.li=8,this.ni=0,this.ti=2,this.vf=6,this.si=3,this.ri=6,this.vi=
3,this.Ck=this.ui=5));this.Yk=[];this.Ri=[];this.Yg=0;this.ya=[];this.Le=this.vb=this.Ib=this.$a=this.Pd=0;this.S=this.jl;this.T=this.kl;this.N=this.lm;this.O=this.mm;this.Q=this.Gn;this.R=this.Hn;Zb(this)}y($a,Bb);g=Bb.prototype;g.Ch=function(a,b,c,d,e){this.ya=a;this.Le=this.vb=b;this.Ib=c;this.$a=d;this.Pd=e};g.reset=function(){this.rc&&gb(this);Zb(this);cb(this);this.Xc=!1};
function Zb(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.ed=65520;a.Sc=0;a.me=1023;a.qc={zi:0,ua:0,kc:0,mg:-1};a.Ea=new pb(a,"CS");a.bc=new pb(a,"DS");a.Tb=new pb(a,"SS");a.gb=new pb(a,"ES");a.Qk=new pb(a,"ZERO");$b(a,0,65535);80286<=a.Da&&(a.Rc=a.Ke=0,a.Be=new pb(a,"LDT",!0),a.Ig=new pb(a,"TSS",!0),a.sb=new pb(a,"VER",!0),$b(a,65520,61440),a.Ea.eb=16711680);ac(a,0);bc(a);a.Va=0;a.nb=a.Af=-1;a.Tf=0;a.da=a.Ba=-1;a.C=a.bc;a.M=a.Tb;a.Y=a.pa=0}
g.rj=function(){var a=this.G+this.B+this.I+this.J+this.X+this.H+this.F+this.D|0;return a=a+this.qa+this.Ea.ua+this.bc.ua+this.Tb.ua+this.gb.ua+cc(this)|0};function dc(a,b){var c=a.Ri[b];null!=c&&(c(--a.Yg),delete a.Ri[b])}function bc(a,b){void 0===b&&(b=!!(a.ed&1));ec=b?fc:gc;rb(a.Ea,b);rb(a.bc,b);rb(a.Tb,b);rb(a.gb,b)}
g.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.X,this.H,this.F,this.D]);a.set(1,[this.qa,this.Ea.save(),this.bc.save(),this.Tb.save(),this.gb.save(),cc(this),null!=this.Rc?[this.ed,this.Rc,this.Ke,this.Sc,this.me,this.Be.save(),this.Ig.save()]:null]);a.set(2,[this.C.Gg,this.M.Gg,this.Y,this.pa,this.Va,this.da,this.Ba]);a.set(3,[this.qg,this.ce,this.xd]);a.set(4,Ta(this.ma));return a.data()};
g.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.X=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.Ea.restore(b[1]);this.bc.restore(b[2]);this.Tb.restore(b[3]);this.gb.restore(b[4]);ac(this,b[5]);var c=b[6];c&&c.length&&(this.ed=c[0],this.Rc=c[1],this.Ke=c[2],this.Sc=c[3],this.me=c[4],this.Be.restore(c[5]),this.Ig.restore(c[6]),bc(this));I(this,b[0]);b=a[2];this.C=hc(this,b[0]);this.M=hc(this,b[1]);this.Y=b[2];this.pa=b[3];this.Va=b[4];this.da=b[5];this.Ba=
b[6];b=a[3];this.qg=b[0];this.ce=b[1];ib(this,b[2]);a:{b=this.ma;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.cj){for(var f=0,l=Array(b.cj),k=0;k<e.length-1;)for(var m=e[k++],n=e[k++];m--;)l[f++]=n;e=l}f=b.ya[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ka(b,a[c]);b=!0}return b};
function hc(a,b){switch(b){case "CS":return a.Ea;case "DS":return a.bc;case "SS":return a.Tb;case "ES":return a.gb;case "ZERO":return a.Qk;default:return[0,b,0,0,""]}}function ic(a,b){var c;if(a.ed&1){if(c=a.Sc+(b<<3),c+7<=a.me){a.qc.zi=F(a,c);a.qc.ua=F(a,c+2);a.qc.kc=F(a,c+4);switch(a.qc.kc&7936){case 1536:a.qc.mg=-17153;break;case 1792:a.qc.mg=-16641;break;default:return!1}return!0}}else if(c=a.Sc+(b<<2),c+7<=a.me)return a.qc.zi=F(a,c),a.qc.ua=F(a,c+2),a.qc.mg=-769,!0;return!1}
function jc(a,b){a.Ca=a.Ea.load(b)+a.qa;a.Y|=a.If}function nc(a,b){a.bc.load(b);a.Y|=a.If}function oc(a,b){a.Tb.load(b);a.Y|=4}function pc(a,b){a.gb.load(b);a.Y|=a.If}function I(a,b){a.Ca=a.Ea.eb+(a.qa=b&65535)}function $b(a,b,c){a.Ca=a.Ea.load(c)+(a.qa=b)}function J(a,b){a.Ca=a.Ea.eb+(a.qa=a.qa+b&65535)}function qc(a){return a.W&a.$?1:0}function rc(a){return ob[a.fa&255]?4:0}function sc(a){return(a.fa^a.ha)&16?16:0}function tc(a){return a.W&a.$-1?0:64}function uc(a){return a.fa&a.$>>1?128:0}
function vc(a){return(a.fa^a.ha^a.fa>>1)&a.$>>1?2048:0}function wc(a){a.W&=~a.$}function xc(a){a.ha=a.fa&16|a.ha&-17}function yc(a){a.W|=a.$-1}function zc(a){a.fa&=~a.$;a.ha=a.fa&32896|a.ha&-32897}function Ac(a){a.W|=a.$}function Bc(a){a.ha=~(a.fa&16)&16|a.ha&-17}function Cc(a){a.W&=~(a.$-1)}function Dc(a){uc(a)||(a.fa^=a.$>>1|a.$>>2,a.ha^=32896)}function Ec(a){a.fa|=a.$;a.ha=a.fa&32896|a.ha&-32897}function cc(a){return a.Ga&-2262|qc(a)|rc(a)|sc(a)|tc(a)|uc(a)|vc(a)}
function ac(a,b){a.$=256;a.W=a.fa=a.ha=0;b&1&&Ac(a);b&4||(a.fa|=1);b&16&&(a.ha|=16);b&64||yc(a);b&128&&Dc(a);b&2048&&Ec(a);a.Ga=a.Ga&-1793|b&1792|a.Qi;a.Ga&256&&(a.Va|=2,a.Y|=4)}
g.tb=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.oa[c]=d;e=!0;break;default:e=$a.prototype.tb.call(this,a,b,c,d)}return e};function Fc(a,b){return a.ya[(b&a.vb)>>a.Ib].vc(b&a.$a)}
function F(a,b){var c=b&a.$a,d=(b&a.vb)>>a.Ib;a.A-=a.yi;return c!=a.$a?a.ya[d].yn(c):a.ya[d++].vc(c)|a.ya[d&a.Pd].vc(0)<<8}function Gc(a,b,c){a.ya[(b&a.vb)>>a.Ib].xc(b&a.$a,c&255)}function Hc(a,b,c){var d=b&a.$a;b=(b&a.vb)>>a.Ib;a.A-=a.yi;d!=a.$a?a.ya[b].Kn(d,c&65535):(a.ya[b++].xc(d,c&255),a.ya[b&a.Pd].xc(0,c>>8&255))}g.jl=function(a,b){this.Ef=a;this.da=a.Jc(this.wf=b,0);return this.Y&1?0:Fc(this,this.da)};g.kl=function(a,b){this.Ef=a;this.da=a.Jc(this.wf=b,1);return this.Y&1?0:F(this,this.da)};
g.lm=function(a,b){this.Ef=a;this.Ba=this.da=a.Jc(this.wf=b,0);return this.Y&1?0:Fc(this,this.da)};g.mm=function(a,b){this.Ef=a;this.Ba=this.da=a.Jc(this.wf=b,1);return this.Y&1?0:F(this,this.da)};g.Gn=function(a){this.Y&2||Gc(this,this.Ef.Ob(this.wf,1),a)};g.Hn=function(a){this.Y&2||Hc(this,this.Ef.Ob(this.wf,2),a)};g.aa=function(){var a=Fc(this,this.Ca);this.Ca=this.Ea.eb+(this.qa=this.qa+1&65535);return a};
g.L=function(){var a=Fc(this,this.Ca)<<24>>24;this.Ca=this.Ea.eb+(this.qa=this.qa+1&65535);return a&65535};g.K=function(){var a=F(this,this.Ca);this.Ca=this.Ea.eb+(this.qa=this.qa+2&65535);return a};g.Aa=function(){var a=this.X;this.X=this.X+2&65535;return F(this,this.Tb.Jc(a,1))};function K(a,b){var c=a.X=a.X-2&65535;Hc(a,a.Tb.Ob(c,1),b)}
g.$e=function(){E(this,"AX",this.G);E(this,"BX",this.B);E(this,"CX",this.I);E(this,"DX",this.J);E(this,"SP",this.X);E(this,"BP",this.H);E(this,"SI",this.F);E(this,"DI",this.D);E(this,"CS",this.Ea.ua);E(this,"DS",this.bc.ua);E(this,"SS",this.Tb.ua);E(this,"ES",this.gb.ua);E(this,"IP",this.qa);var a=cc(this);E(this,"PS",a);E(this,"C",a&1?1:0,1);E(this,"P",a&4?1:0,1);E(this,"A",a&16?1:0,1);E(this,"Z",a&64?1:0,1);E(this,"S",a&128?1:0,1);E(this,"T",a&256?1:0,1);E(this,"I",a&512?1:0,1);E(this,"D",a&1024?
1:0,1);E(this,"O",a&2048?1:0,1);this.oa.speed&&(this.oa.speed.innerHTML=this.rc&&this.Lc?this.Lc.toFixed(2)+"Mhz":"Stopped")};
g.Sk=function(a){this.nh=!0;this.bd=this.A=a;this.ga&&nb(this.ga);a||!this.Ha||this.Ha.Zn(this.Ha.Sn)||(this.Y|=4);do{if(a=this.Y&240)this.pa|=a;else if(this.zg=this.Ca,this.da=this.Ba=-1,this.C=this.bc,this.M=this.Tb,this.pa=this.Y&256,this.Va){a:{if(!(this.Y&4))if(this.Va&1&&this.Ga&512){if(a=Ic(this.ga),-1<=a&&(this.Va&=-2,0<=a)){this.Va&=-5;Jc.call(this,a,null,11);break a}}else if(this.Va&2){this.Va&=-3;Jc.call(this,1,null,11);break a}if(a=this.Va&8){a=this.ga;for(var b=!1,c=0;c<a.va;c++)for(var d=
a.va[c],e=0;e<d.Ja.length;e++){var f=d.Ja[e];f.ad||(Kc(a,f),f.ad||(b=!0))}a=!b}a&&(this.Va&=-9)}if(this.Va&4){this.Y=this.A=0;break}}this.Y=0;this.Ka[this.aa()].call(this)}while(0<this.A);return this.nh?this.bd-this.A:void 0===this.nh?0:-1};u(function(){for(var a=B(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Bb(d);A(d,c)}});function Lc(a,b){this.ha=a^b;this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=a+b)&255}
function Mc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a|b)&255}function Nc(a,b){this.ha=a^b;this.W=this.fa=a+b+(this.W&this.$?1:0);this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return this.W&255}function Oc(a,b){this.ha=a^b;this.W=this.fa=a-b-(this.W&this.$?1:0);this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return this.W&255}
function Pc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a&b)&255}function Qc(a,b){this.ha=a^b;this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=a-b)&255}function Rc(a,b){this.$=256;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a^b)&255}function Sc(a,b){this.ha=a^b;this.$=256;this.W=this.fa=a-b;this.A-=0>this.Ba?0>this.da?this.Bb:this.Rh:this.bb;this.Y|=2;return a}
function Tc(a,b){this.ha=a^b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=a+b)&65535}function Uc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a|b)&65535}function Vc(a,b){this.ha=a^b;this.W=this.fa=a+b+(this.W&this.$?1:0);this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return this.W&65535}
function Wc(a,b){this.ha=a^b;this.W=this.fa=a-b-(this.W&this.$?1:0);this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return this.W&65535}function Xc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a&b)&65535}function Yc(a,b){this.ha=a^b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=a-b)&65535}
function Zc(a,b){this.$=65536;this.A-=0>this.Ba?0>this.da?this.Bb:this.bb:this.Qb;return(this.W=this.fa=this.ha=a^b)&65535}function $c(a,b){this.ha=a^b;this.$=65536;this.W=this.fa=a-b;this.A-=0>this.Ba?0>this.da?this.Bb:this.Rh:this.bb;this.Y|=2;return a}function ad(a,b){this.W=this.W&this.$-1|(a&b?this.$:0);(a^a>>1)&b>>1?Ec(this):zc(this)}function bd(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;ad.call(this,d,256)}return c}
function cd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;ad.call(this,d,65536)}return c}function dd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);ad.call(this,d,256)}return c}function ed(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);ad.call(this,d,65536)}return c}function fd(a,b){var c=a;if(b){var d;(d=(b&this.ye)%9)?(d=a<<d|(this.W&this.$?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.W&this.$?1:0)<<8;ad.call(this,d,256)}return c}
function gd(a,b){var c=a;if(b){var d;(d=(b&this.ye)%17)?(d=a<<d|(this.W&this.$?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.W&this.$?1:0)<<16;ad.call(this,d,65536)}return c}function kd(a,b){var c=a;b&&(c=(b&this.ye)%9,c=a>>c|(this.W&this.$?1:0)<<8-c|a<<9-c,ad.call(this,c,256),c&=255);return c}function ld(a,b){var c=a;b&&(c=(b&this.ye)%17,c=a>>c|(this.W&this.$?1:0)<<16-c|a<<17-c,ad.call(this,c,65536),c&=65535);return c}
function md(a,b){var c=a;b&&(c=8<b?this.W=this.fa=0:(this.W=this.fa=a<<b)&255,this.ha=0,this.$=256);return c}function nd(a,b){var c=a;b&&(c=16<b?this.W=this.fa=0:(this.W=this.fa=a<<b)&65535,this.ha=0,this.$=65536);return c}function od(a,b){if(b){var c=8<b?0:a>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|256:this.W&-257;this.ha=a^this.W;this.$=256;a=this.W}return a&255}
function pd(a,b){if(b){var c=16<b?0:a>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|65536:this.W&-65537;this.ha=a^this.W;this.$=65536;a=this.W}return a&65535}function qd(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|256:this.W&-257;this.ha=a^this.W;this.$=256;a=this.W}return a&255}function rd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.W=this.fa=c>>1;this.W=c&1?this.W|65536:this.W&-65537;this.ha=a^this.W;this.$=65536;a=this.W}return a&65535}
function sd(){this.A-=0>this.da?2:this.Bk;return 1}function td(){var a=this.I&this.ye;this.A-=(0>this.da?this.mi:this.li)+(a<<this.ni);return a}function ud(){var a=this.aa();this.A-=(0>this.da?this.mi:this.li)+(a<<this.ni);return a}function vd(){return null}function wd(a){Ab.call(this,13,0);return a}function Ub(a){G.call(this);return a}function M(a){N.call(this);return a}
var xd=[Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc],yd=[Tc,Uc,Vc,Wc,Xc,Yc,Zc,$c],zd=[function(a,b){this.A-=0>this.Ba?this.Rb:this.uk;return b},wd,wd,wd,wd,wd,wd,wd],Ad=[function(a,b){this.A-=0>this.Ba?this.mk:this.kk;return b},M,M,M,M,M,M,M],Bd=[bd,dd,fd,kd,md,od,M,qd],Cd=[cd,ed,gd,ld,nd,pd,M,rd],Ed=[function(a,b){b=this.aa();this.W=this.fa=this.ha=a&b;this.$=256;this.A-=0>this.da?this.si:this.ri;this.Y|=2;return a},M,function(a){this.A-=0>this.da?this.tf:this.sf;return a^255},function(a,b){b=0;this.ha=a^b;this.$=256;
this.A-=0>this.da?this.tf:this.sf;return(this.W=this.fa=b-a)&255},function(a){this.G=this.nb=(this.W=(this.G&255)*a)&65535;this.ha=this.fa=this.W;this.$=256;this.G&65280?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?this.qk:this.pk;this.Y|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.nb=b&65535;this.W=this.ha=this.fa=b;this.$=256;127<b||-128>b?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?this.Wj:this.Vj;this.Y|=2;return a},function(a){if(!a)return Dd.call(this),
a;var b=this.G/a;if(255<b)return Dd.call(this),a;this.nb=this.G=b&255|(this.G%a&255)<<8;this.fa=this.ha=this.W=b|256;this.$=256;this.A-=0>this.da?this.Oj:this.Nj;this.Y|=2;return a},function(a){if(!a)return Dd.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Dd.call(this),a;this.nb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.fa=this.ha=this.W=b|256;this.$=256;this.A-=0>this.da?this.Sj:this.Rj;this.Y|=2;return a}],Fd=[function(a,b){b=this.K();this.W=this.fa=this.ha=
a&b;this.$=65536;this.A-=0>this.da?this.si:this.ri;this.Y|=2;return a},M,function(a){this.A-=0>this.da?this.tf:this.sf;return a^65535},function(a,b){b=0;this.ha=a^b;this.$=65536;this.A-=0>this.da?this.tf:this.sf;return(this.W=this.fa=b-a)&65535},function(a){this.nb=this.G=(this.W=this.G*a)&65535;this.Af=this.J=this.W>>16&65535;this.ha=this.fa=this.W;this.$=65536;this.J?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?this.sk:this.rk;this.Y|=2;return a},function(a){var b=(this.G<<16>>16)*
(a<<16>>16);this.G=this.nb=b&65535;this.J=this.Af=b>>16&65535;this.W=this.ha=this.fa=b;this.$=65536;32767<b||-32768>b?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?this.Yj:this.Xj;this.Y|=2;return a},function(a,b){if(!a)return Dd.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Dd.call(this),a;this.nb=this.G=c&65535;this.Af=this.J=b%a&65535;this.fa=this.ha=this.W=c|65536;this.$=65536;this.A-=0>this.da?this.Qj:this.Pj;this.Y|=2;return a},function(a,b){if(!a)return Dd.call(this),
a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Dd.call(this),a;this.nb=this.G=d&65535;this.Af=this.J=b%c&65535;this.fa=this.ha=this.W=d|65536;this.$=65536;this.A-=0>this.da?this.Uj:this.Tj;this.Y|=2;return a}],Tb=[function(a){this.ha=a;a=(this.fa=a+1)&255;this.W=a|(this.W&this.$?1:0)<<8;this.$=256;this.A-=0>this.da?this.rf:this.qf;return a},function(a){this.ha=a;a=(this.fa=a-1)&255;this.W=a|(this.W&this.$?1:0)<<8;this.$=256;this.A-=0>this.da?this.rf:this.qf;
return a},M,M,M,M,M,M],Vb=[function(a){this.ha=a;a=(this.fa=a+1)&65535;this.W=a|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=0>this.da?this.rf:this.qf;return a},function(a){this.ha=a;a=(this.fa=a-1)&65535;this.W=a|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=0>this.da?this.rf:this.qf;return a},function(a){K(this,this.qa);I(this,a);this.A-=0>this.da?this.Mj:this.Lj;this.Y|=2;return a},function(a){if(0>this.da)return M.call(this,a);K(this,this.Ea.ua);K(this,this.qa);$b(this,a,F(this,this.da+2));this.A-=
this.Jj;this.Y|=2;return a},function(a){I(this,a);this.A-=0>this.da?this.gk:this.fk;this.Y|=2;return a},function(a){if(0>this.da)return M.call(this,a);$b(this,a,F(this,this.da+2));this.A-=this.dk;this.Y|=2;return a},function(a){var b=a;this.Y&512&&(a=a-2&65535,80286>this.Da&&(b=a));K(this,b);this.A-=0>this.da?this.Zb:this.wk;this.Y|=2;return a},wd],Gd=[bd,dd,fd,kd,md,od,M,qd],Hd=[cd,ed,gd,ld,nd,pd,M,rd];function Id(a,b){this.A-=0>this.Ba?0>this.da?this.ok:this.nk:this.lk;return b}
function Jd(){return Id.call(this,0,this.nb)}function Kd(a,b){this.W=this.fa=this.ha=a&b;this.$=256;this.A-=0>this.Ba?0>this.da?this.ti:this.vf:this.vf;this.Y|=2;return a}function Ld(a,b){this.W=this.fa=this.ha=a&b;this.$=65536;this.A-=0>this.Ba?0>this.da?this.ti:this.vf:this.vf;this.Y|=2;return a}function Md(a,b){var c=(b<<16>>16)*(this.aa()<<24>>24);this.W=this.ha=this.fa=c;this.$=256;32767<c||-32768>c?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?21:24;return c&65535}
function Nd(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.W=this.ha=this.fa=c;this.$=65536;32767<c||-32768>c?(Ac(this),Ec(this)):(wc(this),zc(this));this.A-=0>this.da?21:24;return c&65535}function Od(a){return a}function Pd(a){if(0>this.da)return N.call(this),a;this.A-=this.hk;return this.da}function Qd(a,b){if(0>this.da)return N.call(this),a;nc(this,F(this,this.da+2));this.A-=this.Vh;return b}
function Rd(a,b){if(0>this.da)return N.call(this),a;pc(this,F(this,this.da+2));this.A-=this.Vh;return b}function Sd(a){if(0>this.da)return G.call(this),a;var b=a<<16>>16,c=F(this,this.da)<<16>>16,d=F(this,this.da+2)<<16>>16;this.A-=this.Fj;if(b<c||b>d)I(this,this.zg-this.Ea.eb),Jc.call(this,5,null,0);this.Y|=2;return a}function Td(a,b){this.A-=10+(0>this.da?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Cc(this),a;yc(this);return a}
function Ud(a,b){this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(b,!0)&&this.sb.uc>=(this.Ea.ua&3)&&this.sb.uc>=(b&3))return Cc(this),this.sb.kc&65280;yc(this);return a}function Vd(a,b){this.A-=14+(0>this.da?0:2);if(b&65528&&0<=this.sb.load(b,!0)&&(3072==(this.sb.kc&3072)||this.sb.uc>=(this.Ea.ua&3))&&this.sb.uc>=(b&3))return Cc(this),this.sb.$c;yc(this);return a}
function Wd(a,b){if(0>this.da){switch(this.Tf&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.B=this.B&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.B=this.B&255|a<<8}this.A-=this.vi}else this.Ba=this.da,this.Q(a),this.A-=this.ui;return b}
function Xd(a,b){if(0>this.da){switch(this.Tf&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.B=a;break;case 4:this.X=a;break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.vi}else this.Ba=this.da,this.R(a),this.A-=this.ui;return b}function Jc(a,b,c){ic(this,a)&&(K(this,cc(this)),this.Ga&=this.qc.mg,K(this,this.Ea.ua),K(this,this.qa),null!=b&&K(this,b),$b(this,this.qc.zi,this.qc.ua),this.A-=this.$j+c)}
function Dd(){I(this,this.zg-this.Ea.eb);Jc.call(this,0,null,2)}function Ab(a,b){this.Ha&&this.Ha.message("Fault 0x"+aa(a)+(null!=b?" (0x"+h(b,4)+")":"")+" on opcode 0x"+aa(Oa(this.ma,this.Ca))+" at "+da(this.qa,this.Ea.ua));80186<=this.Da&&(I(this,this.zg-this.Ea.eb),Jc.call(this,a,b,0))}function G(){Ab.call(this,6);gb(this)}function N(){I(this,this.zg-this.Ea.eb);Fa(this,"Undefined opcode 0x"+aa(Oa(this.ma,this.Ca))+" at "+da(this.qa,this.Ea.ua));gb(this)}
function Yd(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}function Zd(a){a=a.call(this,this.G&255,this.I&255);this.G=this.G&-256|a}function $d(a){a=a.call(this,this.G&255,this.J&255);this.G=this.G&-256|a}function ae(a){a=a.call(this,this.G&255,this.B&255);this.G=this.G&-256|a}function be(a){a=a.call(this,this.G&255,this.G>>8);this.G=this.G&-256|a}function ce(a){a=a.call(this,this.G&255,this.I>>8);this.G=this.G&-256|a}
function de(a){a=a.call(this,this.G&255,this.J>>8);this.G=this.G&-256|a}function ee(a){a=a.call(this,this.G&255,this.B>>8);this.G=this.G&-256|a}function fe(a){a=a.call(this,this.I&255,this.G&255);this.I=this.I&-256|a}function ge(a){a=a.call(this,this.I&255,this.I&255);this.I=this.I&-256|a}function he(a){a=a.call(this,this.I&255,this.J&255);this.I=this.I&-256|a}function ie(a){a=a.call(this,this.I&255,this.B&255);this.I=this.I&-256|a}
function je(a){a=a.call(this,this.I&255,this.G>>8);this.I=this.I&-256|a}function ke(a){a=a.call(this,this.I&255,this.I>>8);this.I=this.I&-256|a}function le(a){a=a.call(this,this.I&255,this.J>>8);this.I=this.I&-256|a}function me(a){a=a.call(this,this.I&255,this.B>>8);this.I=this.I&-256|a}function ne(a){a=a.call(this,this.J&255,this.G&255);this.J=this.J&-256|a}function oe(a){a=a.call(this,this.J&255,this.I&255);this.J=this.J&-256|a}
function pe(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function qe(a){a=a.call(this,this.J&255,this.B&255);this.J=this.J&-256|a}function re(a){a=a.call(this,this.J&255,this.G>>8);this.J=this.J&-256|a}function se(a){a=a.call(this,this.J&255,this.I>>8);this.J=this.J&-256|a}function te(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function ue(a){a=a.call(this,this.J&255,this.B>>8);this.J=this.J&-256|a}
function ve(a){a=a.call(this,this.B&255,this.G&255);this.B=this.B&-256|a}function we(a){a=a.call(this,this.B&255,this.I&255);this.B=this.B&-256|a}function xe(a){a=a.call(this,this.B&255,this.J&255);this.B=this.B&-256|a}function ye(a){a=a.call(this,this.B&255,this.B&255);this.B=this.B&-256|a}function ze(a){a=a.call(this,this.B&255,this.G>>8);this.B=this.B&-256|a}function Ae(a){a=a.call(this,this.B&255,this.I>>8);this.B=this.B&-256|a}
function Be(a){a=a.call(this,this.B&255,this.J>>8);this.B=this.B&-256|a}function Ce(a){a=a.call(this,this.B&255,this.B>>8);this.B=this.B&-256|a}function De(a){a=a.call(this,this.G>>8,this.G&255);this.G=this.G&255|a<<8}function Ee(a){a=a.call(this,this.G>>8,this.I&255);this.G=this.G&255|a<<8}function Fe(a){a=a.call(this,this.G>>8,this.J&255);this.G=this.G&255|a<<8}function Ge(a){a=a.call(this,this.G>>8,this.B&255);this.G=this.G&255|a<<8}
function He(a){a=a.call(this,this.G>>8,this.G>>8);this.G=this.G&255|a<<8}function Ie(a){a=a.call(this,this.G>>8,this.I>>8);this.G=this.G&255|a<<8}function Je(a){a=a.call(this,this.G>>8,this.J>>8);this.G=this.G&255|a<<8}function Ke(a){a=a.call(this,this.G>>8,this.B>>8);this.G=this.G&255|a<<8}function Le(a){a=a.call(this,this.I>>8,this.G&255);this.I=this.I&255|a<<8}function Me(a){a=a.call(this,this.I>>8,this.I&255);this.I=this.I&255|a<<8}
function Ne(a){a=a.call(this,this.I>>8,this.J&255);this.I=this.I&255|a<<8}function Oe(a){a=a.call(this,this.I>>8,this.B&255);this.I=this.I&255|a<<8}function Pe(a){a=a.call(this,this.I>>8,this.G>>8);this.I=this.I&255|a<<8}function Qe(a){a=a.call(this,this.I>>8,this.I>>8);this.I=this.I&255|a<<8}function Re(a){a=a.call(this,this.I>>8,this.J>>8);this.I=this.I&255|a<<8}function Se(a){a=a.call(this,this.I>>8,this.B>>8);this.I=this.I&255|a<<8}
function Te(a){a=a.call(this,this.J>>8,this.G&255);this.J=this.J&255|a<<8}function Ue(a){a=a.call(this,this.J>>8,this.I&255);this.J=this.J&255|a<<8}function Ve(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function We(a){a=a.call(this,this.J>>8,this.B&255);this.J=this.J&255|a<<8}function Xe(a){a=a.call(this,this.J>>8,this.G>>8);this.J=this.J&255|a<<8}function Ye(a){a=a.call(this,this.J>>8,this.I>>8);this.J=this.J&255|a<<8}
function Ze(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function $e(a){a=a.call(this,this.J>>8,this.B>>8);this.J=this.J&255|a<<8}function af(a){a=a.call(this,this.B>>8,this.G&255);this.B=this.B&255|a<<8}function bf(a){a=a.call(this,this.B>>8,this.I&255);this.B=this.B&255|a<<8}function cf(a){a=a.call(this,this.B>>8,this.J&255);this.B=this.B&255|a<<8}function df(a){a=a.call(this,this.B>>8,this.B&255);this.B=this.B&255|a<<8}
function ef(a){a=a.call(this,this.B>>8,this.G>>8);this.B=this.B&255|a<<8}function ff(a){a=a.call(this,this.B>>8,this.I>>8);this.B=this.B&255|a<<8}function gf(a){a=a.call(this,this.B>>8,this.J>>8);this.B=this.B&255|a<<8}function hf(a){a=a.call(this,this.B>>8,this.B>>8);this.B=this.B&255|a<<8}function jf(a){this.G=a.call(this,this.G,this.G)}function kf(a){this.G=a.call(this,this.G,this.I)}function lf(a){this.G=a.call(this,this.G,this.J)}function mf(a){this.G=a.call(this,this.G,this.B)}
function nf(a){this.G=a.call(this,this.G,this.X)}function of(a){this.G=a.call(this,this.G,this.H)}function pf(a){this.G=a.call(this,this.G,this.F)}function qf(a){this.G=a.call(this,this.G,this.D)}function rf(a){this.I=a.call(this,this.I,this.G)}function sf(a){this.I=a.call(this,this.I,this.I)}function tf(a){this.I=a.call(this,this.I,this.J)}function uf(a){this.I=a.call(this,this.I,this.B)}function vf(a){this.I=a.call(this,this.I,this.X)}function wf(a){this.I=a.call(this,this.I,this.H)}
function xf(a){this.I=a.call(this,this.I,this.F)}function yf(a){this.I=a.call(this,this.I,this.D)}function zf(a){this.J=a.call(this,this.J,this.G)}function Af(a){this.J=a.call(this,this.J,this.I)}function Bf(a){this.J=a.call(this,this.J,this.J)}function Cf(a){this.J=a.call(this,this.J,this.B)}function Df(a){this.J=a.call(this,this.J,this.X)}function Ef(a){this.J=a.call(this,this.J,this.H)}function Ff(a){this.J=a.call(this,this.J,this.F)}function Gf(a){this.J=a.call(this,this.J,this.D)}
function Hf(a){this.B=a.call(this,this.B,this.G)}function If(a){this.B=a.call(this,this.B,this.I)}function Jf(a){this.B=a.call(this,this.B,this.J)}function Kf(a){this.B=a.call(this,this.B,this.B)}function Lf(a){this.B=a.call(this,this.B,this.X)}function Mf(a){this.B=a.call(this,this.B,this.H)}function Nf(a){this.B=a.call(this,this.B,this.F)}function Of(a){this.B=a.call(this,this.B,this.D)}function Pf(a){this.X=a.call(this,this.X,this.G)}function Qf(a){this.X=a.call(this,this.X,this.I)}
function Rf(a){this.X=a.call(this,this.X,this.J)}function Sf(a){this.X=a.call(this,this.X,this.B)}function Tf(a){this.X=a.call(this,this.X,this.X)}function Uf(a){this.X=a.call(this,this.X,this.H)}function Vf(a){this.X=a.call(this,this.X,this.F)}function Wf(a){this.X=a.call(this,this.X,this.D)}function Xf(a){this.H=a.call(this,this.H,this.G)}function Yf(a){this.H=a.call(this,this.H,this.I)}function Zf(a){this.H=a.call(this,this.H,this.J)}function $f(a){this.H=a.call(this,this.H,this.B)}
function ag(a){this.H=a.call(this,this.H,this.X)}function bg(a){this.H=a.call(this,this.H,this.H)}function cg(a){this.H=a.call(this,this.H,this.F)}function dg(a){this.H=a.call(this,this.H,this.D)}function eg(a){this.F=a.call(this,this.F,this.G)}function fg(a){this.F=a.call(this,this.F,this.I)}function gg(a){this.F=a.call(this,this.F,this.J)}function hg(a){this.F=a.call(this,this.F,this.B)}function ig(a){this.F=a.call(this,this.F,this.X)}function jg(a){this.F=a.call(this,this.F,this.H)}
function kg(a){this.F=a.call(this,this.F,this.F)}function lg(a){this.F=a.call(this,this.F,this.D)}function mg(a){this.D=a.call(this,this.D,this.G)}function ng(a){this.D=a.call(this,this.D,this.I)}function og(a){this.D=a.call(this,this.D,this.J)}function pg(a){this.D=a.call(this,this.D,this.B)}function qg(a){this.D=a.call(this,this.D,this.X)}function rg(a){this.D=a.call(this,this.D,this.H)}function sg(a){this.D=a.call(this,this.D,this.F)}function tg(a){this.D=a.call(this,this.D,this.D)}
var ug=[function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.G&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.G&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.G&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.G&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.F),this.G&255);this.Q(a);this.A-=this.Z},function(a){a=
a.call(this,this.N(this.C,this.D),this.G&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,this.K()),this.G&255);this.Q(a);this.A-=this.na},function(a){a=a.call(this,this.N(this.C,this.B),this.G&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,this.B+this.F&65535),this.I&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.I&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.F&
65535),this.I&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.I&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.F),this.I&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,this.D),this.I&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,this.K()),this.I&255);this.Q(a);this.A-=this.na},function(a){a=a.call(this,this.N(this.C,this.B),this.I&255);this.Q(a);this.A-=this.Z},function(a){a=
a.call(this,this.N(this.C,this.B+this.F&65535),this.J&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.B+this.D&65535),this.J&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.F&65535),this.J&255);this.Q(a);this.A-=this.ca},function(a){a=a.call(this,this.N(this.M,this.H+this.D&65535),this.J&255);this.Q(a);this.A-=this.ba},function(a){a=a.call(this,this.N(this.C,this.F),this.J&255);this.Q(a);this.A-=this.Z},function(a){a=a.call(this,this.N(this.C,
@ -141,7 +141,7 @@ this.U},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.I>>8
this.U},function(a){a=a.call(this,this.N(this.C,this.B+this.D+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.M,this.H+this.F+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.M,this.H+this.D+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.U},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.D+this.K()&65535),this.J>>8);
this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.M,this.H+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.K()&65535),this.J>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.F+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.U},function(a){a=a.call(this,this.N(this.C,this.B+this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.M,this.H+this.F+this.K()&
65535),this.B>>8);this.Q(a);this.A-=this.V},function(a){a=a.call(this,this.N(this.M,this.H+this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.U},function(a){a=a.call(this,this.N(this.C,this.F+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.D+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.M,this.H+this.K()&65535),this.B>>8);this.Q(a);this.A-=this.P},function(a){a=a.call(this,this.N(this.C,this.B+this.K()&
65535),this.B>>8);this.Q(a);this.A-=this.P},ce,ke,se,Ae,Ie,Qe,Ye,ff,de,le,te,Be,Je,Re,Ze,gf,ee,me,ue,Ce,Ke,Se,$e,hf,fe,ne,ve,De,Le,Te,af,jf,ge,oe,we,Ee,Me,Ue,bf,kf,he,pe,xe,Fe,Ne,Ve,cf,lf,ie,qe,ye,Ge,Oe,We,df,mf,je,re,ze,He,Pe,Xe,ef,nf],Ag=[function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.G);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.G);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.G);
65535),this.B>>8);this.Q(a);this.A-=this.P},Yd,fe,ne,ve,De,Le,Te,af,Zd,ge,oe,we,Ee,Me,Ue,bf,$d,he,pe,xe,Fe,Ne,Ve,cf,ae,ie,qe,ye,Ge,Oe,We,df,be,je,re,ze,He,Pe,Xe,ef,ce,ke,se,Ae,Ie,Qe,Ye,ff,de,le,te,Be,Je,Re,Ze,gf,ee,me,ue,Ce,Ke,Se,$e,hf],vg=[function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.G);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.G);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.G);
this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.D&65535),this.G);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.F),this.G);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.D),this.G);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.K()),this.G);this.R(a);this.A-=this.na},function(a){a=a.call(this,this.O(this.C,this.B),this.G);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.B+
this.F&65535),this.I);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.I);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.I);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.D&65535),this.I);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.F),this.I);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.D),this.I);this.R(a);this.A-=this.Z},
function(a){a=a.call(this,this.O(this.C,this.K()),this.I);this.R(a);this.A-=this.na},function(a){a=a.call(this,this.O(this.C,this.B),this.I);this.R(a);this.A-=this.Z},function(a){a=a.call(this,this.O(this.C,this.B+this.F&65535),this.J);this.R(a);this.A-=this.ba},function(a){a=a.call(this,this.O(this.C,this.B+this.D&65535),this.J);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+this.F&65535),this.J);this.R(a);this.A-=this.ca},function(a){a=a.call(this,this.O(this.M,this.H+
@ -178,7 +178,7 @@ this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.D+
this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.F+this.K()&65535),this.F);this.R(a);this.A-=this.U},function(a){a=a.call(this,this.O(this.C,this.B+this.D+this.K()&65535),this.F);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.F+this.K()&65535),this.F);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.D+this.K()&65535),this.F);this.R(a);this.A-=this.U},function(a){a=a.call(this,this.O(this.C,this.F+this.K()&65535),this.F);
this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.D+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.M,this.H+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.F);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.F+this.K()&65535),this.D);this.R(a);this.A-=this.U},function(a){a=a.call(this,this.O(this.C,this.B+this.D+this.K()&65535),this.D);this.R(a);
this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.F+this.K()&65535),this.D);this.R(a);this.A-=this.V},function(a){a=a.call(this,this.O(this.M,this.H+this.D+this.K()&65535),this.D);this.R(a);this.A-=this.U},function(a){a=a.call(this,this.O(this.C,this.F+this.K()&65535),this.D);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.C,this.D+this.K()&65535),this.D);this.R(a);this.A-=this.P},function(a){a=a.call(this,this.O(this.M,this.H+this.K()&65535),this.D);this.R(a);this.A-=
this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.D);this.R(a);this.A-=this.P},of,wf,Ef,Mf,Uf,bg,jg,rg,pf,xf,Ff,Nf,Vf,cg,kg,sg,qf,yf,Gf,Of,Wf,dg,lg,tg,rf,zf,Hf,Pf,Xf,eg,mg,ug,sf,Af,If,Qf,Yf,fg,ng,vg,tf,Bf,Jf,Rf,Zf,gg,og,wg,uf,Cf,Kf,Sf,$f,hg,pg,xg,vf,Df,Lf,Tf,ag,ig,qg,yg],Bg=[function(a){a=a.call(this,this.G&255,this.S(this.C,this.B+this.F&65535));this.G=this.G&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.G&255,this.S(this.C,this.B+this.D&65535));this.G=this.G&-256|
this.P},function(a){a=a.call(this,this.O(this.C,this.B+this.K()&65535),this.D);this.R(a);this.A-=this.P},jf,rf,zf,Hf,Pf,Xf,eg,mg,kf,sf,Af,If,Qf,Yf,fg,ng,lf,tf,Bf,Jf,Rf,Zf,gg,og,mf,uf,Cf,Kf,Sf,$f,hg,pg,nf,vf,Df,Lf,Tf,ag,ig,qg,of,wf,Ef,Mf,Uf,bg,jg,rg,pf,xf,Ff,Nf,Vf,cg,kg,sg,qf,yf,Gf,Of,Wf,dg,lg,tg],wg=[function(a){a=a.call(this,this.G&255,this.S(this.C,this.B+this.F&65535));this.G=this.G&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.G&255,this.S(this.C,this.B+this.D&65535));this.G=this.G&-256|
a;this.A-=this.ca},function(a){a=a.call(this,this.G&255,this.S(this.M,this.H+this.F&65535));this.G=this.G&-256|a;this.A-=this.ca},function(a){a=a.call(this,this.G&255,this.S(this.M,this.H+this.D&65535));this.G=this.G&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.G&255,this.S(this.C,this.F));this.G=this.G&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.G&255,this.S(this.C,this.D));this.G=this.G&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.G&255,this.S(this.C,this.K()));this.G=
this.G&-256|a;this.A-=this.na},function(a){a=a.call(this,this.G&255,this.S(this.C,this.B));this.G=this.G&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.I&255,this.S(this.C,this.B+this.F&65535));this.I=this.I&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.I&255,this.S(this.C,this.B+this.D&65535));this.I=this.I&-256|a;this.A-=this.ca},function(a){a=a.call(this,this.I&255,this.S(this.M,this.H+this.F&65535));this.I=this.I&-256|a;this.A-=this.ca},function(a){a=a.call(this,this.I&255,this.S(this.M,
this.H+this.D&65535));this.I=this.I&-256|a;this.A-=this.ba},function(a){a=a.call(this,this.I&255,this.S(this.C,this.F));this.I=this.I&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.I&255,this.S(this.C,this.D));this.I=this.I&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.I&255,this.S(this.C,this.K()));this.I=this.I&-256|a;this.A-=this.na},function(a){a=a.call(this,this.I&255,this.S(this.C,this.B));this.I=this.I&-256|a;this.A-=this.Z},function(a){a=a.call(this,this.J&255,this.S(this.C,
@ -221,7 +221,7 @@ this.P},function(a){a=a.call(this,this.G>>8,this.S(this.C,this.D+this.K()&65535)
this.V},function(a){a=a.call(this,this.J>>8,this.S(this.M,this.H+this.F+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.J>>8,this.S(this.M,this.H+this.D+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.U},function(a){a=a.call(this,this.J>>8,this.S(this.C,this.F+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>>8,this.S(this.C,this.D+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>>
8,this.S(this.M,this.H+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.J>>8,this.S(this.C,this.B+this.K()&65535));this.J=this.J&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.S(this.C,this.B+this.F+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.U},function(a){a=a.call(this,this.B>>8,this.S(this.C,this.B+this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.B>>8,this.S(this.M,this.H+this.F+this.K()&
65535));this.B=this.B&255|a<<8;this.A-=this.V},function(a){a=a.call(this,this.B>>8,this.S(this.M,this.H+this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.U},function(a){a=a.call(this,this.B>>8,this.S(this.C,this.F+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.S(this.C,this.D+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},function(a){a=a.call(this,this.B>>8,this.S(this.M,this.H+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},
function(a){a=a.call(this,this.B>>8,this.S(this.C,this.B+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},ce,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,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],O=[function(a){this.G=a.call(this,this.G,this.T(this.C,this.B+this.F&65535));this.A-=this.ba},function(a){this.G=a.call(this,this.G,this.T(this.C,this.B+this.D&65535));this.A-=this.ca},function(a){this.G=
function(a){a=a.call(this,this.B>>8,this.S(this.C,this.B+this.K()&65535));this.B=this.B&255|a<<8;this.A-=this.P},Yd,Zd,$d,ae,be,ce,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,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],O=[function(a){this.G=a.call(this,this.G,this.T(this.C,this.B+this.F&65535));this.A-=this.ba},function(a){this.G=a.call(this,this.G,this.T(this.C,this.B+this.D&65535));this.A-=this.ca},function(a){this.G=
a.call(this,this.G,this.T(this.M,this.H+this.F&65535));this.A-=this.ca},function(a){this.G=a.call(this,this.G,this.T(this.M,this.H+this.D&65535));this.A-=this.ba},function(a){this.G=a.call(this,this.G,this.T(this.C,this.F));this.A-=this.Z},function(a){this.G=a.call(this,this.G,this.T(this.C,this.D));this.A-=this.Z},function(a){this.G=a.call(this,this.G,this.T(this.C,this.K()));this.A-=this.na},function(a){this.G=a.call(this,this.G,this.T(this.C,this.B));this.A-=this.Z},function(a){this.I=a.call(this,
this.I,this.T(this.C,this.B+this.F&65535));this.A-=this.ba},function(a){this.I=a.call(this,this.I,this.T(this.C,this.B+this.D&65535));this.A-=this.ca},function(a){this.I=a.call(this,this.I,this.T(this.M,this.H+this.F&65535));this.A-=this.ca},function(a){this.I=a.call(this,this.I,this.T(this.M,this.H+this.D&65535));this.A-=this.ba},function(a){this.I=a.call(this,this.I,this.T(this.C,this.F));this.A-=this.Z},function(a){this.I=a.call(this,this.I,this.T(this.C,this.D));this.A-=this.Z},function(a){this.I=
a.call(this,this.I,this.T(this.C,this.K()));this.A-=this.na},function(a){this.I=a.call(this,this.I,this.T(this.C,this.B));this.A-=this.Z},function(a){this.J=a.call(this,this.J,this.T(this.C,this.B+this.F&65535));this.A-=this.ba},function(a){this.J=a.call(this,this.J,this.T(this.C,this.B+this.D&65535));this.A-=this.ca},function(a){this.J=a.call(this,this.J,this.T(this.M,this.H+this.F&65535));this.A-=this.ca},function(a){this.J=a.call(this,this.J,this.T(this.M,this.H+this.D&65535));this.A-=this.ba},
@ -256,7 +256,7 @@ a.call(this,this.H,this.T(this.C,this.B+this.D+this.K()&65535));this.A-=this.V},
this.H+this.K()&65535));this.A-=this.P},function(a){this.H=a.call(this,this.H,this.T(this.C,this.B+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.T(this.C,this.B+this.F+this.K()&65535));this.A-=this.U},function(a){this.F=a.call(this,this.F,this.T(this.C,this.B+this.D+this.K()&65535));this.A-=this.V},function(a){this.F=a.call(this,this.F,this.T(this.M,this.H+this.F+this.K()&65535));this.A-=this.V},function(a){this.F=a.call(this,this.F,this.T(this.M,this.H+this.D+this.K()&
65535));this.A-=this.U},function(a){this.F=a.call(this,this.F,this.T(this.C,this.F+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.T(this.C,this.D+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.T(this.M,this.H+this.K()&65535));this.A-=this.P},function(a){this.F=a.call(this,this.F,this.T(this.C,this.B+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.C,this.B+this.F+this.K()&65535));this.A-=this.U},function(a){this.D=
a.call(this,this.D,this.T(this.C,this.B+this.D+this.K()&65535));this.A-=this.V},function(a){this.D=a.call(this,this.D,this.T(this.M,this.H+this.F+this.K()&65535));this.A-=this.V},function(a){this.D=a.call(this,this.D,this.T(this.M,this.H+this.D+this.K()&65535));this.A-=this.U},function(a){this.D=a.call(this,this.D,this.T(this.C,this.F+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.C,this.D+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.M,
this.H+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.C,this.B+this.K()&65535));this.A-=this.P},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,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg],Cg=[function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.F&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.D&
this.H+this.K()&65535));this.A-=this.P},function(a){this.D=a.call(this,this.D,this.T(this.C,this.B+this.K()&65535));this.A-=this.P},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,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg],xg=[function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.F&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.N(this.C,this.B+this.D&
65535),b.call(this));this.Q(c);this.A-=this.ca},function(a,b){var c=a[0].call(this,this.N(this.M,this.H+this.F&65535),b.call(this));this.Q(c);this.A-=this.ca},function(a,b){var c=a[0].call(this,this.N(this.M,this.H+this.D&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.N(this.C,this.F),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[0].call(this,this.N(this.C,this.D),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[0].call(this,this.N(this.C,
this.K()),b.call(this));this.Q(c);this.A-=this.na},function(a,b){var c=a[0].call(this,this.N(this.C,this.B),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.N(this.C,this.B+this.F&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[1].call(this,this.N(this.C,this.B+this.D&65535),b.call(this));this.Q(c);this.A-=this.ca},function(a,b){var c=a[1].call(this,this.N(this.M,this.H+this.F&65535),b.call(this));this.Q(c);this.A-=this.ca},function(a,b){var c=
a[1].call(this,this.N(this.M,this.H+this.D&65535),b.call(this));this.Q(c);this.A-=this.ba},function(a,b){var c=a[1].call(this,this.N(this.C,this.F),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.N(this.C,this.D),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.N(this.C,this.K()),b.call(this));this.Q(c);this.A-=this.na},function(a,b){var c=a[1].call(this,this.N(this.C,this.B),b.call(this));this.Q(c);this.A-=this.Z},function(a,b){var c=
@ -309,7 +309,7 @@ this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[4].call(th
255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[5].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[5].call(this,this.I>>8,b.call(this));this.I=this.I&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.B>>8,b.call(this));this.B=this.B&255|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));
this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.I&255,b.call(this));this.I=this.I&-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.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[6].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<8},function(a,b){var c=a[6].call(this,this.I>>8,b.call(this));this.I=this.I&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.B>>8,b.call(this));this.B=this.B&255|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.I&255,b.call(this));this.I=this.I&-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.B&255,b.call(this));this.B=this.B&-256|c},function(a,b){var c=a[7].call(this,this.G>>8,b.call(this));this.G=this.G&255|c<<
8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&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.B>>8,b.call(this));this.B=this.B&255|c<<8}],Dg=[function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.D&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[0].call(this,
8},function(a,b){var c=a[7].call(this,this.I>>8,b.call(this));this.I=this.I&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.B>>8,b.call(this));this.B=this.B&255|c<<8}],yg=[function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.O(this.C,this.B+this.D&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[0].call(this,
this.O(this.M,this.H+this.F&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[0].call(this,this.O(this.M,this.H+this.D&65535),b.call(this));this.R(c);this.A-=this.ba},function(a,b){var c=a[0].call(this,this.O(this.C,this.F),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[0].call(this,this.O(this.C,this.D),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[0].call(this,this.O(this.C,this.K()),b.call(this));this.R(c);this.A-=this.na},function(a,b){var c=
a[0].call(this,this.O(this.C,this.B),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);this.A-=this.ba},function(a,b){var c=a[1].call(this,this.O(this.C,this.B+this.D&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[1].call(this,this.O(this.M,this.H+this.F&65535),b.call(this));this.R(c);this.A-=this.ca},function(a,b){var c=a[1].call(this,this.O(this.M,this.H+this.D&65535),b.call(this));this.R(c);
this.A-=this.ba},function(a,b){var c=a[1].call(this,this.O(this.C,this.F),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.O(this.C,this.D),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[1].call(this,this.O(this.C,this.K()),b.call(this));this.R(c);this.A-=this.na},function(a,b){var c=a[1].call(this,this.O(this.C,this.B),b.call(this));this.R(c);this.A-=this.Z},function(a,b){var c=a[2].call(this,this.O(this.C,this.B+this.F&65535),b.call(this));this.R(c);
@ -359,270 +359,271 @@ a[3].call(this,this.B,b.call(this))},function(a,b){this.X=a[3].call(this,this.X,
function(a,b){this.X=a[4].call(this,this.X,b.call(this))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.B=a[5].call(this,this.B,b.call(this))},function(a,b){this.X=a[5].call(this,this.X,
b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.B=a[6].call(this,this.B,b.call(this))},function(a,b){this.Y|=512;this.X=a[6].call(this,this.X,b.call(this))},function(a,
b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.B=a[7].call(this,this.B,b.call(this))},function(a,b){this.X=a[7].call(this,this.X,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},
function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],Fg=[function(){var a=this.aa();16>(a&56)&&(this.Y|=1);Dg[a].call(this,jc,Ad)},function(){var a=this.aa();a&16||(this.Y|=1);Dg[a].call(this,Eg,Ad)},function(){O[this.aa()].call(this,Zd)},function(){O[this.aa()].call(this,$d)},N,N,N,N,N,N,N,G,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],kc=[function(){this.A-=2+(0>this.da?0:1);return this.ze.ua},function(){this.A-=2+(0>this.da?0:1);return this.Eg.ua},function(a){this.Y|=2;this.ze.load(a);this.A-=
17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.Eg.load(a);this.A-=17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.rb.load(a,!0)&&2048!=(this.rb.ic&2560)&&(3072==(this.rb.ic&3072)||this.rb.sc>=(this.Da.ua&3)&&this.rb.sc>=(a&3)))return Hc(this),a;Dc(this);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.rb.load(a,!0)&&512==(this.rb.ic&2560)&&this.rb.sc>=(this.Da.ua&3)&&this.rb.sc>=(a&3))return Hc(this),a;Dc(this);return a},M,M],
lc=[Zb,Zb,Zb,Zb,Zb,Zb,M,M],jc=lc,Eg=[function(a){0>this.da?G.call(this):(Mc(this,this.da+2,this.Pc),Lc(this,this.da+4,this.Pc>>16),a=this.Ie-this.Pc,this.A-=11);return a},function(a){0>this.da?G.call(this):(Mc(this,this.da+2,this.Qc),Lc(this,this.da+4,this.Qc>>16),a=this.ke-this.Qc,this.A-=12);return a},function(a){0>this.da?G.call(this):(this.Pc=F(this,this.da+2)|Kc(this,this.da+4)<<16,this.Ie=this.Pc+a,this.Y|=2,this.A-=11);return a},function(a){0>this.da?G.call(this):(this.Qc=F(this,this.da+2)|
Kc(this,this.da+4)<<16,this.ke=this.Qc+a,this.Y|=2,this.A-=12);return a},function(){this.A-=2+(0>this.da?0:1);return this.cd},M,function(a){this.cd=this.cd&65520|a&-65521;this.A-=3+(0>this.da?0:3);this.cd&1&&gc(this,!0);this.Y|=2;return a},M];function ac(){Fg[this.aa()].call(this)}function cc(){K(this,this.X);this.A-=this.Xb}function Ib(){var a=this.X;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.rk}
function Jb(){this.D=this.za();this.F=this.za();this.H=this.za();this.X+=2;this.B=this.za();this.J=this.za();this.I=this.za();this.G=this.za();this.A-=this.pk}function Kb(){O[this.aa()].call(this,Xd)}function bc(){Ag[this.aa()].call(this,Yd)}function Lb(){K(this,this.K());this.A-=this.Xb}function Mb(){O[this.aa()].call(this,Sd)}function Nb(){K(this,this.aa());this.A-=this.Xb}function Ob(){O[this.aa()].call(this,Rd)}
function Pb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=$a(this.ma,this.J,this.Ba-b-1);Lc(this,this.fb.Nb(this.D,0),d);this.D=this.D+(this.Fa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}}
function Qb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=this.Ba-b-1,d=$a(this.ma,this.J,d)|$a(this.ma,this.J,d)<<8;Mc(this,this.fb.Nb(this.D,1),d);this.D=this.D+(this.Fa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}}
function Rb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Kc(this,this.Zb.Gc(this.F,0));this.F=this.F+(this.Fa&1024?-1:1)&65535;this.A-=c;this.I-=b;bb(this.ma,this.J,d,this.Ba-b-1);a&&(J(this,-2),this.Y|=256)}}
function Sb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=F(this,this.Zb.Gc(this.F,1));this.F=this.F+(this.Fa&1024?-2:2)&65535;this.A-=c;this.I-=b;b=this.Ba-b-1;bb(this.ma,this.J,d&255,b);bb(this.ma,this.J,d>>8,b);a&&(J(this,-2),this.Y|=256)}}function Gg(){var a=this.L();Ac(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}function Hg(){var a=this.L();Ac(this)?this.A-=this.Cb:(I(this,this.qa+a),this.A-=this.Bb)}
function Ig(){var a=this.L();vc(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}function Jg(){var a=this.L();vc(this)?this.A-=this.Cb:(I(this,this.qa+a),this.A-=this.Bb)}function Kg(){var a=this.L();yc(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}function Lg(){var a=this.L();yc(this)?this.A-=this.Cb:(I(this,this.qa+a),this.A-=this.Bb)}function Mg(){var a=this.L();vc(this)||yc(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}
function Ng(){var a=this.L();vc(this)||yc(this)?this.A-=this.Cb:(I(this,this.qa+a),this.A-=this.Bb)}function Og(){var a=this.L();zc(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}function Pg(){var a=this.L();zc(this)?this.A-=this.Cb:(I(this,this.qa+a),this.A-=this.Bb)}function Qg(){var a=this.L();wc(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}function Rg(){var a=this.L();wc(this)?this.A-=this.Cb:(I(this,this.qa+a),this.A-=this.Bb)}
function Sg(){var a=this.L();!zc(this)!=!Ac(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}function Tg(){var a=this.L();!zc(this)==!Ac(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}function Ug(){var a=this.L();yc(this)||!zc(this)!=!Ac(this)?(I(this,this.qa+a),this.A-=this.Bb):this.A-=this.Cb}function Vg(){var a=this.L();yc(this)||!zc(this)!=!Ac(this)?this.A-=this.Cb:(I(this,this.qa+a),this.A-=this.Bb)}
function Wg(){Cg[this.aa()].call(this,Cd,this.aa);this.A-=0>this.Aa?1:this.sg}function Tb(){Cg[this.aa()].call(this,Ld,zd)}function Ub(){Dg[this.aa()].call(this,Md,zd)}function Xg(){var a=this.K();I(this,this.za());this.X=this.X+a&65535;this.A-=this.wk}function Yg(){I(this,this.za());this.A-=this.tk}
function Vb(){var a=this.K(),b=this.aa()&31;this.A-=11;K(this,this.H);var c=this.X;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.H=this.H-2&65535,K(this,F(this,this.Sb.Gc(this.H,1)));K(this,c)}this.H=c;this.X=this.X-a&65535}function Wb(){this.X=this.H;this.H=this.za();this.A-=5}function Zg(){var a=this.K();ec(this,this.za(),this.za());this.X=this.X+a&65535;this.Ug&&ic(this,this.Ba);this.A-=this.vk}function $g(){ec(this,this.za(),this.za());this.A-=this.uk}
function ah(){O[this.aa()].call(this,Td);this.A-=8}function bh(){this.Y|=36;this.A-=this.qb}function Xb(){N.call(this)}
var Hb=[function(){var a=this.aa();zg[a].call(this,Qc)},function(){Ag[this.aa()].call(this,Yc)},function(){Bg[this.aa()].call(this,Qc)},function(){O[this.aa()].call(this,Yc)},function(){this.G=this.G&-256|Qc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Yc.call(this,this.G,this.K());this.A--},function(){K(this,this.fb.ua);this.A-=this.rf},function(){uc(this,this.za());this.A-=this.Qb},function(){zg[this.aa()].call(this,Rc)},function(){Ag[this.aa()].call(this,Zc)},function(){Bg[this.aa()].call(this,
Rc)},function(){O[this.aa()].call(this,Zc)},function(){this.G=this.G&-256|Rc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Zc.call(this,this.G,this.K());this.A--},function(){K(this,this.Da.ua);this.A-=this.rf},function(){rc(this,this.za());this.A-=this.Qb},function(){zg[this.aa()].call(this,Sc)},function(){Ag[this.aa()].call(this,$c)},function(){Bg[this.aa()].call(this,Sc)},function(){O[this.aa()].call(this,$c)},function(){this.G=this.G&-256|Sc.call(this,this.G&255,this.aa());this.A--},
function(){this.G=$c.call(this,this.G,this.K());this.A--},function(){K(this,this.Sb.ua);this.A-=this.rf},function(){tc(this,this.za());this.A-=this.Qb},function(){zg[this.aa()].call(this,Tc)},function(){Ag[this.aa()].call(this,ad)},function(){Bg[this.aa()].call(this,Tc)},function(){O[this.aa()].call(this,ad)},function(){this.G=this.G&-256|Tc.call(this,this.G&255,this.aa());this.A--},function(){this.G=ad.call(this,this.G,this.K());this.A--},function(){K(this,this.Zb.ua);this.A-=this.rf},function(){sc(this,
this.za());this.A-=this.Qb},function(){zg[this.aa()].call(this,Uc)},function(){Ag[this.aa()].call(this,bd)},function(){Bg[this.aa()].call(this,Uc)},function(){O[this.aa()].call(this,bd)},function(){this.G=this.G&-256|Uc.call(this,this.G&255,this.aa());this.A--},function(){this.G=bd.call(this,this.G,this.K());this.A--},function(){this.Y|=20;this.C=this.M=this.fb;this.A-=this.qb},function(){var a=this.G&255,b=xc(this),c=this.W&this.$;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.G=this.G&-256|
(this.W=this.fa=a&255);this.$=65536;c&&(this.W|=this.$);b?Gc(this):Cc(this);this.A-=this.Zd},function(){zg[this.aa()].call(this,Vc)},function(){Ag[this.aa()].call(this,cd)},function(){Bg[this.aa()].call(this,Vc)},function(){O[this.aa()].call(this,cd)},function(){this.G=this.G&-256|Vc.call(this,this.G&255,this.aa());this.A--},function(){this.G=cd.call(this,this.G,this.K());this.A--},function(){this.Y|=20;this.C=this.M=this.Da;this.A-=this.qb},function(){var a=this.G&255,b=xc(this),c=this.W&this.$;
if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.G=this.G&-256|(this.W=this.fa=a&255);this.$=65536;c&&(this.W|=this.$);b?Gc(this):Cc(this);this.A-=this.Zd},function(){zg[this.aa()].call(this,Wc)},function(){Ag[this.aa()].call(this,dd)},function(){Bg[this.aa()].call(this,Wc)},function(){O[this.aa()].call(this,dd)},function(){this.G=this.G&-256|Wc.call(this,this.G&255,this.aa());this.A--},function(){this.G=dd.call(this,this.G,this.K());this.A--},function(){this.Y|=20;this.C=this.M=this.Sb;this.A-=
this.qb},function(){var a=this.G&255,b=this.G>>8,c,d=xc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.W=a);this.$=65536;c&&(this.W|=this.$);d?Gc(this):Cc(this);this.A-=this.Zd},function(){zg[this.aa()].call(this,Xc)},function(){Ag[this.aa()].call(this,ed)},function(){Bg[this.aa()].call(this,Xc)},function(){O[this.aa()].call(this,ed)},function(){this.G=this.G&-256|Xc.call(this,this.G&255,this.aa());this.A--},function(){this.G=ed.call(this,this.G,this.K());this.A--},function(){this.Y|=
20;this.C=this.M=this.Zb;this.A-=this.qb},function(){var a=this.G&255,b=this.G>>8,c,d=xc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.W=a);this.$=65536;c&&(this.W|=this.$);d?Gc(this):Cc(this);this.A-=this.Zd},function(){this.ha=this.G;this.G=(this.fa=this.G+1)&65535;this.W=this.G|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.I;this.I=(this.fa=this.I+1)&65535;this.W=this.I|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.J;
function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],Ag=[function(){var a=this.aa();16>(a&56)&&(this.Y|=1);yg[a].call(this,ec,vd)},function(){var a=this.aa();a&16||(this.Y|=1);yg[a].call(this,zg,vd)},function(){O[this.aa()].call(this,Ud)},function(){O[this.aa()].call(this,Vd)},N,N,N,N,N,N,N,G,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],fc=[function(){this.A-=2+(0>this.da?0:1);return this.Be.ua},function(){this.A-=2+(0>this.da?0:1);return this.Ig.ua},function(a){this.Y|=2;this.Be.load(a);this.A-=
17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.Ig.load(a);this.A-=17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(a,!0)&&2048!=(this.sb.kc&2560)&&(3072==(this.sb.kc&3072)||this.sb.uc>=(this.Ea.ua&3)&&this.sb.uc>=(a&3)))return Cc(this),a;yc(this);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.sb.load(a,!0)&&512==(this.sb.kc&2560)&&this.sb.uc>=(this.Ea.ua&3)&&this.sb.uc>=(a&3))return Cc(this),a;yc(this);return a},M,M],
gc=[Ub,Ub,Ub,Ub,Ub,Ub,M,M],ec=gc,zg=[function(a){0>this.da?G.call(this):(Hc(this,this.da+2,this.Rc),Gc(this,this.da+4,this.Rc>>16),a=this.Ke-this.Rc,this.A-=11);return a},function(a){0>this.da?G.call(this):(Hc(this,this.da+2,this.Sc),Gc(this,this.da+4,this.Sc>>16),a=this.me-this.Sc,this.A-=12);return a},function(a){0>this.da?G.call(this):(this.Rc=F(this,this.da+2)|Fc(this,this.da+4)<<16,this.Ke=this.Rc+a,this.Y|=2,this.A-=11);return a},function(a){0>this.da?G.call(this):(this.Sc=F(this,this.da+2)|
Fc(this,this.da+4)<<16,this.me=this.Sc+a,this.Y|=2,this.A-=12);return a},function(){this.A-=2+(0>this.da?0:1);return this.ed},M,function(a){this.ed=this.ed&65520|a&-65521;this.A-=3+(0>this.da?0:3);this.ed&1&&bc(this,!0);this.Y|=2;return a},M];function Wb(){Ag[this.aa()].call(this)}function Yb(){K(this,this.X);this.A-=this.Zb}function Db(){var a=this.X;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.vk}
function Eb(){this.D=this.Aa();this.F=this.Aa();this.H=this.Aa();this.X+=2;this.B=this.Aa();this.J=this.Aa();this.I=this.Aa();this.G=this.Aa();this.A-=this.tk}function Fb(){O[this.aa()].call(this,Sd)}function Xb(){vg[this.aa()].call(this,Td)}function Gb(){K(this,this.K());this.A-=this.Zb}function Hb(){O[this.aa()].call(this,Nd)}function Ib(){K(this,this.aa());this.A-=this.Zb}function Jb(){O[this.aa()].call(this,Md)}
function Kb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Va(this.ma,this.J,this.Ca-b-1);Gc(this,this.gb.Ob(this.D,0),d);this.D=this.D+(this.Ga&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}}
function Lb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=this.Ca-b-1,d=Va(this.ma,this.J,d)|Va(this.ma,this.J,d)<<8;Hc(this,this.gb.Ob(this.D,1),d);this.D=this.D+(this.Ga&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}}
function Mb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Fc(this,this.bc.Jc(this.F,0));this.F=this.F+(this.Ga&1024?-1:1)&65535;this.A-=c;this.I-=b;Xa(this.ma,this.J,d,this.Ca-b-1);a&&(J(this,-2),this.Y|=256)}}
function Nb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=F(this,this.bc.Jc(this.F,1));this.F=this.F+(this.Ga&1024?-2:2)&65535;this.A-=c;this.I-=b;b=this.Ca-b-1;Xa(this.ma,this.J,d&255,b);Xa(this.ma,this.J,d>>8,b);a&&(J(this,-2),this.Y|=256)}}function Bg(){var a=this.L();vc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Cg(){var a=this.L();vc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}
function Dg(){var a=this.L();qc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Eg(){var a=this.L();qc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}function Fg(){var a=this.L();tc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Gg(){var a=this.L();tc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}function Hg(){var a=this.L();qc(this)||tc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}
function Ig(){var a=this.L();qc(this)||tc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}function Jg(){var a=this.L();uc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Kg(){var a=this.L();uc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}function Lg(){var a=this.L();rc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Mg(){var a=this.L();rc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}
function Ng(){var a=this.L();!uc(this)!=!vc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Og(){var a=this.L();!uc(this)==!vc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Pg(){var a=this.L();tc(this)||!uc(this)!=!vc(this)?(I(this,this.qa+a),this.A-=this.Cb):this.A-=this.Db}function Qg(){var a=this.L();tc(this)||!uc(this)!=!vc(this)?this.A-=this.Db:(I(this,this.qa+a),this.A-=this.Cb)}
function Rg(){xg[this.aa()].call(this,xd,this.aa);this.A-=0>this.Ba?1:this.wg}function Ob(){xg[this.aa()].call(this,Gd,ud)}function Pb(){yg[this.aa()].call(this,Hd,ud)}function Sg(){var a=this.K();I(this,this.Aa());this.X=this.X+a&65535;this.A-=this.Ak}function Tg(){I(this,this.Aa());this.A-=this.xk}
function Qb(){var a=this.K(),b=this.aa()&31;this.A-=11;K(this,this.H);var c=this.X;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.H=this.H-2&65535,K(this,F(this,this.Tb.Jc(this.H,1)));K(this,c)}this.H=c;this.X=this.X-a&65535}function Rb(){this.X=this.H;this.H=this.Aa();this.A-=5}function Ug(){var a=this.K();$b(this,this.Aa(),this.Aa());this.X=this.X+a&65535;this.Yg&&dc(this,this.Ca);this.A-=this.zk}function Vg(){$b(this,this.Aa(),this.Aa());this.A-=this.yk}
function Wg(){O[this.aa()].call(this,Od);this.A-=8}function Xg(){this.Y|=36;this.A-=this.rb}function Sb(){N.call(this)}
var Cb=[function(){var a=this.aa();ug[a].call(this,Lc)},function(){vg[this.aa()].call(this,Tc)},function(){wg[this.aa()].call(this,Lc)},function(){O[this.aa()].call(this,Tc)},function(){this.G=this.G&-256|Lc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Tc.call(this,this.G,this.K());this.A--},function(){K(this,this.gb.ua);this.A-=this.uf},function(){pc(this,this.Aa());this.A-=this.Rb},function(){ug[this.aa()].call(this,Mc)},function(){vg[this.aa()].call(this,Uc)},function(){wg[this.aa()].call(this,
Mc)},function(){O[this.aa()].call(this,Uc)},function(){this.G=this.G&-256|Mc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Uc.call(this,this.G,this.K());this.A--},function(){K(this,this.Ea.ua);this.A-=this.uf},function(){jc(this,this.Aa());this.A-=this.Rb},function(){ug[this.aa()].call(this,Nc)},function(){vg[this.aa()].call(this,Vc)},function(){wg[this.aa()].call(this,Nc)},function(){O[this.aa()].call(this,Vc)},function(){this.G=this.G&-256|Nc.call(this,this.G&255,this.aa());this.A--},
function(){this.G=Vc.call(this,this.G,this.K());this.A--},function(){K(this,this.Tb.ua);this.A-=this.uf},function(){oc(this,this.Aa());this.A-=this.Rb},function(){ug[this.aa()].call(this,Oc)},function(){vg[this.aa()].call(this,Wc)},function(){wg[this.aa()].call(this,Oc)},function(){O[this.aa()].call(this,Wc)},function(){this.G=this.G&-256|Oc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Wc.call(this,this.G,this.K());this.A--},function(){K(this,this.bc.ua);this.A-=this.uf},function(){nc(this,
this.Aa());this.A-=this.Rb},function(){ug[this.aa()].call(this,Pc)},function(){vg[this.aa()].call(this,Xc)},function(){wg[this.aa()].call(this,Pc)},function(){O[this.aa()].call(this,Xc)},function(){this.G=this.G&-256|Pc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Xc.call(this,this.G,this.K());this.A--},function(){this.Y|=20;this.C=this.M=this.gb;this.A-=this.rb},function(){var a=this.G&255,b=sc(this),c=this.W&this.$;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.G=this.G&-256|
(this.W=this.fa=a&255);this.$=65536;c&&(this.W|=this.$);b?Bc(this):xc(this);this.A-=this.ae},function(){ug[this.aa()].call(this,Qc)},function(){vg[this.aa()].call(this,Yc)},function(){wg[this.aa()].call(this,Qc)},function(){O[this.aa()].call(this,Yc)},function(){this.G=this.G&-256|Qc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Yc.call(this,this.G,this.K());this.A--},function(){this.Y|=20;this.C=this.M=this.Ea;this.A-=this.rb},function(){var a=this.G&255,b=sc(this),c=this.W&this.$;
if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.G=this.G&-256|(this.W=this.fa=a&255);this.$=65536;c&&(this.W|=this.$);b?Bc(this):xc(this);this.A-=this.ae},function(){ug[this.aa()].call(this,Rc)},function(){vg[this.aa()].call(this,Zc)},function(){wg[this.aa()].call(this,Rc)},function(){O[this.aa()].call(this,Zc)},function(){this.G=this.G&-256|Rc.call(this,this.G&255,this.aa());this.A--},function(){this.G=Zc.call(this,this.G,this.K());this.A--},function(){this.Y|=20;this.C=this.M=this.Tb;this.A-=
this.rb},function(){var a=this.G&255,b=this.G>>8,c,d=sc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.W=a);this.$=65536;c&&(this.W|=this.$);d?Bc(this):xc(this);this.A-=this.ae},function(){ug[this.aa()].call(this,Sc)},function(){vg[this.aa()].call(this,$c)},function(){wg[this.aa()].call(this,Sc)},function(){O[this.aa()].call(this,$c)},function(){this.G=this.G&-256|Sc.call(this,this.G&255,this.aa());this.A--},function(){this.G=$c.call(this,this.G,this.K());this.A--},function(){this.Y|=
20;this.C=this.M=this.bc;this.A-=this.rb},function(){var a=this.G&255,b=this.G>>8,c,d=sc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=b<<8|(this.W=a);this.$=65536;c&&(this.W|=this.$);d?Bc(this):xc(this);this.A-=this.ae},function(){this.ha=this.G;this.G=(this.fa=this.G+1)&65535;this.W=this.G|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.I;this.I=(this.fa=this.I+1)&65535;this.W=this.I|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.J;
this.J=(this.fa=this.J+1)&65535;this.W=this.J|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.B;this.B=(this.fa=this.B+1)&65535;this.W=this.B|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.X;this.X=(this.fa=this.X+1)&65535;this.W=this.X|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.H;this.H=(this.fa=this.H+1)&65535;this.W=this.H|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.F;this.F=(this.fa=this.F+
1)&65535;this.W=this.F|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.D;this.D=(this.fa=this.D+1)&65535;this.W=this.D|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.G;this.G=(this.fa=this.G-1)&65535;this.W=this.G|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.I;this.I=(this.fa=this.I-1)&65535;this.W=this.I|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.J;this.J=(this.fa=this.J-1)&65535;this.W=this.J|
(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.B;this.B=(this.fa=this.B-1)&65535;this.W=this.B|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.X;this.X=(this.fa=this.X-1)&65535;this.W=this.X|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.H;this.H=(this.fa=this.H-1)&65535;this.W=this.H|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){this.ha=this.F;this.F=(this.fa=this.F-1)&65535;this.W=this.F|(this.W&this.$?1:0)<<
16;this.$=65536;this.A-=2},function(){this.ha=this.D;this.D=(this.fa=this.D-1)&65535;this.W=this.D|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){K(this,this.G);this.A-=this.Xb},function(){K(this,this.I);this.A-=this.Xb},function(){K(this,this.J);this.A-=this.Xb},function(){K(this,this.B);this.A-=this.Xb},function(){K(this,this.X-2&65535);this.A-=this.Xb},function(){K(this,this.H);this.A-=this.Xb},function(){K(this,this.F);this.A-=this.Xb},function(){K(this,this.D);this.A-=this.Xb},function(){this.G=
this.za();this.A-=this.Qb},function(){this.I=this.za();this.A-=this.Qb},function(){this.J=this.za();this.A-=this.Qb},function(){this.B=this.za();this.A-=this.Qb},function(){this.X=this.za();this.A-=this.Qb},function(){this.H=this.za();this.A-=this.Qb},function(){this.F=this.za();this.A-=this.Qb},function(){this.D=this.za();this.A-=this.Qb},Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,function(){Dg[this.aa()].call(this,Dd,this.K);this.A-=0>this.Aa?
1:this.sg},Wg,function(){Dg[this.aa()].call(this,Dd,this.L);this.A-=0>this.Aa?1:this.sg},function(){zg[this.aa()].call(this,Pd)},function(){Ag[this.aa()].call(this,Qd)},function(){Bg[this.Pf=this.aa()].call(this,ae)},function(){O[this.Pf=this.aa()].call(this,be)},function(){this.Y|=1;zg[this.aa()].call(this,Nd)},function(){this.Y|=1;Ag[this.aa()].call(this,Nd)},function(){Bg[this.aa()].call(this,Nd)},function(){O[this.aa()].call(this,Nd)},function(){var a=this.aa();switch((a&56)>>3){case 0:this.lb=
this.fb.ua;break;case 1:this.lb=this.Da.ua;break;case 2:this.lb=this.Sb.ua;break;case 3:this.lb=this.Zb.ua;break;default:N.call(this);return}this.Y|=1;Ag[a].call(this,Od)},function(){this.Y|=1;this.C=this.M=this.Mk;O[this.aa()].call(this,Ud)},function(){var a,b=this.aa(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.B;break;default:if(80286<=this.Ca){G.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=this.X;break;case 5:a=this.H;break;case 6:a=this.F;break;
case 7:a=this.D}}O[b].call(this,Nd);switch(c){case 0:uc(this,this.G);this.G=a;break;case 1:rc(this,this.I);this.I=a;break;case 2:tc(this,this.J);this.J=a;break;case 3:sc(this,this.B);this.B=a;break;case 4:uc(this,this.X);this.X=a;break;case 5:rc(this,this.H);this.H=a;break;case 6:tc(this,this.F);this.F=a;break;case 7:sc(this,this.D),this.D=a}},function(){this.Y|=1;Dg[this.aa()].call(this,Ed,this.za)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=
this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.X;this.X=a;this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Dj},function(){var a=this.K(),b=this.K();K(this,this.Da.ua);K(this,this.qa);
ec(this,a,b);this.A-=this.Gj},function(){N.call(this)},function(){K(this,hc(this));this.A-=this.Xb},function(){fc(this,this.za());this.A-=this.Qb},function(){var a=this.G>>8;a&1?Fc(this):Bc(this);a&4?wc(this)||(this.fa^=1):wc(this)&&(this.fa^=1);a&16?Gc(this):Cc(this);a&64?Hc(this):Dc(this);a&128?Ic(this):zc(this)&&(this.fa^=this.$>>1|this.$>>2,this.ha^=32896);this.A-=this.kb},function(){this.G=this.G&255|(hc(this)&213)<<8;this.A-=this.kb},function(){this.G=this.G&-256|this.S(this.C,this.K());this.A-=
this.Xh},function(){this.G=this.T(this.C,this.K());this.A-=this.Xh},function(){var a=this.K(),b=this.G;Lc(this,this.C.Nb(a,0),b);this.A-=this.Yh},function(){var a=this.K(),b=this.G;Mc(this,this.C.Nb(a,1),b);this.A-=this.Yh},function(){var a=1,b=0,c=this.Zh;this.pa&192&&(a=this.I,b=1,c=this.ai,this.pa&256||(this.A-=this.$h));if(a--){var d=this.Fa&1024?-1:1,e=this.S(this.C,this.F);Lc(this,this.fb.Nb(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.pa&16?-3:
-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Zh;this.pa&192&&(a=this.I,b=1,c=this.ai,this.pa&256||(this.A-=this.$h));if(a--){var d=this.Fa&1024?-2:2,e=this.T(this.C,this.F);Mc(this,this.fb.Nb(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Jh;this.pa&192&&(a=this.I,b=1,c=this.Lh,this.pa&256||(this.A-=this.Kh));if(a--){var d=this.Fa&1024?-1:1,e=this.S(this.C,this.F),f=this.N(this.fb,this.D);Xc.call(this,
e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.$a;this.I-=b;a&&yc(this)==(this.pa&64)&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Jh;this.pa&192&&(a=this.I,b=1,c=this.Lh,this.pa&256||(this.A-=this.Kh));if(a--){var d=this.Fa&1024?-2:2,e=this.T(this.C,this.F),f=this.O(this.fb,this.D);ed.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.$a;this.I-=b;a&&yc(this)==(this.pa&64)&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){this.W=
this.fa=this.ha=this.G&255&this.aa();this.$=256;this.A-=this.Zd},function(){this.W=this.fa=this.ha=this.G&this.K();this.$=65536;this.A-=this.Zd},function(){var a=1,b=0,c=this.ji;this.pa&192&&(a=this.I,b=1,c=this.li,this.pa&256||(this.A-=this.ki));if(a--){var d=this.G;Lc(this,this.fb.Nb(this.D,0),d);this.D=this.D+(this.Fa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}},function(){var a=1,b=0,c=this.ji;this.pa&192&&(a=this.I,b=1,c=this.li,this.pa&256||(this.A-=this.ki));if(a--){var d=
this.G;Mc(this,this.fb.Nb(this.D,1),d);this.D=this.D+(this.Fa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Rh;this.pa&192&&(a=this.I,b=1,c=this.Th,this.pa&256||(this.A-=this.Sh));a--&&(this.G=this.G&-256|this.S(this.C,this.F),this.F=this.F+(this.Fa&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.pa&16?-3:-2),this.Y|=256))},function(){var a=1,b=0,c=this.Rh;this.pa&192&&(a=this.I,b=1,c=this.Th,this.pa&256||(this.A-=this.Sh));a--&&(this.G=this.T(this.C,
this.F),this.F=this.F+(this.Fa&1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(J(this,this.pa&16?-3:-2),this.Y|=256))},function(){var a=1,b=0,c=this.di;this.pa&192&&(a=this.I,b=1,c=this.fi,this.pa&256||(this.A-=this.ei));a--&&(Xc.call(this,this.G&255,this.N(this.fb,this.D)),this.D=this.D+(this.Fa&1024?-1:1)&65535,this.A-=c-this.$a,this.I-=b,a&&yc(this)==(this.pa&64)&&(J(this,-2),this.Y|=256))},function(){var a=1,b=0,c=this.di;this.pa&192&&(a=this.I,b=1,c=this.fi,this.pa&256||(this.A-=this.ei));a--&&(ed.call(this,
this.G,this.O(this.fb,this.D)),this.D=this.D+(this.Fa&1024?-2:2)&65535,this.A-=c-this.$a,this.I-=b,a&&yc(this)==(this.pa&64)&&(J(this,-2),this.Y|=256))},function(){this.G=this.G&-256|this.aa();this.A-=this.kb},function(){this.I=this.I&-256|this.aa();this.A-=this.kb},function(){this.J=this.J&-256|this.aa();this.A-=this.kb},function(){this.B=this.B&-256|this.aa();this.A-=this.kb},function(){this.G=this.G&255|this.aa()<<8;this.A-=this.kb},function(){this.I=this.I&255|this.aa()<<8;this.A-=this.kb},function(){this.J=
this.J&255|this.aa()<<8;this.A-=this.kb},function(){this.B=this.B&255|this.aa()<<8;this.A-=this.kb},function(){this.G=this.K();this.A-=this.kb},function(){this.I=this.K();this.A-=this.kb},function(){this.J=this.K();this.A-=this.kb},function(){this.B=this.K();this.A-=this.kb},function(){this.X=this.K();this.A-=this.kb},function(){this.H=this.K();this.A-=this.kb},function(){this.F=this.K();this.A-=this.kb},function(){this.D=this.K();this.A-=this.kb},Xg,Yg,Xg,Yg,function(){O[this.aa()].call(this,Wd)},
function(){O[this.aa()].call(this,Vd)},function(){this.Y|=1;Cg[this.aa()].call(this,Fd,this.aa)},function(){this.Y|=1;Dg[this.aa()].call(this,Fd,this.K)},Zg,$g,Zg,$g,function(){Oc.call(this,3,null,this.Xj)},function(){var a=this.aa(),b;a:{b=this.Uk[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.Ba)){b=!1;break a}b=!0}b?Oc.call(this,a,null,0):this.A--},function(){Ac(this)?Oc.call(this,4,null,this.Yj):this.A-=this.Zj},function(){ec(this,this.za(),this.za());fc(this,this.za());
this.Ug&&ic(this,this.Ba);this.A-=this.Vj},function(){Cg[this.aa()].call(this,Gd,xd)},function(){Dg[this.aa()].call(this,Hd,xd)},function(){Cg[this.aa()].call(this,Gd,yd)},function(){Dg[this.aa()].call(this,Hd,yd)},function(){var a=this.aa(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.$=256;this.W=this.fa=b;this.A-=this.Aj},function(){var a=this.aa();this.W=this.fa=this.G=(this.G>>8)*a+this.G&255;this.$=256;this.A-=this.zj},function(){this.G=this.G&-256|(vc(this)?255:0);this.A-=2},function(){this.G=
this.G&-256|this.S(this.C,this.B+(this.G&255)&65535);this.A-=this.yk},ah,ah,ah,ah,ah,ah,ah,ah,function(){var a=this.L();(this.I=this.I-1&65535)&&this.W&this.$-1?(I(this,this.qa+a),this.A-=this.fk):this.A-=this.Uh},function(){var a=this.L();!(this.I=this.I-1&65535)||this.W&this.$-1?this.A-=this.Wh:(I(this,this.qa+a),this.A-=this.Vh)},function(){var a=this.L();(this.I=this.I-1&65535)?(I(this,this.qa+a),this.A-=this.ek):this.A-=this.Uh},function(){var a=this.L();this.I?this.A-=this.Wh:(I(this,this.qa+
a),this.A-=this.Vh)},function(){var a=this.aa();this.G=this.G&-256|$a(this.ma,a,this.Ba-2);this.A-=this.Oh},function(){var a=this.aa();this.G=$a(this.ma,a,this.Ba-1)|$a(this.ma,a+1&65535,this.Ba-2)<<8;this.A-=this.Oh},function(){var a=this.aa();bb(this.ma,a,this.G&255,this.Ba-2);this.A-=this.ci},function(){var a=this.aa();bb(this.ma,a,this.G&255,this.Ba-2);bb(this.ma,a+1&65535,this.G>>8,this.Ba-2);this.A-=this.ci},function(){var a=this.K();K(this,this.qa);I(this,this.qa+a);this.A-=this.Ej},function(){var a=
this.K();I(this,this.qa+a);this.A-=this.Ph},function(){ec(this,this.K(),this.K());this.A-=this.ak},function(){var a=this.L();I(this,this.qa+a);this.A-=this.Ph},function(){this.G=this.G&-256|$a(this.ma,this.J,this.Ba-1);this.A-=this.Nh},function(){this.G=$a(this.ma,this.J,this.Ba-1)|$a(this.ma,this.J+1&65535,this.Ba-1)<<8;this.A-=this.Nh},function(){bb(this.ma,this.J,this.G&255,this.Ba-1);this.A-=this.bi},function(){bb(this.ma,this.J,this.G&255,this.Ba-1);bb(this.ma,this.J+1&65535,this.G>>8,this.Ba-
1);this.A-=this.bi},bh,bh,function(){this.Y|=132;this.A-=this.qb},function(){this.Y|=68;this.A-=this.qb},function(){this.Ta|=4;this.A-=2;this.Fa&512||lb(this)},function(){vc(this)?Bc(this):Fc(this);this.A-=2},function(){this.lb=-1;Cg[this.aa()].call(this,Jd,Ad);0<=this.lb&&(this.G=this.lb)},function(){this.lb=-1;Dg[this.aa()].call(this,Kd,Ad);0<=this.lb&&(this.G=this.lb,this.J=this.wf)},function(){this.W&=~this.$;this.A-=2},function(){this.W|=this.$;this.A-=2},function(){this.Fa&=-513;this.A-=this.Cj},
function(){this.Fa|=512;this.Y|=4;this.A-=2},function(){this.Fa&=-1025;this.A-=2},function(){this.Fa|=1024;this.A-=2},function(){Cg[this.aa()].call(this,Yb,Ad)},function(){Dg[this.aa()].call(this,$b,Ad)}];
function P(a){v.call(this,"ChipSet",a,P);this.Ca=a.model;this.Ca=void 0!==this.Ca?parseInt(this.Ca,10):ch;this.Db=0;var b=a.sw1;if(b)this.Db=dh(b,eh|fh.Tk);else if(b=a.fdrives||2,this.Db|=Q.Jg,b--,this.Db|=(b&3)<<Q.Fe,b=a.monitor||(this.Ca<gh?"mono":"ega"),void 0!==hh[b])this.Db|=hh[b]<<fh.Fe;this.Ed=dh(a.sw2||"11110000",0);this.gm=this.Ca==ch?16:64;this.Pe=this.Qe=1;this.Ca>=gh&&(this.Pe=this.Qe=2);this.cg=a.scaleTimers||!1;this.Bn=a.rtcDate;this.kj=!1;a.sound&&window&&"webkitAudioContext"in window&&
(this.Xg=new webkitAudioContext);this.reset();this.Ma()}y(v,P);var ch=5150,gh=5170,hh={none:0,tv:1,color:2,mono:3,ega:0},Q={Jg:1},eh=12,fh={Qn:16,Kn:32,Tk:48,Ee:48,Fe:4};Q.ONE=0;Q.Rn=64;Q.Pn=128;Q.Mn=192;Q.Ee=192;Q.Fe=6;g=P.prototype;
g.sb=function(a,b,c,d){switch(c){case "sw1":return this.oa[c]=d,ih(this,c,d,this.Db,{0:this.Ca==ch?"Bootable Floppy Drive":"Loop on POST",1:this.Ca==ch?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ca==ch)return this.oa[c]=d,ih(this,c,d,this.Ed,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.oa[c]=d,!0}return!1};
g.dc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ga=d;this.Ea=a;this.Za=D(a,"Keyboard");this.zk=Math.round(c.ad/1193181);Za(b,this,jh);ab(b,this,kh);this.Ca<gh?(Za(b,this,lh),ab(b,this,mh)):(Za(b,this,nh),ab(b,this,oh))};g.Rb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};g.Ib=function(a){return a&&this.save?this.save():!0};
g.reset=function(){var a;this.Ec=this.Db;this.ee=this.Ed;ph(this);this.va=Array(this.Pe);for(a=0;a<this.Pe;a++)qh(this,a);this.mb=Array(this.Qe);rh(this,0,32);1<this.Qe&&rh(this,1,160);this.Tg=void 0;this.Fb=Array(3);for(a=0;a<this.Fb.length;a++)sh(this,a);this.Oe=this.Rg=this.Lb=this.Rf=void 0;this.Qf=0;if(this.Ca>=gh){this.Xa=16;this.Rc=0;this.jc=16;this.Lf=0;this.Kd=160;512<=th(this)&&(this.Kd|=16);3==uh(this)&&(this.Kd|=64);this.Pg=3;this.Of=0;this.Gb=Array(7);this.le=0;this.ka||(this.ka=Array(64),
vh(this,this.Bn));for(a=14;46>a;a++)void 0===this.ka[a]&&(this.ka[a]=0);this.ka[20]=this.Ec&(fh.Ee|2|Q.Jg|Q.Ee);this.ka[16]=wh(this,0)<<4|wh(this,1);xh(this)}};
function vh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,Ga(a,"CMOS date invalid ("+b+"), using "+c)):b&&Ga(a,"CMOS date: "+c);a.ka[0]=c.getSeconds();a.ka[1]=0;a.ka[2]=c.getMinutes();a.ka[3]=0;a.ka[4]=c.getHours();a.ka[5]=0;a.ka[6]=c.getDay()+1;a.ka[7]=c.getDate();a.ka[8]=c.getMonth()+1;c=c.getFullYear();a.ka[9]=c%100;c/=100;a.ka[50]=c%10|c/10<<4;a.df=-1;a.ka[10]=38;a.ka[11]=2;a.ka[12]=0;a.ka[13]=128}
function xh(a){for(var b=0,c=16;46>c;c++)b+=a.ka[c];a.ka[47]=b&255;a.ka[46]=b>>8}
g.save=function(){var a=new H(this);a.set(0,[this.Db,this.Ed,this.Ec,this.ee]);for(var b=[],c=0;c<this.va;c++){var d=[],e=this.va[c];d[0]=e.md;d[1]=e.Qg;d[2]=e.Vi;d[3]=e.wb;for(var f=[],l=0;l<e.Ia.length;l++){var k=[],m=e.Ia[l];k[0]=m.Zc;k[1]=m.Pi;k[2]=m.nc;k[3]=m.tb;k[4]=m.Ob;k[5]=m.mode;k[6]=m.xc;k[8]=m.yn;k[9]=m.zn;f[l]=k}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.mb.length;c++)d=[],e=this.mb[c],d[0]=e.lf,d[1]=e.Id,d[2]=e.bd,d[3]=e.kd,d[4]=e.vb,d[5]=e.wc,d[6]=e.Ld,d[7]=e.Ne,b[c]=d;a.set(2,
[b]);b=[];for(c=0;c<this.Fb.length;c++)d=[],e=this.Fb[c],d[0]=e.nc,d[1]=e.Bc,d[2]=e.Ob,d[3]=e.Ue,d[4]=e.Yi,d[5]=e.mode,d[6]=e.xf,d[7]=e.pd,d[8]=e.Td,d[9]=e.Hc,d[10]=e.Ze,d[11]=e.oe,d[12]=e.Ad,b[c]=d;a.set(3,[this.Tg,b]);a.set(4,[this.Rf,this.Lb,this.Rg,this.Oe,this.Qf]);this.Ca>=gh&&(a.set(5,[this.Xa,this.Rc,this.jc,this.Lf,this.Kd,this.Pg]),a.set(6,[this.Of,this.Gb,this.le,this.ka,this.df]));return a.data()};
g.restore=function(a){var b,c;b=a[0];this.Db=b[0];this.Ed=b[1];this.Ec=b[2];this.ee=b[3];b=a[1];this.va=Array(this.Pe);for(c=0;c<this.Pe;c++)qh(this,c,1==b.length?b[0][c]:b);b=a[2];this.mb=Array(this.Qe);for(c=0;c<this.Qe;c++)rh(this,c,0===c?32:160,b[0][c]);b=a[3];this.Tg=b[0];this.Fb=Array(3);for(c=0;c<this.Fb.length;c++)sh(this,c,b[1][c]);b=a[4];this.Rf=b[0];this.Lb=b[1];this.Rg=b[2];this.Oe=b[3];this.Qf=b[4];if(b=a[5])this.Xa=b[0],this.Rc=b[1],this.jc=b[2],this.Lf=b[3],this.Kd=b[4],this.Pg=b[5];
if(b=a[6])this.Of=b[0],this.Gb=b[1],this.le=b[2],this.ka=b[3],this.df=b[4],vh(this);return!0};function qh(a,b,c){a=a.va[b]={};c&&5==c.length||(c=[0,void 0,void 0,0,[]]);a.md=c[0];a.Qg=c[1];a.Vi=c[2];a.wb=c[3];a.nm=b<<2;a.Ia=Array(4);for(b=0;b<a.Ia.length;b++)yh(a,b,c[4][b])}function yh(a,b,c){var d=a.Ia[b]={};if(void 0===c||8!=c.length)c=[!0,[],[],[],[]];d.ea=a;d.pj=b;d.Zc=c[0];d.Pi=c[1];d.nc=c[2];d.tb=c[3];d.Ob=c[4];d.mode=c[5];d.xc=c[6];zh(d,c[8],c[9])}
function zh(a,b,c,d){"string"==typeof b&&(b=Ea(b));b&&(a.Wf=null,a.yn=b.id,a.zn=c,a.Vf=b,a.rh=b[c],a.ug=d)}function rh(a,b,c,d){a=a.mb[b]={};d&&8==d.length||(d=[0,[void 0,void 0,void 0,void 0]]);a.port=c;a.Wn=b<<3;a.lf=d[0];a.Id=d[1];a.bd=d[2];a.kd=d[3];a.vb=d[4];a.wc=d[5];a.Ld=d[6];a.Ne=d[7]}
function sh(a,b,c){a=a.Fb[b]={};if(void 0===c||13!=c.length)c=[[],[],[],[]];a.nc=c[0];a.Bc=c[1];a.Ob=c[2];a.Ue=c[3];a.Yi=c[4];a.mode=c[5];a.xf=c[6];a.pd=c[7];a.Td=c[8];a.Hc=c[9];a.Ze=c[10];a.oe=c[11];a.Ad=c[12]}function th(a,b){return((((b?a.Db:a.Ec)&12)>>2)+1)*a.gm+32*((b?a.Ed:a.ee)&15)}function Ah(a,b){var c=b?a.Db:a.Ec;return a.Ca!=ch||c&Q.Jg?((c&Q.Ee)>>Q.Fe)+1:0}function wh(a,b){return b<Ah(a)?a.Ca<gh?1:2:0}function uh(a,b){return((b?a.Db:a.Ec)&fh.Ee)>>fh.Fe}
function ih(a,b,c,d,e){for(var f="",l=1;8>=l;l++){var k="pcjs-bitCell";l||(k+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+l)+'" class="'+k+'" data-value="0">'+l+"</div>\n"}c.innerHTML=f;b=B(c,"pcjs-bitCell");c=null;for(l=0;l<b.length;l++)void 0!==e&&void 0!==e[l]&&(c=e[l]),c&&b[l].setAttribute("title",c),Bh(b[l],d&1<<l?!1:!0),b[l].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");Bh(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Db=
a.Db&~e|(c?0:e);break;case "sw2":a.Ed=a.Ed&~e|(c?0:e)}ph(a)}}(a,b[l])}function Bh(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function ph(a){var b=a.oa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(void 0!==b){var d;d=""+(th(a,!0)+"Kb");d+=", "+c[uh(a,!0)]+" Monitor";d+=", "+Ah(a,!0)+" Floppy Drives";if(void 0!==a.Ec&&a.Ec!=a.Db||void 0!==a.ee&&a.ee!=a.Ed)d+=" (Reset required)";b.innerHTML=d}}
function Ch(a,b,c){a=a.va[b];c=a.Ia[c].tb[a.wb];a.wb^=1;return c}function Dh(a,b,c,d){a=a.va[b];c=a.Ia[c];c.tb[a.wb]=c.Pi[a.wb]=d;a.wb^=1}function Eh(a,b,c){a=a.va[b];c=a.Ia[c].Ob[a.wb];a.wb^=1;return c}function Fh(a,b,c,d){a=a.va[b];c=a.Ia[c];c.Ob[a.wb]=c.nc[a.wb]=d;a.wb^=1}function Gh(a,b){var c=a.va[b],d=c.md|1;c.md&=-16;return d}function Hh(a,b,c){a=a.va[b];b=c&3;a.md=a.md&~(16<<b)|(c&4)<<b+2;a.Vi=c}function Ih(a,b,c){b=a.va[b];var d=c&3,e=b.Ia[d];e.Zc=c&4?!0:!1;e.Zc||Jh(a,b.nm+d)}
function Kh(a,b,c){return a.va[b].Ia[c].xc}function Lh(a,b,c,d,e){zh(a.va[b>>2].Ia[b&3],c,d,e)}function Jh(a,b,c){b=a.va[b>>2].Ia[b&3];b.Vf&&b.rh&&b.ug?(c&&(b.Wf=c),b.Zc||Pc(a,b,!0)):c&&c(!0)}
function Pc(a,b,c){c&&(b.count=b.Ob[1]<<8|b.Ob[0],b.Qk=b.mode&12,b.lj=b.Vc=!1);for(var d=!1;0<=b.count&&(c=b.xc<<16|b.tb[1]<<8|b.tb[0],4==b.Qk?(d=!0,function(c){b.rh.call(b.Vf,b.ug,-1,function(f,l){0>f&&(b.lj||(b.lj=!0),f=255);b.Zc||Wa(a.ma,c,f);(d=l)&&setTimeout(function(){Mh(b)||Pc(a,b)},0)})}(c)):8==b.Qk?(c=Ua(a.ma,c),0>b.rh.call(b.Vf,b.ug,c)&&(b.Vc=!0)):b.Vc=!0),!d&&!Mh(b););}
function Mh(a){if(!a.Vc&&0<=--a.count&&(a.mode&32?(a.tb[0]--,0>a.tb[0]&&(a.tb[0]=255,a.tb[1]--,0>a.tb[1]&&(a.tb[1]=255))):(a.tb[0]++,255<a.tb[0]&&(a.tb[0]=0,a.tb[1]++,255<a.tb[1]&&(a.tb[1]=0))),!a.Zc))return!1;var b=a.ea;b.md=b.md&~(16<<a.pj)|1<<a.pj;a.mode&16||(a.Zc=!0,a.Vf=a.ug=null);a.Wf&&(a.Wf(!a.Vc),a.Wf=null);return!0}function Nh(a,b){var c=0,d=a.mb[b];if(void 0!==d.Ne)switch(d.Ne&3){case 2:c=d.vb;break;case 3:c=d.wc}return c}
function Oh(a,b,c){var d=a.mb[b];if(c&16)d.bd=0,d.Id[d.bd++]=c,d.kd=0,d.Ld=7,d.vb=d.wc=0,d.Ne=10;else if(c&8)d.Ne=c;else{var e=c&224;if(e&32){var f=0;if(96==(e&96))f=1<<(c&7);else for(c=d.Ld+1;;){c&=7;e=1<<c;if(d.wc&e){f=e;break}if(c++==d.Ld)break}d.wc&f&&(d.wc&=~f,Ph(a,b))}else 192==e&&(d.Ld=c&7)}}function Qh(a,b,c){var d=a.mb[b];d.bd<d.Id.length?(d.Id[d.bd++]=c,2==d.bd&&d.Id[0]&2&&d.bd++,3!=d.bd||d.Id[0]&1||d.bd++):(d.kd=c,d=a.ja,d.Y|=4,Ph(a,b,b||253!=c?0:6))}
function Ph(a,b,c){b=a.mb[b];var d=((b.wc|b.kd)^255)&b.vb;a=a.ja;a.ga&&(a.Ta=d?a.Ta|1:a.Ta&-2);d&&c&&(b.lf=c)}function R(a,b,c){var d=b>>3,e=a.mb[d];e.vb|=1<<(b&7);e.lf=c||0;1==d&&(a.mb[0].vb|=4);Ph(a,d)}function Vh(a,b){var c=b>>3,d=a.mb[c],e=1<<(b&7);d.vb&e&&(d.vb&=~e,1!=c||d.vb||(a.mb[0].vb&=-5),Ph(a,c))}
function Nc(a,b){void 0===b&&(b=0);var c=-1,d=a.mb[b];if(d.lf)c=-2,d.lf--;else for(var e=d.vb&((d.wc|d.kd)^255),f=d.Ld+1;;){var f=f&7,l=1<<f;if(e&l){c=b||2!=f?d.Id[1]+f:Nc(a,1);0<=c&&(d.wc|=l,d.vb&=~l);break}if(f++==d.Ld)break}return c}function Wh(a,b){var c=a.Fb[b];c.pd==c.Td&&Xh(a,b);if(c.Ze)return c.Ue[c.pd++];Yh(a,b);return c.Ob[c.pd++]}
function Zh(a,b,c){var d=a.Fb[b];d.pd==d.Td&&Xh(a,b);d.nc[d.pd++]=c;if(d.pd==d.Td){d.oe&&0!=d.mode&&8!=d.mode||(d.Ze=!1,d.Ob[0]=d.Bc[0]=d.nc[0],d.Ob[1]=d.Bc[1]=d.nc[1],d.Ad=qb(a.ja,a.cg),d.oe=!0,d.Hc=0!=d.mode,0==b&&Vh(a,0));2==b&&sb(a);if(0==b){var e=$h(a,0);2048<=e&&(a.ja.mg=Math.round(65536/e))}0==b&&0==d.mode&&16==d.xf&&(b=a.ja,b.pc&&(a=b.A-c*a.zk,b.A-=a,b.$c-=a))}}g.cm=function(){return null};
g.mn=function(a,b){this.Tg=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var l=this.Fb[c];l.xf=f;l.mode=e;l.Yi=d;l.nc=[0,0];l.Ob=[0,0];l.Ue=[0,0];l.Hc=!1;l.Ze=!1;l.oe=!1;Xh(this,c);0==c&&Vh(this,0);2==c&&255==this.mb[0].kd&&77==this.Lb&&(c=this.Fb[0],c.Bc[0]=c.nc[0],c.Bc[1]=c.nc[1],c.Ad=qb(this.ja,this.cg))}else Yh(this,c),d=this.Fb[c],d.Ue[0]=d.Ob[0],d.Ue[1]=d.Ob[1],d.Ze=!0,Xh(this,c)}};function $h(a,b){var c=a.Fb[b],d=c.nc[1]<<8|c.nc[0];d||(d=1==c.Td?256:65536);return d}
function Xh(a,b){var c=a.Fb[b];c.pd=32==c.xf?1:0;c.Td=48==c.xf?2:1}
function Yh(a,b,c){var d=a.Fb[b];if(d.oe&&(2!=b||a.Lb&1)){var e=qb(a.ja,a.cg),f=(e-d.Ad)/a.zk|0;0>f&&(d.Ad=e,f=0);var l=$h(a,b),k=a.Fb[b],m=k.Bc[1]<<8|k.Bc[0];m||(m=1==k.Td?256:65536);k=m-f;0==d.mode?(0>=k&&(k=0),k||(d.Hc=!0,d.oe=!1,b||R(a,0))):4==d.mode?(d.Hc=1!=k,0>=k&&(k=l+k,0>=k&&(k=l),d.Bc[0]=k&255,d.Bc[1]=k>>8,d.Ad=e,!b&&d.Hc&&R(a,0))):6==d.mode&&(k-=f,0>=k&&(d.Hc=!d.Hc,k=l+k,0>=k&&(k=l),d.Bc[0]=k&255,d.Bc[1]=k>>8,d.Ad=e,!b&&d.Hc&&R(a,0)));d.Ob[0]=k&255;d.Ob[1]=k>>8;c&&(a.Ad=0)}return d}
function tb(a,b){for(var c=0;c<a.Fb.length;c++)Yh(a,c,b);if(a.Ca>=gh){var c=0,d=a.ja.ad,e=qb(a.ja,a.cg);if(0<=a.df&&(c=e-a.df,Math.floor(c/d)&&60<=++a.ka[0]&&(a.ka[0]=0,60<=++a.ka[2]&&(a.ka[2]=0,24<=++a.ka[4])))){a.ka[4]=0;a.ka[6]=a.ka[6]%7+1;var f=a.ka[9],l=ka[a.ka[8]-1];28==l&&0===f%4&&(f%100||0===f%400)&&l++;++a.ka[7]>l&&(a.ka[7]=1,12<++a.ka[8]&&(a.ka[8]=1,a.ka[9]=(a.ka[9]+1)%100))}a.df=e-c%d}}g.Vl=function(){var a=this.Rf;this.Oe&16&&(this.Lb&128?a=this.Ec:this.Za&&(a=ai(this.Za)));return a};
g.en=function(a,b){this.Rf=b};g.Wl=function(){return this.Lb};g.fn=function(a,b){bi(this,b);if(this.Za){var c=this.Za,d=b&128?!1:!0,e=b&64?!0:!1;c.hh!==e&&(c.hh=c.ij=e);c.jh!==d&&(c.jh=d)&&(c.ij?(ci(c),c.ij=!1):di(c))}};function bi(a,b){var c=!!(b&2),d=!!(a.Lb&2);a.Lb=b;c!=d&&sb(a,c)}g.Xl=function(){var a=0,a=this.Ca==ch?this.Lb&4?a|this.ee&15:a|this.ee>>4&1:this.Lb&8?a|this.Ec>>4:a|this.Ec&15;this.Lb&1&&Yh(this,2).Hc&&(a=this.Lb&2?a|32:a|16);return a};g.gn=function(a,b){this.Rg=b};g.Yl=function(){return this.Oe};
g.hn=function(a,b){this.Oe=b};g.ll=function(){var a=this.Lf;this.Xa&=-258;var b=this.Za&&ai(this.Za,!0);b&&ei(this,b);return a};g.zm=function(a,b){if(this.Xa&8)switch(this.Rc){case 96:this.jc=b;this.Xa=this.Xa&-5|b&4;break;case 209:fi(this,b);break;default:if(this.jc&=-17,this.Za){var c=-1;switch(b){case 255:c=250,ci(this.Za)}ei(this,c)}}this.Rc=b;this.Xa&=-9};g.ml=function(){var a=this.Lb&-193;this.Lb^=16;return a};g.Am=function(a,b){bi(this,b)};
g.nl=function(){var a=this.Xa&255;this.Xa&256&&(this.Xa|=1,this.Xa&=-257);return a};g.ym=function(a,b){this.Rc=b;this.Xa|=8;var c=0;240<=this.Rc&&(c=this.Rc^15,this.Rc=240);switch(this.Rc){case 192:ei(this,this.Kd);break;case 173:this.jc|=16;break;case 174:this.jc&=-17;break;case 170:this.Za&&di(this.Za,!0);this.jc|=16;ei(this,85);fi(this,3);break;case 224:ei(this,this.jc&16?0:1);break;case 240:c&1&&dc(this.ja)}};function ei(a,b){0<=b&&(a.Lf=b,a.Xa&=-2,a.Xa|=256)}
function fi(a,b){a.Pg=b;Pa(a.ma,!!(b&2));b&1||dc(a.ja)}g.Bl=function(){return this.le};g.Nm=function(a,b){this.le=b;this.Qf=b&128?0:128};g.Cl=function(){var a=this.le&63;if(13>=a){var b=this.ka[a];if(10>a){var c=!1;4!=a&&5!=a||this.ka[11]&2||(b=12>b?b?b:12:(b-=12)?b+128:140,c=!0);this.ka[11]&4||(c&&128<b&&(b-=48),b=b%10|b/10<<4)}else 10==a&&(this.ka[a]^=128);a=b}else a=this.ka[a];return a};
g.Om=function(a,b){var c=this.le&63,d=this.ka,e;if(13>=c){if(e=b,10>c){var f=!1;this.ka[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&12<e&&(e+=48),this.ka[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;d[c]=e};g.Tl=function(){return this.Of};g.bn=function(a,b){this.Of=b};g.dn=function(a,b){this.Qf=b};function dh(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 sb(a,b){if(a.Xg){void 0!==b?a.kj=b:b=a.kj&&a.ja&&a.ja.pc;var c=Math.round(1193181/$h(a,2));if(20>c||2E4<c)b=!1;b?a.Mc?a.Mc.frequency.value=c:(a.Mc=a.Xg.createOscillator(),a.Mc.type=1,a.Mc.connect(a.Xg.destination),a.Mc.frequency.value=c,a.Mc.noteOn(0)):a.Mc&&(a.Mc.noteOff(0),a.Mc.disconnect(),delete a.Mc)}}
var jh={0:function(){return Ch(this,0,0)},1:function(){return Eh(this,0,0)},2:function(){return Ch(this,0,1)},3:function(){return Eh(this,0,1)},4:function(){return Ch(this,0,2)},5:function(){return Eh(this,0,2)},6:function(){return Ch(this,0,3)},7:function(){return Eh(this,0,3)},8:function(){return Gh(this,0)},32:function(){return Nh(this,0)},33:function(){return this.mb[0].kd},64:function(){return Wh(this,0)},65:function(){return Wh(this,1)},66:function(){return Wh(this,2)},67:P.prototype.cm,129:function(){return Kh(this,
0,2)},130:function(){return Kh(this,0,3)},131:function(){return Kh(this,0,1)},135:function(){return Kh(this,0,0)}},lh={96:P.prototype.Vl,97:P.prototype.Wl,98:P.prototype.Xl,99:P.prototype.Yl},nh={96:P.prototype.ll,97:P.prototype.ml,100:P.prototype.nl,112:P.prototype.Bl,113:P.prototype.Cl,128:P.prototype.Tl,132:function(){return this.Gb[0]},133:function(){return this.Gb[1]},134:function(){return this.Gb[2]},136:function(){return this.Gb[3]},137:function(){return Kh(this,1,2)},138:function(){return Kh(this,
1,3)},139:function(){return Kh(this,1,1)},140:function(){return this.Gb[4]},141:function(){return this.Gb[5]},142:function(){return this.Gb[6]},143:function(){return Kh(this,1,0)},160:function(){return Nh(this,1)},161:function(){return this.mb[1].kd},192:function(){return Ch(this,1,0)},194:function(){return Eh(this,1,0)},196:function(){return Ch(this,1,1)},198:function(){return Eh(this,1,1)},200:function(){return Ch(this,1,2)},202:function(){return Eh(this,1,2)},204:function(){return Ch(this,1,3)},
206:function(){return Eh(this,1,3)},208:function(){return Gh(this,1)}},kh={0:function(a,b){Dh(this,0,0,b)},1:function(a,b){Fh(this,0,0,b)},2:function(a,b){Dh(this,0,1,b)},3:function(a,b){Fh(this,0,1,b)},4:function(a,b){Dh(this,0,2,b)},5:function(a,b){Fh(this,0,2,b)},6:function(a,b){Dh(this,0,3,b)},7:function(a,b){Fh(this,0,3,b)},8:function(a,b){this.va[0].Qg=b},9:function(a,b){Hh(this,0,b)},10:function(a,b){Ih(this,0,b)},11:function(a,b){this.va[0].Ia[b&3].mode=b},12:function(){this.va[0].wb=0},13:function(){for(var a=
this.va[0],b=0;b<a.Ia.length;b++)yh(a,b)},32:function(a,b){Oh(this,0,b)},33:function(a,b){Qh(this,0,b)},64:function(a,b){Zh(this,0,b)},65:function(a,b){Zh(this,1,b)},66:function(a,b){Zh(this,2,b)},67:P.prototype.mn,129:function(a,b){this.va[0].Ia[2].xc=b},130:function(a,b){this.va[0].Ia[3].xc=b},131:function(a,b){this.va[0].Ia[1].xc=b},135:function(a,b){this.va[0].Ia[0].xc=b}},mh={96:P.prototype.en,97:P.prototype.fn,98:P.prototype.gn,99:P.prototype.hn,160:P.prototype.dn},oh={96:P.prototype.zm,97:P.prototype.Am,
100:P.prototype.ym,112:P.prototype.Nm,113:P.prototype.Om,128:P.prototype.bn,132:function(a,b){this.Gb[0]=b},133:function(a,b){this.Gb[1]=b},134:function(a,b){this.Gb[2]=b},136:function(a,b){this.Gb[3]=b},137:function(a,b){this.va[1].Ia[2].xc=b},138:function(a,b){this.va[1].Ia[3].xc=b},139:function(a,b){this.va[1].Ia[1].xc=b},140:function(a,b){this.Gb[4]=b},141:function(a,b){this.Gb[5]=b},142:function(a,b){this.Gb[6]=b},143:function(a,b){this.va[1].Ia[0].xc=b},160:function(a,b){Oh(this,1,b)},161:function(a,
b){Qh(this,1,b)},192:function(a,b){Dh(this,1,0,b)},194:function(a,b){Fh(this,1,0,b)},196:function(a,b){Dh(this,1,1,b)},198:function(a,b){Fh(this,1,1,b)},200:function(a,b){Dh(this,1,2,b)},202:function(a,b){Fh(this,1,2,b)},204:function(a,b){Dh(this,1,3,b)},206:function(a,b){Fh(this,1,3,b)},208:function(a,b){this.va[1].Qg=b},210:function(a,b){Hh(this,1,b)},212:function(a,b){Ih(this,1,b)},214:function(a,b){this.va[1].Ia[b&3].mode=b},216:function(){this.va[1].wb=0},218:function(){for(var a=this.va[1],
b=0;b<a.Ia.length;b++)yh(a,b)}};u(function(){for(var a=B(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new P(d);A(d,c);ph(d)}});function gi(a){v.call(this,"ROM",a,gi);this.gb=null;this.Qi=a.addr;this.Gg=a.size;this.Vk=a.alias;this.yf=a.file;this.qj=a.notify;if(this.yf){a=this.yf;var b=fa(this.yf);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.yf+"&format=bytes&decimal=true");p(a,!0,null,this,gi.prototype.tm)}}y(v,gi);
gi.prototype.dc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ga=d;hi(this)};gi.prototype.Rb=function(){this.Og&&(this.Ga&&this.Ga.Tn(this.Qi,this.Gg,this.Og),delete this.Og);return!0};gi.prototype.Ib=function(){return!0};
gi.prototype.tm=function(a,b,c){if(c)C(this,"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.gb=e;else if(f)for(this.gb=Array(4*f.length),c=b=0;b<f.length;b++)this.gb[c++]=f[b]&255,this.gb[c++]=f[b]>>8&255,this.gb[c++]=f[b]>>16&255,this.gb[c++]=f[b]>>24&255;else this.gb=d;this.Og=d.symbols;if(!this.gb.length){this.error("Empty ROM: "+a);return}if(1==this.gb.length){this.error(this.gb[0]);return}}catch(l){C(this,
"ROM data error: "+l.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.gb=Array(a.length),d=0;d<a.length;d++)this.gb[d]=parseInt(a[d],16);hi(this)}};function hi(a){if(!Ia(a))if(!a.yf)a.Ma();else if(a.gb&&a.ma){if(a.gb.length!=a.Gg)Ja(a,"ROM size (0x"+h(a.gb.length)+") does not match specified size (0x"+h(a.Gg)+")");else if(ii(a,a.Qi)&&ii(a,a.Vk)){if(a.qj){var b=Ea(a.qj,a.id);b&&("ega"==b.Ca&&ji(b,a.gb,[8752,12640],8),b.Ma())}delete a.gb}a.Ma()}}
function ii(a,b){if(null==b)return!0;if(Qa(a.ma,b,a.Gg,!0)){for(var c=0;c<a.gb.length;c++)Wa(a.ma,b+c,a.gb[c]);return!0}return!1}u(function(){for(var a=B(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new gi(d);A(d,c)}});function ki(a){v.call(this,"RAM",a,ki);this.Kf=a.addr;this.ed=a.size;this.dl=a.test;this.al=!!this.ed;this.Yf=!1}y(v,ki);ki.prototype.dc=function(a,b,c){this.ma=b;this.ja=c;this.Ea=a;this.ga=D(a,"ChipSet");this.Ma()};
ki.prototype.Rb=function(a,b){b||this.reset();return!0};ki.prototype.Ib=function(){return!0};
ki.prototype.reset=function(){if(!this.Kf&&!this.al&&this.ga){var a=1024*th(this.ga);this.ed&&a!=this.ed&&(Ta(this.ma,this.Kf,this.ed),this.Yf=!1);this.ed=a}!this.Yf&&this.ed&&Qa(this.ma,this.Kf,this.ed)&&(this.Yf=!0,this.status(Math.floor(this.ed/1024)+"Kb"));if(this.Yf){if(this.dl||Xa(this.ma,1138,4660),this.ga&&(a=this.ga,a.ka)){var b=1048576>this.Kf?21:23,c=a.ka[b]|a.ka[b+1]<<8,c=c+(this.ed>>10);a.ka[b]=c&255;a.ka[b+1]=c>>8;xh(a)}}else this.error("No RAM allocated")};
u(function(){for(var a=B(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ki(d);A(d,c)}});function li(a){v.call(this,"Keyboard",a,li);this.Ng={};this.lm=250;this.mm=100;this.Ma()}y(v,li);
var mi={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},ni={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},S=[];S[32]=57;S[49]=2;S[33]=61442;S[50]=3;S[64]=61443;S[51]=4;S[35]=61444;S[52]=5;S[36]=61445;S[53]=6;S[37]=61446;S[54]=7;S[94]=61447;
16;this.$=65536;this.A-=2},function(){this.ha=this.D;this.D=(this.fa=this.D-1)&65535;this.W=this.D|(this.W&this.$?1:0)<<16;this.$=65536;this.A-=2},function(){K(this,this.G);this.A-=this.Zb},function(){K(this,this.I);this.A-=this.Zb},function(){K(this,this.J);this.A-=this.Zb},function(){K(this,this.B);this.A-=this.Zb},function(){K(this,this.X-2&65535);this.A-=this.Zb},function(){K(this,this.H);this.A-=this.Zb},function(){K(this,this.F);this.A-=this.Zb},function(){K(this,this.D);this.A-=this.Zb},function(){this.G=
this.Aa();this.A-=this.Rb},function(){this.I=this.Aa();this.A-=this.Rb},function(){this.J=this.Aa();this.A-=this.Rb},function(){this.B=this.Aa();this.A-=this.Rb},function(){this.X=this.Aa();this.A-=this.Rb},function(){this.H=this.Aa();this.A-=this.Rb},function(){this.F=this.Aa();this.A-=this.Rb},function(){this.D=this.Aa();this.A-=this.Rb},Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,function(){yg[this.aa()].call(this,yd,this.K);this.A-=0>this.Ba?
1:this.wg},Rg,function(){yg[this.aa()].call(this,yd,this.L);this.A-=0>this.Ba?1:this.wg},function(){ug[this.aa()].call(this,Kd)},function(){vg[this.aa()].call(this,Ld)},function(){wg[this.Tf=this.aa()].call(this,Wd)},function(){O[this.Tf=this.aa()].call(this,Xd)},function(){this.Y|=1;ug[this.aa()].call(this,Id)},function(){this.Y|=1;vg[this.aa()].call(this,Id)},function(){wg[this.aa()].call(this,Id)},function(){O[this.aa()].call(this,Id)},function(){var a=this.aa();switch((a&56)>>3){case 0:this.nb=
this.gb.ua;break;case 1:this.nb=this.Ea.ua;break;case 2:this.nb=this.Tb.ua;break;case 3:this.nb=this.bc.ua;break;default:N.call(this);return}this.Y|=1;vg[a].call(this,Jd)},function(){this.Y|=1;this.C=this.M=this.Qk;O[this.aa()].call(this,Pd)},function(){var a,b=this.aa(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.B;break;default:if(80286<=this.Da){G.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=this.X;break;case 5:a=this.H;break;case 6:a=this.F;break;
case 7:a=this.D}}O[b].call(this,Id);switch(c){case 0:pc(this,this.G);this.G=a;break;case 1:jc(this,this.I);this.I=a;break;case 2:oc(this,this.J);this.J=a;break;case 3:nc(this,this.B);this.B=a;break;case 4:pc(this,this.X);this.X=a;break;case 5:jc(this,this.H);this.H=a;break;case 6:oc(this,this.F);this.F=a;break;case 7:nc(this,this.D),this.D=a}},function(){this.Y|=1;yg[this.aa()].call(this,zd,this.Aa)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=
this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.X;this.X=a;this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Hj},function(){var a=this.K(),b=this.K();K(this,this.Ea.ua);K(this,this.qa);
$b(this,a,b);this.A-=this.Kj},function(){N.call(this)},function(){K(this,cc(this));this.A-=this.Zb},function(){ac(this,this.Aa());this.A-=this.Rb},function(){var a=this.G>>8;a&1?Ac(this):wc(this);a&4?rc(this)||(this.fa^=1):rc(this)&&(this.fa^=1);a&16?Bc(this):xc(this);a&64?Cc(this):yc(this);a&128?Dc(this):uc(this)&&(this.fa^=this.$>>1|this.$>>2,this.ha^=32896);this.A-=this.mb},function(){this.G=this.G&255|(cc(this)&213)<<8;this.A-=this.mb},function(){this.G=this.G&-256|this.S(this.C,this.K());this.A-=
this.bi},function(){this.G=this.T(this.C,this.K());this.A-=this.bi},function(){var a=this.K(),b=this.G;Gc(this,this.C.Ob(a,0),b);this.A-=this.ci},function(){var a=this.K(),b=this.G;Hc(this,this.C.Ob(a,1),b);this.A-=this.ci},function(){var a=1,b=0,c=this.di;this.pa&192&&(a=this.I,b=1,c=this.fi,this.pa&256||(this.A-=this.ei));if(a--){var d=this.Ga&1024?-1:1,e=this.S(this.C,this.F);Gc(this,this.gb.Ob(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.pa&16?-3:
-2),this.Y|=256)}},function(){var a=1,b=0,c=this.di;this.pa&192&&(a=this.I,b=1,c=this.fi,this.pa&256||(this.A-=this.ei));if(a--){var d=this.Ga&1024?-2:2,e=this.T(this.C,this.F);Hc(this,this.gb.Ob(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Oh;this.pa&192&&(a=this.I,b=1,c=this.Qh,this.pa&256||(this.A-=this.Ph));if(a--){var d=this.Ga&1024?-1:1,e=this.S(this.C,this.F),f=this.N(this.gb,this.D);Sc.call(this,
e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.bb;this.I-=b;a&&tc(this)==(this.pa&64)&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Oh;this.pa&192&&(a=this.I,b=1,c=this.Qh,this.pa&256||(this.A-=this.Ph));if(a--){var d=this.Ga&1024?-2:2,e=this.T(this.C,this.F),f=this.O(this.gb,this.D);$c.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.bb;this.I-=b;a&&tc(this)==(this.pa&64)&&(J(this,this.pa&16?-3:-2),this.Y|=256)}},function(){this.W=
this.fa=this.ha=this.G&255&this.aa();this.$=256;this.A-=this.ae},function(){this.W=this.fa=this.ha=this.G&this.K();this.$=65536;this.A-=this.ae},function(){var a=1,b=0,c=this.oi;this.pa&192&&(a=this.I,b=1,c=this.qi,this.pa&256||(this.A-=this.pi));if(a--){var d=this.G;Gc(this,this.gb.Ob(this.D,0),d);this.D=this.D+(this.Ga&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}},function(){var a=1,b=0,c=this.oi;this.pa&192&&(a=this.I,b=1,c=this.qi,this.pa&256||(this.A-=this.pi));if(a--){var d=
this.G;Hc(this,this.gb.Ob(this.D,1),d);this.D=this.D+(this.Ga&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}},function(){var a=1,b=0,c=this.Wh;this.pa&192&&(a=this.I,b=1,c=this.Yh,this.pa&256||(this.A-=this.Xh));a--&&(this.G=this.G&-256|this.S(this.C,this.F),this.F=this.F+(this.Ga&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.pa&16?-3:-2),this.Y|=256))},function(){var a=1,b=0,c=this.Wh;this.pa&192&&(a=this.I,b=1,c=this.Yh,this.pa&256||(this.A-=this.Xh));a--&&(this.G=this.T(this.C,
this.F),this.F=this.F+(this.Ga&1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(J(this,this.pa&16?-3:-2),this.Y|=256))},function(){var a=1,b=0,c=this.ii;this.pa&192&&(a=this.I,b=1,c=this.ki,this.pa&256||(this.A-=this.ji));a--&&(Sc.call(this,this.G&255,this.N(this.gb,this.D)),this.D=this.D+(this.Ga&1024?-1:1)&65535,this.A-=c-this.bb,this.I-=b,a&&tc(this)==(this.pa&64)&&(J(this,-2),this.Y|=256))},function(){var a=1,b=0,c=this.ii;this.pa&192&&(a=this.I,b=1,c=this.ki,this.pa&256||(this.A-=this.ji));a--&&($c.call(this,
this.G,this.O(this.gb,this.D)),this.D=this.D+(this.Ga&1024?-2:2)&65535,this.A-=c-this.bb,this.I-=b,a&&tc(this)==(this.pa&64)&&(J(this,-2),this.Y|=256))},function(){this.G=this.G&-256|this.aa();this.A-=this.mb},function(){this.I=this.I&-256|this.aa();this.A-=this.mb},function(){this.J=this.J&-256|this.aa();this.A-=this.mb},function(){this.B=this.B&-256|this.aa();this.A-=this.mb},function(){this.G=this.G&255|this.aa()<<8;this.A-=this.mb},function(){this.I=this.I&255|this.aa()<<8;this.A-=this.mb},function(){this.J=
this.J&255|this.aa()<<8;this.A-=this.mb},function(){this.B=this.B&255|this.aa()<<8;this.A-=this.mb},function(){this.G=this.K();this.A-=this.mb},function(){this.I=this.K();this.A-=this.mb},function(){this.J=this.K();this.A-=this.mb},function(){this.B=this.K();this.A-=this.mb},function(){this.X=this.K();this.A-=this.mb},function(){this.H=this.K();this.A-=this.mb},function(){this.F=this.K();this.A-=this.mb},function(){this.D=this.K();this.A-=this.mb},Sg,Tg,Sg,Tg,function(){O[this.aa()].call(this,Rd)},
function(){O[this.aa()].call(this,Qd)},function(){this.Y|=1;xg[this.aa()].call(this,Ad,this.aa)},function(){this.Y|=1;yg[this.aa()].call(this,Ad,this.K)},Ug,Vg,Ug,Vg,function(){Jc.call(this,3,null,this.ak)},function(){var a=this.aa(),b;a:{b=this.Yk[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.Ca)){b=!1;break a}b=!0}b?Jc.call(this,a,null,0):this.A--},function(){vc(this)?Jc.call(this,4,null,this.bk):this.A-=this.ck},function(){$b(this,this.Aa(),this.Aa());ac(this,this.Aa());
this.Yg&&dc(this,this.Ca);this.A-=this.Zj},function(){xg[this.aa()].call(this,Bd,sd)},function(){yg[this.aa()].call(this,Cd,sd)},function(){xg[this.aa()].call(this,Bd,td)},function(){yg[this.aa()].call(this,Cd,td)},function(){var a=this.aa(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.$=256;this.W=this.fa=b;this.A-=this.Ej},function(){var a=this.aa();this.W=this.fa=this.G=(this.G>>8)*a+this.G&255;this.$=256;this.A-=this.Dj},function(){this.G=this.G&-256|(qc(this)?255:0);this.A-=2},function(){this.G=
this.G&-256|this.S(this.C,this.B+(this.G&255)&65535);this.A-=this.Ck},Wg,Wg,Wg,Wg,Wg,Wg,Wg,Wg,function(){var a=this.L();(this.I=this.I-1&65535)&&this.W&this.$-1?(I(this,this.qa+a),this.A-=this.jk):this.A-=this.Zh},function(){var a=this.L();!(this.I=this.I-1&65535)||this.W&this.$-1?this.A-=this.ai:(I(this,this.qa+a),this.A-=this.$h)},function(){var a=this.L();(this.I=this.I-1&65535)?(I(this,this.qa+a),this.A-=this.ik):this.A-=this.Zh},function(){var a=this.L();this.I?this.A-=this.ai:(I(this,this.qa+
a),this.A-=this.$h)},function(){var a=this.aa();this.G=this.G&-256|Va(this.ma,a,this.Ca-2);this.A-=this.Th},function(){var a=this.aa();this.G=Va(this.ma,a,this.Ca-1)|Va(this.ma,a+1&65535,this.Ca-2)<<8;this.A-=this.Th},function(){var a=this.aa();Xa(this.ma,a,this.G&255,this.Ca-2);this.A-=this.hi},function(){var a=this.aa();Xa(this.ma,a,this.G&255,this.Ca-2);Xa(this.ma,a+1&65535,this.G>>8,this.Ca-2);this.A-=this.hi},function(){var a=this.K();K(this,this.qa);I(this,this.qa+a);this.A-=this.Ij},function(){var a=
this.K();I(this,this.qa+a);this.A-=this.Uh},function(){$b(this,this.K(),this.K());this.A-=this.ek},function(){var a=this.L();I(this,this.qa+a);this.A-=this.Uh},function(){this.G=this.G&-256|Va(this.ma,this.J,this.Ca-1);this.A-=this.Sh},function(){this.G=Va(this.ma,this.J,this.Ca-1)|Va(this.ma,this.J+1&65535,this.Ca-1)<<8;this.A-=this.Sh},function(){Xa(this.ma,this.J,this.G&255,this.Ca-1);this.A-=this.gi},function(){Xa(this.ma,this.J,this.G&255,this.Ca-1);Xa(this.ma,this.J+1&65535,this.G>>8,this.Ca-
1);this.A-=this.gi},Xg,Xg,function(){this.Y|=132;this.A-=this.rb},function(){this.Y|=68;this.A-=this.rb},function(){this.Va|=4;this.A-=2;this.Ga&512||gb(this)},function(){qc(this)?wc(this):Ac(this);this.A-=2},function(){this.nb=-1;xg[this.aa()].call(this,Ed,vd);0<=this.nb&&(this.G=this.nb)},function(){this.nb=-1;yg[this.aa()].call(this,Fd,vd);0<=this.nb&&(this.G=this.nb,this.J=this.Af)},function(){this.W&=~this.$;this.A-=2},function(){this.W|=this.$;this.A-=2},function(){this.Ga&=-513;this.A-=this.Gj},
function(){this.Ga|=512;this.Y|=4;this.A-=2},function(){this.Ga&=-1025;this.A-=2},function(){this.Ga|=1024;this.A-=2},function(){xg[this.aa()].call(this,Tb,vd)},function(){yg[this.aa()].call(this,Vb,vd)}];
function P(a){v.call(this,"ChipSet",a,P);this.Da=a.model;this.Da=void 0!==this.Da?parseInt(this.Da,10):Yg;this.Eb=0;var b=a.sw1;if(b)this.Eb=Zg(b,$g|ah.Xk);else if(b=a.fdrives||2,this.Eb|=Q.Ng,b--,this.Eb|=(b&3)<<Q.He,b=a.monitor||(this.Da<bh?"mono":"ega"),void 0!==ch[b])this.Eb|=ch[b]<<ah.He;this.Gd=Zg(a.sw2||"11110000",0);this.km=this.Da==Yg?16:64;this.Se=this.Te=1;this.Da>=bh&&(this.Se=this.Te=2);this.gg=a.scaleTimers||!1;this.Fn=a.rtcDate;this.oj=!1;a.sound&&window&&"webkitAudioContext"in window&&
(this.ah=new webkitAudioContext);this.reset();this.Oa()}y(v,P);var Yg=5150,bh=5170,ch={none:0,tv:1,color:2,mono:3,ega:0},Q={Ng:1},$g=12,ah={Un:16,On:32,Xk:48,Ge:48,He:4};Q.ONE=0;Q.Vn=64;Q.Tn=128;Q.Qn=192;Q.Ge=192;Q.He=6;g=P.prototype;
g.tb=function(a,b,c,d){switch(c){case "sw1":return this.oa[c]=d,dh(this,c,d,this.Eb,{0:this.Da==Yg?"Bootable Floppy Drive":"Loop on POST",1:this.Da==Yg?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Da==Yg)return this.oa[c]=d,dh(this,c,d,this.Gd,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.oa[c]=d,!0}return!1};
g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;this.Fa=a;this.ab=C(a,"Keyboard");this.Dk=Math.round(c.cd/1193181);Ua(b,this,eh);Wa(b,this,fh);this.Da<bh?(Ua(b,this,gh),Wa(b,this,hh)):(Ua(b,this,ih),Wa(b,this,jh))};g.Sb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};g.Jb=function(a){return a&&this.save?this.save():!0};
g.reset=function(){var a;this.Hc=this.Eb;this.ge=this.Gd;kh(this);this.va=Array(this.Se);for(a=0;a<this.Se;a++)lh(this,a);this.ob=Array(this.Te);mh(this,0,32);1<this.Te&&mh(this,1,160);this.Xg=void 0;this.Gb=Array(3);for(a=0;a<this.Gb.length;a++)nh(this,a);this.Re=this.Vg=this.Mb=this.Vf=void 0;this.Uf=0;if(this.Da>=bh){this.Za=16;this.Tc=0;this.lc=16;this.Pf=0;this.Md=160;512<=oh(this)&&(this.Md|=16);3==ph(this)&&(this.Md|=64);this.Tg=3;this.Sf=0;this.Hb=Array(7);this.ne=0;this.ka||(this.ka=Array(64),
qh(this,this.Fn));for(a=14;46>a;a++)void 0===this.ka[a]&&(this.ka[a]=0);this.ka[20]=this.Hc&(ah.Ge|2|Q.Ng|Q.Ge);this.ka[16]=rh(this,0)<<4|rh(this,1);sh(this)}};
function qh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ac("CMOS date invalid ("+b+"), using "+c)):b&&a.ac("CMOS date: "+c);a.ka[0]=c.getSeconds();a.ka[1]=0;a.ka[2]=c.getMinutes();a.ka[3]=0;a.ka[4]=c.getHours();a.ka[5]=0;a.ka[6]=c.getDay()+1;a.ka[7]=c.getDate();a.ka[8]=c.getMonth()+1;c=c.getFullYear();a.ka[9]=c%100;c/=100;a.ka[50]=c%10|c/10<<4;a.gf=-1;a.ka[10]=38;a.ka[11]=2;a.ka[12]=0;a.ka[13]=128}
function sh(a){for(var b=0,c=16;46>c;c++)b+=a.ka[c];a.ka[47]=b&255;a.ka[46]=b>>8}
g.save=function(){var a=new H(this);a.set(0,[this.Eb,this.Gd,this.Hc,this.ge]);for(var b=[],c=0;c<this.va;c++){var d=[],e=this.va[c];d[0]=e.od;d[1]=e.Ug;d[2]=e.Zi;d[3]=e.xb;for(var f=[],l=0;l<e.Ja.length;l++){var k=[],m=e.Ja[l];k[0]=m.ad;k[1]=m.Ui;k[2]=m.pc;k[3]=m.ub;k[4]=m.Pb;k[5]=m.mode;k[6]=m.zc;k[8]=m.Cn;k[9]=m.Dn;f[l]=k}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.ob.length;c++)d=[],e=this.ob[c],d[0]=e.of,d[1]=e.Kd,d[2]=e.dd,d[3]=e.md,d[4]=e.wb,d[5]=e.yc,d[6]=e.Nd,d[7]=e.Qe,b[c]=d;a.set(2,
[b]);b=[];for(c=0;c<this.Gb.length;c++)d=[],e=this.Gb[c],d[0]=e.pc,d[1]=e.Dc,d[2]=e.Pb,d[3]=e.Xe,d[4]=e.bj,d[5]=e.mode,d[6]=e.Bf,d[7]=e.rd,d[8]=e.Vd,d[9]=e.Kc,d[10]=e.bf,d[11]=e.qe,d[12]=e.Cd,b[c]=d;a.set(3,[this.Xg,b]);a.set(4,[this.Vf,this.Mb,this.Vg,this.Re,this.Uf]);this.Da>=bh&&(a.set(5,[this.Za,this.Tc,this.lc,this.Pf,this.Md,this.Tg]),a.set(6,[this.Sf,this.Hb,this.ne,this.ka,this.gf]));return a.data()};
g.restore=function(a){var b,c;b=a[0];this.Eb=b[0];this.Gd=b[1];this.Hc=b[2];this.ge=b[3];b=a[1];this.va=Array(this.Se);for(c=0;c<this.Se;c++)lh(this,c,1==b.length?b[0][c]:b);b=a[2];this.ob=Array(this.Te);for(c=0;c<this.Te;c++)mh(this,c,0===c?32:160,b[0][c]);b=a[3];this.Xg=b[0];this.Gb=Array(3);for(c=0;c<this.Gb.length;c++)nh(this,c,b[1][c]);b=a[4];this.Vf=b[0];this.Mb=b[1];this.Vg=b[2];this.Re=b[3];this.Uf=b[4];if(b=a[5])this.Za=b[0],this.Tc=b[1],this.lc=b[2],this.Pf=b[3],this.Md=b[4],this.Tg=b[5];
if(b=a[6])this.Sf=b[0],this.Hb=b[1],this.ne=b[2],this.ka=b[3],this.gf=b[4],qh(this);return!0};function lh(a,b,c){a=a.va[b]={};c&&5==c.length||(c=[0,void 0,void 0,0,[]]);a.od=c[0];a.Ug=c[1];a.Zi=c[2];a.xb=c[3];a.rm=b<<2;a.Ja=Array(4);for(b=0;b<a.Ja.length;b++)th(a,b,c[4][b])}function th(a,b,c){var d=a.Ja[b]={};if(void 0===c||8!=c.length)c=[!0,[],[],[],[]];d.ea=a;d.tj=b;d.ad=c[0];d.Ui=c[1];d.pc=c[2];d.ub=c[3];d.Pb=c[4];d.mode=c[5];d.zc=c[6];uh(d,c[8],c[9])}
function uh(a,b,c,d){"string"==typeof b&&(b=Ba(b));b&&(a.$f=null,a.Cn=b.id,a.Dn=c,a.Zf=b,a.wh=b[c],a.yg=d)}function mh(a,b,c,d){a=a.ob[b]={};d&&8==d.length||(d=[0,[void 0,void 0,void 0,void 0]]);a.port=c;a.$n=b<<3;a.of=d[0];a.Kd=d[1];a.dd=d[2];a.md=d[3];a.wb=d[4];a.yc=d[5];a.Nd=d[6];a.Qe=d[7]}
function nh(a,b,c){a=a.Gb[b]={};if(void 0===c||13!=c.length)c=[[],[],[],[]];a.pc=c[0];a.Dc=c[1];a.Pb=c[2];a.Xe=c[3];a.bj=c[4];a.mode=c[5];a.Bf=c[6];a.rd=c[7];a.Vd=c[8];a.Kc=c[9];a.bf=c[10];a.qe=c[11];a.Cd=c[12]}function oh(a,b){return((((b?a.Eb:a.Hc)&12)>>2)+1)*a.km+32*((b?a.Gd:a.ge)&15)}function vh(a,b){var c=b?a.Eb:a.Hc;return a.Da!=Yg||c&Q.Ng?((c&Q.Ge)>>Q.He)+1:0}function rh(a,b){return b<vh(a)?a.Da<bh?1:2:0}function ph(a,b){return((b?a.Eb:a.Hc)&ah.Ge)>>ah.He}
function dh(a,b,c,d,e){for(var f="",l=1;8>=l;l++){var k="pcjs-bitCell";l||(k+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+l)+'" class="'+k+'" data-value="0">'+l+"</div>\n"}c.innerHTML=f;b=B(c,"pcjs-bitCell");c=null;for(l=0;l<b.length;l++)void 0!==e&&void 0!==e[l]&&(c=e[l]),c&&b[l].setAttribute("title",c),wh(b[l],d&1<<l?!1:!0),b[l].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");wh(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Eb=
a.Eb&~e|(c?0:e);break;case "sw2":a.Gd=a.Gd&~e|(c?0:e)}kh(a)}}(a,b[l])}function wh(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function kh(a){var b=a.oa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(void 0!==b){var d;d=""+(oh(a,!0)+"Kb");d+=", "+c[ph(a,!0)]+" Monitor";d+=", "+vh(a,!0)+" Floppy Drives";if(void 0!==a.Hc&&a.Hc!=a.Eb||void 0!==a.ge&&a.ge!=a.Gd)d+=" (Reset required)";b.innerHTML=d}}
function xh(a,b,c){a=a.va[b];c=a.Ja[c].ub[a.xb];a.xb^=1;return c}function yh(a,b,c,d){a=a.va[b];c=a.Ja[c];c.ub[a.xb]=c.Ui[a.xb]=d;a.xb^=1}function zh(a,b,c){a=a.va[b];c=a.Ja[c].Pb[a.xb];a.xb^=1;return c}function Ah(a,b,c,d){a=a.va[b];c=a.Ja[c];c.Pb[a.xb]=c.pc[a.xb]=d;a.xb^=1}function Bh(a,b){var c=a.va[b],d=c.od|1;c.od&=-16;return d}function Ch(a,b,c){a=a.va[b];b=c&3;a.od=a.od&~(16<<b)|(c&4)<<b+2;a.Zi=c}function Dh(a,b,c){b=a.va[b];var d=c&3,e=b.Ja[d];e.ad=c&4?!0:!1;e.ad||Eh(a,b.rm+d)}
function Fh(a,b,c){return a.va[b].Ja[c].zc}function Gh(a,b,c,d,e){uh(a.va[b>>2].Ja[b&3],c,d,e)}function Eh(a,b,c){b=a.va[b>>2].Ja[b&3];b.Zf&&b.wh&&b.yg?(c&&(b.$f=c),b.ad||Kc(a,b,!0)):c&&c(!0)}
function Kc(a,b,c){c&&(b.count=b.Pb[1]<<8|b.Pb[0],b.Uk=b.mode&12,b.pj=b.Xc=!1);for(var d=!1;0<=b.count&&(c=b.zc<<16|b.ub[1]<<8|b.ub[0],4==b.Uk?(d=!0,function(c){b.wh.call(b.Zf,b.yg,-1,function(f,l){0>f&&(b.pj||(b.pj=!0),f=255);b.ad||Ra(a.ma,c,f);(d=l)&&setTimeout(function(){Hh(b)||Kc(a,b)},0)})}(c)):8==b.Uk?(c=Oa(a.ma,c),0>b.wh.call(b.Zf,b.yg,c)&&(b.Xc=!0)):b.Xc=!0),!d&&!Hh(b););}
function Hh(a){if(!a.Xc&&0<=--a.count&&(a.mode&32?(a.ub[0]--,0>a.ub[0]&&(a.ub[0]=255,a.ub[1]--,0>a.ub[1]&&(a.ub[1]=255))):(a.ub[0]++,255<a.ub[0]&&(a.ub[0]=0,a.ub[1]++,255<a.ub[1]&&(a.ub[1]=0))),!a.ad))return!1;var b=a.ea;b.od=b.od&~(16<<a.tj)|1<<a.tj;a.mode&16||(a.ad=!0,a.Zf=a.yg=null);a.$f&&(a.$f(!a.Xc),a.$f=null);return!0}function Ih(a,b){var c=0,d=a.ob[b];if(void 0!==d.Qe)switch(d.Qe&3){case 2:c=d.wb;break;case 3:c=d.yc}return c}
function Jh(a,b,c){var d=a.ob[b];if(c&16)d.dd=0,d.Kd[d.dd++]=c,d.md=0,d.Nd=7,d.wb=d.yc=0,d.Qe=10;else if(c&8)d.Qe=c;else{var e=c&224;if(e&32){var f=0;if(96==(e&96))f=1<<(c&7);else for(c=d.Nd+1;;){c&=7;e=1<<c;if(d.yc&e){f=e;break}if(c++==d.Nd)break}d.yc&f&&(d.yc&=~f,Kh(a,b))}else 192==e&&(d.Nd=c&7)}}function Lh(a,b,c){var d=a.ob[b];d.dd<d.Kd.length?(d.Kd[d.dd++]=c,2==d.dd&&d.Kd[0]&2&&d.dd++,3!=d.dd||d.Kd[0]&1||d.dd++):(d.md=c,d=a.ja,d.Y|=4,Kh(a,b,b||253!=c?0:6))}
function Kh(a,b,c){b=a.ob[b];var d=((b.yc|b.md)^255)&b.wb;a=a.ja;a.ga&&(a.Va=d?a.Va|1:a.Va&-2);d&&c&&(b.of=c)}function R(a,b,c){var d=b>>3,e=a.ob[d];e.wb|=1<<(b&7);e.of=c||0;1==d&&(a.ob[0].wb|=4);Kh(a,d)}function Qh(a,b){var c=b>>3,d=a.ob[c],e=1<<(b&7);d.wb&e&&(d.wb&=~e,1!=c||d.wb||(a.ob[0].wb&=-5),Kh(a,c))}
function Ic(a,b){void 0===b&&(b=0);var c=-1,d=a.ob[b];if(d.of)c=-2,d.of--;else for(var e=d.wb&((d.yc|d.md)^255),f=d.Nd+1;;){var f=f&7,l=1<<f;if(e&l){c=b||2!=f?d.Kd[1]+f:Ic(a,1);0<=c&&(d.yc|=l,d.wb&=~l);break}if(f++==d.Nd)break}return c}function Rh(a,b){var c=a.Gb[b];c.rd==c.Vd&&Sh(a,b);if(c.bf)return c.Xe[c.rd++];Th(a,b);return c.Pb[c.rd++]}
function Uh(a,b,c){var d=a.Gb[b];d.rd==d.Vd&&Sh(a,b);d.pc[d.rd++]=c;if(d.rd==d.Vd){d.qe&&0!=d.mode&&8!=d.mode||(d.bf=!1,d.Pb[0]=d.Dc[0]=d.pc[0],d.Pb[1]=d.Dc[1]=d.pc[1],d.Cd=lb(a.ja,a.gg),d.qe=!0,d.Kc=0!=d.mode,0==b&&Qh(a,0));2==b&&mb(a);if(0==b){var e=Vh(a,0);2048<=e&&(a.ja.qg=Math.round(65536/e))}0==b&&0==d.mode&&16==d.Bf&&(b=a.ja,b.rc&&(a=b.A-c*a.Dk,b.A-=a,b.bd-=a))}}g.gm=function(){return null};
g.qn=function(a,b){this.Xg=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var l=this.Gb[c];l.Bf=f;l.mode=e;l.bj=d;l.pc=[0,0];l.Pb=[0,0];l.Xe=[0,0];l.Kc=!1;l.bf=!1;l.qe=!1;Sh(this,c);0==c&&Qh(this,0);2==c&&255==this.ob[0].md&&77==this.Mb&&(c=this.Gb[0],c.Dc[0]=c.pc[0],c.Dc[1]=c.pc[1],c.Cd=lb(this.ja,this.gg))}else Th(this,c),d=this.Gb[c],d.Xe[0]=d.Pb[0],d.Xe[1]=d.Pb[1],d.bf=!0,Sh(this,c)}};function Vh(a,b){var c=a.Gb[b],d=c.pc[1]<<8|c.pc[0];d||(d=1==c.Vd?256:65536);return d}
function Sh(a,b){var c=a.Gb[b];c.rd=32==c.Bf?1:0;c.Vd=48==c.Bf?2:1}
function Th(a,b,c){var d=a.Gb[b];if(d.qe&&(2!=b||a.Mb&1)){var e=lb(a.ja,a.gg),f=(e-d.Cd)/a.Dk|0;0>f&&(d.Cd=e,f=0);var l=Vh(a,b),k=a.Gb[b],m=k.Dc[1]<<8|k.Dc[0];m||(m=1==k.Vd?256:65536);k=m-f;0==d.mode?(0>=k&&(k=0),k||(d.Kc=!0,d.qe=!1,b||R(a,0))):4==d.mode?(d.Kc=1!=k,0>=k&&(k=l+k,0>=k&&(k=l),d.Dc[0]=k&255,d.Dc[1]=k>>8,d.Cd=e,!b&&d.Kc&&R(a,0))):6==d.mode&&(k-=f,0>=k&&(d.Kc=!d.Kc,k=l+k,0>=k&&(k=l),d.Dc[0]=k&255,d.Dc[1]=k>>8,d.Cd=e,!b&&d.Kc&&R(a,0)));d.Pb[0]=k&255;d.Pb[1]=k>>8;c&&(a.Cd=0)}return d}
function nb(a,b){for(var c=0;c<a.Gb.length;c++)Th(a,c,b);if(a.Da>=bh){var c=0,d=a.ja.cd,e=lb(a.ja,a.gg);if(0<=a.gf&&(c=e-a.gf,Math.floor(c/d)&&60<=++a.ka[0]&&(a.ka[0]=0,60<=++a.ka[2]&&(a.ka[2]=0,24<=++a.ka[4])))){a.ka[4]=0;a.ka[6]=a.ka[6]%7+1;var f=a.ka[9],l=ka[a.ka[8]-1];28==l&&0===f%4&&(f%100||0===f%400)&&l++;++a.ka[7]>l&&(a.ka[7]=1,12<++a.ka[8]&&(a.ka[8]=1,a.ka[9]=(a.ka[9]+1)%100))}a.gf=e-c%d}}g.Zl=function(){var a=this.Vf;this.Re&16&&(this.Mb&128?a=this.Hc:this.ab&&(a=Wh(this.ab)));return a};
g.jn=function(a,b){this.Vf=b};g.$l=function(){return this.Mb};g.kn=function(a,b){Xh(this,b);if(this.ab){var c=this.ab,d=b&128?!1:!0,e=b&64?!0:!1;c.mh!==e&&(c.mh=c.mj=e);c.oh!==d&&(c.oh=d)&&(c.mj?(Yh(c),c.mj=!1):Zh(c))}};function Xh(a,b){var c=!!(b&2),d=!!(a.Mb&2);a.Mb=b;c!=d&&mb(a,c)}g.am=function(){var a=0,a=this.Da==Yg?this.Mb&4?a|this.ge&15:a|this.ge>>4&1:this.Mb&8?a|this.Hc>>4:a|this.Hc&15;this.Mb&1&&Th(this,2).Kc&&(a=this.Mb&2?a|32:a|16);return a};g.ln=function(a,b){this.Vg=b};g.bm=function(){return this.Re};
g.mn=function(a,b){this.Re=b};g.pl=function(){var a=this.Pf;this.Za&=-258;var b=this.ab&&Wh(this.ab,!0);b&&$h(this,b);return a};g.Dm=function(a,b){if(this.Za&8)switch(this.Tc){case 96:this.lc=b;this.Za=this.Za&-5|b&4;break;case 209:ai(this,b);break;default:if(this.lc&=-17,this.ab){var c=-1;switch(b){case 255:c=250,Yh(this.ab)}$h(this,c)}}this.Tc=b;this.Za&=-9};g.ql=function(){var a=this.Mb&-193;this.Mb^=16;return a};g.Em=function(a,b){Xh(this,b)};
g.rl=function(){var a=this.Za&255;this.Za&256&&(this.Za|=1,this.Za&=-257);return a};g.Cm=function(a,b){this.Tc=b;this.Za|=8;var c=0;240<=this.Tc&&(c=this.Tc^15,this.Tc=240);switch(this.Tc){case 192:$h(this,this.Md);break;case 173:this.lc|=16;break;case 174:this.lc&=-17;break;case 170:this.ab&&Zh(this.ab,!0);this.lc|=16;$h(this,85);ai(this,3);break;case 224:$h(this,this.lc&16?0:1);break;case 240:c&1&&Zb(this.ja)}};function $h(a,b){0<=b&&(a.Pf=b,a.Za&=-2,a.Za|=256)}
function ai(a,b){a.Tg=b;Ka(a.ma,!!(b&2));b&1||Zb(a.ja)}g.Fl=function(){return this.ne};g.Rm=function(a,b){this.ne=b;this.Uf=b&128?0:128};g.Gl=function(){var a=this.ne&63;if(13>=a){var b=this.ka[a];if(10>a){var c=!1;4!=a&&5!=a||this.ka[11]&2||(b=12>b?b?b:12:(b-=12)?b+128:140,c=!0);this.ka[11]&4||(c&&128<b&&(b-=48),b=b%10|b/10<<4)}else 10==a&&(this.ka[a]^=128);a=b}else a=this.ka[a];return a};
g.Sm=function(a,b){var c=this.ne&63,d=this.ka,e;if(13>=c){if(e=b,10>c){var f=!1;this.ka[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&12<e&&(e+=48),this.ka[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;d[c]=e};g.Xl=function(){return this.Sf};g.fn=function(a,b){this.Sf=b};g.hn=function(a,b){this.Uf=b};function Zg(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 mb(a,b){if(a.ah){void 0!==b?a.oj=b:b=a.oj&&a.ja&&a.ja.rc;var c=Math.round(1193181/Vh(a,2));if(20>c||2E4<c)b=!1;b?a.Oc?a.Oc.frequency.value=c:(a.Oc=a.ah.createOscillator(),a.Oc.type=1,a.Oc.connect(a.ah.destination),a.Oc.frequency.value=c,a.Oc.noteOn(0)):a.Oc&&(a.Oc.noteOff(0),a.Oc.disconnect(),delete a.Oc)}}
var eh={0:function(){return xh(this,0,0)},1:function(){return zh(this,0,0)},2:function(){return xh(this,0,1)},3:function(){return zh(this,0,1)},4:function(){return xh(this,0,2)},5:function(){return zh(this,0,2)},6:function(){return xh(this,0,3)},7:function(){return zh(this,0,3)},8:function(){return Bh(this,0)},32:function(){return Ih(this,0)},33:function(){return this.ob[0].md},64:function(){return Rh(this,0)},65:function(){return Rh(this,1)},66:function(){return Rh(this,2)},67:P.prototype.gm,129:function(){return Fh(this,
0,2)},130:function(){return Fh(this,0,3)},131:function(){return Fh(this,0,1)},135:function(){return Fh(this,0,0)}},gh={96:P.prototype.Zl,97:P.prototype.$l,98:P.prototype.am,99:P.prototype.bm},ih={96:P.prototype.pl,97:P.prototype.ql,100:P.prototype.rl,112:P.prototype.Fl,113:P.prototype.Gl,128:P.prototype.Xl,132:function(){return this.Hb[0]},133:function(){return this.Hb[1]},134:function(){return this.Hb[2]},136:function(){return this.Hb[3]},137:function(){return Fh(this,1,2)},138:function(){return Fh(this,
1,3)},139:function(){return Fh(this,1,1)},140:function(){return this.Hb[4]},141:function(){return this.Hb[5]},142:function(){return this.Hb[6]},143:function(){return Fh(this,1,0)},160:function(){return Ih(this,1)},161:function(){return this.ob[1].md},192:function(){return xh(this,1,0)},194:function(){return zh(this,1,0)},196:function(){return xh(this,1,1)},198:function(){return zh(this,1,1)},200:function(){return xh(this,1,2)},202:function(){return zh(this,1,2)},204:function(){return xh(this,1,3)},
206:function(){return zh(this,1,3)},208:function(){return Bh(this,1)}},fh={0:function(a,b){yh(this,0,0,b)},1:function(a,b){Ah(this,0,0,b)},2:function(a,b){yh(this,0,1,b)},3:function(a,b){Ah(this,0,1,b)},4:function(a,b){yh(this,0,2,b)},5:function(a,b){Ah(this,0,2,b)},6:function(a,b){yh(this,0,3,b)},7:function(a,b){Ah(this,0,3,b)},8:function(a,b){this.va[0].Ug=b},9:function(a,b){Ch(this,0,b)},10:function(a,b){Dh(this,0,b)},11:function(a,b){this.va[0].Ja[b&3].mode=b},12:function(){this.va[0].xb=0},13:function(){for(var a=
this.va[0],b=0;b<a.Ja.length;b++)th(a,b)},32:function(a,b){Jh(this,0,b)},33:function(a,b){Lh(this,0,b)},64:function(a,b){Uh(this,0,b)},65:function(a,b){Uh(this,1,b)},66:function(a,b){Uh(this,2,b)},67:P.prototype.qn,129:function(a,b){this.va[0].Ja[2].zc=b},130:function(a,b){this.va[0].Ja[3].zc=b},131:function(a,b){this.va[0].Ja[1].zc=b},135:function(a,b){this.va[0].Ja[0].zc=b}},hh={96:P.prototype.jn,97:P.prototype.kn,98:P.prototype.ln,99:P.prototype.mn,160:P.prototype.hn},jh={96:P.prototype.Dm,97:P.prototype.Em,
100:P.prototype.Cm,112:P.prototype.Rm,113:P.prototype.Sm,128:P.prototype.fn,132:function(a,b){this.Hb[0]=b},133:function(a,b){this.Hb[1]=b},134:function(a,b){this.Hb[2]=b},136:function(a,b){this.Hb[3]=b},137:function(a,b){this.va[1].Ja[2].zc=b},138:function(a,b){this.va[1].Ja[3].zc=b},139:function(a,b){this.va[1].Ja[1].zc=b},140:function(a,b){this.Hb[4]=b},141:function(a,b){this.Hb[5]=b},142:function(a,b){this.Hb[6]=b},143:function(a,b){this.va[1].Ja[0].zc=b},160:function(a,b){Jh(this,1,b)},161:function(a,
b){Lh(this,1,b)},192:function(a,b){yh(this,1,0,b)},194:function(a,b){Ah(this,1,0,b)},196:function(a,b){yh(this,1,1,b)},198:function(a,b){Ah(this,1,1,b)},200:function(a,b){yh(this,1,2,b)},202:function(a,b){Ah(this,1,2,b)},204:function(a,b){yh(this,1,3,b)},206:function(a,b){Ah(this,1,3,b)},208:function(a,b){this.va[1].Ug=b},210:function(a,b){Ch(this,1,b)},212:function(a,b){Dh(this,1,b)},214:function(a,b){this.va[1].Ja[b&3].mode=b},216:function(){this.va[1].xb=0},218:function(){for(var a=this.va[1],
b=0;b<a.Ja.length;b++)th(a,b)}};u(function(){for(var a=B(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new P(d);A(d,c);kh(d)}});function bi(a){v.call(this,"ROM",a,bi);this.hb=null;this.Vi=a.addr;this.Kg=a.size;this.Zk=a.alias;this.Cf=a.file;this.uj=a.notify;if(this.Cf){a=this.Cf;var b=fa(this.Cf);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.Cf+"&format=bytes&decimal=true");p(a,!0,null,this,bi.prototype.xm)}}y(v,bi);
bi.prototype.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;ci(this)};bi.prototype.Sb=function(){this.Sg&&(this.Ha&&this.Ha.Xn(this.Vi,this.Kg,this.Sg),delete this.Sg);return!0};bi.prototype.Jb=function(){return!0};
bi.prototype.xm=function(a,b,c){if(c)this.xa("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.hb=e;else if(f)for(this.hb=Array(4*f.length),c=b=0;b<f.length;b++)this.hb[c++]=f[b]&255,this.hb[c++]=f[b]>>8&255,this.hb[c++]=f[b]>>16&255,this.hb[c++]=f[b]>>24&255;else this.hb=d;this.Sg=d.symbols;if(!this.hb.length){t("Empty ROM: "+a);return}if(1==this.hb.length){t(this.hb[0]);return}}catch(l){this.xa("ROM data error: "+
l.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.hb=Array(a.length),d=0;d<a.length;d++)this.hb[d]=parseInt(a[d],16);ci(this)}};function ci(a){if(!Ea(a))if(!a.Cf)a.Oa();else if(a.hb&&a.ma){if(a.hb.length!=a.Kg)Fa(a,"ROM size (0x"+h(a.hb.length)+") does not match specified size (0x"+h(a.Kg)+")");else if(di(a,a.Vi)&&di(a,a.Zk)){if(a.uj){var b=Ba(a.uj,a.id);b&&("ega"==b.Da&&ei(b,a.hb,[8752,12640],8),b.Oa())}delete a.hb}a.Oa()}}
function di(a,b){if(null==b)return!0;if(La(a.ma,b,a.Kg,!0)){for(var c=0;c<a.hb.length;c++)Ra(a.ma,b+c,a.hb[c]);return!0}return!1}u(function(){for(var a=B(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new bi(d);A(d,c)}});function fi(a){v.call(this,"RAM",a,fi);this.Of=a.addr;this.gd=a.size;this.hl=a.test;this.el=!!this.gd;this.bg=!1}y(v,fi);fi.prototype.gc=function(a,b,c){this.ma=b;this.ja=c;this.Fa=a;this.ga=C(a,"ChipSet");this.Oa()};
fi.prototype.Sb=function(a,b){b||this.reset();return!0};fi.prototype.Jb=function(){return!0};
fi.prototype.reset=function(){if(!this.Of&&!this.el&&this.ga){var a=1024*oh(this.ga);this.gd&&a!=this.gd&&(Na(this.ma,this.Of,this.gd),this.bg=!1);this.gd=a}!this.bg&&this.gd&&La(this.ma,this.Of,this.gd)&&(this.bg=!0,this.status(Math.floor(this.gd/1024)+"Kb"));if(this.bg){if(this.hl||Sa(this.ma,1138,4660),this.ga&&(a=this.ga,a.ka)){var b=1048576>this.Of?21:23,c=a.ka[b]|a.ka[b+1]<<8,c=c+(this.gd>>10);a.ka[b]=c&255;a.ka[b+1]=c>>8;sh(a)}}else t("No RAM allocated")};
u(function(){for(var a=B(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new fi(d);A(d,c)}});function gi(a){v.call(this,"Keyboard",a,gi);this.Rg={};this.pm=250;this.qm=100;this.Oa()}y(v,gi);
var hi={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},ii={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},S=[];S[32]=57;S[49]=2;S[33]=61442;S[50]=3;S[64]=61443;S[51]=4;S[35]=61444;S[52]=5;S[36]=61445;S[53]=6;S[37]=61446;S[54]=7;S[94]=61447;
S[55]=8;S[38]=61448;S[56]=9;S[42]=61449;S[57]=10;S[40]=61450;S[48]=11;S[41]=61451;S[45]=12;S[95]=61452;S[61]=13;S[43]=61453;S[113]=16;S[81]=61456;S[119]=17;S[87]=61457;S[101]=18;S[69]=61458;S[114]=19;S[82]=61459;S[116]=20;S[84]=61460;S[121]=21;S[89]=61461;S[117]=22;S[85]=61462;S[105]=23;S[73]=61463;S[111]=24;S[79]=61464;S[112]=25;S[80]=61465;S[91]=26;S[123]=61466;S[93]=27;S[125]=61467;S[97]=30;S[65]=61470;S[115]=31;S[83]=61471;S[100]=32;S[68]=61472;S[102]=33;S[70]=61473;S[103]=34;S[71]=61474;
S[104]=35;S[72]=61475;S[106]=36;S[74]=61476;S[107]=37;S[75]=61477;S[108]=38;S[76]=61478;S[59]=39;S[58]=61479;S[39]=40;S[34]=61480;S[96]=41;S[126]=61481;S[92]=43;S[124]=61483;S[122]=44;S[90]=61484;S[120]=45;S[88]=61485;S[99]=46;S[67]=61486;S[118]=47;S[86]=61487;S[98]=48;S[66]=61488;S[110]=49;S[78]=61489;S[109]=50;S[77]=61490;S[44]=51;S[60]=61491;S[46]=52;S[62]=61492;S[47]=53;S[63]=61493;S[8]=14;S[9]=15;S[13]=28;S[27]=1;S[240]=42;S[224]=54;S[241]=29;S[242]=56;S[244]=58;S[336]=59;S[337]=60;S[338]=61;
S[339]=62;S[340]=63;S[341]=64;S[342]=65;S[343]=66;S[344]=67;S[345]=68;S[261]=75;S[262]=72;S[263]=77;S[264]=80;S[254]=61766;S[255]=15921491;g=li.prototype;
g.sb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.oa[a])switch(c){case "kbd":return this.oa[a]=d,d.onkeydown=function(a){return oi(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.wa&32?e.wa&=-33:b=e.wa&12?!1:!pi(e,a);return b},d.onkeyup=function(a){return oi(e,a,!1)},!0;default:if(void 0!==ni[c]&&"button"==b)return this.oa[a]=d,d.onclick=function(a,b,c){return function(){a.ja&&a.ja.Ae();return!pi(a,c)}}(this,c,ni[c]),!0;if(void 0!==mi[c])return this.oa[a]=
d,b=function(a,b,c){return function(){qi(a,c)}}(this,c,mi[c]),c=function(a,b,c){return function(){qi(a,c)}}(this,c,mi[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};g.dc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ga=d;this.Ea=a;this.ga=D(a,"ChipSet")};g.Ma=function(){this.bl=(this.kl=oa("iOS"))||oa("Android");return v.prototype.Ma.call(this)};function ci(a){a.cc=[170];a.ga&&R(a.ga,1,4)}
function ai(a,b){var c=0;a.cc.length&&(c=a.cc[0],b&&di(a));return c}function di(a,b){0<a.cc.length&&(b?a.cc=[]:(a.cc.shift(),0<a.cc.length&&a.ga&&R(a.ga,1)))}g.Rb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};g.Ib=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.ud();this.wa=0;this.cc=[];if(this.Nc)for(var a in this.Nc)null!==a.match(/^[0-9]+$/)||this.Nc[a]&&clearTimeout(this.Nc[a]);this.Nc=[];this.Dk=this.ce=0};
g.save=function(){var a=new H(this);a.set(0,this.Fi());return a.data()};g.restore=function(a){return this.ud(a[0])};g.ud=function(a){var b=0;void 0===a&&(a=[]);this.hh=a[b++];this.jh=a[b];return!0};g.Fi=function(){var a=0,b=[];b[a++]=this.hh;b[a]=this.jh;return b};
function qi(a,b){var c=b&127,d=c==b;if(a.cc)if(20>a.cc.length){if(!(!d&&!a.Ng[c]||d&&a.Ng[c])){a.Ng[c]=d;a.cc.push(b);1==a.cc.length&&a.ga&&R(a.ga,1);for(var e in mi)if(mi[e]==c){(c=a.oa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.cc.length&&a.cc.push(255)}function ri(a,b){var c=b?a.mm:a.lm;a.ja&&a.ja.Ic&&(c/=a.ja.Ic);return c}function si(a,b){!a.ce||void 0!==b&&b==a.ce||(clearTimeout(a.Nc[a.ce]),ti(a,a.ce,!1))}
function oi(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Dk=f);240==f+224?(a.wa&=-2,c&&(a.wa|=1),f+=224,e=!1):241==f+224?(a.wa&=-5,c&&(a.wa|=4),f+=224,e=!1):242==f+224?(a.wa&=-9,c&&(a.wa|=8),f+=224,e=!1):244==f+224?(a.wa&=-17,c&&(a.wa|=16),f+=224,d=pi(a,f)):91==f?(a.wa&=-33,c&&(a.wa|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.wa&12)&&(f=254),d=c?!pi(a,f):!1):void 0!==S[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.wa&=-33,a.bl||f!=a.Dk||si(a));void 0===d&&(d=!ti(a,f,c));return d}
function pi(a,b,c){var d=!1;si(a,b);ti(a,b,!0)&&(c?ti(a,b,!1):(c=!1,a.Nc[b]&&(clearTimeout(a.Nc[b]),c=!0),c=ri(a,c),a.Nc[a.ce=b]=setTimeout(function(a){return function(){ti(a,b,!1)}}(a),c)),d=!0);return d}
function ti(a,b,c){var d=!1;c||(a.Nc[b]=null,a.ce==b&&(a.ce=0));var e=S[b];void 0===e&&1<=b&&26>=b&&(e=S[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.wa&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.wa&17||(d=42):224==f?a.wa&18||(d=54):241==f?a.wa&4||(d=29):242==f&&(a.wa&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;c<b.length;c++)qi(a,b[c]);d=!0}return d}
u(function(){for(var a=B(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new li(d);A(d,c)}});
function T(a,b,c,d){v.call(this,"Video",a,T);this.Ca=a.model;this.zc=0;"ega"==this.Ca&&(this.Kk=a.switches,this.zc=a.memory||0);this.Kc=a.mode;if(void 0===this.Kc||void 0===U[this.Kc])this.Kc=ui;this.qg=a.charCols;this.Fh=a.charRows;if(void 0===this.qg||void 0===this.Fh)this.qg=U[this.Kc][0],this.Fh=U[this.Kc][1];this.Sc=a.screenWidth;this.rd=a.screenHeight;this.cl=a.scale;this.$k=12<=Math.round(this.Sc/this.qg);this.el=a.touchScreen;this.pb=b;this.Ac=c;this.Pk=d;this.Wa=this.$b=0;this.gd=[];this.Oc=
Array(16);this.kh=!1;var e=this;this.pb&&(this.pb.onfocus=function(){e.kh=!0},this.pb.onblur=function(){e.kh=!1});if(a=a.fontROM)"json"!=fa(a)&&(a=la()+"/api/v1/dump?file="+a+"&format=bytes"),p(a,!0,null,this,this.um)}y(v,T);
var vi={2:{Hh:15700,Gh:208,wi:85,xi:96},3:{Hh:18432,Gh:364,wi:85,xi:96},4:{Hh:21850,Gh:364,wi:85,xi:96}},wi={6:[1,3,!0],7:[2,3,!0],8:[5,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[5,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},ui=7,U=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];U[ui]=[80,25,1,0,1];U[13]=[320,200,16];U[14]=[640,200,16];U[15]=[640,350,16];U[16]=[640,350,16];U[0]=U[1];U[2]=U[3];U[5]=U[4];var xi=Array(5);xi[0]=[0,0,0,255];xi[1]=[127,192,127,255];
xi[2]=[127,192,127,255];xi[3]=[127,255,127,255];xi[4]=[127,255,127,255];var yi=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],W=Array(16);W[0]=[0,0,0,255];W[1]=[0,0,170,255];W[2]=[0,170,0,255];W[3]=[0,170,170,255];W[4]=[170,0,0,255];W[5]=[170,0,170,255];W[6]=[170,85,0,255];W[7]=[170,170,170,255];W[8]=[85,85,85,255];W[9]=[85,85,255,255];W[10]=[85,255,85,255];W[11]=[85,255,255,255];W[12]=[255,85,85,255];W[13]=[255,85,255,255];W[14]=[255,255,85,255];W[15]=[255,255,255,255];
var zi=[2,4,6],Ai=[3,5,7],Bi=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Ci=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],X=[0];X[128]=1;X[32768]=2;X[32896]=3;X[8388608]=4;X[8388736]=5;X[8421376]=6;X[8421504]=7;X[2147483648]=8;X[2147483776]=9;X[2147516416]=10;X[2147516544]=11;X[2155872256]=12;X[2155872384]=13;X[2155905024]=14;X[2155905152]=15;
function Di(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Ei[b],f=a.xd||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Fi)];this.fg=b;this.Wa=e[2];this.$b=e[3];this.zc=d||e[4];65536<=this.zc&&720896<=this.Wa&&(this.$b=Math.min(this.zc>>2,32768));this.Wb=c[0];this.ec=c[1];this.Se=c[2];this.Bf=c[3];this.qc=c[4]&255;this.eg=c[4]>>8&255;this.Tb=c[5];this.zh=Fi;if(5==b){this.zh=Gi;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.zc,Array(this.zc>>2),771,0,4294967295,
0,4294967295,0,4294967295,0]);this.sd=b[0];this.Xd=b[1];this.Gd=b[2];this.Gi=b[3];this.kg=b[4];this.ph=b[5];this.te=b[6];this.If=b[7];this.sh=b[8];this.th=b[9];this.se=b[10];this.he=b[11];this.ib=b[12];d=this.zc>>2;if((this.Jd=b[14])&&this.Jd.length<d){for(var e=this.Jd,l=0,k=Array(d),m=0;m<e.length-1;){for(var n=e[m++],q=e[m++];n--;)k[l]=q,l+=2;l==d&&(l=1)}this.Jd=k}this.Fg(b[15]);this.ri=b[16];this.Ra=b[17];this.Jc=b[18];this.Ua=b[19];this.tg=b[20];this.zd=b[21];this.$d=b[22];this.Bh=b[23];this.Ch=
b[24]}f=vi[f]||vi[3];this.Dh=a.ja.ad/f.Hh|0;this.om=this.Dh*f.wi/100|0;this.yj=this.Dh*f.Gh;this.qm=this.yj*f.xi/100|0;this.Ih=null==c[7]?0:c[7]}}var Fi=18,Gi=25;function Hi(a){return this.tc(a)|this.tc(a+1)<<8}function Ii(a,b){this.vc(a,b&255);this.vc(a+1,b>>8&255)}var Y=[,,function(a){a+=this.offset;return(this.ea.ib=this.la[a])>>this.ea.ri&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.la[b]>>8:this.la[b])&255}];
Y[16]=function(a){a+=this.offset;a=this.la[a];for(var b=this.ea.Bh&this.ea.Ch,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.la[c]&~this.ea.Ra|(b|b<<8|b<<16|b<<24)&this.ea.Ra;d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};
Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Jc|b<<8-this.ea.Jc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.zd|this.ea.$d;d=d&this.ea.Ra|this.la[c]&~this.ea.Ra;d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};
Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Jc|b<<8-this.ea.Jc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.zd|this.ea.$d;d&=this.ea.ib;d=d&this.ea.Ra|this.la[c]&~this.ea.Ra;d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};
Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Jc|b<<8-this.ea.Jc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.zd|this.ea.$d;d|=this.ea.ib;d=d&this.ea.Ra|this.la[c]&~this.ea.Ra;d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};
Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Jc|b<<8-this.ea.Jc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.zd|this.ea.$d;d^=this.ea.ib;d=d&this.ea.Ra|this.la[c]&~this.ea.Ra;d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.Ra&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.la[d]&~c;c=c&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[d]!=c&&(this.la[d]=c,this.Na=!0)};
Y[4096]=function(a){a+=this.offset;var b=this.la[a]&~this.ea.Ra|this.ea.ib&this.ea.Ra;this.la[a]!=b&&(this.la[a]=b,this.Na=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=Ci[b&15],d=d&this.ea.Ra|this.la[c]&~this.ea.Ra,d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=Ci[b&15],d=d&this.ea.ib,d=d&this.ea.Ra|this.la[c]&~this.ea.Ra,d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};
Y[40960]=function(a,b){var c=a+this.offset,d=Ci[b&15],d=d|this.ea.ib,d=d&this.ea.Ra|this.la[c]&~this.ea.Ra,d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=Ci[b&15],d=d^this.ea.ib,d=d&this.ea.Ra|this.la[c]&~this.ea.Ra,d=d&this.ea.Ua|this.ea.ib&~this.ea.Ua;this.la[c]!=d&&(this.la[c]=d,this.Na=!0)};
function Ji(a){var b=[];if(void 0!==a.fg){b[0]=a.Wb;b[1]=a.ec;b[2]=a.Se;b[3]=a.Bf;b[4]=a.qc|a.eg<<8;b[5]=a.Tb;if(5==a.fg){var c=[];c[0]=a.sd;c[1]=a.Xd;c[2]=a.Gd;c[3]=a.Gi;c[4]=a.kg;c[5]=a.ph;c[6]=a.te;c[7]=a.If;c[8]=a.sh;c[9]=a.th;c[10]=a.se;c[11]=a.he;c[12]=a.ib;c[13]=a.zc;var d;a:if(d=a.Jd){var e=0,f=[];if(void 0!==d[0])for(var l=0;2>l;l++)for(var k=l;k<d.length;){for(var m=d[k],n=k+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-k>>1;f[e++]=m;k=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=a.yh;c[16]=
a.ri;c[17]=a.Ra;c[18]=a.Jc;c[19]=a.Ua;c[20]=a.tg;c[21]=a.zd;c[22]=a.$d;c[23]=a.Bh;c[24]=a.Ch;b[6]=c}b[7]=a.Ih}return b}Di.prototype.Fg=function(a){if(null!=a&&a!=this.yh){var b=a&255,c=Y[b];c||b&1&&(c=Y[1]);var b=a&65280,d=Y[b];d||b&256&&(d=Y[256]);this.Ke||(this.Ke=[null,Hi,null,Ii]);this.Ke[0]=c;this.Ke[2]=d;this.yh=a}};var Ei=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];g=T.prototype;
g.dc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ga=d;Za(b,this,Ki);ab(b,this,Li);"ega"==this.Ca&&(Za(b,this,Mi),ab(b,this,Ni));(this.Za=D(a,"Keyboard"))&&this.pb&&this.Za.sb("input",this.Pk?"textarea":"canvas","kbd",this.Pk||this.pb);this.Mf=9;(this.ga=D(a,"ChipSet"))&&this.Kk&&(this.Mf=dh(this.Kk,this.Mf));this.Za&&this.el&&Oi(this)};g.sb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.oa[c]=d,d.onclick=function(){hb(e,!0)},!0}return!1};g.Ae=function(){this.pb&&this.pb.focus()};
function Oi(a){var b=a.pb;b&&!a.gh&&(b.addEventListener("touchstart",function(b){Pi(a,b)},!1),b.addEventListener("touchmove",function(b){Pi(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.gh=!0)}
function Pi(a,b){a.kh&&b.preventDefault();var c=0,d=0,e=a.pb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.Sc/a.pb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.Sc/3)|0;d=a.rd/a.pb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.rd/3)|0;1!=d?d?pi(a.Za,264,!0):pi(a.Za,262,!0):1!=c&&(c?pi(a.Za,263,!0):pi(a.Za,261,!0))}g.Rb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
g.Ib=function(a){return a&&this.save?this.save():!0};
g.reset=function(){var a=!0,b=0;this.ga&&(b=uh(this.ga));var c=!1;if(this.Ca)switch(this.Ca){case "ega":var c=!0,d=wi[this.Mf];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.xd!==b&&(this.xd=b,a=!0);this.ya=null;this.yc=this.Vg=new Di(this,1);this.Mb=this.Uf=new Di(this,3);c?(this.ia=new Di(this,5,null,this.zc),Qi(this)):this.ia=new Di;Ri(this);this.wd=null;this.Kc=3==b?ui:3;this.Qd=this.rc=-1;this.Pd=0;Si(this,this.Kc);if(this.ya.Wa&&a){a=this.ya.Wa+this.Wg;for(b=this.ya.Wa;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.xd?(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),Xa(this.ma,b,c|d<<8);hb(this,!0)}};function Qi(a){a.ia.kg&1?(a.yc=a.Vg,a.Mb=a.ia):(a.yc=a.ia,a.Mb=a.Uf)}g.save=function(){var a=new H(this);a.set(0,Ji(this.Vg));a.set(1,Ji(this.Uf));a.set(2,[this.xd,this.Kc,this.wd]);a.set(3,Ji(this.ia));return a.data()};
g.restore=function(a){var b=a[2];this.xd=b[0];this.Kc=b[1];this.wd=b[2];this.ya=null;this.yc=this.Vg=new Di(this,1,a[0]);this.Mb=this.Uf=new Di(this,3,a[1]);this.ia=new Di(this,5,a[3],this.zc);this.ia.Wb&&Qi(this);Ri(this);if(!Ti(this))return!1;Ui(this);return!0};
g.um=function(a,b,c){if(c)C(this,"Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){this.error("Empty font ROM image: "+a);return}if(1==d.length){this.error(d[0]);return}if(8192==d.length)ji(this,d,[0,6144]);else{C(this,"Unrecognized font data length ("+d.length+")");return}}catch(e){C(this,"Font ROM data error: "+e.message);return}this.Ma()}};
function Vi(a,b){if(1==b)return a.Oc[0]=W[0],a.Oc[1]=W[7],a.Oc;if(2==b){var c=a.ya.Se;if(a.ya===a.ia){var d=a.ia.Gd[0],c=d&7;d&16&&(c|=8);18!=a.ia.Gd[1]&&(c|=32)}a.Oc[0]=W[c&15];c=c&32?Ai:zi;for(d=0;d<c.length;d++)a.Oc[d+1]=W[c[d]];return a.Oc}if(a.Mb===a.Uf)return W;c=null!=a.ia.Gd[15]?a.ia.Gd:Bi;for(d=0;d<a.Oc.length;d++){var e=c[d]||0;a.Oc[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.Oc}function ji(a,b,c,d){a.Jf=b;a.Mg=c;a.Ud=d}
function Ri(a){var b=!1;if(window&&a.Jf){var c=a.Ud?0:2048,d=a.Ud?a.Ud:9;Wi(a,1,a.Mg[0],c,d,14,a.Jf,xi,yi)&&(b=!0);c=Vi(a);d=a.Ud?a.Ud:8;Wi(a,3,a.Mg[1],0,d,8,a.Jf,c)&&(b=!0);a.Ud&&Wi(a,5,a.Mg[0],0,a.Ud,14,a.Jf,c)&&(b=!0)}return b}function Wi(a,b,c,d,e,f,l,k,m){var n=!1;Xi(a,b,c,d,e,f,l,k,m)&&(n=!0);a.$k&&Xi(a,b<<1,c,d,e,f,l,k,m)&&(n=!0);return n}
function Xi(a,b,c,d,e,f,l,k,m){var n=!1,q=b&1?0:1,s=a.gd[b];s||(s={Ub:e<<q,Vb:f<<q,ge:Array(k.length),Ni:k.slice(),Ge:m,Kg:Array(k.length)});for(m=0;m<k.length;m++){var r=k[m],x=s.ge[m]?s.Ni[m]:[];if(r[0]!==x[0]||r[1]!==x[1]||r[2]!==x[2]){var n=s,x=m,L=q,V=c,ca=d,da=e,gb=f,mc=l,kd=[0,0,0,0],nc=window.document.createElement("canvas");nc.width=n.Ub<<4;nc.height=n.Vb<<4;for(var Rh=nc.getContext("2d"),ua=void 0,rb=void 0,Sa=void 0,oc=8>gb||!ca?gb:8,ld=Rh.createImageData(n.Ub,n.Vb),ua=0;256>ua;ua++){for(Sa=
0;Sa<gb;Sa++)for(var Uj=n.Ge&&x&1&&Sa>=gb-2,Vj=mc[Sa<oc?V+ua*oc+Sa:ca+ua*oc+Sa-oc],md=0;md<=L;md++)for(rb=0;rb<da;rb++){var Sh=rb<<L,Th=(Sa<<L)+md,Uh=Uj||Vj&128>>(8<=rb&&176<=ua&&223>=ua?7:rb)?r:kd;Yi(ld,Sh,Th,Uh);L&&Yi(ld,Sh+1,Th,Uh)}Rh.putImageData(ld,(ua&15)*n.Ub,(ua>>4)*n.Vb)}n.ge[x]="#"+aa(r[0])+aa(r[1])+aa(r[2]);n.Ni[x]=r;n.Kg[x]=nc;n=!0}}a.gd[b]=s;return n}function Zi(a){0<a.Pd||0<=a.rc?0>a.Qd&&(a.Qd=0):a.Qd=-1}
function Ui(a){if(a.zb){for(var b=10;15>=b;b++)if(null==a.ya.Tb[b])return;var c=a.ya.Tb[10],b=c&31,d=a.ya.Tb[11]&31,e=a.ya.Tb[9]&31,f=!1;a.ya===a.ia&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)$i(a);else{c=a.ya.Tb[15]+((a.ya.Tb[14]&63)<<8);a.rc!=c&&($i(a),a.rc=c);d=d-b+1;if(a.Rk!=b||a.cj!=d)a.Rk=b,a.cj=d;a.qd=e+1;Zi(a)}}}
function $i(a){if(0<=a.rc){if(void 0!==a.Kb){var b=a.Kb[a.rc];if(b&131072){var b=b&-131073,c=a.rc%a.jb,d=Math.floor(a.rc/a.jb);a.zb&&a.gd[a.zb]&&(a.ne&&aj(a,c,d,b,a.ne),aj(a,c,d,b));a.Kb[a.rc]=b}}a.rc=-1}}
function bj(a){var b;a=a.ya;var c=a.he[5];if(null!=c){b=2;var d=512,e=a.he[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.Jc=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}g.Dd=function(a){var b=this.ya;null!=a&&b&&a!=b.yh&&(b.Fg(a),this.ma.Fg(b.Wa,b.$b,b.Ke))};
function Ti(a,b){var c,d=a.wd,e=a.ya;if(e)if(1==e.fg)d=ui;else if(5==e.fg){var d=null,f=e.zc>>2,l=32768<f?32768:f,k=e.he[6];if(null!=k){switch(k&12){case 0:e.Wa=655360;e.$b=f;d=255;break;case 4:e.Wa=655360;e.$b=f;d=3==a.xd?15:16;break;case 8:e.Wa=720896;e.$b=l;d=ui;break;case 12:e.Wa=753664,e.$b=l,d=3==a.xd?2:3}c=e.If[1]&8;f=e.Tb[6]|(e.Tb[7]&1)<<8;255!=d&&(k&1?753664==e.Wa?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=bj(a)}}else e.ec&8&&(e.ec&2?(d=e.ec&16?6:5,e.ec&4||(d-=1)):(d=e.ec&1?3:1,e.ec&4&&(d-=
1)));else a.wd=null,null==d&&(d=a.Kc);if(!Si(a,d,b))return!1;a.Dd(c);return!0}
function Si(a,b,c){if(null!=b&&(b!=a.wd||c)){a.Wk=0;a.wd=b;b=a.ya||(b==ui?a.yc:a.Mb);if(b!=a.ya||b.Wa!=a.Wa||b.$b!=a.$b){$i(a);if(a.Wa){if(!Ta(a.ma,a.Wa,a.$b))return!1;a.ya&&(a.ya.Wb=!1)}a.ya=b;b.Wb=!0;a.Wa=b.Wa;a.$b=b.$b;if(!Qa(a.ma,b.Wa,b.$b,!1,b===a.ia?b:null))return!1}a.zb=0;a.jb=a.qg;a.Yb=a.Fh;a.Ah=U[ui][2];b=0;var d=U[a.wd];d&&(a.jb=d[0],a.Yb=d[1],a.Ah=d[2],b=d[3]||0,a.zb=d[4],4==a.xd&&a.ya===a.ia&&3==a.zb&&(7==a.ia.Tb[9]?a.Yb=43:a.zb=5));a.vj=a.jb*a.Yb;a.ng=a.vj/a.Ah;a.Wg=(a.ng<<1)+b;a.aj=
b?a.Wg+b>>1:0;13<=a.wd&&(a.ng<<=1);a.gd.length&&(a.Tc=Math.floor(a.Sc/a.jb),a.Uc=Math.floor(a.rd/a.Yb),a.zb?(b=a.gd[a.zb],d=a.gd[a.zb<<1],a.cl&&80==a.jb?d&&a.Tc>=3*d.Ub>>2&&(a.zb<<=1,b=d):(d&&a.Tc>=d.Ub&&(a.zb<<=1,b=d),b&&(a.Tc=b.Ub,a.Uc=b.Vb)),a.Ve=a.We=0,b&&(a.Ve=a.jb*b.Ub,a.We=a.Yb*b.Vb)):(a.Tc=a.Uc=1,a.Ve=a.jb,a.We=a.Yb),a.hg=a.Ac.createImageData(a.Ve,a.We),a.me=window.document.createElement("canvas"),a.me.width=a.Ve,a.me.height=a.We,a.ne=a.me.getContext("2d"),a.Ji=a.Ki=0,a.Yg=a.Sc,a.Zg=a.rd,
b=a.Sc-a.jb*a.Tc,d=a.rd-a.Yb*a.Uc,0<b&&(a.Ji=b>>1,a.Yg-=b),0<d&&(a.Ki=d>>1,a.Zg-=d),b||d)&&(a.Ac.fillStyle=a.pb.style.backgroundColor,a.Ac.fillRect(0,0,a.Sc,a.rd));!1!==c?hb(a,!0):cj(a,!0)}return!0}function Yi(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 cj(a,b){var c;if(b){if(c=a.ng,void 0===a.Kb||a.Kb.length!=c)a.Kb=Array(c)}else{if(void 0===a.Kb)return;c=a.Kb.length}for(var d=0;d<c;d++)a.Kb[d]=-1;a.Pd=-1}
function aj(a,b,c,d,e){var f=d&255,l=d>>8;d=l&15;var k=a.gd[a.zb];k.Ge&&(d=k.Ge[d]);var m=l>>4&15;k.Ge&&(m=k.Ge[m]);e?(b*=k.Ub,c*=k.Vb,e.fillStyle=k.ge[m],e.fillRect(b,c,k.Ub,k.Vb)):(b=b*a.Tc+a.Ji,c=c*a.Uc+a.Ki,a.Ac.fillStyle=k.ge[m],a.Ac.fillRect(b,c,a.Tc,a.Uc));l&256&&(m=(f&15)*k.Ub,f=(f>>4)*k.Vb,e?e.drawImage(k.Kg[d],m,f,k.Ub,k.Vb,b,c,k.Ub,k.Vb):a.Ac.drawImage(k.Kg[d],m,f,k.Ub,k.Vb,b,c,a.Tc,a.Uc));l&512&&(f=a.Rk,l=a.cj,e?(a.qd&&a.qd!==k.Vb&&(f=Math.floor(f*k.Vb/a.qd),l=Math.floor(l*k.Vb/a.qd)),
e.fillStyle=k.ge[d],e.fillRect(b,c+f,k.Ub,l)):(a.qd&&a.qd!==a.Uc&&(f=Math.floor(f*a.Uc/a.qd),l=Math.floor(l*a.Uc/a.qd)),a.Ac.fillStyle=k.ge[d],a.Ac.fillRect(b,c+f,a.Tc,l)))}
function hb(a,b){if(a.yb){var c=!1;a.ya&&(a.ya===a.ia?a.ia.Xd&32&&(c=!0):a.ya.ec&8&&(c=!0));if(c||b){if(b)cj(a,!0);else if(void 0===a.Kb)return;var d=!1;!(b||++a.Wk&15)&&0<=a.Qd&&(a.Qd++,d=!0);var e=0,f=a.vj,c=a.ya.Wa,l=c+a.ya.$b,k=(a.ya.Tb[12]<<8)+a.ya.Tb[13];a.zb&&(k<<=1);var c=c+k,m=a.Wg;c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(k=!b){for(var k=a.ma,n=!0,q=c>>k.Hb;0<m&&q<k.xa.length;)k.xa[q].Na&&(k.xa[q].Na=n=!1,k.xa[q].fj=!0),m-=k.lc,q++;k=n}if(k){if(!d)return;if(!a.Pd){if(0>a.rc)return;e=a.rc;f=e+1}}if(a.zb){if(a.gd[a.zb]){d=
0;k=a.Pd=0;m=1048575;a.ya.ec&32&&(k=32768,m&=~k,a.Qd&2||(m&=-65537));for(c+=e<<1;c<l&&e<f;)n=Va(a.ma,c),n|=65536,n&k&&(a.Pd++,n&=m),e==a.rc&&(n|=a.Qd&1?131072:0),q=a.Kb[e],q!=n&&(aj(a,e%a.jb,Math.floor(e/a.jb),n,a.ne),a.Kb[e]=n,d++),c+=2,e++;d&&a.ne&&a.Ac.drawImage(a.me,0,0,a.Ve,a.We,a.Ji,a.Ki,a.Yg,a.Zg);Zi(a)}}else if(a.aj){for(var f=l,s,r,e=c,l=a.Pd=0,d=a.Ah,k=16==d?65536:196608,m=16==d?1:2,n=Vi(a,m),x=q=0,L=a.jb,V=0,ca=a.Yb,da=0;e<f;){s=Va(a.ma,e);r=a.Kb[l];if(r===s)q+=d;else{a.Kb[l]=s;s=s>>8|
(s&255)<<8;r=k;var gb=16;q<L&&(L=q);for(var mc=0;mc<d;mc++){var kd=(s&(r>>=m))>>(gb-=m);Yi(a.hg,q++,x,n[kd])}q>V&&(V=q);x<ca&&(ca=x);x>=da&&(da=x+1)}e+=2;l++;if(q>=a.jb){q=0;x+=2;if(x>a.Yb)break;x==a.Yb&&(x=1,e=c+a.aj)}}L<a.jb&&(a.ne.putImageData(a.hg,0,0,L,ca,V-L,da-ca),a.Ac.drawImage(a.me,0,0,a.jb,a.Yb,0,0,a.Sc,a.rd))}else{f=l;e=a.Pd=0;l=Vi(a);d=a.ya.Jd;m=k=0;n=a.jb;q=0;x=a.Yb;for(L=0;c<f;){V=c++-a.Wa;V=d[V];ca=a.Kb[e];if(ca===V)k+=8;else{a.Kb[e]=V;k<n&&(n=k);for(ca=0;8>ca;ca++)da=V&2155905152,
0>da&&(da=-da),da=X[da]||0,Yi(a.hg,k++,m,l[da]),V<<=1;k>q&&(q=k);m<x&&(x=m);m>=L&&(L=m+1)}e++;if(k>=a.jb&&(k=0,++m>a.Yb))break}n<a.jb&&(a.ne.putImageData(a.hg,0,0,n,x,q-n,L-x),a.Ac.drawImage(a.me,0,0,a.jb,a.Yb,0,0,a.Sc,a.rd))}}}}g.Ql=function(){return this.yc.qc};g.$m=function(a,b){var c=this.yc;c.eg=c.qc;c.qc=b&31};g.Pl=function(){return dj(this.yc)};g.Zm=function(a,b){ej(this,this.yc,b)};g.Rl=function(){return this.yc.ec};g.an=function(a,b){this.yc.ec=b;Ti(this,!1)};
g.Sl=function(){return fj(this,this.yc)};g.Bk=function(a,b){this.ia.ph=this.ia.ph&-4|b&3};g.rj=function(){var a=this.ia.sd?this.ia.Gd[this.ia.Xd&31]:this.ia.Xd;this.ia.sd=!this.ia.sd;return a};g.Ak=function(a,b){var c=this.ia.Xd&32;if(this.ia.sd){var d=this.ia.Xd&31;if(16<=d||!c)this.ia.Gd[d]=b;this.ia.sd=!1}else this.ia.Xd=b,this.ia.sd=!0,b&32&&!c&&Ri(this)&&hb(this,!0)};g.bm=function(){var a=3-((this.ia.kg&12)>>2),a=this.ia.Gi&-17|(this.Mf&1<<a)<<4-a;return this.ia.Gi=a};
g.cn=function(a,b){this.ia.kg=b;Qi(this)};g.am=function(){return this.ia.te};g.kn=function(a,b){this.ia.te=b};g.$l=function(){return this.ia.If[this.ia.te]};g.jn=function(a,b){this.ia.If[this.ia.te]=b;2==this.ia.te&&(this.ia.Ra=Ci[b&15])};g.Il=function(){return this.ia.sh};g.Um=function(a,b){this.ia.sh=b};g.Jl=function(){return this.ia.th};g.Vm=function(a,b){this.ia.th=b};g.Hl=function(){return this.ia.se};g.Tm=function(a,b){this.ia.se=b};g.Gl=function(){return this.ia.he[this.ia.se]};
g.Sm=function(a,b){this.ia.he[this.ia.se]=b;switch(this.ia.se){case 0:this.ia.tg=Ci[b&15];this.ia.$d=this.ia.tg&~this.ia.zd;break;case 1:this.ia.zd=~Ci[b&15];this.ia.$d=this.ia.tg&~this.ia.zd;break;case 2:this.ia.Bh=Ci[b&15]&2155905152;break;case 3:case 5:this.Dd(bj(this));break;case 4:this.ia.ri=(b&3)<<3;break;case 6:Ti(this,!1);break;case 7:this.ia.Ch=Ci[b&15^15]&2155905152;break;case 8:this.ia.Ua=b|b<<8|b<<16|b<<24}};g.yl=function(){return this.Mb.qc};
g.Lm=function(a,b){var c=this.Mb;c.eg=c.qc;c.qc=b&31};g.xl=function(){return dj(this.Mb)};g.Km=function(a,b){ej(this,this.Mb,b)};g.zl=function(){return this.Mb.ec};g.Mm=function(a,b){this.Mb.ec=b;Ti(this,!1)};g.wl=function(){return this.Mb.Se};g.Jm=function(a,b){this.Mb.Se!==b&&(this.Mb.Se=b,cj(this,!1))};g.Al=function(){return fj(this,this.Mb)};function dj(a){var b;a.qc<a.zh&&(b=a.Tb[a.qc]);return b}function ej(a,b,c){b.qc<b.zh&&(b.Tb[b.qc]=c,9==b.qc&&8!=b.eg&&Ti(a,!0),Ui(a))}
function fj(a,b){var c=0,d=qb(a.ja),e=d-b.Ih;0>e&&(e=0);e%b.Dh>b.om&&(c|=1);e%=b.yj;e>b.qm&&(c|=8);b.Ih=d-e;b===a.ia?(c|=b.Bf&48^48,b.sd=!1):c=(b.Bf^=9)|240;return b.Bf=c}
var Ki={948:T.prototype.Ql,949:T.prototype.Pl,952:T.prototype.Rl,954:T.prototype.Sl,980:T.prototype.yl,981:T.prototype.xl,984:T.prototype.zl,985:T.prototype.wl,986:T.prototype.Al},Li={948:T.prototype.$m,949:T.prototype.Zm,952:T.prototype.an,980:T.prototype.Lm,981:T.prototype.Km,984:T.prototype.Mm,985:T.prototype.Jm},Mi={960:T.prototype.rj,961:T.prototype.rj,962:T.prototype.bm,964:T.prototype.am,965:T.prototype.$l,970:T.prototype.Jl,972:T.prototype.Il,974:T.prototype.Hl,975:T.prototype.Gl},Ni={954:T.prototype.Bk,
960:T.prototype.Ak,961:T.prototype.Ak,962:T.prototype.cn,964:T.prototype.kn,965:T.prototype.jn,970:T.prototype.Vm,972:T.prototype.Um,974:T.prototype.Tm,975:T.prototype.Sm,986:T.prototype.Bk};
S[339]=62;S[340]=63;S[341]=64;S[342]=65;S[343]=66;S[344]=67;S[345]=68;S[261]=75;S[262]=72;S[263]=77;S[264]=80;S[254]=61766;S[255]=15921491;g=gi.prototype;
g.tb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.oa[a])switch(c){case "kbd":return this.oa[a]=d,d.onkeydown=function(a){return ji(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.wa&32?e.wa&=-33:b=e.wa&12?!1:!ki(e,a);return b},d.onkeyup=function(a){return ji(e,a,!1)},!0;default:if(void 0!==ii[c]&&"button"==b)return this.oa[a]=d,d.onclick=function(a,b,c){return function(){a.ja&&a.ja.Ce();return!ki(a,c)}}(this,c,ii[c]),!0;if(void 0!==hi[c])return this.oa[a]=
d,b=function(a,b,c){return function(){li(a,c)}}(this,c,hi[c]),c=function(a,b,c){return function(){li(a,c)}}(this,c,hi[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;this.Fa=a;this.ga=C(a,"ChipSet")};g.Oa=function(){this.fl=(this.ol=oa("iOS"))||oa("Android");return v.prototype.Oa.call(this)};function Yh(a){a.fc=[170];a.ga&&R(a.ga,1,4)}
function Wh(a,b){var c=0;a.fc.length&&(c=a.fc[0],b&&Zh(a));return c}function Zh(a,b){0<a.fc.length&&(b?a.fc=[]:(a.fc.shift(),0<a.fc.length&&a.ga&&R(a.ga,1)))}g.Sb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};g.Jb=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.wd();this.wa=0;this.fc=[];if(this.Pc)for(var a in this.Pc)null!==a.match(/^[0-9]+$/)||this.Pc[a]&&clearTimeout(this.Pc[a]);this.Pc=[];this.Hk=this.ee=0};
g.save=function(){var a=new H(this);a.set(0,this.Ki());return a.data()};g.restore=function(a){return this.wd(a[0])};g.wd=function(a){var b=0;void 0===a&&(a=[]);this.mh=a[b++];this.oh=a[b];return!0};g.Ki=function(){var a=0,b=[];b[a++]=this.mh;b[a]=this.oh;return b};
function li(a,b){var c=b&127,d=c==b;if(a.fc)if(20>a.fc.length){if(!(!d&&!a.Rg[c]||d&&a.Rg[c])){a.Rg[c]=d;a.fc.push(b);1==a.fc.length&&a.ga&&R(a.ga,1);for(var e in hi)if(hi[e]==c){(c=a.oa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.fc.length&&a.fc.push(255)}function mi(a,b){var c=b?a.qm:a.pm;a.ja&&a.ja.Lc&&(c/=a.ja.Lc);return c}function ni(a,b){!a.ee||void 0!==b&&b==a.ee||(clearTimeout(a.Pc[a.ee]),oi(a,a.ee,!1))}
function ji(a,b,c){var d,e=!c,f=b.keyCode;c&&(a.Hk=f);240==f+224?(a.wa&=-2,c&&(a.wa|=1),f+=224,e=!1):241==f+224?(a.wa&=-5,c&&(a.wa|=4),f+=224,e=!1):242==f+224?(a.wa&=-9,c&&(a.wa|=8),f+=224,e=!1):244==f+224?(a.wa&=-17,c&&(a.wa|=16),f+=224,d=ki(a,f)):91==f?(a.wa&=-33,c&&(a.wa|=32),e=!1,d=!0):9==f||27==f||8==f?(8==f&&4==(a.wa&12)&&(f=254),d=c?!ki(a,f):!1):void 0!==S[f+224]?f+=224:b.altKey||b.ctrlKey?65<=f&&90>=f&&(f+=32):d=!0;e&&(a.wa&=-33,a.fl||f!=a.Hk||ni(a));void 0===d&&(d=!oi(a,f,c));return d}
function ki(a,b,c){var d=!1;ni(a,b);oi(a,b,!0)&&(c?oi(a,b,!1):(c=!1,a.Pc[b]&&(clearTimeout(a.Pc[b]),c=!0),c=mi(a,c),a.Pc[a.ee=b]=setTimeout(function(a){return function(){oi(a,b,!1)}}(a),c)),d=!0);return d}
function oi(a,b,c){var d=!1;c||(a.Pc[b]=null,a.ee==b&&(a.ee=0));var e=S[b];void 0===e&&1<=b&&26>=b&&(e=S[b+64]&255|61696);if(void 0!==e){14==e&&12==(a.wa&12)&&(e=83);b=[];for(b.push(e&255|(c?0:128));e>>=8;){var d=0,f=e&255;240==f?a.wa&17||(d=42):224==f?a.wa&18||(d=54):241==f?a.wa&4||(d=29):242==f&&(a.wa&8||(d=56));d&&(c?b.unshift(d):b.push(d|128))}for(c=0;c<b.length;c++)li(a,b[c]);d=!0}return d}
u(function(){for(var a=B(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new gi(d);A(d,c)}});
function T(a,b,c,d){v.call(this,"Video",a,T);this.Da=a.model;this.Bc=0;"ega"==this.Da&&(this.Ok=a.switches,this.Bc=a.memory||0);this.Nc=a.mode;if(void 0===this.Nc||void 0===U[this.Nc])this.Nc=pi;this.ug=a.charCols;this.Kh=a.charRows;if(void 0===this.ug||void 0===this.Kh)this.ug=U[this.Nc][0],this.Kh=U[this.Nc][1];this.Uc=a.screenWidth;this.td=a.screenHeight;this.gl=a.scale;this.dl=12<=Math.round(this.Uc/this.ug);this.il=a.touchScreen;this.qb=b;this.Cc=c;this.Tk=d;this.Ya=this.cc=0;this.jd=[];this.Qc=
Array(16);this.ph=!1;var e=this;this.qb&&(this.qb.onfocus=function(){e.ph=!0},this.qb.onblur=function(){e.ph=!1});if(a=a.fontROM)"json"!=fa(a)&&(a=la()+"/api/v1/dump?file="+a+"&format=bytes"),p(a,!0,null,this,this.ym)}y(v,T);
var qi={2:{Mh:15700,Lh:208,Bi:85,Ci:96},3:{Mh:18432,Lh:364,Bi:85,Ci:96},4:{Mh:21850,Lh:364,Bi:85,Ci:96}},ri={6:[1,3,!0],7:[2,3,!0],8:[5,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[5,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},pi=7,U=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];U[pi]=[80,25,1,0,1];U[13]=[320,200,16];U[14]=[640,200,16];U[15]=[640,350,16];U[16]=[640,350,16];U[0]=U[1];U[2]=U[3];U[5]=U[4];var si=Array(5);si[0]=[0,0,0,255];si[1]=[127,192,127,255];
si[2]=[127,192,127,255];si[3]=[127,255,127,255];si[4]=[127,255,127,255];var ti=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],W=Array(16);W[0]=[0,0,0,255];W[1]=[0,0,170,255];W[2]=[0,170,0,255];W[3]=[0,170,170,255];W[4]=[170,0,0,255];W[5]=[170,0,170,255];W[6]=[170,85,0,255];W[7]=[170,170,170,255];W[8]=[85,85,85,255];W[9]=[85,85,255,255];W[10]=[85,255,85,255];W[11]=[85,255,255,255];W[12]=[255,85,85,255];W[13]=[255,85,255,255];W[14]=[255,255,85,255];W[15]=[255,255,255,255];
var ui=[2,4,6],vi=[3,5,7],wi=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],xi=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],X=[0];X[128]=1;X[32768]=2;X[32896]=3;X[8388608]=4;X[8388736]=5;X[8421376]=6;X[8421504]=7;X[2147483648]=8;X[2147483776]=9;X[2147516416]=10;X[2147516544]=11;X[2155872256]=12;X[2155872384]=13;X[2155905024]=14;X[2155905152]=15;
function yi(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=zi[b],f=a.zd||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Ai)];this.jg=b;this.Ya=e[2];this.cc=e[3];this.Bc=d||e[4];65536<=this.Bc&&720896<=this.Ya&&(this.cc=Math.min(this.Bc>>2,32768));this.Xb=c[0];this.hc=c[1];this.Ve=c[2];this.Ff=c[3];this.sc=c[4]&255;this.ig=c[4]>>8&255;this.Ub=c[5];this.Eh=Ai;if(5==b){this.Eh=Bi;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.Bc,Array(this.Bc>>2),771,0,4294967295,
0,4294967295,0,4294967295,0]);this.ud=b[0];this.Zd=b[1];this.Id=b[2];this.Li=b[3];this.og=b[4];this.uh=b[5];this.ve=b[6];this.Mf=b[7];this.xh=b[8];this.yh=b[9];this.ue=b[10];this.je=b[11];this.kb=b[12];d=this.Bc>>2;if((this.Ld=b[14])&&this.Ld.length<d){for(var e=this.Ld,l=0,k=Array(d),m=0;m<e.length-1;){for(var n=e[m++],q=e[m++];n--;)k[l]=q,l+=2;l==d&&(l=1)}this.Ld=k}this.Jg(b[15]);this.wi=b[16];this.Ta=b[17];this.Mc=b[18];this.Wa=b[19];this.xg=b[20];this.Bd=b[21];this.be=b[22];this.Gh=b[23];this.Hh=
b[24]}f=qi[f]||qi[3];this.Ih=a.ja.cd/f.Mh|0;this.sm=this.Ih*f.Bi/100|0;this.Cj=this.Ih*f.Lh;this.um=this.Cj*f.Ci/100|0;this.Nh=null==c[7]?0:c[7]}}var Ai=18,Bi=25;function Ci(a){return this.vc(a)|this.vc(a+1)<<8}function Di(a,b){this.xc(a,b&255);this.xc(a+1,b>>8&255)}var Y=[,,function(a){a+=this.offset;return(this.ea.kb=this.la[a])>>this.ea.wi&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.la[b]>>8:this.la[b])&255}];
Y[16]=function(a){a+=this.offset;a=this.la[a];for(var b=this.ea.Gh&this.ea.Hh,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.la[c]&~this.ea.Ta|(b|b<<8|b<<16|b<<24)&this.ea.Ta;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};
Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Mc|b<<8-this.ea.Mc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Bd|this.ea.be;d=d&this.ea.Ta|this.la[c]&~this.ea.Ta;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};
Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Mc|b<<8-this.ea.Mc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Bd|this.ea.be;d&=this.ea.kb;d=d&this.ea.Ta|this.la[c]&~this.ea.Ta;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};
Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Mc|b<<8-this.ea.Mc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Bd|this.ea.be;d|=this.ea.kb;d=d&this.ea.Ta|this.la[c]&~this.ea.Ta;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};
Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Mc|b<<8-this.ea.Mc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Bd|this.ea.be;d^=this.ea.kb;d=d&this.ea.Ta|this.la[c]&~this.ea.Ta;d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.Ta&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.la[d]&~c;c=c&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[d]!=c&&(this.la[d]=c,this.Qa=!0)};
Y[4096]=function(a){a+=this.offset;var b=this.la[a]&~this.ea.Ta|this.ea.kb&this.ea.Ta;this.la[a]!=b&&(this.la[a]=b,this.Qa=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=xi[b&15],d=d&this.ea.Ta|this.la[c]&~this.ea.Ta,d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=xi[b&15],d=d&this.ea.kb,d=d&this.ea.Ta|this.la[c]&~this.ea.Ta,d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};
Y[40960]=function(a,b){var c=a+this.offset,d=xi[b&15],d=d|this.ea.kb,d=d&this.ea.Ta|this.la[c]&~this.ea.Ta,d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=xi[b&15],d=d^this.ea.kb,d=d&this.ea.Ta|this.la[c]&~this.ea.Ta,d=d&this.ea.Wa|this.ea.kb&~this.ea.Wa;this.la[c]!=d&&(this.la[c]=d,this.Qa=!0)};
function Ei(a){var b=[];if(void 0!==a.jg){b[0]=a.Xb;b[1]=a.hc;b[2]=a.Ve;b[3]=a.Ff;b[4]=a.sc|a.ig<<8;b[5]=a.Ub;if(5==a.jg){var c=[];c[0]=a.ud;c[1]=a.Zd;c[2]=a.Id;c[3]=a.Li;c[4]=a.og;c[5]=a.uh;c[6]=a.ve;c[7]=a.Mf;c[8]=a.xh;c[9]=a.yh;c[10]=a.ue;c[11]=a.je;c[12]=a.kb;c[13]=a.Bc;var d;a:if(d=a.Ld){var e=0,f=[];if(void 0!==d[0])for(var l=0;2>l;l++)for(var k=l;k<d.length;){for(var m=d[k],n=k+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-k>>1;f[e++]=m;k=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=a.Dh;c[16]=
a.wi;c[17]=a.Ta;c[18]=a.Mc;c[19]=a.Wa;c[20]=a.xg;c[21]=a.Bd;c[22]=a.be;c[23]=a.Gh;c[24]=a.Hh;b[6]=c}b[7]=a.Nh}return b}yi.prototype.Jg=function(a){if(null!=a&&a!=this.Dh){var b=a&255,c=Y[b];c||b&1&&(c=Y[1]);var b=a&65280,d=Y[b];d||b&256&&(d=Y[256]);this.Ne||(this.Ne=[null,Ci,null,Di]);this.Ne[0]=c;this.Ne[2]=d;this.Dh=a}};var zi=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];g=T.prototype;
g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;Ua(b,this,Fi);Wa(b,this,Gi);"ega"==this.Da&&(Ua(b,this,Hi),Wa(b,this,Ii));(this.ab=C(a,"Keyboard"))&&this.qb&&this.ab.tb("input",this.Tk?"textarea":"canvas","kbd",this.Tk||this.qb);this.Qf=9;(this.ga=C(a,"ChipSet"))&&this.Ok&&(this.Qf=Zg(this.Ok,this.Qf));this.ab&&this.il&&Ji(this)};g.tb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.oa[c]=d,d.onclick=function(){bb(e,!0)},!0}return!1};g.Ce=function(){this.qb&&this.qb.focus()};
function Ji(a){var b=a.qb;b&&!a.lh&&(b.addEventListener("touchstart",function(b){Ki(a,b)},!1),b.addEventListener("touchmove",function(b){Ki(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.lh=!0)}
function Ki(a,b){a.ph&&b.preventDefault();var c=0,d=0,e=a.qb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.Uc/a.qb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.Uc/3)|0;d=a.td/a.qb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.td/3)|0;1!=d?d?ki(a.ab,264,!0):ki(a.ab,262,!0):1!=c&&(c?ki(a.ab,263,!0):ki(a.ab,261,!0))}g.Sb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
g.Jb=function(a){return a&&this.save?this.save():!0};
g.reset=function(){var a=!0,b=0;this.ga&&(b=ph(this.ga));var c=!1;if(this.Da)switch(this.Da){case "ega":var c=!0,d=ri[this.Qf];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.zd!==b&&(this.zd=b,a=!0);this.za=null;this.Ac=this.Zg=new yi(this,1);this.Nb=this.Yf=new yi(this,3);c?(this.ia=new yi(this,5,null,this.Bc),Li(this)):this.ia=new yi;Mi(this);this.yd=null;this.Nc=3==b?pi:3;this.Sd=this.tc=-1;this.Rd=0;Ni(this,this.Nc);if(this.za.Ya&&a){a=this.za.Ya+this.$g;for(b=this.za.Ya;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.zd?(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),Sa(this.ma,b,c|d<<8);bb(this,!0)}};function Li(a){a.ia.og&1?(a.Ac=a.Zg,a.Nb=a.ia):(a.Ac=a.ia,a.Nb=a.Yf)}g.save=function(){var a=new H(this);a.set(0,Ei(this.Zg));a.set(1,Ei(this.Yf));a.set(2,[this.zd,this.Nc,this.yd]);a.set(3,Ei(this.ia));return a.data()};
g.restore=function(a){var b=a[2];this.zd=b[0];this.Nc=b[1];this.yd=b[2];this.za=null;this.Ac=this.Zg=new yi(this,1,a[0]);this.Nb=this.Yf=new yi(this,3,a[1]);this.ia=new yi(this,5,a[3],this.Bc);this.ia.Xb&&Li(this);Mi(this);if(!Oi(this))return!1;Pi(this);return!0};
g.ym=function(a,b,c){if(c)this.xa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){t("Empty font ROM image: "+a);return}if(1==d.length){t(d[0]);return}if(8192==d.length)ei(this,d,[0,6144]);else{this.xa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.xa("Font ROM data error: "+e.message);return}this.Oa()}};
function Qi(a,b){if(1==b)return a.Qc[0]=W[0],a.Qc[1]=W[7],a.Qc;if(2==b){var c=a.za.Ve;if(a.za===a.ia){var d=a.ia.Id[0],c=d&7;d&16&&(c|=8);18!=a.ia.Id[1]&&(c|=32)}a.Qc[0]=W[c&15];c=c&32?vi:ui;for(d=0;d<c.length;d++)a.Qc[d+1]=W[c[d]];return a.Qc}if(a.Nb===a.Yf)return W;c=null!=a.ia.Id[15]?a.ia.Id:wi;for(d=0;d<a.Qc.length;d++){var e=c[d]||0;a.Qc[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.Qc}function ei(a,b,c,d){a.Nf=b;a.Qg=c;a.Wd=d}
function Mi(a){var b=!1;if(window&&a.Nf){var c=a.Wd?0:2048,d=a.Wd?a.Wd:9;Ri(a,1,a.Qg[0],c,d,14,a.Nf,si,ti)&&(b=!0);c=Qi(a);d=a.Wd?a.Wd:8;Ri(a,3,a.Qg[1],0,d,8,a.Nf,c)&&(b=!0);a.Wd&&Ri(a,5,a.Qg[0],0,a.Wd,14,a.Nf,c)&&(b=!0)}return b}function Ri(a,b,c,d,e,f,l,k,m){var n=!1;Si(a,b,c,d,e,f,l,k,m)&&(n=!0);a.dl&&Si(a,b<<1,c,d,e,f,l,k,m)&&(n=!0);return n}
function Si(a,b,c,d,e,f,l,k,m){var n=!1,q=b&1?0:1,s=a.jd[b];s||(s={Vb:e<<q,Wb:f<<q,ie:Array(k.length),Si:k.slice(),Ie:m,Og:Array(k.length)});for(m=0;m<k.length;m++){var r=k[m],x=s.ie[m]?s.Si[m]:[];if(r[0]!==x[0]||r[1]!==x[1]||r[2]!==x[2]){var n=s,x=m,L=q,V=c,ba=d,ca=e,eb=f,kc=l,hd=[0,0,0,0],lc=window.document.createElement("canvas");lc.width=n.Vb<<4;lc.height=n.Wb<<4;for(var Mh=lc.getContext("2d"),sa=void 0,qb=void 0,Qa=void 0,mc=8>eb||!ba?eb:8,id=Mh.createImageData(n.Vb,n.Wb),sa=0;256>sa;sa++){for(Qa=
0;Qa<eb;Qa++)for(var Oj=n.Ie&&x&1&&Qa>=eb-2,Pj=kc[Qa<mc?V+sa*mc+Qa:ba+sa*mc+Qa-mc],jd=0;jd<=L;jd++)for(qb=0;qb<ca;qb++){var Nh=qb<<L,Oh=(Qa<<L)+jd,Ph=Oj||Pj&128>>(8<=qb&&176<=sa&&223>=sa?7:qb)?r:hd;Ti(id,Nh,Oh,Ph);L&&Ti(id,Nh+1,Oh,Ph)}Mh.putImageData(id,(sa&15)*n.Vb,(sa>>4)*n.Wb)}n.ie[x]="#"+aa(r[0])+aa(r[1])+aa(r[2]);n.Si[x]=r;n.Og[x]=lc;n=!0}}a.jd[b]=s;return n}function Ui(a){0<a.Rd||0<=a.tc?0>a.Sd&&(a.Sd=0):a.Sd=-1}
function Pi(a){if(a.Ab){for(var b=10;15>=b;b++)if(null==a.za.Ub[b])return;var c=a.za.Ub[10],b=c&31,d=a.za.Ub[11]&31,e=a.za.Ub[9]&31,f=!1;a.za===a.ia&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Vi(a);else{c=a.za.Ub[15]+((a.za.Ub[14]&63)<<8);a.tc!=c&&(Vi(a),a.tc=c);d=d-b+1;if(a.Vk!=b||a.gj!=d)a.Vk=b,a.gj=d;a.sd=e+1;Ui(a)}}}
function Vi(a){if(0<=a.tc){if(void 0!==a.Lb){var b=a.Lb[a.tc];if(b&131072){var b=b&-131073,c=a.tc%a.lb,d=Math.floor(a.tc/a.lb);a.Ab&&a.jd[a.Ab]&&(a.pe&&Wi(a,c,d,b,a.pe),Wi(a,c,d,b));a.Lb[a.tc]=b}}a.tc=-1}}
function Xi(a){var b;a=a.za;var c=a.je[5];if(null!=c){b=2;var d=512,e=a.je[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.Mc=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}g.Fd=function(a){var b=this.za;null!=a&&b&&a!=b.Dh&&(b.Jg(a),this.ma.Jg(b.Ya,b.cc,b.Ne))};
function Oi(a,b){var c,d=a.yd,e=a.za;if(e)if(1==e.jg)d=pi;else if(5==e.jg){var d=null,f=e.Bc>>2,l=32768<f?32768:f,k=e.je[6];if(null!=k){switch(k&12){case 0:e.Ya=655360;e.cc=f;d=255;break;case 4:e.Ya=655360;e.cc=f;d=3==a.zd?15:16;break;case 8:e.Ya=720896;e.cc=l;d=pi;break;case 12:e.Ya=753664,e.cc=l,d=3==a.zd?2:3}c=e.Mf[1]&8;f=e.Ub[6]|(e.Ub[7]&1)<<8;255!=d&&(k&1?753664==e.Ya?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=Xi(a)}}else e.hc&8&&(e.hc&2?(d=e.hc&16?6:5,e.hc&4||(d-=1)):(d=e.hc&1?3:1,e.hc&4&&(d-=
1)));else a.yd=null,null==d&&(d=a.Nc);if(!Ni(a,d,b))return!1;a.Fd(c);return!0}
function Ni(a,b,c){if(null!=b&&(b!=a.yd||c)){a.$k=0;a.yd=b;b=a.za||(b==pi?a.Ac:a.Nb);if(b!=a.za||b.Ya!=a.Ya||b.cc!=a.cc){Vi(a);if(a.Ya){if(!Na(a.ma,a.Ya,a.cc))return!1;a.za&&(a.za.Xb=!1)}a.za=b;b.Xb=!0;a.Ya=b.Ya;a.cc=b.cc;if(!La(a.ma,b.Ya,b.cc,!1,b===a.ia?b:null))return!1}a.Ab=0;a.lb=a.ug;a.$b=a.Kh;a.Fh=U[pi][2];b=0;var d=U[a.yd];d&&(a.lb=d[0],a.$b=d[1],a.Fh=d[2],b=d[3]||0,a.Ab=d[4],4==a.zd&&a.za===a.ia&&3==a.Ab&&(7==a.ia.Ub[9]?a.$b=43:a.Ab=5));a.zj=a.lb*a.$b;a.rg=a.zj/a.Fh;a.$g=(a.rg<<1)+b;a.ej=
b?a.$g+b>>1:0;13<=a.yd&&(a.rg<<=1);a.jd.length&&(a.Vc=Math.floor(a.Uc/a.lb),a.Wc=Math.floor(a.td/a.$b),a.Ab?(b=a.jd[a.Ab],d=a.jd[a.Ab<<1],a.gl&&80==a.lb?d&&a.Vc>=3*d.Vb>>2&&(a.Ab<<=1,b=d):(d&&a.Vc>=d.Vb&&(a.Ab<<=1,b=d),b&&(a.Vc=b.Vb,a.Wc=b.Wb)),a.Ye=a.Ze=0,b&&(a.Ye=a.lb*b.Vb,a.Ze=a.$b*b.Wb)):(a.Vc=a.Wc=1,a.Ye=a.lb,a.Ze=a.$b),a.lg=a.Cc.createImageData(a.Ye,a.Ze),a.oe=window.document.createElement("canvas"),a.oe.width=a.Ye,a.oe.height=a.Ze,a.pe=a.oe.getContext("2d"),a.Oi=a.Pi=0,a.dh=a.Uc,a.eh=a.td,
b=a.Uc-a.lb*a.Vc,d=a.td-a.$b*a.Wc,0<b&&(a.Oi=b>>1,a.dh-=b),0<d&&(a.Pi=d>>1,a.eh-=d),b||d)&&(a.Cc.fillStyle=a.qb.style.backgroundColor,a.Cc.fillRect(0,0,a.Uc,a.td));!1!==c?bb(a,!0):Yi(a,!0)}return!0}function Ti(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 Yi(a,b){var c;if(b){if(c=a.rg,void 0===a.Lb||a.Lb.length!=c)a.Lb=Array(c)}else{if(void 0===a.Lb)return;c=a.Lb.length}for(var d=0;d<c;d++)a.Lb[d]=-1;a.Rd=-1}
function Wi(a,b,c,d,e){var f=d&255,l=d>>8;d=l&15;var k=a.jd[a.Ab];k.Ie&&(d=k.Ie[d]);var m=l>>4&15;k.Ie&&(m=k.Ie[m]);e?(b*=k.Vb,c*=k.Wb,e.fillStyle=k.ie[m],e.fillRect(b,c,k.Vb,k.Wb)):(b=b*a.Vc+a.Oi,c=c*a.Wc+a.Pi,a.Cc.fillStyle=k.ie[m],a.Cc.fillRect(b,c,a.Vc,a.Wc));l&256&&(m=(f&15)*k.Vb,f=(f>>4)*k.Wb,e?e.drawImage(k.Og[d],m,f,k.Vb,k.Wb,b,c,k.Vb,k.Wb):a.Cc.drawImage(k.Og[d],m,f,k.Vb,k.Wb,b,c,a.Vc,a.Wc));l&512&&(f=a.Vk,l=a.gj,e?(a.sd&&a.sd!==k.Wb&&(f=Math.floor(f*k.Wb/a.sd),l=Math.floor(l*k.Wb/a.sd)),
e.fillStyle=k.ie[d],e.fillRect(b,c+f,k.Vb,l)):(a.sd&&a.sd!==a.Wc&&(f=Math.floor(f*a.Wc/a.sd),l=Math.floor(l*a.Wc/a.sd)),a.Cc.fillStyle=k.ie[d],a.Cc.fillRect(b,c+f,a.Vc,l)))}
function bb(a,b){if(a.zb){var c=!1;a.za&&(a.za===a.ia?a.ia.Zd&32&&(c=!0):a.za.hc&8&&(c=!0));if(c||b){if(b)Yi(a,!0);else if(void 0===a.Lb)return;var d=!1;!(b||++a.$k&15)&&0<=a.Sd&&(a.Sd++,d=!0);var e=0,f=a.zj,c=a.za.Ya,l=c+a.za.cc,k=(a.za.Ub[12]<<8)+a.za.Ub[13];a.Ab&&(k<<=1);var c=c+k,m=a.$g;c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(k=!b){for(var k=a.ma,n=!0,q=c>>k.Ib;0<m&&q<k.ya.length;)k.ya[q].Qa&&(k.ya[q].Qa=n=!1,k.ya[q].jj=!0),m-=k.nc,q++;k=n}if(k){if(!d)return;if(!a.Rd){if(0>a.tc)return;e=a.tc;f=e+1}}if(a.Ab){if(a.jd[a.Ab]){d=
0;k=a.Rd=0;m=1048575;a.za.hc&32&&(k=32768,m&=~k,a.Sd&2||(m&=-65537));for(c+=e<<1;c<l&&e<f;)n=Pa(a.ma,c),n|=65536,n&k&&(a.Rd++,n&=m),e==a.tc&&(n|=a.Sd&1?131072:0),q=a.Lb[e],q!=n&&(Wi(a,e%a.lb,Math.floor(e/a.lb),n,a.pe),a.Lb[e]=n,d++),c+=2,e++;d&&a.pe&&a.Cc.drawImage(a.oe,0,0,a.Ye,a.Ze,a.Oi,a.Pi,a.dh,a.eh);Ui(a)}}else if(a.ej){for(var f=l,s,r,e=c,l=a.Rd=0,d=a.Fh,k=16==d?65536:196608,m=16==d?1:2,n=Qi(a,m),x=q=0,L=a.lb,V=0,ba=a.$b,ca=0;e<f;){s=Pa(a.ma,e);r=a.Lb[l];if(r===s)q+=d;else{a.Lb[l]=s;s=s>>8|
(s&255)<<8;r=k;var eb=16;q<L&&(L=q);for(var kc=0;kc<d;kc++){var hd=(s&(r>>=m))>>(eb-=m);Ti(a.lg,q++,x,n[hd])}q>V&&(V=q);x<ba&&(ba=x);x>=ca&&(ca=x+1)}e+=2;l++;if(q>=a.lb){q=0;x+=2;if(x>a.$b)break;x==a.$b&&(x=1,e=c+a.ej)}}L<a.lb&&(a.pe.putImageData(a.lg,0,0,L,ba,V-L,ca-ba),a.Cc.drawImage(a.oe,0,0,a.lb,a.$b,0,0,a.Uc,a.td))}else{f=l;e=a.Rd=0;l=Qi(a);d=a.za.Ld;m=k=0;n=a.lb;q=0;x=a.$b;for(L=0;c<f;){V=c++-a.Ya;V=d[V];ba=a.Lb[e];if(ba===V)k+=8;else{a.Lb[e]=V;k<n&&(n=k);for(ba=0;8>ba;ba++)ca=V&2155905152,
0>ca&&(ca=-ca),ca=X[ca]||0,Ti(a.lg,k++,m,l[ca]),V<<=1;k>q&&(q=k);m<x&&(x=m);m>=L&&(L=m+1)}e++;if(k>=a.lb&&(k=0,++m>a.$b))break}n<a.lb&&(a.pe.putImageData(a.lg,0,0,n,x,q-n,L-x),a.Cc.drawImage(a.oe,0,0,a.lb,a.$b,0,0,a.Uc,a.td))}}}}g.Ul=function(){return this.Ac.sc};g.dn=function(a,b){var c=this.Ac;c.ig=c.sc;c.sc=b&31};g.Tl=function(){return Zi(this.Ac)};g.cn=function(a,b){$i(this,this.Ac,b)};g.Vl=function(){return this.Ac.hc};g.en=function(a,b){this.Ac.hc=b;Oi(this,!1)};
g.Wl=function(){return aj(this,this.Ac)};g.Fk=function(a,b){this.ia.uh=this.ia.uh&-4|b&3};g.vj=function(){var a=this.ia.ud?this.ia.Id[this.ia.Zd&31]:this.ia.Zd;this.ia.ud=!this.ia.ud;return a};g.Ek=function(a,b){var c=this.ia.Zd&32;if(this.ia.ud){var d=this.ia.Zd&31;if(16<=d||!c)this.ia.Id[d]=b;this.ia.ud=!1}else this.ia.Zd=b,this.ia.ud=!0,b&32&&!c&&Mi(this)&&bb(this,!0)};g.fm=function(){var a=3-((this.ia.og&12)>>2),a=this.ia.Li&-17|(this.Qf&1<<a)<<4-a;return this.ia.Li=a};
g.gn=function(a,b){this.ia.og=b;Li(this)};g.em=function(){return this.ia.ve};g.on=function(a,b){this.ia.ve=b};g.dm=function(){return this.ia.Mf[this.ia.ve]};g.nn=function(a,b){this.ia.Mf[this.ia.ve]=b;2==this.ia.ve&&(this.ia.Ta=xi[b&15])};g.Ml=function(){return this.ia.xh};g.Ym=function(a,b){this.ia.xh=b};g.Nl=function(){return this.ia.yh};g.Zm=function(a,b){this.ia.yh=b};g.Ll=function(){return this.ia.ue};g.Xm=function(a,b){this.ia.ue=b};g.Kl=function(){return this.ia.je[this.ia.ue]};
g.Wm=function(a,b){this.ia.je[this.ia.ue]=b;switch(this.ia.ue){case 0:this.ia.xg=xi[b&15];this.ia.be=this.ia.xg&~this.ia.Bd;break;case 1:this.ia.Bd=~xi[b&15];this.ia.be=this.ia.xg&~this.ia.Bd;break;case 2:this.ia.Gh=xi[b&15]&2155905152;break;case 3:case 5:this.Fd(Xi(this));break;case 4:this.ia.wi=(b&3)<<3;break;case 6:Oi(this,!1);break;case 7:this.ia.Hh=xi[b&15^15]&2155905152;break;case 8:this.ia.Wa=b|b<<8|b<<16|b<<24}};g.Cl=function(){return this.Nb.sc};
g.Pm=function(a,b){var c=this.Nb;c.ig=c.sc;c.sc=b&31};g.Bl=function(){return Zi(this.Nb)};g.Om=function(a,b){$i(this,this.Nb,b)};g.Dl=function(){return this.Nb.hc};g.Qm=function(a,b){this.Nb.hc=b;Oi(this,!1)};g.Al=function(){return this.Nb.Ve};g.Nm=function(a,b){this.Nb.Ve!==b&&(this.Nb.Ve=b,Yi(this,!1))};g.El=function(){return aj(this,this.Nb)};function Zi(a){var b;a.sc<a.Eh&&(b=a.Ub[a.sc]);return b}function $i(a,b,c){b.sc<b.Eh&&(b.Ub[b.sc]=c,9==b.sc&&8!=b.ig&&Oi(a,!0),Pi(a))}
function aj(a,b){var c=0,d=lb(a.ja),e=d-b.Nh;0>e&&(e=0);e%b.Ih>b.sm&&(c|=1);e%=b.Cj;e>b.um&&(c|=8);b.Nh=d-e;b===a.ia?(c|=b.Ff&48^48,b.ud=!1):c=(b.Ff^=9)|240;return b.Ff=c}
var Fi={948:T.prototype.Ul,949:T.prototype.Tl,952:T.prototype.Vl,954:T.prototype.Wl,980:T.prototype.Cl,981:T.prototype.Bl,984:T.prototype.Dl,985:T.prototype.Al,986:T.prototype.El},Gi={948:T.prototype.dn,949:T.prototype.cn,952:T.prototype.en,980:T.prototype.Pm,981:T.prototype.Om,984:T.prototype.Qm,985:T.prototype.Nm},Hi={960:T.prototype.vj,961:T.prototype.vj,962:T.prototype.fm,964:T.prototype.em,965:T.prototype.dm,970:T.prototype.Nl,972:T.prototype.Ml,974:T.prototype.Ll,975:T.prototype.Kl},Ii={954:T.prototype.Fk,
960:T.prototype.Ek,961:T.prototype.Ek,962:T.prototype.gn,964:T.prototype.on,965:T.prototype.nn,970:T.prototype.Zm,972:T.prototype.Ym,974:T.prototype.Xm,975:T.prototype.Wm,986:T.prototype.Fk};
u(function(){for(var a=B(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=z(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 T(d,e,f);A(d,c)}});
function Z(a){this.oj=a.adapter;switch(this.oj){case 1:this.yi=1016;this.mf=4;break;case 2:this.yi=760;this.mf=3;break;default:t("Unrecognized serial adapter #"+this.oj);return}this.od=null;v.call(this,"SerialPort",a,Z);var b=a.binding,c;a=gj;b&&(void 0===c&&(c="Panel"),(c=Fa(c,this.id))&&(b=c.oa[b])&&this.sb(null,null,a,b))}y(v,Z);var gj="buffer";g=Z.prototype;g.Ri=function(a,b){return a==this.vh?(this.sj=b,this):null};
g.sb=function(a,b,c,d){var e=this;switch(c){case gj:return this.oa[c]=this.od=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),hj(e,[b]))},d.onkeypress=function(a){a=a||window.event;hj(e,[a.which||a.keyCode])},!0}return!1};g.dc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ga=d;this.ga=D(a,"ChipSet");Za(b,this,ij,this.yi);ab(b,this,jj,this.yi);this.Ma()};
g.Rb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};g.Ib=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.ud()};g.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.Sg;c[b++]=this.Wi;c[b++]=this.fe;c[b++]=this.Nf;c[b++]=this.jd;c[b++]=this.Md;c[b++]=this.Fc;c[b++]=this.kc;c[b++]=this.Ui;c[b]=this.He;a.set(0,c);return a.data()};g.restore=function(a){return this.ud(a[0])};
g.ud=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Sg=a[b++];this.Wi=a[b++];this.fe=a[b++];this.Nf=a[b++];this.jd=a[b++];this.Md=a[b++];this.Fc=a[b++];this.kc=a[b++];this.Ui=a[b++];this.He=a[b];return!0};function hj(a,b){a.He=a.He.concat(b);kj(a)}function kj(a){0<a.He.length&&!(a.kc&1)&&(a.Sg=a.He.shift(),a.kc|=1);var b=-1;a.kc&1&&a.Nf&1&&(b=4);0<=b?(a.jd&=-8,a.jd|=b,a.ga&&a.mf&&R(a.ga,a.mf)):(a.jd|=1,a.ga&&a.mf&&Vh(a.ga,a.mf))}
g.Zl=function(){var a=this.Md&128?this.fe&255:this.Sg;this.kc&=-2;kj(this);return a};g.Kl=function(){return this.Md&128?this.fe>>8:this.Nf};g.Ll=function(){return this.jd};g.Ml=function(){return this.Md};g.Ol=function(){return this.Fc};g.Nl=function(){return this.kc};g.Ul=function(){return this.Ui};
g.ln=function(a,b){if(this.Md&128)this.fe=this.fe&-256|b;else{this.Wi=b;this.kc&=-97;var c;this.od?(13!=b&&(8==b?this.od.value=this.od.value.slice(0,-1):(this.od.value+=String.fromCharCode(b),this.od.scrollTop=this.od.scrollHeight)),c=!0):c=!1;c&&(this.kc|=96)}};g.Wm=function(a,b){this.Md&128?this.fe=this.fe&255|b<<8:this.Nf=b};g.Xm=function(a,b){this.Md=b};
g.Ym=function(a,b){var c=this.Fc;this.Fc=b;if(this.sj&&(c^b)&3){var c=this.sj,d=this.Fc,e=3==(d&3);if(e){if(!c.Wb){var f=!1;c.Fc&2||(c.reset(),f=!0);c.Fc&1||(f=!0);f&&hj(c.Te,[77]);lj(c,c.pb);c.Wb=e}}else c.Wb&&(mj(c.pb),c.Wb=e);c.Fc=d}};var ij={0:Z.prototype.Zl,1:Z.prototype.Kl,2:Z.prototype.Ll,3:Z.prototype.Ml,4:Z.prototype.Ol,5:Z.prototype.Nl,6:Z.prototype.Ul},jj={0:Z.prototype.ln,1:Z.prototype.Wm,3:Z.prototype.Xm,4:Z.prototype.Ym};
u(function(){for(var a=B(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});function nj(a){v.call(this,"Mouse",a,nj);if(this.uh=a.serial)this.Bi="SerialPort";this.Wb=!1;this.Ma()}y(v,nj);g=nj.prototype;g.dc=function(a,b,c,d){this.Ea=a;this.ma=b;this.ja=c;this.Ga=d};
g.Rb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Bi&&!this.Te){for(var c=null;(c=D(this.Ea,this.Bi,c))&&(!c.Ri||!(this.Te=c.Ri(this.uh,this))););if(this.Te){if(c=D(this.Ea,"Video"))this.pb=c.pb}else t(this.id+": "+this.Bi+" "+this.uh+" unavailable")}this.Wb?lj(this,this.pb):mj(this.pb)}return!0};g.Ib=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.ud()};g.save=function(){var a=new H(this);a.set(0,this.Fi());return a.data()};
g.restore=function(a){return this.ud(a[0])};g.ud=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.Wb=a[b++];this.Cf=a[b++];this.Df=a[b++];this.Ce=a[b++];this.De=a[b++];this.Zf=a[b++];this.$f=a[b++];this.Fc=a[b];return!0};g.Fi=function(){var a=0,b=[];b[a++]=this.Wb;b[a++]=this.Cf;b[a++]=this.Df;b[a++]=this.Ce;b[a++]=this.De;b[a++]=this.Zf;b[a++]=this.$f;b[a]=this.Fc;return b};
function lj(a,b){b&&(a.gh||(b.addEventListener("mousemove",function(b){if(a.Wb&&a.ja&&a.ja.pc){if(0>a.Cf||0>a.Df)a.Cf=b.clientX,a.Df=b.clientY;a.Ce=b.clientX-a.Cf;a.De=b.clientY-a.Df;(a.Ce||a.De)&&oj(a);a.Cf=b.clientX;a.Df=b.clientY}},!1),b.addEventListener("mousedown",function(b){pj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){pj(a,b.button,!1)},!1),a.gh=!0),b.style.cursor="none")}function mj(a){a&&(a.style.cursor="auto")}
function pj(a,b,c){if(a.Wb&&a.ja&&a.ja.pc)switch(b){case 0:a.Zf!=c&&(a.Zf=c,oj(a));break;case 2:a.$f!=c&&(a.$f=c,oj(a))}}function oj(a){hj(a.Te,[64|(a.Zf?32:0)|(a.$f?16:0)|(a.De&192)>>4|(a.Ce&192)>>6,a.Ce&63,a.De&63]);a.Ce=a.De=0}u(function(){for(var a=B(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new nj(d);A(d,c)}});
function qj(a,b,c){v.call(this,"Disk",{id:a.gg+".disk"+rj++},qj);this.ea=a;this.Ea=a.Ea;this.Ga=a.Ga;this.La=b;this.mode=c;this.dd=b.name;this.fc=b.fc;this.gc=b.gc;this.Lc=b.Lc;this.xb=b.xb;this.pe=b.pe;this.mh=this.Wc=!1;this.create();this.Hd=[];this.Ff=[];this.fd=null;this.uj=0;this.oh=!1;this.Ma()}var rj=0;y(v,qj);g=qj.prototype;g.dc=function(a,b,c,d){this.Ga=d};g.Rb=function(a,b){b||this.mh&&!this.Wc&&this.load(this.dd,this.ye);return!0};
g.Ib=function(a,b){if(this.Wc){var c,d=0;if(this.oh&&!ma("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=sj(this,!1);)if(d=c[0]){C(this,'Unable to save "'+this.dd+'" (error '+d+")");break}b&&this.Wc&&(c="action=close&volume="+this.ye,c+="&machine="+this.ea.re(),c+="&user="+this.ea.td(),p(la()+"/api/v1/disk?"+c,!0),this.Wc=!1);d||C(this,this.dd+" saved")}return!0};
g.create=function(){this.Eb=[];if("preload"!=this.mode){for(var a=Array(this.fc),b=0;b<a.length;b++){for(var c=Array(this.gc),d=0;d<c.length;d++){for(var e=Array(this.Lc),f=1;f<=e.length;f++)e[f-1]=tj(null,b,d,f,this.xb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Eb=a}this.Xf=0};
g.load=function(a,b,c){var d=b;this.dd=a;this.ye=b;this.mj=c;0>b.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?d=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.fc+":"+this.gc+":"+this.Lc+":"+this.xb,a+="&machine="+this.ea.re(),a+="&user="+this.ea.td(),d=la()+"/api/v1/disk?"+a,this.mh=!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"),d=la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.pe?"":d)+"&format=json"));p(d,!0,null,this,this.rm,b)};
g.rm=function(a,b,c,d){var e=null;this.qe=!1;var f=0>c&&this.Ea&&!this.Ea.yb;if(this.mh)c?C(this,'Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Wc=!0,e=this);else if(c)C(this,'Unable to load disk "'+this.dd+'" (error '+c+")",f);else try{if(0<ea(a,!0).toLowerCase().indexOf("-readonly"))this.qe=!0;else{var l=b.indexOf("\n");0<l&&1024>l&&0<b.substring(0,l).indexOf("write-protected")&&(this.qe=!0)}var k;k="<"==b.substr(0,1)?["Missing disk image: "+this.dd]:0>b.indexOf("0x")&&'["'!=
b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(k.length)if(1==k.length)this.error(k[0]);else{for(b=a=0;b<k.length;b++)for(c=0;c<k[b].length;c++)for(d=0;d<k[b][c].length;d++){var m=k[b][c][d],n=m.length;void 0===n&&(n=m.length=512);var n=n>>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var s=m.data;if(void 0===s){var r=m.bytes;if(void 0!==r&&r.length){for(var f=n<<2,x=r.length;x<f;x++)r[x]=q;this.fill(m,r,0)}else s=[],q=m.pattern=q|q<<8|q<<16|q<<
24,m.data=s;delete m.bytes}tj(m,b,c);for(f=0;f<s.length;f++)a=a+s[f]&4294967295}this.Eb=k;this.Xf=a;e=this}else this.error("Empty disk image: "+this.dd)}catch(L){this.error("Disk image error: "+L.message)}this.mj&&this.mj.call(this.ea,this.La,e,this.dd,this.ye)};function tj(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.hl=b;a.jl=c;a.Dc=a.mc=0;a.Na=!1;return a}
g.sm=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],l=d[2],k=d[3];a=d[4];b=JSON.parse(b);for(var m=0;k--;){var n=this.seek(e,f,l,!0);if(!n)break;this.fill(n,b,m);m+=n.length;l++}}(d=d[5])&&d(c,a)};function uj(a,b,c,d,e,f){if(a.Wc){var l;l="action=read&volume="+a.ye;l+="&chs="+a.fc+":"+a.gc+":"+a.Lc+":"+a.xb;l=l+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.re());l+="&user="+a.ea.td();p(la()+"/api/v1/disk?"+l,!0,null,a,a.sm,[b,c,d,e,!0,f])}else f&&f(-1,!1)}
function vj(a,b,c){b.Na=!0;var d=a.Hd.indexOf(b);0<=d&&(a.Hd.splice(d,1),a.Ff.splice(d,1));a.Hd.push(b);a.Ff.push(ia());c&&wj(a)}function wj(a){if(a.Hd.length){var b=a.Ff[0]+2E3;a.fd&&a.uj<b&&(clearTimeout(a.fd),a.fd=null);if(!a.fd){var c=ia(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.fd=setTimeout(function(){sj(a,!0)},b);a.uj=c+b}}else a.fd&&(clearTimeout(a.fd),a.fd=null)}
function sj(a,b){b&&(a.fd=null);var c=a.Hd[0];if(c){for(var d=c.hl,e=c.jl,c=c.sector,f=0,l=[],k=c-1;k<a.Eb[d][e].length;k++){var m=a.Eb[d][e][k];if(!m.Na)break;var n=a.Hd.indexOf(m);a.Hd.splice(n,1);a.Ff.splice(n,1);l=l.concat(xj(m));m.Na=!1;f++}a.Wc?(k={},a.oh=!0,k.action="write",k.volume=a.ye,k.chs=a.fc+":"+a.gc+":"+a.Lc+":"+a.xb,k.addr=d+":"+e+":"+c+":"+f,k.machine=a.ea.re(),k.user=a.ea.td(),k.data=JSON.stringify(l),d=p(la()+"/api/v1/disk",b,k,a,a.xm,[d,e,c,f,b])):d=!1;return b||d}return!1}
g.xm=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.oh=!1;if(0<=a&&a<this.Eb.length&&0<=b&&b<this.Eb[a].length)for(e-=1;0<f--&&0<=e&&e<this.Eb[a][b].length;e++){var l=this.Eb[a][b][e];c?vj(this,l,!1):l.Na||(l.Dc=l.mc=0)}d&&wj(this)};
g.seek=function(a,b,c,d,e){var f=null,l=this.La,k=this.Eb[a];if(k){var m=k[b];if(!m&&l.Me&&b<l.gc)for(m=k[b]=Array(l.ld),k=0;k<m.length;k++)m[k]=tj(null,a,b,k+1,l.Va,0);if(m){for(k=0;k<m.length;k++)if(m[k].sector==c){f=m[k];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++k<m.length;)null===m[k].pattern&&d++;uj(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&l.Me&&9==l.Pa&&(f=m[k]=tj(null,a,b,l.Pa,l.Va,0))}}e&&e(f,!1);return f};
g.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 xj(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 l=f<e.length?e[f]:a;c[d++]=l&255;c[d++]=l>>8&255;c[d++]=l>>16&255;c[d++]=l>>24&255}return c}function yj(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}
g.write=function(a,b,c){if(this.qe)return!1;if(b<a.length){if(c!=yj(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var l=d.length;l<=f;l++)d[l]=e;a.mc?f<a.Dc?(a.mc+=a.Dc-f,a.Dc=f):f>=a.Dc+a.mc&&(a.mc+=f-(a.Dc+a.mc)+1):(a.Dc=f,a.mc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Wc&&vj(this,a,!0)}return!0}return null};
g.save=function(){var a=0,b=[];b[a++]=[this.ye,this.Xf];if(!this.Wc&&!this.qe)for(var c=this.Eb,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 l=c[d][e][f];if(l.mc){for(var k=[],m=0,n=l.Dc,q=l.Dc+l.mc;n<q;)k[m++]=l.data[n++];b[a++]=[d,e,f,l.Dc,k]}}return b};
g.restore=function(a){var b=0,c="unsupported restore format";if(this.Eb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.Xf&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Xf+")",b=-1);for(;d<a.length&&0<=b;){var f=0,l=a[d++],k=l[f++],m=l[f++],n=l[f++];if(k>=this.Eb.length||m>=this.Eb[k].length||n>=this.Eb[k][m].length){c="sector "+k+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.qe){c="unable to modify write-protected disk";b=-1;break}e=
l[f++];f=l[f++];l=e+f.length;k=this.Eb[k][m][n];for(m=k.data.length;m<e;)k.data[m++]=k.pattern;m=0;k.Dc=e;for(k.mc=f.length;e<l;)k.data[e++]=f[m++];b++}}0>b&&C(this,"unable to restore disk '"+this.dd+": "+c);return b};
function zj(a){v.call(this,"FDC",a,zj);this.dmaRead=this.$g;this.dmaWrite=this.ah;this.dmaFormat=this.Xk;this.be=null;if(a.autoMount&&(this.be=a.autoMount,"string"==typeof this.be))try{this.be=eval("("+a.autoMount+")")}catch(b){this.error("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.be=null}this.ac=[];this.Xc();this.Le()||this.Ma()}y(v,zj);
var Aj={3:{nd:3,Sd:0,name:"SPECIFY"},4:{nd:2,Sd:1,name:"DRIVE_STATUS"},5:{nd:9,Sd:7,name:"WRITE_DATA"},6:{nd:9,Sd:7,name:"READ_DATA"},7:{nd:2,Sd:0,name:"RECALIBRATE"},8:{nd:1,Sd:2,name:"INT_STATUS"},13:{nd:6,Sd:7,name:"FORMAT"},15:{nd:3,Sd:0,name:"SEEK"}};g=zj.prototype;
g.sb=function(a,b,c,d){switch(c){case "listDisks":return this.oa[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.oa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){a.error("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d='<a href="'+m+'" target="_blank">'+d+"</a>");
c.innerHTML=d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.oa[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||Bj(a,c)}}(this,d),!0;case "loadDrive":return this.oa[c]=d,d.onclick=function(a){return function(){var b,c=a.oa.listDisks,d=a.oa.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&b<a.sa.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);
Ga(a,"Attempting to load "+d+' as "'+c+'"')}for(;Cj(a,b,c,d,!1)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var m=a,n=d,q=void 0,q=0;q<m.ac.length;q++)if(m.ac[q][1]==n){m.ac.splice(q,1);break}Dj(a,b,!1,!0)}}else Dj(a,b);else C(a,"Nothing to load")}}(this),!0}return!1};g.dc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ga=d;this.Ea=a;this.ga=D(a,"ChipSet");Za(b,this,Ej);ab(b,this,Fj)};
g.Rb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ea.nh){this.ac=[];for(var c=0;c<this.sa.length;c++)Dj(this,c,!0);this.Le(!0)}}else if(!this.restore(a))return!1;if(this.ga){this.rg=Ah(this.ga);for(c=0;c<this.rg;c++){var d=this.sa[c];d.Xi=wh(this.ga,c);2==d.Xi&&(d.fc=80)}if(d=this.oa.listDrives){for(;d.firstChild;)d.removeChild(d.firstChild);d.innerHTML="";for(c=0;c<this.rg;c++){var e=window.document.createElement("option");e.value=c;e.innerHTML=String.fromCharCode(65+c)+":";d.appendChild(e)}0<
this.rg&&(d.value="0",Bj(this,0))}}}return!0};g.Ib=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.Xc()};g.save=function(){var a=new H(this);a.set(0,this.Ci());return a.data()};g.restore=function(a){return this.Xc(a[0])};
g.Xc=function(a){var b=0,c=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.hb=a[b++];b++;this.ta=a[b++];this.Jb=a[b++];this.eb=a[b++];this.Sa=a[b++];this.xe=a[b++];var d=a[b++],e=a[b++];null!=e&&(this.ac=e);void 0===this.sa&&(this.rg=0,this.sa=Array(4));for(e=0;e<this.sa.length;e++)void 0===this.sa[e]&&(this.sa[e]={}),this.wh(this.sa[e],e,d[e])||(c=!1);this.Cd=a[b++]||0;this.Ek=a[b]||0;return c};
g.Ci=function(){var a=0,b=[];b[a++]=this.hb;b[a++]=0;b[a++]=this.ta;b[a++]=this.Jb;b[a++]=this.eb;b[a++]=this.Sa;b[a++]=this.xe;b[a++]=this.Ei();for(var c=a++,d=0;d<this.sa.length;d++){var e=this.sa[d];e.ra&&Gj(this,e.de,e.ra)}b[c]=this.ac;b[a++]=this.Cd;b[a]=this.Ek;return b};
g.wh=function(a,b,c){var d=0,e=!0;a.hb=b;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.fc||40,c[3],9,512,c[1]]);a.Oa=c[d++];a.name=c[d][0];a.fc=c[d][1];a.gc=c[d][2];a.Lc=c[d][3];a.xb=c[d][4];a.pe=c[d][5];d++;a.Xi=1;a.bb=c[d++];a.hd=c[d++];a.nb=c[d++];a.hd=100<=a.hd?a.hd-100:a.hd-a.nb;a.Pa=c[d++];a.ld=c[d++];a.Va=c[d++];a.Qa=c[d++];a.Ka=null;a.ra||(a.de="");var f=c[d++];f===Hj?(f=c[d++],c=c[d],Cj(this,b,f,c,!0)?a.ra&&Ij(this,f,c,a.ra):this.Ma(!1)):void 0!==f&&a.ra&&
0>a.ra.restore(f)&&(e=!1);e&&a.ra&&void 0!==a.Qa&&(a.Ka=a.ra.seek(a.nb,a.bb,a.Pa));return e};g.Ei=function(){for(var a=0,b=[],c=0;c<this.sa.length;c++)b[a++]=this.Di(this.sa[c]);return b};g.Di=function(a){var b=0,c=[];c[b++]=a.Oa;c[b++]=[a.name,a.fc,a.gc,a.Lc,a.xb,a.pe];c[b++]=a.bb;c[b++]=a.hd+100;c[b++]=a.nb;c[b++]=a.Pa;c[b++]=a.ld;c[b++]=a.Va;c[b++]=a.Qa;c[b++]=Hj;c[b++]=a.Jk;c[b]=a.de;return c};
g.Le=function(a){a||(this.Od=0);if(this.be)for(var b in this.be){var c=this.be[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.sa.length){!Cj(this,d,c.name,c.path,!0)&&a&&this.Ma(!1);continue}}C(this,"Unrecognized auto-mount specification for drive "+b)}return!!this.Od};function Cj(a,b,c,d,e){var f=a.sa[b];if(d&&f.de!=d){Dj(a,b,e,!0);if(f.Cc)return C(a,"Drive "+b+" busy"),!0;f.Cc=!0;e&&(f.Wd=!0,a.Od++);(new qj(a,f,"preload")).load(c,d,a.km);return!1}return!0}
g.km=function(a,b,c,d){a.Cc=!1;b&&b.Eb.length>a.fc&&(C(this,'Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b&&(a.ra=b,a.Jk=c,a.de=d,Ij(this,c,d,b),this.Cd|=128,C(this,'Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Wd));a.Wd&&(a.Wd=!1,--this.Od||this.Ma());Bj(this,a.hb)};
function Bj(a,b){if(0<=b&&b<a.sa.length){var c=a.sa[b],d=a.oa.listDisks,e=a.oa.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.de){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Dj(a,b,c,d){var e=a.sa[b];e.ra&&(Gj(a,e.de,e.ra),e.Jk="",e.de="",e.ra=null,a.Cd|=128,d||C(a,"Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Bj(a,b))}
function Ij(a,b,c,d){var e;for(e=0;e<a.ac.length;e++)if(a.ac[e][1]==c){d.restore(a.ac[e][2]);return}a.ac[e]=[b,c,[]]}function Gj(a,b,c){var d;for(d=0;d<a.ac.length;d++)if(a.ac[d][1]==b){a.ac[d][2]=c.save();break}}g.Rm=function(a,b){b&4?this.xe&4||this.xe&8&&this.ga&&R(this.ga,6):this.Xc();this.xe=b};g.Fl=function(){return this.ta};g.Dl=function(){var a=0;this.eb<this.Sa&&(a=this.Jb[this.eb]);this.xe&8&&this.ga&&Vh(this.ga,6);++this.eb>=this.Sa&&(this.ta&=-81,this.eb=this.Sa=0);return a};
g.Qm=function(a,b){this.Sa<this.Jb.length&&(this.Jb[this.Sa++]=b);var c=this.Jb[0]&31;if(void 0!==Aj[c]&&this.Sa>=Aj[c].nd){var d=!1;this.eb=0;var e,f,c=this.Ha()&31;switch(c){case 3:this.Ha("SRT");this.Ha("HLT");this.ob();break;case 4:f=this.Ha("DS");this.hb=f&3;e=this.sa[this.hb];this.ob();this.ab((e.Oa&4278190080)>>>24,"ST3");break;case 5:case 6:f=this.Ha("DS");this.hb=f&3;e=this.sa[this.hb];e.bb=f>>2&1;e.nb=this.Ha("C");this.Ha("H");e.Pa=this.Ha("R");d=this.Ha("N");e.Va=128<<d;e.ld=this.Ha("EOT");
this.Ha("GPL");this.Ha("DTL");6==c?this.bh(e):this.dh(e);this.ob();Jj(this,e);this.ab((e.Oa&65280)>>>8,"ST1");this.ab((e.Oa&16711680)>>>16,"ST2");this.ab(e.nb,"C");this.ab(e.bb,"H");this.ab(e.Pa,"R");this.ab(d,"N");d=!0;break;case 7:f=this.Ha("DS");this.hb=f&3;e=this.sa[this.hb];e.nb=e.hd=0;e.Oa=268435488;this.ob();d=!0;break;case 8:e=this.sa[this.hb];e.bb=0;this.ob();Jj(this,e);this.ab(e.nb,"PCN");break;case 13:f=this.Ha("DS");this.hb=f&3;e=this.sa[this.hb];e.bb=f>>2&1;d=this.Ha("N");e.Va=128<<d;
e.ld=this.Ha("SC");this.Ha("GPL");e.Si=this.Ha("D");this.dj(e);this.ob();Jj(this,e);this.ab((e.Oa&65280)>>>8,"ST1");this.ab((e.Oa&16711680)>>>16,"ST2");this.ab(e.nb,"C");this.ab(e.bb,"H");this.ab(e.Pa,"R");this.ab(d,"N");d=!0;break;case 15:f=this.Ha("DS"),this.hb=f&3,e=this.sa[this.hb],e.bb=f>>2&1,c=this.Ha("NCN"),e.nb+=c-e.hd,0>e.nb&&(e.nb=0),e.nb>=e.fc&&(e.nb=e.fc-1),e.hd=c,e.Oa=32,0==e.nb&&(e.Oa|=268435456),this.ob(),d=!0}0<this.Sa&&(this.ta|=80);this.xe&8&&(!e||e.Oa&8||!d||this.ga&&R(this.ga,
6))}};g.El=function(){var a=this.Cd;this.Cd&=-129;return a};g.Pm=function(a,b){this.Ek=b};g.Ha=function(){var a=this.Jb[this.eb];this.eb++;return a};g.ob=function(){this.eb=this.Sa=0};g.ab=function(a){this.Jb[this.Sa++]=a};function Jj(a,b){a.ab(b.hb|b.bb<<2|b.Oa&255,"ST0")}g.$g=function(a,b,c){void 0===b||0>b?this.tc(a,c):c(-1,!1)};g.ah=function(a,b){return void 0!==b&&0<=b?this.vc(a,b):-1};g.Xk=function(a,b){return void 0!==b&&0<=b?this.Ii(a,b):-1};
g.bh=function(a){a.Oa=72;a.ra&&(a.Ka=null,a.Oa=0,this.ga&&(Lh(this.ga,2,this,"dmaRead",a),Jh(this.ga,2)))};g.dh=function(a){a.Oa=72;a.ra&&(a.ra.qe?a.Oa=576:(a.Ka=null,a.Oa=0,this.ga&&(Lh(this.ga,2,this,"dmaWrite",a),Jh(this.ga,2))))};g.dj=function(a){a.Oa=72;a.ra&&(a.Ka=null,a.Oa=0,this.ga&&(a.Rd=0,a.bc=Array(4),a.Me=!0,a.Re=0,Lh(this.ga,2,this,"dmaFormat",a),Jh(this.ga,2),a.Me=!1))};
g.tc=function(a,b){var c=-1;if(!a.Oa&&a.ra){do{if(a.Ka&&0<=(c=yj(a.Ka,a.Qa++)))break;a.Ka=a.ra.seek(a.nb,a.bb,a.Pa);if(!a.Ka){a.Oa=1088;break}a.Qa=0;a.Pa++}while(1)}b(c,!1)};g.vc=function(a,b){if(a.Oa||!a.ra)return-1;do{if(a.Ka&&a.ra.write(a.Ka,a.Qa++,b))break;a.Ka=a.ra.seek(a.nb,a.bb,a.Pa);if(!a.Ka){a.Oa=8256;b=-1;break}a.Qa=0;a.Pa++}while(1);return b};
g.Ii=function(a,b){if(a.Oa)return-1;a.bc[a.Rd++]=b;if(a.Rd==a.bc.length){a.nb=a.bc[0];a.bb=a.bc[1];a.Pa=a.bc[2];a.Va=128<<a.bc[3];for(var c=a.Rd=0;c<a.Va;c++)if(0>this.vc(a,a.Si))return-1;a.Re++}a.Re>=a.ld&&(b=-1);return b};var Ej={1012:zj.prototype.Fl,1013:zj.prototype.Dl,1015:zj.prototype.El},Fj={1010:zj.prototype.Rm,1013:zj.prototype.Qm,1015:zj.prototype.Pm};u(function(){for(var a=B(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new zj(d);A(d,c)}});
function $(a){v.call(this,"HDC",a,$);this.dmaRead=this.$g;this.dmaWrite=this.ah;this.dmaWriteBuffer=this.Yk;this.dmaWriteFormat=this.Zk;this.Lg=[];if(a.drives)try{this.Lg=eval("("+a.drives+")")}catch(b){this.error("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.af=(this.Vd="at"==a.type)?1:0;this.il=this.Vd?2:3}y(v,$);
var Kj=[{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]}];g=$.prototype;g.sb=function(){return!1};g.dc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ga=d;this.Ea=a;this.ga=D(a,"ChipSet");Za(b,this,this.Vd?Lj:Mj);ab(b,this,this.Vd?Nj:Oj);this.reset();this.Le()||this.Ma()};
g.Rb=function(a,b){if(!b)if(!a||!this.restore)this.Xc(),this.Ea.nh&&this.Le(!0);else if(!this.restore(a))return!1;return!0};g.Ib=function(a){return a&&this.save?this.save():!0};g.re=function(){return this.Ea?this.Ea.re():""};g.td=function(){return this.Ea?this.Ea.td():""};g.reset=function(){this.Xc(null,!0)};g.save=function(){var a=new H(this);a.set(0,this.Ci());return a.data()};g.restore=function(a){return this.Xc(a[0])};
g.Xc=function(a,b){var c=0,d=!0;if(this.Vd)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Bd=a[c++],this.Ik=a[c++],this.Ag=a[c++],this.Bg=a[c++],this.zg=a[c++],this.yg=a[c++],this.vf=a[c++],this.ta=a[c++],this.Ai=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.uf=a[c++];this.ta=a[c++];this.Jb=a[c++];this.eb=a[c++];this.Sa=a[c++];this.Hk=a[c++];this.Gk=a[c++];this.Fk=a[c++];var e=a[c++];void 0!==e?this.$e=e:void 0===this.$e&&(this.$e=-1)}void 0===this.sa&&(this.sa=Array(this.Lg.length));c=a[c];void 0===
c&&(c=[]);for(e=0;e<this.sa.length;e++){void 0===this.sa[e]&&(this.sa[e]={});var f=this.sa[e];this.wh(e,f,this.Lg[e],c[e],b)||(d=!1);null!=this.uf&&1>=e&&(this.uf|=(f.type&3)<<(1-e<<1))}return d};
g.Ci=function(){var a=0,b=[];this.Vd?(b[a++]=this.Bd,b[a++]=this.Ik,b[a++]=this.Ag,b[a++]=this.Bg,b[a++]=this.zg,b[a++]=this.yg,b[a++]=this.vf,b[a++]=this.ta,b[a++]=this.Ai):(b[a++]=this.uf,b[a++]=this.ta,b[a++]=this.Jb,b[a++]=this.eb,b[a++]=this.Sa,b[a++]=this.Hk,b[a++]=this.Gk,b[a++]=this.Fk,b[a++]=this.$e);b[a]=this.Ei();return b};
g.wh=function(a,b,c,d,e){var f=0,l=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.hb=a;b.errorCode=d[f++];b.Nk=d[f++];b.pe=d[f++];b.ie=d[f++];b.je=d[f++];b.bb=d[f++];b.gc=d[f++];b.Fd=d[f++];b.Pa=d[f++];b.ld=d[f++];b.Va=d[f++];b.Sf=this.Vd?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.td()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Kj[this.af][b.type])b.type=this.il;c=Kj[this.af][b.type];
b.Lc=c[2]||17;b.xb=c[3]||512;if(e&&this.ga&&(e=this.ga,c=b.type,e.ka)){var k=e.ka[18],k=a?k&240|c:k&15|c<<4;e.ka&&(e.ka[18]=k,xh(e))}void 0===b.ra&&(b.ra=null,C(this,"Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Pj(this,b);b.Qa=d[f++];b.Ka=null;b.ra&&(a=d[f],void 0!==a&&0>b.ra.restore(a)&&(l=!1),l&&void 0!==b.Qa&&(b.Ka=b.ra.seek(b.Fd,b.bb,b.Pa+b.Sf)));return l};g.Ei=function(){for(var a=0,b=[],c=0;c<this.sa.length;c++)b[a++]=this.Di(this.sa[c]);return b};
g.Di=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.Nk;c[b++]=a.pe;c[b++]=a.ie;c[b++]=a.je;c[b++]=a.bb;c[b++]=a.gc;c[b++]=a.Fd;c[b++]=a.Pa;c[b++]=a.ld;c[b++]=a.Va;c[b++]=a.Qa;c[b]=a.ra?a.ra.save():null;return c};
function Pj(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ie[2])?e=b.ie[0]<<8|b.ie[1]:c=b.type);null==c||d||(d=Kj[a.af][c][1],e=Kj[a.af][c][0]);d&&((c=Kj[a.af][b.type])&&e!=c[0]&&d!=c[1]&&C(a,"Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.fc=e,b.gc=d,null==b.ra&&(b.ra=new qj(a,b,b.mode)))}}
g.Le=function(a){a||(this.Od=0);for(var b=0;b<this.sa.length;b++){var c=this.sa[b];if(c.name&&c.path){var d;d=c.name;var c=c.path,e=this.sa[b];e.Cc?(C(this,"Drive "+b+" busy"),d=!0):(e.Cc=!0,e.Wd=!0,this.Od++,(e.ra||new qj(this,e,e.mode)).load(d,c,this.jm),d=!1);!d&&a&&this.Ma(!1)}else a&&void 0!==c.type&&(c.ra=null,Pj(this,c,c.type))}return!!this.Od};g.jm=function(a,b,c){a.Cc=!1;(a.ra=b)&&C(this,'Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.hb),a.Wd);a.Wd&&(a.Wd=!1,--this.Od||this.Ma())};
g.em=function(){var a=0;this.eb<this.Sa&&(a=this.Jb[this.eb]);this.ga&&Vh(this.ga,5);this.ta&=-33;++this.eb>=this.Sa&&(this.eb=this.Sa=0,this.ta&=-15);return a};g.nn=function(a,b){this.Sa<this.Jb.length&&(this.Jb[this.Sa++]=b);var c=12!=this.Jb[0]?6:this.Jb.length;6==this.Sa&&(this.ta&=-2);this.Sa>=c&&(this.ta|=2,this.ta&=-2,Qj(this))};g.fm=function(){var a=this.ta;this.eb<this.Sa&&(this.ta|=1);return a};g.qn=function(a,b){this.Hk=b;this.ga&&Vh(this.ga,5);this.Xc()};g.dm=function(){return this.uf};
g.pn=function(a,b){this.Gk=b;this.ta=13};g.on=function(a,b){this.Fk=b};g.vi=function(){};g.ql=function(){var a=-1;if(this.La&&(a=this.tc(this.La),this.La.Qa==this.La.xb))if(this.La.Va-=this.La.xb,this.La.Va>=this.La.xb){var b=this;this.tc(this.La,function(a){0<=a?b.ga&&R(b.ga,14):(b.ta=1,b.Bd=16)},!1)}else this.ta=80;return a};
g.Em=function(a,b){this.La&&this.La.Va>=this.La.xb&&(0>this.vc(this.La,b)?(this.ta=1,this.Bd=16):this.La.Qa==this.La.xb&&(this.La.Va-=this.La.xb,this.ga&&R(this.ga,14),this.La.Va>=this.La.xb||(this.ta=80)))};g.sl=function(){return this.Bd};g.Im=function(a,b){this.Ik=b};g.tl=function(){return this.Ag};g.Gm=function(a,b){this.Ag=b};g.ul=function(){return this.Bg};g.Hm=function(a,b){this.Bg=b};g.pl=function(){return this.zg};g.Dm=function(a,b){this.zg=b};g.ol=function(){return this.yg};
g.Cm=function(a,b){this.yg=b};g.rl=function(){return this.vf};g.Fm=function(a,b){this.vf=b};g.vl=function(){return this.ta};g.Bm=function(a,b){this.Ai=b;this.ga&&Vh(this.ga,14);Rj(this)};
function Rj(a){var b=!1,c=a.Ai,d=a.vf&16?1:0,e=a.vf&15,f=a.zg|(a.yg&3)<<8,l=a.Bg,k=a.Ag;a.La=null;a.Bd=0;a.ta=80;(d=a.sa[d])?(d.Fd=f,d.bb=e,d.Pa=l,d.Va=k*d.xb,c=144<=c?c:c&240,d.Ka=null,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.tc(d,function(b){0<=b&&a.ga?(R(a.ga,14),a.ta=136):(a.ta=1,a.Bd=16)},!1);break;case 48:a.ga?(R(a.ga,14),a.ta=136):(a.ta=1,a.Bd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Bd=1;b=!0;break;case 145:d.gc=e+1,d.Lc=k,b=!0}b&&a.ga&&R(a.ga,14)}
function Qj(a){a.eb=0;var b=a.Ha(),c=a.Ha(),d=c&32,e=d>>5,f=c&31,l=a.Ha(),k=a.Ha(),m=l<<2&768|k,n=l&63,q=a.Ha(),s=a.Ha(),r=a.sa[e];r&&(r.Fd=m,r.bb=f,r.Pa=n,r.Va=q*r.xb);switch(b){case 3:a.ob(r?r.errorCode:4);a.ab(c);a.ab(l);a.ab(k);a.ab(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ha());)r&&c<r.ie.length&&(r.ie[c++]=b);r&&Pj(a,r);b=0;r||a.$e!=e||(a.$e=-1,b=2);a.ob(b|d);b=-1;break;case 224:case 228:a.ob(0|d),b=-1}if(0<=b)switch(void 0===r?b=-1:(r.errorCode=0,r.Nk=0),b){case 0:a.ob(0|d);break;case 1:r.Un=
s;a.ob(0|d);break;case 5:a.ob(0|d);break;case 8:a.bh(r,function(b){a.ob(b|d)});break;case 10:a.dh(r,function(b){a.ob(b|d)});break;case 15:Sj(a,r,function(b){a.ob(b|d)});break;default:a.ob(2|d)}}g.Ha=function(){var a=-1;this.eb<this.Sa&&(a=this.Jb[this.eb++]);return a};g.ob=function(a){this.eb=this.Sa=0;void 0!==a&&this.ab(a);this.ga&&R(this.ga,5);this.ta|=32};g.ab=function(a){this.Jb[this.Sa++]=a};g.$g=function(a,b,c){void 0===b||0>b?this.tc(a,c):c(-1,!1)};
g.ah=function(a,b){return void 0!==b&&0<=b?this.vc(a,b):-1};g.Yk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Qa<a.je.length?a.je[a.Qa++]=c:(a.errorCode=20,c=-1)):c=-1;return c};g.Zk=function(a,b){return void 0!==b&&0<=b?this.Ii(a,b):-1};g.bh=function(a,b){a.errorCode=4;if(a.ra&&(a.Ka=null,this.ga)){a.errorCode=0;Lh(this.ga,3,this,"dmaRead",a);Jh(this.ga,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
g.dh=function(a,b){a.errorCode=4;if(a.ra&&(a.Ka=null,this.ga)){a.errorCode=0;Lh(this.ga,3,this,"dmaWrite",a);Jh(this.ga,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 Sj(a,b,c){b.errorCode=4;b.je&&b.je.length==b.Va||(b.je=Array(b.Va));b.Qa=0;a.ga?(b.errorCode=0,Lh(a.ga,3,a,"dmaWriteBuffer",b),Jh(a.ga,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
g.dj=function(a,b){a.errorCode=4;if(a.ra&&(a.Ka=null,this.ga)){a.Rd=0;a.bc=Array(4);a.Me=!0;a.Re=0;a.errorCode=0;Lh(this.ga,3,this,"dmaWriteFormat",a);Jh(this.ga,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.Me=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
g.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.Ka&&(d=yj(a.Ka,a.Qa),a.Qa+=e,0<=d))return b&&b(d,!1),d;b&&a.ra.seek(a.Fd,a.bb,a.Pa+a.Sf,!1,function(c,d){var k=-1;(a.Ka=c)?(a.Qa=0,Tj(a),k=yj(a.Ka,a.Qa),a.Qa+=e):a.errorCode=20;b(k,d)});return d};g.vc=function(a,b){if(a.errorCode)return-1;do{if(a.Ka&&a.ra.write(a.Ka,a.Qa++,b))break;a.ra.seek(a.Fd,a.bb,a.Pa+a.Sf,!0,function(b){a.Ka=b});if(!a.Ka){a.errorCode=20;b=-1;break}a.Qa=0;Tj(a)}while(1);return b};
function Tj(a){a.Pa++;var b=1-a.Sf;a.Pa>=a.Lc+b&&(a.Pa=b,a.Ti++,a.Ti>=a.gc&&(a.Ti=0,a.Fd++))}g.Ii=function(a,b){if(a.errorCode)return-1;a.bc[a.Rd++]=b;if(a.Rd==a.bc.length){a.Fd=a.bc[0];a.bb=a.bc[1];a.Pa=a.bc[2];a.Va=128<<a.bc[3];for(var c=a.Rd=0;c<a.Va;c++)if(0>this.vc(a,a.Si))return-1;a.Re++}a.Re>=a.ld&&(b=-1);return b};
var Mj={800:$.prototype.em,801:$.prototype.fm,802:$.prototype.dm},Lj={496:$.prototype.ql,497:$.prototype.sl,498:$.prototype.tl,499:$.prototype.ul,500:$.prototype.pl,501:$.prototype.ol,502:$.prototype.rl,503:$.prototype.vl},Oj={800:$.prototype.nn,801:$.prototype.qn,802:$.prototype.pn,803:$.prototype.on,807:$.prototype.vi,811:$.prototype.vi,815:$.prototype.vi},Nj={496:$.prototype.Em,497:$.prototype.Im,498:$.prototype.Gm,499:$.prototype.Hm,500:$.prototype.Dm,501:$.prototype.Cm,502:$.prototype.Fm,503:$.prototype.Bm};
u(function(){for(var a=B(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new $(d);A(d,c)}});function H(a,b,c){this.id=a.id;this.key=Wj(a,b,c);this.Ga=a.Ga;Xj(this,a.rn)}function Wj(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){this[this.id][a]=b},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.lh=!0):this.lh?!0:window.localStorage&&(a=window.localStorage.getItem(this.key))?(this[this.id]=a,this.lh=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){t(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){Xj(this);if(window.localStorage)for(var b=0;b<window.localStorage.length;){var c=window.localStorage.key(b++);c&&(a||c.substr(0,this.key.length)==this.key)&&(window.localStorage.removeItem(c),b=0)}}};function Xj(a,b){a[a.id]={};b&&a.set("parms",b);a.lh=!1}
function Yj(a){var b=!0;if(window.localStorage){var c=JSON.stringify(a[a.id]);try{window.localStorage.setItem(a.key,c)}catch(d){t("Unable to store "+c.length+" bytes in browser local storage"),b=!1}}return b}
function Zj(a,b,c){v.call(this,"Computer",a,Zj);this.yb=!1;this.cf=a.buswidth;this.hc=ak;this.zf=null;this.dg=!1;this.url=b?b.url:null;this.An=(Math.random()+0.1).toString(36).substr(2,12);this.uc=bk(this);if(this.ja=Fa("CPU",this.id)){this.Ga=Fa("Debugger",this.id);this.ma=new Na({id:this.gg+".bus",buswidth:this.cf},this.ja,this.Ga);b=Da(this.id);for(var d=0;d<b.length;d++){var e=b[d];e.dc&&e.dc(this,this.ma,this.ja,this.Ga)}b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Dg=d:this.hc=parseInt(d,
10));var f;if(a=wa&&wa.state||(f=!0,a.state))b=this.Lk=a,f||(this.dg=!0,this.hc=ak),this.hc&&(this.Hg=new H(this,"1.15.4"),this.Hg.load()?b=null:delete this.Hg);!b&&this.hc&&(f=null,this.uc&&(f=la()+"/api/v1/user?req=load&user="+this.uc+"&state="+Wj(this,"1.15.4")),b=f)&&(this.dg=!0);b?p(b,!0,null,this,this.vm):this.Ma();c||ck(this,this.wg)}else t("Unable to find CPU component")}y(v,Zj);var Hj=102,ak=0;g=Zj.prototype;g.re=function(){return this.An};g.td=function(){return this.uc?this.uc:""};
g.vm=function(a,b,c){c?(this.Dg=null,this.dg=!1,C(this,"Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.zf=b;this.Ma()};function ck(a,b,c){for(var d=Da(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ia(f)){Ia(f,function(){ck(a,b,c)});return}}b.call(a,c)}
function dk(a,b){var c=new H(a,"1.15.4","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(C(a,"Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
g.wg=function(a){void 0===a&&(a=this.zf?1:this.hc);var b=!1,c=!1;this.jj=!1;var d=this.Hg||new H(this,"1.15.4");if(-1==a)b=!0;else if(a>ak){if(d.load(this.zf)){this.Be=new H(this,"1.15.4","failsafe");this.Be.load()&&(ek(this,d),a=2);this.Be.set("timestamp",ja());Yj(this.Be);var e=this.hc&&!this.dg;if(1==a||ma("Click OK to restore previous PCjs machine state.")){if(c=d.parse()){var f=d.get("code"),l=d.get("data");f&&("ok"==f?d.load(l):("error"==f&&"no machine state"!=l?(C(this,"Error: "+l),"unable to verify user"==
l&&(na(""),this.uc=null)):Ga(this,f+": "+l),Xj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&dk(this,c?d:null)}else 2==a&&d.clear()}else dk(this);delete this.zf;delete this.Hg}e=Da(this.id);for(f=0;f<e.length;f++)l=e[f],l!==this&&l!=this.ja&&(c=fk(this,l,d,b,c));b=[d,a,c];-1!=a?ck(this,this.Ck,b):this.Ck(b)};
function fk(a,b,c,d,e){if(!b.yb){b.yb=!0;if(b.Rb){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.Rb(f,d)&&f&&(a.error("Unable to restore state for "+b.type),a.Lk&&!a.zf?(c.clear(),a.hc=ak,window&&window.location.reload()):a.jj=!0,b.Rb(null),e=!1)}if(!d&&b.bj)for(a=b.bj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
g.Ck=function(a){var b=a[0],c=0>a[1];a=a[2];this.yb=!0;this.gj||(Ga(this,"PCjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.gj=!0);this.ja&&fk(this,this.ja,b,c,a);this.jj&&(ek(this,b),b.clear());!c&&this.Be&&(this.Be.clear(),delete this.Be)};
function ek(a,b){if(ma("There may be a problem with PCjs.\nClick OK to send your PCjs machine state to http://www.pcjs.org.")){var c=a.td(),d=b.toString(),e={app:"PCjs",ver:"1.15.4"};e.url=a.url;e.user=c;e.type="bug";e.data=d;p("http://www.pcjs.org/api/v1/report",!0,e)}}
function gk(a,b,c){var d,e="none",f=new H(a,"1.15.4"),l=new H(a,"1.15.4","validate"),k=ja();l.set("timestamp",k);f.set("timestamp",k);f.set("version","1.15.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ja&&a.ja.Ib&&(c&&lb(a.ja),d=a.ja.Ib(b,c),"object"===typeof d&&f.set(a.ja.id,d),c&&(a.ja.yb=!1,!1===d&&(e=null)));for(var k=Da(a.id),m=0;m<k.length;m++){var n=k[m];n.yb&&(n.Ib&&(d=n.Ib(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.yb=!1,!1===
d&&(e=null)))}e&&(c?(k=d=!1,b?(a.uc&&hk(a,a.uc,f.toString()),Yj(l)&&Yj(f)||(e=null,d=k=!0)):a.hc&&(d=!0,k=3==a.hc),d&&f.clear(k)):e=f.toString());c&&(a.yb=!1);return e}g.reset=function(){this.ma&&this.ma.reset&&this.ma.reset();for(var a=Da(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&c.reset()}};g.start=function(a,b){for(var c=Da(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
g.stop=function(a,b){for(var c=Da(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};g.sb=function(a,b,c,d){var e=this;switch(c){case "save":return this.oa[c]=d,d.onclick=function(){var a=bk(e,!0);if(a){var b=!(!e.hc||e.Dg),c=gk(e,b);b?hk(e,a,c):C(e,"Resume disabled, machine state not saved")}},!0;case "reset":return this.oa[c]=d,d.onclick=function(){mb(e)},!0}return!1};
function bk(a,b){var c=a.uc;if(!c){var d;window&&(d=window.localStorage.getItem("user"));c=d;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=ik(a,c))||C(a,"Your user ID has not been approved."))):b&&C(a,"Browser local storage is not available")}return c}
function ik(a,b){a.uc=null;var c=p(la()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na(c.data),a.uc=c.data)}catch(e){t(e.message+" ("+d+")")}return a.uc}
function hk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Wj(a,"1.15.4");d.data=c;b=p(la()+"/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?C(a,"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,C(a,c),na(""),a.uc=null)}}
function mb(a){if(a.hc&&!a.Dg){var b=1==a.hc||!ma("Click OK to reset the PCjs machine state.\n(WARNING: All disk changes will be discarded)");gk(a,b,!0);!b&&a.Lk?window&&window.location.reload():(b||(a.nh=!0),a.wg(ak),a.nh=!1)}else a.reset(),a.ja&&kb(a.ja)}function D(a,b,c){a=Da(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}
u(function(){for(var a=B(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],l=z(f),l=new Zj(l,d,!0);A(l,f);ck(l,l.wg)}});pa.show.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Fa("Computer",c.id))&&c.gj&&!c.yb&&c.wg(-1)}});
pa.exit.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Fa("Computer",c.id))&&c.yb&&gk(c,!(!c.hc||c.Dg),!0)}});function jk(a,b,c,d){var e=p(a);if(e[0])throw Error(e[1]);return kk(e[1],a,b,c,d)}
function kk(a,b,c,d,e){var f=null;if(a){if(e)for(var l=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g;f=l.exec(a);){var k=f[2],m=p(k),n=m[1];if(m[0]||!n)throw c="unable to resolve XML reference: "+f[0]+" ("+m[0]+")",Error(c);if(m=f[3]){var q=n.match(new RegExp("<"+f[1]+"[^>]*>"));if(q){for(var k=q[0],s,r=/( [a-z]+=)(['"])(.*?)\2/g;s=r.exec(m);)k=0>k.indexOf(s[1])?k.replace(">",s[0]+">"):k.replace(new RegExp(s[1]+"(['\"])(.*?)\\1"),s[0]);q[0]!=k&&(n=n.replace(q[0],k))}else throw c="missing <"+f[1]+"> in "+k,Error(c);
function Z(a){this.sj=a.adapter;switch(this.sj){case 1:this.Di=1016;this.pf=4;break;case 2:this.Di=760;this.pf=3;break;default:t("Unrecognized serial adapter #"+this.sj);return}this.qd=null;v.call(this,"SerialPort",a,Z);var b=a.binding,c;a=bj;b&&(void 0===c&&(c="Panel"),(c=Ca(c,this.id))&&(b=c.oa[b])&&this.tb(null,null,a,b))}y(v,Z);var bj="buffer";g=Z.prototype;g.Wi=function(a,b){return a==this.Ah?(this.wj=b,this):null};
g.tb=function(a,b,c,d){var e=this;switch(c){case bj:return this.oa[c]=this.qd=d,d.onkeydown=function(a){a=a||window.event;var b=a.charCode||a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),cj(e,[b]))},d.onkeypress=function(a){a=a||window.event;cj(e,[a.which||a.keyCode])},!0}return!1};g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;this.ga=C(a,"ChipSet");Ua(b,this,dj,this.Di);Wa(b,this,ej,this.Di);this.Oa()};
g.Sb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};g.Jb=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.wd()};g.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.Wg;c[b++]=this.$i;c[b++]=this.he;c[b++]=this.Rf;c[b++]=this.ld;c[b++]=this.Od;c[b++]=this.Ic;c[b++]=this.mc;c[b++]=this.Yi;c[b]=this.Je;a.set(0,c);return a.data()};g.restore=function(a){return this.wd(a[0])};
g.wd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Wg=a[b++];this.$i=a[b++];this.he=a[b++];this.Rf=a[b++];this.ld=a[b++];this.Od=a[b++];this.Ic=a[b++];this.mc=a[b++];this.Yi=a[b++];this.Je=a[b];return!0};function cj(a,b){a.Je=a.Je.concat(b);fj(a)}function fj(a){0<a.Je.length&&!(a.mc&1)&&(a.Wg=a.Je.shift(),a.mc|=1);var b=-1;a.mc&1&&a.Rf&1&&(b=4);0<=b?(a.ld&=-8,a.ld|=b,a.ga&&a.pf&&R(a.ga,a.pf)):(a.ld|=1,a.ga&&a.pf&&Qh(a.ga,a.pf))}
g.cm=function(){var a=this.Od&128?this.he&255:this.Wg;this.mc&=-2;fj(this);return a};g.Ol=function(){return this.Od&128?this.he>>8:this.Rf};g.Pl=function(){return this.ld};g.Ql=function(){return this.Od};g.Sl=function(){return this.Ic};g.Rl=function(){return this.mc};g.Yl=function(){return this.Yi};
g.pn=function(a,b){if(this.Od&128)this.he=this.he&-256|b;else{this.$i=b;this.mc&=-97;var c;this.qd?(13!=b&&(8==b?this.qd.value=this.qd.value.slice(0,-1):(this.qd.value+=String.fromCharCode(b),this.qd.scrollTop=this.qd.scrollHeight)),c=!0):c=!1;c&&(this.mc|=96)}};g.$m=function(a,b){this.Od&128?this.he=this.he&255|b<<8:this.Rf=b};g.an=function(a,b){this.Od=b};
g.bn=function(a,b){var c=this.Ic;this.Ic=b;if(this.wj&&(c^b)&3){var c=this.wj,d=this.Ic,e=3==(d&3);if(e){if(!c.Xb){var f=!1;c.Ic&2||(c.reset(),f=!0);c.Ic&1||(f=!0);f&&cj(c.We,[77]);gj(c,c.qb);c.Xb=e}}else c.Xb&&(hj(c.qb),c.Xb=e);c.Ic=d}};var dj={0:Z.prototype.cm,1:Z.prototype.Ol,2:Z.prototype.Pl,3:Z.prototype.Ql,4:Z.prototype.Sl,5:Z.prototype.Rl,6:Z.prototype.Yl},ej={0:Z.prototype.pn,1:Z.prototype.$m,3:Z.prototype.an,4:Z.prototype.bn};
u(function(){for(var a=B(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});function ij(a){v.call(this,"Mouse",a,ij);if(this.zh=a.serial)this.Gi="SerialPort";this.Xb=!1;this.Oa()}y(v,ij);g=ij.prototype;g.gc=function(a,b,c,d){this.Fa=a;this.ma=b;this.ja=c;this.Ha=d};
g.Sb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Gi&&!this.We){for(var c=null;(c=C(this.Fa,this.Gi,c))&&(!c.Wi||!(this.We=c.Wi(this.zh,this))););if(this.We){if(c=C(this.Fa,"Video"))this.qb=c.qb}else t(this.id+": "+this.Gi+" "+this.zh+" unavailable")}this.Xb?gj(this,this.qb):hj(this.qb)}return!0};g.Jb=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.wd()};g.save=function(){var a=new H(this);a.set(0,this.Ki());return a.data()};
g.restore=function(a){return this.wd(a[0])};g.wd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.Xb=a[b++];this.Gf=a[b++];this.Hf=a[b++];this.Ee=a[b++];this.Fe=a[b++];this.cg=a[b++];this.dg=a[b++];this.Ic=a[b];return!0};g.Ki=function(){var a=0,b=[];b[a++]=this.Xb;b[a++]=this.Gf;b[a++]=this.Hf;b[a++]=this.Ee;b[a++]=this.Fe;b[a++]=this.cg;b[a++]=this.dg;b[a]=this.Ic;return b};
function gj(a,b){b&&(a.lh||(b.addEventListener("mousemove",function(b){if(a.Xb&&a.ja&&a.ja.rc){if(0>a.Gf||0>a.Hf)a.Gf=b.clientX,a.Hf=b.clientY;a.Ee=b.clientX-a.Gf;a.Fe=b.clientY-a.Hf;(a.Ee||a.Fe)&&jj(a);a.Gf=b.clientX;a.Hf=b.clientY}},!1),b.addEventListener("mousedown",function(b){kj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){kj(a,b.button,!1)},!1),a.lh=!0),b.style.cursor="none")}function hj(a){a&&(a.style.cursor="auto")}
function kj(a,b,c){if(a.Xb&&a.ja&&a.ja.rc)switch(b){case 0:a.cg!=c&&(a.cg=c,jj(a));break;case 2:a.dg!=c&&(a.dg=c,jj(a))}}function jj(a){cj(a.We,[64|(a.cg?32:0)|(a.dg?16:0)|(a.Fe&192)>>4|(a.Ee&192)>>6,a.Ee&63,a.Fe&63]);a.Ee=a.Fe=0}u(function(){for(var a=B(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ij(d);A(d,c)}});
function lj(a,b,c){v.call(this,"Disk",{id:a.kg+".disk"+mj++},lj);this.ea=a;this.Fa=a.Fa;this.Ha=a.Ha;this.Na=b;this.mode=c;this.fd=b.name;this.ic=b.ic;this.Yb=b.Yb;this.Gc=b.Gc;this.yb=b.yb;this.re=b.re;this.rh=this.Yc=!1;this.create();this.Jd=[];this.Jf=[];this.hd=null;this.yj=0;this.th=!1;this.Oa()}var mj=0;y(v,lj);g=lj.prototype;g.gc=function(a,b,c,d){this.Ha=d};g.Sb=function(a,b){b||this.rh&&!this.Yc&&this.load(this.fd,this.Ae);return!0};
g.Jb=function(a,b){if(this.Yc){var c,d=0;if(this.th&&!ma("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=nj(this,!1);)if(d=c[0]){this.xa('Unable to save "'+this.fd+'" (error '+d+")");break}b&&this.Yc&&(c="action=close&volume="+this.Ae,c+="&machine="+this.ea.te(),c+="&user="+this.ea.vd(),p(la()+"/api/v1/disk?"+c,!0),this.Yc=!1);d||this.xa(this.fd+" saved")}return!0};
g.create=function(){this.Fb=[];if("preload"!=this.mode){for(var a=Array(this.ic),b=0;b<a.length;b++){for(var c=Array(this.Yb),d=0;d<c.length;d++){for(var e=Array(this.Gc),f=1;f<=e.length;f++)e[f-1]=oj(null,b,d,f,this.yb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Fb=a}this.ag=0};
g.load=function(a,b,c){var d=b;this.fd=a;this.Ae=b;this.qj=c;0>b.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?d=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.ic+":"+this.Yb+":"+this.Gc+":"+this.yb,a+="&machine="+this.ea.te(),a+="&user="+this.ea.vd(),d=la()+"/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"),d=la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.re?"":d)+"&format=json"));p(d,!0,null,this,this.vm,b)};
g.vm=function(a,b,c,d){var e=null;this.se=!1;var f=0>c&&this.Fa&&!this.Fa.zb;if(this.rh)c?this.xa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Yc=!0,e=this);else if(c)this.xa('Unable to load disk "'+this.fd+'" (error '+c+")",f);else try{if(0<ea(a,!0).toLowerCase().indexOf("-readonly"))this.se=!0;else{var l=b.indexOf("\n");0<l&&1024>l&&0<b.substring(0,l).indexOf("write-protected")&&(this.se=!0)}var k;k="<"==b.substr(0,1)?["Missing disk image: "+this.fd]:0>b.indexOf("0x")&&'["'!=
b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(k.length)if(1==k.length)t(k[0]);else{for(b=a=0;b<k.length;b++)for(c=0;c<k[b].length;c++)for(d=0;d<k[b][c].length;d++){var m=k[b][c][d],n=m.length;void 0===n&&(n=m.length=512);var n=n>>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var s=m.data;if(void 0===s){var r=m.bytes;if(void 0!==r&&r.length){for(var f=n<<2,x=r.length;x<f;x++)r[x]=q;this.fill(m,r,0)}else s=[],q=m.pattern=q|q<<8|q<<16|q<<24,m.data=
s;delete m.bytes}oj(m,b,c);for(f=0;f<s.length;f++)a=a+s[f]&4294967295}this.Fb=k;this.ag=a;e=this}else t("Empty disk image: "+this.fd)}catch(L){t("Disk image error: "+L.message)}this.qj&&this.qj.call(this.ea,this.Na,e,this.fd,this.Ae)};function oj(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.ll=b;a.nl=c;a.Fc=a.oc=0;a.Qa=!1;return a}
g.wm=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],l=d[2],k=d[3];a=d[4];b=JSON.parse(b);for(var m=0;k--;){var n=this.seek(e,f,l,!0);if(!n)break;this.fill(n,b,m);m+=n.length;l++}}(d=d[5])&&d(c,a)};function pj(a,b,c,d,e,f){if(a.Yc){var l;l="action=read&volume="+a.Ae;l+="&chs="+a.ic+":"+a.Yb+":"+a.Gc+":"+a.yb;l=l+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.te());l+="&user="+a.ea.vd();p(la()+"/api/v1/disk?"+l,!0,null,a,a.wm,[b,c,d,e,!0,f])}else f&&f(-1,!1)}
function qj(a,b,c){b.Qa=!0;var d=a.Jd.indexOf(b);0<=d&&(a.Jd.splice(d,1),a.Jf.splice(d,1));a.Jd.push(b);a.Jf.push(ia());c&&rj(a)}function rj(a){if(a.Jd.length){var b=a.Jf[0]+2E3;a.hd&&a.yj<b&&(clearTimeout(a.hd),a.hd=null);if(!a.hd){var c=ia(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.hd=setTimeout(function(){nj(a,!0)},b);a.yj=c+b}}else a.hd&&(clearTimeout(a.hd),a.hd=null)}
function nj(a,b){b&&(a.hd=null);var c=a.Jd[0];if(c){for(var d=c.ll,e=c.nl,c=c.sector,f=0,l=[],k=c-1;k<a.Fb[d][e].length;k++){var m=a.Fb[d][e][k];if(!m.Qa)break;var n=a.Jd.indexOf(m);a.Jd.splice(n,1);a.Jf.splice(n,1);l=l.concat(sj(m));m.Qa=!1;f++}a.Yc?(k={},a.th=!0,k.action="write",k.volume=a.Ae,k.chs=a.ic+":"+a.Yb+":"+a.Gc+":"+a.yb,k.addr=d+":"+e+":"+c+":"+f,k.machine=a.ea.te(),k.user=a.ea.vd(),k.data=JSON.stringify(l),d=p(la()+"/api/v1/disk",b,k,a,a.Bm,[d,e,c,f,b])):d=!1;return b||d}return!1}
g.Bm=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.th=!1;if(0<=a&&a<this.Fb.length&&0<=b&&b<this.Fb[a].length)for(e-=1;0<f--&&0<=e&&e<this.Fb[a][b].length;e++){var l=this.Fb[a][b][e];c?qj(this,l,!1):l.Qa||(l.Fc=l.oc=0)}d&&rj(this)};
g.seek=function(a,b,c,d,e){var f=null,l=this.Na,k=this.Fb[a];if(k){var m=k[b];if(!m&&l.Pe&&b<l.Yb)for(m=k[b]=Array(l.nd),k=0;k<m.length;k++)m[k]=oj(null,a,b,k+1,l.Xa,0);if(m){for(k=0;k<m.length;k++)if(m[k].sector==c){f=m[k];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++k<m.length;)null===m[k].pattern&&d++;pj(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&l.Pe&&9==l.Pa&&(f=m[k]=oj(null,a,b,l.Pa,l.Xa,0))}}e&&e(f,!1);return f};
g.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 sj(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 l=f<e.length?e[f]:a;c[d++]=l&255;c[d++]=l>>8&255;c[d++]=l>>16&255;c[d++]=l>>24&255}return c}function tj(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}
g.write=function(a,b,c){if(this.se)return!1;if(b<a.length){if(c!=tj(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var l=d.length;l<=f;l++)d[l]=e;a.oc?f<a.Fc?(a.oc+=a.Fc-f,a.Fc=f):f>=a.Fc+a.oc&&(a.oc+=f-(a.Fc+a.oc)+1):(a.Fc=f,a.oc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Yc&&qj(this,a,!0)}return!0}return null};
g.save=function(){var a=0,b=[];b[a++]=[this.Ae,this.ag];if(!this.Yc&&!this.se)for(var c=this.Fb,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 l=c[d][e][f];if(l.oc){for(var k=[],m=0,n=l.Fc,q=l.Fc+l.oc;n<q;)k[m++]=l.data[n++];b[a++]=[d,e,f,l.Fc,k]}}return b};
g.restore=function(a){var b=0,c="unsupported restore format";if(this.Fb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.ag&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.ag+")",b=-1);for(;d<a.length&&0<=b;){var f=0,l=a[d++],k=l[f++],m=l[f++],n=l[f++];if(k>=this.Fb.length||m>=this.Fb[k].length||n>=this.Fb[k][m].length){c="sector "+k+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.se){c="unable to modify write-protected disk";b=-1;break}e=
l[f++];f=l[f++];l=e+f.length;k=this.Fb[k][m][n];for(m=k.data.length;m<e;)k.data[m++]=k.pattern;m=0;k.Fc=e;for(k.oc=f.length;e<l;)k.data[e++]=f[m++];b++}}0>b&&this.xa("unable to restore disk '"+this.fd+": "+c);return b};
function uj(a){v.call(this,"FDC",a,uj);this.dmaRead=this.fh;this.dmaWrite=this.gh;this.dmaFormat=this.al;this.de=null;if(a.autoMount&&(this.de=a.autoMount,"string"==typeof this.de))try{this.de=eval("("+a.autoMount+")")}catch(b){t("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.de=null}this.dc=[];this.Zc();this.Oe()||this.Oa()}y(v,uj);
var vj={3:{pd:3,Ud:0,name:"SPECIFY"},4:{pd:2,Ud:1,name:"DRIVE_STATUS"},5:{pd:9,Ud:7,name:"WRITE_DATA"},6:{pd:9,Ud:7,name:"READ_DATA"},7:{pd:2,Ud:0,name:"RECALIBRATE"},8:{pd:1,Ud:2,name:"INT_STATUS"},13:{pd:6,Ud:7,name:"FORMAT"},15:{pd:3,Ud:0,name:"SEEK"}};g=uj.prototype;
g.tb=function(a,b,c,d){switch(c){case "listDisks":return this.oa[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.oa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){t("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d='<a href="'+m+'" target="_blank">'+d+"</a>");c.innerHTML=
d}}}}(this,d),!0;case "descDisk":case "listDrives":return this.oa[c]=d,d.onchange=function(a,b){return function(){var c=parseInt(b.value,10);isNaN(c)||wj(a,c)}}(this,d),!0;case "loadDrive":return this.oa[c]=d,d.onclick=function(a){return function(){var b,c=a.oa.listDisks,d=a.oa.listDrives;if(c&&d&&!isNaN(b=parseInt(d.value,10))&&0<=b&&b<a.sa.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.ac("Attempting to load "+
d+' as "'+c+'"')}for(;xj(a,b,c,d,!1)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var m=a,n=d,q=void 0,q=0;q<m.dc.length;q++)if(m.dc[q][1]==n){m.dc.splice(q,1);break}yj(a,b,!1,!0)}}else yj(a,b);else a.xa("Nothing to load")}}(this),!0}return!1};g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;this.Fa=a;this.ga=C(a,"ChipSet");Ua(b,this,zj);Wa(b,this,Aj)};
g.Sb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Fa.sh){this.dc=[];for(var c=0;c<this.sa.length;c++)yj(this,c,!0);this.Oe(!0)}}else if(!this.restore(a))return!1;if(this.ga){this.vg=vh(this.ga);for(c=0;c<this.vg;c++){var d=this.sa[c];d.aj=rh(this.ga,c);2==d.aj&&(d.ic=80)}if(d=this.oa.listDrives){for(;d.firstChild;)d.removeChild(d.firstChild);d.innerHTML="";for(c=0;c<this.vg;c++){var e=window.document.createElement("option");e.value=c;e.innerHTML=String.fromCharCode(65+c)+":";d.appendChild(e)}0<
this.vg&&(d.value="0",wj(this,0))}}}return!0};g.Jb=function(a){return a&&this.save?this.save():!0};g.reset=function(){this.Zc()};g.save=function(){var a=new H(this);a.set(0,this.Hi());return a.data()};g.restore=function(a){return this.Zc(a[0])};
g.Zc=function(a){var b=0,c=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.jb=a[b++];b++;this.ta=a[b++];this.Kb=a[b++];this.fb=a[b++];this.Ua=a[b++];this.ze=a[b++];var d=a[b++],e=a[b++];null!=e&&(this.dc=e);void 0===this.sa&&(this.vg=0,this.sa=Array(4));for(e=0;e<this.sa.length;e++)void 0===this.sa[e]&&(this.sa[e]={}),this.Bh(this.sa[e],e,d[e])||(c=!1);this.Ed=a[b++]||0;this.Ik=a[b]||0;return c};
g.Hi=function(){var a=0,b=[];b[a++]=this.jb;b[a++]=0;b[a++]=this.ta;b[a++]=this.Kb;b[a++]=this.fb;b[a++]=this.Ua;b[a++]=this.ze;b[a++]=this.Ji();for(var c=a++,d=0;d<this.sa.length;d++){var e=this.sa[d];e.ra&&Bj(this,e.fe,e.ra)}b[c]=this.dc;b[a++]=this.Ed;b[a]=this.Ik;return b};
g.Bh=function(a,b,c){var d=0,e=!0;a.jb=b;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.ic||40,c[3],9,512,c[1]]);a.Ra=c[d++];a.name=c[d][0];a.ic=c[d][1];a.Yb=c[d][2];a.Gc=c[d][3];a.yb=c[d][4];a.re=c[d][5];d++;a.aj=1;a.La=c[d++];a.kd=c[d++];a.ib=c[d++];a.kd=100<=a.kd?a.kd-100:a.kd-a.ib;a.Pa=c[d++];a.nd=c[d++];a.Xa=c[d++];a.Sa=c[d++];a.Ma=null;a.ra||(a.fe="");var f=c[d++];f===Cj?(f=c[d++],c=c[d],xj(this,b,f,c,!0)?a.ra&&Dj(this,f,c,a.ra):this.Oa(!1)):void 0!==f&&a.ra&&
0>a.ra.restore(f)&&(e=!1);e&&a.ra&&void 0!==a.Sa&&(a.Ma=a.ra.seek(a.ib,a.La,a.Pa));return e};g.Ji=function(){for(var a=0,b=[],c=0;c<this.sa.length;c++)b[a++]=this.Ii(this.sa[c]);return b};g.Ii=function(a){var b=0,c=[];c[b++]=a.Ra;c[b++]=[a.name,a.ic,a.Yb,a.Gc,a.yb,a.re];c[b++]=a.La;c[b++]=a.kd+100;c[b++]=a.ib;c[b++]=a.Pa;c[b++]=a.nd;c[b++]=a.Xa;c[b++]=a.Sa;c[b++]=Cj;c[b++]=a.Nk;c[b]=a.fe;return c};
g.Oe=function(a){a||(this.Qd=0);if(this.de)for(var b in this.de){var c=this.de[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.sa.length){!xj(this,d,c.name,c.path,!0)&&a&&this.Oa(!1);continue}}this.xa("Unrecognized auto-mount specification for drive "+b)}return!!this.Qd};function xj(a,b,c,d,e){var f=a.sa[b];if(d&&f.fe!=d){yj(a,b,e,!0);if(f.Ec)return a.xa("Drive "+b+" busy"),!0;f.Ec=!0;e&&(f.Yd=!0,a.Qd++);(new lj(a,f,"preload")).load(c,d,a.om);return!1}return!0}
g.om=function(a,b,c,d){a.Ec=!1;b&&b.Fb.length>a.ic&&(this.xa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.jb)),b=null);b&&(a.ra=b,a.Nk=c,a.fe=d,Dj(this,c,d,b),this.Ed|=128,this.xa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.jb),a.Yd));a.Yd&&(a.Yd=!1,--this.Qd||this.Oa());wj(this,a.jb)};
function wj(a,b){if(0<=b&&b<a.sa.length){var c=a.sa[b],d=a.oa.listDisks,e=a.oa.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.fe){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function yj(a,b,c,d){var e=a.sa[b];e.ra&&(Bj(a,e.fe,e.ra),e.Nk="",e.fe="",e.ra=null,a.Ed|=128,d||a.xa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||wj(a,b))}
function Dj(a,b,c,d){var e;for(e=0;e<a.dc.length;e++)if(a.dc[e][1]==c){d.restore(a.dc[e][2]);return}a.dc[e]=[b,c,[]]}function Bj(a,b,c){var d;for(d=0;d<a.dc.length;d++)if(a.dc[d][1]==b){a.dc[d][2]=c.save();break}}g.Vm=function(a,b){b&4?this.ze&4||this.ze&8&&this.ga&&R(this.ga,6):this.Zc();this.ze=b};g.Jl=function(){return this.ta};g.Hl=function(){var a=0;this.fb<this.Ua&&(a=this.Kb[this.fb]);this.ze&8&&this.ga&&Qh(this.ga,6);++this.fb>=this.Ua&&(this.ta&=-81,this.fb=this.Ua=0);return a};
g.Um=function(a,b){this.Ua<this.Kb.length&&(this.Kb[this.Ua++]=b);var c=this.Kb[0]&31;if(void 0!==vj[c]&&this.Ua>=vj[c].pd){var d=!1;this.fb=0;var e,f,c=this.Ia()&31;switch(c){case 3:this.Ia("SRT");this.Ia("HLT");this.pb();break;case 4:f=this.Ia("DS");this.jb=f&3;e=this.sa[this.jb];this.pb();this.cb((e.Ra&4278190080)>>>24,"ST3");break;case 5:case 6:f=this.Ia("DS");this.jb=f&3;e=this.sa[this.jb];e.La=f>>2&1;e.ib=this.Ia("C");this.Ia("H");e.Pa=this.Ia("R");d=this.Ia("N");e.Xa=128<<d;e.nd=this.Ia("EOT");
this.Ia("GPL");this.Ia("DTL");6==c?this.hh(e):this.ih(e);this.pb();Ej(this,e);this.cb((e.Ra&65280)>>>8,"ST1");this.cb((e.Ra&16711680)>>>16,"ST2");this.cb(e.ib,"C");this.cb(e.La,"H");this.cb(e.Pa,"R");this.cb(d,"N");d=!0;break;case 7:f=this.Ia("DS");this.jb=f&3;e=this.sa[this.jb];e.ib=e.kd=0;e.Ra=268435488;this.pb();d=!0;break;case 8:e=this.sa[this.jb];e.La=0;this.pb();Ej(this,e);this.cb(e.ib,"PCN");break;case 13:f=this.Ia("DS");this.jb=f&3;e=this.sa[this.jb];e.La=f>>2&1;d=this.Ia("N");e.Xa=128<<d;
e.nd=this.Ia("SC");this.Ia("GPL");e.Xi=this.Ia("D");this.hj(e);this.pb();Ej(this,e);this.cb((e.Ra&65280)>>>8,"ST1");this.cb((e.Ra&16711680)>>>16,"ST2");this.cb(e.ib,"C");this.cb(e.La,"H");this.cb(e.Pa,"R");this.cb(d,"N");d=!0;break;case 15:f=this.Ia("DS"),this.jb=f&3,e=this.sa[this.jb],e.La=f>>2&1,c=this.Ia("NCN"),e.ib+=c-e.kd,0>e.ib&&(e.ib=0),e.ib>=e.ic&&(e.ib=e.ic-1),e.kd=c,e.Ra=32,0==e.ib&&(e.Ra|=268435456),this.pb(),d=!0}0<this.Ua&&(this.ta|=80);this.ze&8&&(!e||e.Ra&8||!d||this.ga&&R(this.ga,
6))}};g.Il=function(){var a=this.Ed;this.Ed&=-129;return a};g.Tm=function(a,b){this.Ik=b};g.Ia=function(){var a=this.Kb[this.fb];this.fb++;return a};g.pb=function(){this.fb=this.Ua=0};g.cb=function(a){this.Kb[this.Ua++]=a};function Ej(a,b){a.cb(b.jb|b.La<<2|b.Ra&255,"ST0")}g.fh=function(a,b,c){void 0===b||0>b?this.vc(a,c):c(-1,!1)};g.gh=function(a,b){return void 0!==b&&0<=b?this.xc(a,b):-1};g.al=function(a,b){return void 0!==b&&0<=b?this.Ni(a,b):-1};
g.hh=function(a){a.Ra=72;a.ra&&(a.Ma=null,a.Ra=0,this.ga&&(Gh(this.ga,2,this,"dmaRead",a),Eh(this.ga,2)))};g.ih=function(a){a.Ra=72;a.ra&&(a.ra.se?a.Ra=576:(a.Ma=null,a.Ra=0,this.ga&&(Gh(this.ga,2,this,"dmaWrite",a),Eh(this.ga,2))))};g.hj=function(a){a.Ra=72;a.ra&&(a.Ma=null,a.Ra=0,this.ga&&(a.Td=0,a.ec=Array(4),a.Pe=!0,a.Ue=0,Gh(this.ga,2,this,"dmaFormat",a),Eh(this.ga,2),a.Pe=!1))};
g.vc=function(a,b){var c=-1;if(!a.Ra&&a.ra){do{if(a.Ma&&0<=(c=tj(a.Ma,a.Sa++)))break;a.Ma=a.ra.seek(a.ib,a.La,a.Pa);if(!a.Ma){a.Ra=1088;break}a.Sa=0;this.Me(a)}while(1)}b(c,!1)};g.xc=function(a,b){if(a.Ra||!a.ra)return-1;do{if(a.Ma&&a.ra.write(a.Ma,a.Sa++,b))break;a.Ma=a.ra.seek(a.ib,a.La,a.Pa);if(!a.Ma){a.Ra=8256;b=-1;break}a.Sa=0;this.Me(a)}while(1);return b};g.Me=function(a){a.Pa++;a.Pa>=a.Gc+1&&(a.Pa=1,a.La++,a.La>=a.Yb&&(a.La=0,a.ib++))};
g.Ni=function(a,b){if(a.Ra)return-1;a.ec[a.Td++]=b;if(a.Td==a.ec.length){a.ib=a.ec[0];a.La=a.ec[1];a.Pa=a.ec[2];a.Xa=128<<a.ec[3];for(var c=a.Td=0;c<a.Xa;c++)if(0>this.xc(a,a.Xi))return-1;a.Ue++}a.Ue>=a.nd&&(b=-1);return b};var zj={1012:uj.prototype.Jl,1013:uj.prototype.Hl,1015:uj.prototype.Il},Aj={1010:uj.prototype.Vm,1013:uj.prototype.Um,1015:uj.prototype.Tm};u(function(){for(var a=B(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new uj(d);A(d,c)}});
function $(a){v.call(this,"HDC",a,$);this.dmaRead=this.fh;this.dmaWrite=this.gh;this.dmaWriteBuffer=this.bl;this.dmaWriteFormat=this.cl;this.Pg=[];if(a.drives)try{this.Pg=eval("("+a.drives+")")}catch(b){t("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.df=(this.Xd="at"==a.type)?1:0;this.ml=this.Xd?2:3}y(v,$);
var Fj=[{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]}];g=$.prototype;g.tb=function(){return!1};g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;this.Fa=a;this.ga=C(a,"ChipSet");Ua(b,this,this.Xd?Gj:Hj);Wa(b,this,this.Xd?Ij:Jj);this.reset();this.Oe()||this.Oa()};
g.Sb=function(a,b){if(!b)if(!a||!this.restore)this.Zc(),this.Fa.sh&&this.Oe(!0);else if(!this.restore(a))return!1;return!0};g.Jb=function(a){return a&&this.save?this.save():!0};g.te=function(){return this.Fa?this.Fa.te():""};g.vd=function(){return this.Fa?this.Fa.vd():""};g.reset=function(){this.Zc(null,!0)};g.save=function(){var a=new H(this);a.set(0,this.Hi());return a.data()};g.restore=function(a){return this.Zc(a[0])};
g.Zc=function(a,b){var c=0,d=!0;if(this.Xd)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Dd=a[c++],this.Mk=a[c++],this.Eg=a[c++],this.Fg=a[c++],this.Dg=a[c++],this.Cg=a[c++],this.zf=a[c++],this.ta=a[c++],this.Fi=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.yf=a[c++];this.ta=a[c++];this.Kb=a[c++];this.fb=a[c++];this.Ua=a[c++];this.Lk=a[c++];this.Kk=a[c++];this.Jk=a[c++];var e=a[c++];void 0!==e?this.cf=e:void 0===this.cf&&(this.cf=-1)}void 0===this.sa&&(this.sa=Array(this.Pg.length));c=a[c];void 0===
c&&(c=[]);for(e=0;e<this.sa.length;e++){void 0===this.sa[e]&&(this.sa[e]={});var f=this.sa[e];this.Bh(e,f,this.Pg[e],c[e],b)||(d=!1);null!=this.yf&&1>=e&&(this.yf|=(f.type&3)<<(1-e<<1))}return d};
g.Hi=function(){var a=0,b=[];this.Xd?(b[a++]=this.Dd,b[a++]=this.Mk,b[a++]=this.Eg,b[a++]=this.Fg,b[a++]=this.Dg,b[a++]=this.Cg,b[a++]=this.zf,b[a++]=this.ta,b[a++]=this.Fi):(b[a++]=this.yf,b[a++]=this.ta,b[a++]=this.Kb,b[a++]=this.fb,b[a++]=this.Ua,b[a++]=this.Lk,b[a++]=this.Kk,b[a++]=this.Jk,b[a++]=this.cf);b[a]=this.Ji();return b};
g.Bh=function(a,b,c,d,e){var f=0,l=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.jb=a;b.errorCode=d[f++];b.Rk=d[f++];b.re=d[f++];b.ke=d[f++];b.le=d[f++];b.La=d[f++];b.Yb=d[f++];b.Hd=d[f++];b.Pa=d[f++];b.nd=d[f++];b.Xa=d[f++];b.Wf=this.Xd?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.vd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Fj[this.df][b.type])b.type=this.ml;c=Fj[this.df][b.type];
b.Gc=c[2]||17;b.yb=c[3]||512;if(e&&this.ga&&(e=this.ga,c=b.type,e.ka)){var k=e.ka[18],k=a?k&240|c:k&15|c<<4;e.ka&&(e.ka[18]=k,sh(e))}void 0===b.ra&&(b.ra=null,this.xa("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Kj(this,b);b.Sa=d[f++];b.Ma=null;b.ra&&(a=d[f],void 0!==a&&0>b.ra.restore(a)&&(l=!1),l&&void 0!==b.Sa&&(b.Ma=b.ra.seek(b.Hd,b.La,b.Pa+b.Wf)));return l};g.Ji=function(){for(var a=0,b=[],c=0;c<this.sa.length;c++)b[a++]=this.Ii(this.sa[c]);return b};
g.Ii=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.Rk;c[b++]=a.re;c[b++]=a.ke;c[b++]=a.le;c[b++]=a.La;c[b++]=a.Yb;c[b++]=a.Hd;c[b++]=a.Pa;c[b++]=a.nd;c[b++]=a.Xa;c[b++]=a.Sa;c[b]=a.ra?a.ra.save():null;return c};
function Kj(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ke[2])?e=b.ke[0]<<8|b.ke[1]:c=b.type);null==c||d||(d=Fj[a.df][c][1],e=Fj[a.df][c][0]);d&&((c=Fj[a.df][b.type])&&e!=c[0]&&d!=c[1]&&a.xa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.ic=e,b.Yb=d,null==b.ra&&(b.ra=new lj(a,b,b.mode)))}}
g.Oe=function(a){a||(this.Qd=0);for(var b=0;b<this.sa.length;b++){var c=this.sa[b];if(c.name&&c.path){var d;d=c.name;var c=c.path,e=this.sa[b];e.Ec?(this.xa("Drive "+b+" busy"),d=!0):(e.Ec=!0,e.Yd=!0,this.Qd++,(e.ra||new lj(this,e,e.mode)).load(d,c,this.nm),d=!1);!d&&a&&this.Oa(!1)}else a&&void 0!==c.type&&(c.ra=null,Kj(this,c,c.type))}return!!this.Qd};g.nm=function(a,b,c){a.Ec=!1;(a.ra=b)&&this.xa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.jb),a.Yd);a.Yd&&(a.Yd=!1,--this.Qd||this.Oa())};
g.im=function(){var a=0;this.fb<this.Ua&&(a=this.Kb[this.fb]);this.ga&&Qh(this.ga,5);this.ta&=-33;++this.fb>=this.Ua&&(this.fb=this.Ua=0,this.ta&=-15);return a};g.rn=function(a,b){this.Ua<this.Kb.length&&(this.Kb[this.Ua++]=b);var c=12!=this.Kb[0]?6:this.Kb.length;6==this.Ua&&(this.ta&=-2);this.Ua>=c&&(this.ta|=2,this.ta&=-2,Lj(this))};g.jm=function(){var a=this.ta;this.fb<this.Ua&&(this.ta|=1);return a};g.un=function(a,b){this.Lk=b;this.ga&&Qh(this.ga,5);this.Zc()};g.hm=function(){return this.yf};
g.tn=function(a,b){this.Kk=b;this.ta=13};g.sn=function(a,b){this.Jk=b};g.Ai=function(){};g.ul=function(){var a=-1;if(this.Na&&(a=this.vc(this.Na),this.Na.Sa==this.Na.yb))if(this.Na.Xa-=this.Na.yb,this.Na.Xa>=this.Na.yb){var b=this;this.vc(this.Na,function(a){0<=a?b.ga&&R(b.ga,14):(b.ta=1,b.Dd=16)},!1)}else this.ta=80;return a};
g.Im=function(a,b){this.Na&&this.Na.Xa>=this.Na.yb&&(0>this.xc(this.Na,b)?(this.ta=1,this.Dd=16):this.Na.Sa==this.Na.yb&&(this.Na.Xa-=this.Na.yb,this.ga&&R(this.ga,14),this.Na.Xa>=this.Na.yb||(this.ta=80)))};g.wl=function(){return this.Dd};g.Mm=function(a,b){this.Mk=b};g.xl=function(){return this.Eg};g.Km=function(a,b){this.Eg=b};g.yl=function(){return this.Fg};g.Lm=function(a,b){this.Fg=b};g.tl=function(){return this.Dg};g.Hm=function(a,b){this.Dg=b};g.sl=function(){return this.Cg};
g.Gm=function(a,b){this.Cg=b};g.vl=function(){return this.zf};g.Jm=function(a,b){this.zf=b};g.zl=function(){return this.ta};g.Fm=function(a,b){this.Fi=b;this.ga&&Qh(this.ga,14);Mj(this)};
function Mj(a){var b=!1,c=a.Fi,d=a.zf&16?1:0,e=a.zf&15,f=a.Dg|(a.Cg&3)<<8,l=a.Fg,k=a.Eg;a.Na=null;a.Dd=0;a.ta=80;(d=a.sa[d])?(d.Hd=f,d.La=e,d.Pa=l,d.Xa=k*d.yb,c=144<=c?c:c&240,d.Ma=null,d.errorCode=0,a.Na=d):c=-1;switch(c&240){case 32:a.vc(d,function(b){0<=b&&a.ga?(R(a.ga,14),a.ta=136):(a.ta=1,a.Dd=16)},!1);break;case 48:a.ga?(R(a.ga,14),a.ta=136):(a.ta=1,a.Dd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Dd=1;b=!0;break;case 145:d.Yb=e+1,d.Gc=k,b=!0}b&&a.ga&&R(a.ga,14)}
function Lj(a){a.fb=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,l=a.Ia(),k=a.Ia(),m=l<<2&768|k,n=l&63,q=a.Ia(),s=a.Ia(),r=a.sa[e];r&&(r.Hd=m,r.La=f,r.Pa=n,r.Xa=q*r.yb);switch(b){case 3:a.pb(r?r.errorCode:4);a.cb(c);a.cb(l);a.cb(k);a.cb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)r&&c<r.ke.length&&(r.ke[c++]=b);r&&Kj(a,r);b=0;r||a.cf!=e||(a.cf=-1,b=2);a.pb(b|d);b=-1;break;case 224:case 228:a.pb(0|d),b=-1}if(0<=b)switch(void 0===r?b=-1:(r.errorCode=0,r.Rk=0),b){case 0:a.pb(0|d);break;case 1:r.Yn=
s;a.pb(0|d);break;case 5:a.pb(0|d);break;case 8:a.hh(r,function(b){a.pb(b|d)});break;case 10:a.ih(r,function(b){a.pb(b|d)});break;case 15:Nj(a,r,function(b){a.pb(b|d)});break;default:a.pb(2|d)}}g.Ia=function(){var a=-1;this.fb<this.Ua&&(a=this.Kb[this.fb++]);return a};g.pb=function(a){this.fb=this.Ua=0;void 0!==a&&this.cb(a);this.ga&&R(this.ga,5);this.ta|=32};g.cb=function(a){this.Kb[this.Ua++]=a};g.fh=function(a,b,c){void 0===b||0>b?this.vc(a,c):c(-1,!1)};
g.gh=function(a,b){return void 0!==b&&0<=b?this.xc(a,b):-1};g.bl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Sa<a.le.length?a.le[a.Sa++]=c:(a.errorCode=20,c=-1)):c=-1;return c};g.cl=function(a,b){return void 0!==b&&0<=b?this.Ni(a,b):-1};g.hh=function(a,b){a.errorCode=4;if(a.ra&&(a.Ma=null,this.ga)){a.errorCode=0;Gh(this.ga,3,this,"dmaRead",a);Eh(this.ga,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
g.ih=function(a,b){a.errorCode=4;if(a.ra&&(a.Ma=null,this.ga)){a.errorCode=0;Gh(this.ga,3,this,"dmaWrite",a);Eh(this.ga,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 Nj(a,b,c){b.errorCode=4;b.le&&b.le.length==b.Xa||(b.le=Array(b.Xa));b.Sa=0;a.ga?(b.errorCode=0,Gh(a.ga,3,a,"dmaWriteBuffer",b),Eh(a.ga,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
g.hj=function(a,b){a.errorCode=4;if(a.ra&&(a.Ma=null,this.ga)){a.Td=0;a.ec=Array(4);a.Pe=!0;a.Ue=0;a.errorCode=0;Gh(this.ga,3,this,"dmaWriteFormat",a);Eh(this.ga,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.Pe=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
g.vc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ma&&(d=tj(a.Ma,a.Sa),a.Sa+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;a.ra.seek(a.Hd,a.La,a.Pa+a.Wf,!1,function(c,d){var m=-1;(a.Ma=c)?(a.Sa=0,f.Me(a),m=tj(a.Ma,a.Sa),a.Sa+=e):a.errorCode=20;b(m,d)})}return d};
g.xc=function(a,b){if(a.errorCode)return-1;do{if(a.Ma&&a.ra.write(a.Ma,a.Sa++,b))break;a.ra.seek(a.Hd,a.La,a.Pa+a.Wf,!0,function(b){a.Ma=b});if(!a.Ma){a.errorCode=20;b=-1;break}a.Sa=0;this.Me(a)}while(1);return b};g.Me=function(a){a.Pa++;var b=1-a.Wf;a.Pa>=a.Gc+b&&(a.Pa=b,a.La++,a.La>=a.Yb&&(a.La=0,a.Hd++))};
g.Ni=function(a,b){if(a.errorCode)return-1;a.ec[a.Td++]=b;if(a.Td==a.ec.length){a.Hd=a.ec[0];a.La=a.ec[1];a.Pa=a.ec[2];a.Xa=128<<a.ec[3];for(var c=a.Td=0;c<a.Xa;c++)if(0>this.xc(a,a.Xi))return-1;a.Ue++}a.Ue>=a.nd&&(b=-1);return b};
var Hj={800:$.prototype.im,801:$.prototype.jm,802:$.prototype.hm},Gj={496:$.prototype.ul,497:$.prototype.wl,498:$.prototype.xl,499:$.prototype.yl,500:$.prototype.tl,501:$.prototype.sl,502:$.prototype.vl,503:$.prototype.zl},Jj={800:$.prototype.rn,801:$.prototype.un,802:$.prototype.tn,803:$.prototype.sn,807:$.prototype.Ai,811:$.prototype.Ai,815:$.prototype.Ai},Ij={496:$.prototype.Im,497:$.prototype.Mm,498:$.prototype.Km,499:$.prototype.Lm,500:$.prototype.Hm,501:$.prototype.Gm,502:$.prototype.Jm,503:$.prototype.Fm};
u(function(){for(var a=B(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new $(d);A(d,c)}});function H(a,b,c){this.id=a.id;this.key=Qj(a,b,c);this.Ha=a.Ha;Rj(this,a.vn)}function Qj(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){this[this.id][a]=b},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.qh=!0):this.qh?!0:window.localStorage&&(a=window.localStorage.getItem(this.key))?(this[this.id]=a,this.qh=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){t(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){Rj(this);if(window.localStorage)for(var b=0;b<window.localStorage.length;){var c=window.localStorage.key(b++);c&&(a||c.substr(0,this.key.length)==this.key)&&(window.localStorage.removeItem(c),b=0)}}};function Rj(a,b){a[a.id]={};b&&a.set("parms",b);a.qh=!1}
function Sj(a){var b=!0;if(window.localStorage){var c=JSON.stringify(a[a.id]);try{window.localStorage.setItem(a.key,c)}catch(d){t("Unable to store "+c.length+" bytes in browser local storage"),b=!1}}return b}
function Tj(a,b,c){v.call(this,"Computer",a,Tj);this.zb=!1;this.ff=a.buswidth;this.jc=Uj;this.Df=null;this.hg=!1;this.url=b?b.url:null;this.En=(Math.random()+0.1).toString(36).substr(2,12);this.wc=Vj(this);if(this.ja=Ca("CPU",this.id)){this.Ha=Ca("Debugger",this.id);this.xf=Ca("Panel",this.id);this.ma=new Ja({id:this.kg+".bus",buswidth:this.ff},this.ja,this.Ha);b=Aa(this.id);for(var d=0;d<b.length;d++){var e=b[d];this.xf&&this.xf.bh&&(e.xa=this.xf.xa,e.ac=this.xf.ac,e.bh=this.xf.bh);e.gc&&e.gc(this,
this.ma,this.ja,this.Ha)}b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Hg=d:this.jc=parseInt(d,10));var f;if(a=va&&va.state||(f=!0,a.state))b=this.Pk=a,f||(this.hg=!0,this.jc=Uj),this.jc&&(this.Lg=new H(this,"1.15.4"),this.Lg.load()?b=null:delete this.Lg);!b&&this.jc&&(f=null,this.wc&&(f=la()+"/api/v1/user?req=load&user="+this.wc+"&state="+Qj(this,"1.15.4")),b=f)&&(this.hg=!0);b?p(b,!0,null,this,this.zm):this.Oa();c||Wj(this,this.Ag)}else t("Unable to find CPU component")}y(v,Tj);
var Cj=102,Uj=0;g=Tj.prototype;g.te=function(){return this.En};g.vd=function(){return this.wc?this.wc:""};g.zm=function(a,b,c){c?(this.Hg=null,this.hg=!1,this.xa("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Df=b;this.Oa()};function Wj(a,b,c){for(var d=Aa(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ea(f)){Ea(f,function(){Wj(a,b,c)});return}}b.call(a,c)}
function Xj(a,b){var c=new H(a,"1.15.4","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.xa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
g.Ag=function(a){void 0===a&&(a=this.Df?1:this.jc);var b=!1,c=!1;this.nj=!1;var d=this.Lg||new H(this,"1.15.4");if(-1==a)b=!0;else if(a>Uj){if(d.load(this.Df)){this.De=new H(this,"1.15.4","failsafe");this.De.load()&&(Yj(this,d),a=2);this.De.set("timestamp",ja());Sj(this.De);var e=this.jc&&!this.hg;if(1==a||ma("Click OK to restore previous PCjs machine state.")){if(c=d.parse()){var f=d.get("code"),l=d.get("data");f&&("ok"==f?d.load(l):("error"==f&&"no machine state"!=l?(this.xa("Error: "+l),"unable to verify user"==
l&&(na(""),this.wc=null)):this.ac(f+": "+l),Rj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Xj(this,c?d:null)}else 2==a&&d.clear()}else Xj(this);delete this.Df;delete this.Lg}e=Aa(this.id);for(f=0;f<e.length;f++)l=e[f],l!==this&&l!=this.ja&&(c=Zj(this,l,d,b,c));b=[d,a,c];-1!=a?Wj(this,this.Gk,b):this.Gk(b)};
function Zj(a,b,c,d,e){if(!b.zb){b.zb=!0;if(b.Sb){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.Sb(f,d)&&f&&(t("Unable to restore state for "+b.type),a.Pk&&!a.Df?(c.clear(),a.jc=Uj,window&&window.location.reload()):a.nj=!0,b.Sb(null),e=!1)}if(!d&&b.fj)for(a=b.fj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
g.Gk=function(a){var b=a[0],c=0>a[1];a=a[2];this.zb=!0;this.kj||(this.ac("PCjs v1.15.4\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.kj=!0);this.ja&&Zj(this,this.ja,b,c,a);this.nj&&(Yj(this,b),b.clear());!c&&this.De&&(this.De.clear(),delete this.De)};
function Yj(a,b){if(ma("There may be a problem with PCjs.\nClick OK to send your PCjs machine state to http://www.pcjs.org.")){var c=a.vd(),d=b.toString(),e={app:"PCjs",ver:"1.15.4"};e.url=a.url;e.user=c;e.type="bug";e.data=d;p("http://www.pcjs.org/api/v1/report",!0,e)}}
function ak(a,b,c){var d,e="none",f=new H(a,"1.15.4"),l=new H(a,"1.15.4","validate"),k=ja();l.set("timestamp",k);f.set("timestamp",k);f.set("version","1.15.4");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ja&&a.ja.Jb&&(c&&gb(a.ja),d=a.ja.Jb(b,c),"object"===typeof d&&f.set(a.ja.id,d),c&&(a.ja.zb=!1,!1===d&&(e=null)));for(var k=Aa(a.id),m=0;m<k.length;m++){var n=k[m];n.zb&&(n.Jb&&(d=n.Jb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.zb=!1,!1===
d&&(e=null)))}e&&(c?(k=d=!1,b?(a.wc&&bk(a,a.wc,f.toString()),Sj(l)&&Sj(f)||(e=null,d=k=!0)):a.jc&&(d=!0,k=3==a.jc),d&&f.clear(k)):e=f.toString());c&&(a.zb=!1);return e}g.reset=function(){this.ma&&this.ma.reset&&this.ma.reset();for(var a=Aa(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&c.reset()}};g.start=function(a,b){for(var c=Aa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
g.stop=function(a,b){for(var c=Aa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};g.tb=function(a,b,c,d){var e=this;switch(c){case "save":return this.oa[c]=d,d.onclick=function(){var a=Vj(e,!0);if(a){var b=!(!e.jc||e.Hg),c=ak(e,b);b?bk(e,a,c):e.xa("Resume disabled, machine state not saved")}},!0;case "reset":return this.oa[c]=d,d.onclick=function(){hb(e)},!0}return!1};
function Vj(a,b){var c=a.wc;if(!c){var d;window&&(d=window.localStorage.getItem("user"));c=d;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=ck(a,c))||a.xa("Your user ID has not been approved."))):b&&a.xa("Browser local storage is not available")}return c}
function ck(a,b){a.wc=null;var c=p(la()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na(c.data),a.wc=c.data)}catch(e){t(e.message+" ("+d+")")}return a.wc}
function bk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Qj(a,"1.15.4");d.data=c;b=p(la()+"/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.xa("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.xa(c),na(""),a.wc=null)}}
function hb(a){if(a.jc&&!a.Hg){var b=1==a.jc||!ma("Click OK to reset the PCjs machine state.\n(WARNING: All disk changes will be discarded)");ak(a,b,!0);!b&&a.Pk?window&&window.location.reload():(b||(a.sh=!0),a.Ag(Uj),a.sh=!1)}else a.reset(),a.ja&&fb(a.ja)}function C(a,b,c){a=Aa(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}
u(function(){for(var a=B(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],l=z(f),l=new Tj(l,d,!0);A(l,f);Wj(l,l.Ag)}});pa.show.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ca("Computer",c.id))&&c.kj&&!c.zb&&c.Ag(-1)}});
pa.exit.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ca("Computer",c.id))&&c.zb&&ak(c,!(!c.jc||c.Hg),!0)}});function dk(a,b,c,d){var e=p(a);if(e[0])throw Error(e[1]);return ek(e[1],a,b,c,d)}
function ek(a,b,c,d,e){var f=null;if(a){if(e)for(var l=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g;f=l.exec(a);){var k=f[2],m=p(k),n=m[1];if(m[0]||!n)throw c="unable to resolve XML reference: "+f[0]+" ("+m[0]+")",Error(c);if(m=f[3]){var q=n.match(new RegExp("<"+f[1]+"[^>]*>"));if(q){for(var k=q[0],s,r=/( [a-z]+=)(['"])(.*?)\2/g;s=r.exec(m);)k=0>k.indexOf(s[1])?k.replace(">",s[0]+">"):k.replace(new RegExp(s[1]+"(['\"])(.*?)\\1"),s[0]);q[0]!=k&&(n=n.replace(q[0],k))}else throw c="missing <"+f[1]+"> in "+k,Error(c);
}n=n.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(f[0],n);l.lastIndex=0}c&&(b&&0>b.indexOf("/")&&(b=window.location.pathname+b),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(b?" url=$2"+b+"$2":"")));if(0===a.indexOf("<"))window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*\]>\s*/g,"")),f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml");else throw Error("unrecognized XML: "+
(255<a.length?a.substr(0,255)+"...":a));}return[a,f]}
window.embedPC=function(a,b,c,d){var e=c,f=c="",l=null;try{if(l=window.document.getElementById(a)){e||(e="/versions/pcjs/1.15.4/components.xsl");var k="<"==b.substr(0,1)?kk(b,null,a,d,!1):jk(b,a,d,!0);c=k[0];var m=k[1];if(m){var k=jk(e),n=k[1];if(n)if(window.ActiveXObject||"ActiveXObject"in window){var q=m.transformNode(n);q?l.outerHTML=q:f="transformNodeToObject failed"}else if(window.document.implementation&&window.document.implementation.createDocument){var s=new XSLTProcessor;s.importStylesheet(n);
var r=s.transformToFragment(m,window.document);r?l.parentNode.replaceChild(r,l):f="transformToFragment failed"}else f="unable to transform XML: unsupported browser";else f="failed to load XSL file: "+e}else f="failed to load XML file: "+b}else f="failed to find machine element: "+a}catch(x){f=x.message}f&&l&&(a=B(l,"machine-warning"),a[0]&&(a[0].innerHTML="Error: "+ha(f)));return f||c};window.enableEvents=function(a){qa=a};window.sendEvent=function(a){pa[a]&&sa(pa[a])};})();//@ sourceMappingURL=/tmp/pcjs/1.15.4/pc.map
window.embedPC=function(a,b,c,d){var e=c,f=c="",l=null;try{if(l=window.document.getElementById(a)){e||(e="/versions/pcjs/1.15.4/components.xsl");var k="<"==b.substr(0,1)?ek(b,null,a,d,!1):dk(b,a,d,!0);c=k[0];var m=k[1];if(m){var k=dk(e),n=k[1];if(n)if(window.ActiveXObject||"ActiveXObject"in window){var q=m.transformNode(n);q?l.outerHTML=q:f="transformNodeToObject failed"}else if(window.document.implementation&&window.document.implementation.createDocument){var s=new XSLTProcessor;s.importStylesheet(n);
var r=s.transformToFragment(m,window.document);r?l.parentNode.replaceChild(r,l):f="transformToFragment failed"}else f="unable to transform XML: unsupported browser";else f="failed to load XSL file: "+e}else f="failed to load XML file: "+b}else f="failed to find machine element: "+a}catch(x){f=x.message}f&&l&&(a=B(l,"machine-warning"),a[0]&&(a[0].innerHTML="Error: "+ha(f)));return f||c};window.enableEvents=function(a){qa=a};window.sendEvent=function(a){pa[a]&&ta(pa[a])};})();//@ sourceMappingURL=/tmp/pcjs/1.15.4/pc.map