v1.16.3: Keyboard module rewrite

There are still a few regressions to address, but keyCode-to-simCode-to-scanCode conversion feels more robust/cleaner, and new features like programmable repeat rates will actually be doable now
This commit is contained in:
Jeff Parsons 2014-12-09 16:34:46 -08:00 committed by jeffpar
commit 88cc526c32
146 changed files with 8127 additions and 1880 deletions

View file

@ -8,7 +8,7 @@
<xsl:variable name="MACHINECLASS">pc</xsl:variable>
<xsl:variable name="APPCLASS">pcjs</xsl:variable>
<xsl:variable name="APPVERSION">1.16.2</xsl:variable>
<xsl:variable name="APPVERSION">1.16.3</xsl:variable>
<xsl:variable name="SITEHOST">www.pcjs.org</xsl:variable>
<xsl:template name="componentStyles">

View file

@ -1,113 +1,114 @@
(function(){var k,ba,l,ca={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36]};function da(a,b){return b&&10!=b?16==b?null!==a.match(/^[0-9a-f]+$/i):!0:null!==a.match(/^[0-9]+$/)}
function ea(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null===d&&(a=a.substr(0,a.length-1))}var e;da(a,b)&&!isNaN(e=parseInt(a,b))&&(c=e)}return c}function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||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 q(a){return p(a,2)}function v(a){return p(a,4)}function fa(a,b){return void 0!==b?v(b)+":"+v(a):p(a)}function ga(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 ha(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ja={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ka(a){return a.replace(/[&<>"']/g,function(a){return ja[a]})}
function la(a,b){var c="",d;for(d in a)d=d.replace(/([\\[\]*{}().+?])/g,"\\$1"),c+=(c?"|":"")+d;return b.replace(new RegExp("("+c+")","g"),function(b){return a[b]})}function ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function pa(a,b,c){c=oa(a,b,c);0>c&&a.splice(-(c+1),0,b)}
function qa(){return Date.now()||+new Date}function ra(){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 sa=[31,28,31,30,31,30,31,31,30,31,30,31];
function ta(a,b,c,d,e,f){b=!!b;var g=0,h=null,n=ga(a),m=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(m.onreadystatechange=function(){4===m.readyState&&(h=m.responseText,200==m.status||!m.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)))});if(c){var s="",r;for(r in c)c.hasOwnProperty(r)&&(s&&(s+="&"),s+=r+"="+encodeURIComponent(c[r]));s=s.replace(/%20/g,"+");m.open("POST",
a,b);m.setRequestHeader("Content-type","application/x-www-form-urlencoded");m.send(s)}else m.open("GET",a,b),m.send();a=[];b||(h=m.responseText,200!=m.status&&(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)),a=[g,h]);return a}function ua(){return"http://"+(window?window.location.host:"www.pcjs.org")}function x(a){window&&window.alert(a)}function va(a){var b=!1;window&&(b=window.confirm(a));return b}var wa=null;
function xa(){if(null==wa){var a;try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"===window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}wa=a}return wa}function Aa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ba(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function Ca(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 Da(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ea(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ga={init:[],show:[],exit:[]},Ha=!1,Ia=!0;function Ja(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ka(a){Ga.init.push(a)}
function La(a){if(Ia)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Ma(a){!Ia&&a?(Ia=!0,Ha&&Na("init")):Ia=a}function Na(a){Ga[a]&&La(Ga[a])}Ja("onload",function(){Ha=!0;La(Ga.init)});Ja("onpageshow",function(){La(Ga.show)});Ja(Ca("Opera")||Ca("iOS")?"onunload":"onbeforeunload",function(){La(Ga.exit)});
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Ak=b.comment;this.mp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Tk=this.id.substr(0,b),this.Eh=this.id.substr(b+1)):this.Eh=this.id;this[a]=c;this.na={zh:!1,Kc:!1,Ei:!1,Tb:!1,fd:!1};this.Oi=null;this.na.fd=!1;this.xa={};this.ka=null;this.Yb=d||-1;Oa[Oa.length]=this}var Pa=void 0,Qa={};
if(window){Pa||(Pa=window.location.search.substr(1));for(var Ra,Ua=/\+/g,Va=/([^&=]+)=?([^&]*)/g;Ra=Va.exec(Pa);)Qa[decodeURIComponent(Ra[1].replace(Ua," "))]=decodeURIComponent(Ra[2].replace(Ua," "))}function Wa(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 Xa(a,b){b.prototype=Wa(a.prototype)}var Oa=[];
function Ya(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Oa.length;b++){var d=Oa[b];a&&d.id.indexOf(a)||c.push(d)}return c}function $a(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Oa.length;c++)if(Oa[c].id===a)return Oa[c]}return null}
function ab(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<Oa.length;d++)if(c)c==Oa[d]&&(c=null);else if(!(a!=Oa[d].type||b&&Oa[d].id.indexOf(b)))return Oa[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){x(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function bb(a,b){for(var c=A(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h)for(var n=h.split(" "),m=0;m<n.length;m++)switch(h=n[m],h){case "pcjs-binding":(h=z(g))&&h.binding&&a.Ib(h.type,h.binding,g),m=n.length}}}}
function A(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}
y.prototype={toString:function(){return this.name?this.name:this.id||this.type},Ib:function(a,b,c){switch(b){case "clear":return this.xa[b]||(this.xa[b]=c,c.onclick=function(a){return function(){a.xa.print&&(a.xa.print.value="")}}(this)),!0;case "print":return this.xa[b]||(this.gg=this.xa[b]=c,c.value="",this.Z=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}}(c),this.Ia=function(a,
b,c){this.Z(a,"notice",c)}),!0;default:return!1}},log:function(){},Z:function(){},status:function(a){this.Z(this.Eh+": "+a)},Ia:function(a,b){b||x(a)},Wa:function(a){this.na.fd||(this.na.zh=!1!==a,this.na.zh&&(this.name&&this.log("ready"),a=this.Oi,this.Oi=null,a&&a()))},ec:function(){return this.na.Tb=!0},dc:function(a,b){b&&(this.na.Tb=!1);return!0},va:function(a){if(this.ka){a=this===this.ka?a|0:a||this.Yb;var b=this.ka.Yb&a;return b===a||!!(b&this.ka.Em)}return!1},qb:function(a,b,c){return this.ka?
((!0===b||this.va(b|0))&&this.ka.message(a,c),!0):!1}};function B(a,b,c,d,e,f,g){a.ka&&(!0===g?g=0:null==g&&(g=a.Yb),cb(a.ka,a,b,c,d,e,f,g))}function db(a,b){if(a.na.Ei)return a.na.Kc&&(a.na.Kc=!1),a.na.Ei=!1;if(a.na.fd)return a.Z(a.toString()+" error"),!1;a.na.Kc=b;return a.na.Kc}function eb(a,b){a.na.Kc&&(b?a.na.Ei=!0:void 0===b&&a.Z(a.toString()+" busy"));return a.na.Kc}function fb(a,b){b&&(a.na.zh?b():a.Oi=b);return a.na.zh}function gb(a,b){a.na.fd=!0;a.Ia("Fatal error: "+b)}
function hb(a){y.call(this,"Panel",a,hb)}Xa(y,hb);hb.prototype.Ib=function(a,b,c){return this.Ma&&this.Ma.Ib(a,b,c)||this.T&&this.T.Ib(a,b,c)||this.Va&&this.Va.Ib(a,b,c)||this.ka&&this.ka.Ib(a,b,c)?!0:y.prototype.Ib.call(this,a,b,c)};hb.prototype.vc=function(a,b,c,d){this.Ma=a;this.T=c;this.ka=d;this.Va=ib(a,"Keyboard")};hb.prototype.ec=function(a,b){b||jb();return!0};hb.prototype.dc=function(){return!0};
function jb(){for(var a=!1,b=A(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=$a(e.id);f||(a=!0,f=new hb(e));bb(f,d);a&&f.Wa()}}Ka(jb);function kb(a,b,c){y.call(this,"Bus",a,kb);this.T=b;this.ka=c;this.Af=a.buswidth||20;this.Wf=this.md=(1<<this.Af)-1;this.Eb=20>=this.Af?12:14;this.mc=1<<this.Eb;this.wk=this.mc>>2;this.ob=this.mc-1;this.jh=(this.Wf+this.mc)/this.mc|0;this.He=this.jh-1;this.Ad=[];this.Bd=[];this.lg=this.mg=!1;this.Ui();this.Wa()}Xa(y,kb);
kb.prototype.Ui=function(){this.Ha=Array(this.jh);for(var a=0;a<this.jh;a++){var b=a*this.mc;lb(this.Ha[a]=new mb(b),this.T,this.ka,b,this.mc)}this.T.Ui(this.Ha,this.Wf,this.Eb,this.ob,this.He);this.T.De=this.md};kb.prototype.reset=function(){nb(this,!0)};kb.prototype.ec=function(a,b){b||this.reset();return!0};
function ob(a,b,c,d,e){if(!(b&a.ob||!c||c&a.ob)){for(var f=b>>a.Eb;0<c&&f<a.Ha.length;){var g=a.Ha[f];if(void 0!==g&&g.size)return pb(1,b,c);b=f*a.mc;g=a.Ha[f++]=new mb(b,a.mc,d,e);lb(g,a.T,a.ka,b,a.mc);c-=a.mc}return!0}return pb(2,b,c)}function nb(a,b){if(void 0!==b&&20<a.Af){var c=a.md&-1048577|(b?1048576:0);c!=a.md&&(a.md=c,a.T&&(a.T.De=c))}}
kb.prototype.$h=function(a,b,c){if(!(a&this.ob||!b||b&this.ob)){for(var d=a>>this.Eb;0<b;){var e=this.Ha[d];if(!e.ga)return pb(5,a,b);e.bf(c);b-=this.mc;d++}return!0}return pb(3,a,b)};function qb(a,b,c){if(!(b&a.ob||!c||c&a.ob)){for(var d=b>>a.Eb;0<c;)b=d*a.mc,lb(a.Ha[d++]=new mb(b),a.T,a.ka,b,a.mc),c-=a.mc;return!0}return pb(4,b,c)}function rb(a,b){return a.Ha[(b&a.md)>>a.Eb].Ig(b&a.ob)}
function sb(a,b){var c=b&a.ob,d=(b&a.md)>>a.Eb;return c!=a.ob?a.Ha[d].Vj(c):a.Ha[d++].Ig(c)|a.Ha[d&a.He].Ig(0)<<8}function tb(a,b,c){a.Ha[(b&a.md)>>a.Eb].Og(b&a.ob,c&255)}function ub(a,b,c){var d=b&a.ob;b=(b&a.md)>>a.Eb;d!=a.ob?a.Ha[b].ek(d,c&65535):(a.Ha[b++].Og(d,c&255),a.Ha[b&a.He].Og(0,c>>8&255))}
function vb(a){for(var b=0,c=[],d=0;d<a.jh;d++){var e=a.Ha[d];if(e.xb||e.Gk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,n=0,m=[];h<e.length;){for(var s=e[h],r=h+1;r<e.length&&e[r]===s;)r++;m[n++]=r-h;m[n++]=s;h=r}if(m.length<e.length){e=m;break a}}f[g]=e}}c[b]=a.Wf==a.md;return c}function wb(a,b){if(void 0===b)return a.lg=!a.lg,a.lg;void 0===a.Ad[b]&&(a.Ad[b]=[null,null,!1]);a.Ad[b][2]=!a.Ad[b][2];return a.Ad[b][2]}
function xb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,n=c[e];if(void 0!==n)for(var m=e+d;m<=g;m++)void 0!==f.Ad[m]?x("Input port "+v(m)+" registered by "+f.Ad[m][0].id+", ignoring "+h.id):f.Ad[m]=[h,n,!1,!1]}}function yb(a,b,c){var d=255,e=a.Ad[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.ka&&a.lg!=e[2]&&zb(a.ka,b,d)):a.ka&&(cb(a.ka,a,b,null,c),a.lg&&zb(a.ka,b,d));return d}
function Ab(a,b){if(void 0===b)return a.mg=!a.mg,a.mg;void 0===a.Bd[b]&&(a.Bd[b]=[null,null,!1]);a.Bd[b][2]=!a.Bd[b][2];return a.Bd[b][2]}function Bb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,n=c[e];if(void 0!==n)for(var m=e+d;m<=g;m++)void 0!==f.Bd[m]?x("Output port "+v(m)+" registered by "+f.Bd[m][0].id+", ignoring "+h.id):f.Bd[m]=[h,n,!1,!1]}}
function Cb(a,b,c,d){var e=a.Bd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.ka&&a.mg!=e[2]&&Db(a.ka,b,c)):a.ka&&(cb(a.ka,a,b,c,d),a.mg&&Db(a.ka,b,c))}function pb(a,b,c){x("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function mb(a,b,c,d){this.Gm=b||0;this.ya=null;this.offset=0;this.yh=c;this.ga=null;this.xb=this.Gk=!1;if(b)if(d)this.ga=d,a=[d.nd,a-d.Xa],this.ya=a[0],this.offset=a[1],this.bf(d.Yf);else{this.ya=Array(b>>2);for(d=0;d<this.ya.length;d++)this.ya[d]=0;this.bf(Eb)}else this.bf()}
mb.prototype={Th:function(){this.ka.va(Fb)&&this.ka.message("attempt to read invalid block %"+p(this.be)+" from "+fa(this.T.wa,this.T.ua.ta));return 0},Of:function(a,b){this.ka.va(Fb)&&this.ka.message("attempt to write 0x"+v(b)+" to invalid block %"+p(this.be),!0)},pp:function(a){return this.ya[a>>2]>>>((a&3)<<3)&255},rp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},Cp:function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<<d)|b<<
d;this.xb=!0},Ep:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<<d)|b<<d:(this.ya[c]=this.ya[c]&16777215|b<<24,c++,this.ya[c]=this.ya[c]&4294967040|b>>8);this.xb=!0},op:function(a){Gb(this.ka,this.be+a);return this.Ig(a)},qp:function(a){Gb(this.ka,this.be+a)||Gb(this.ka,this.be+a+1);return this.Vj(a)},Bp:function(a,b){Hb(this.ka,this.be+a);this.Og(a,b)},Dp:function(a,b){Hb(this.ka,this.be+a)||Hb(this.ka,this.be+a+1);this.ek(a,b)},save:function(){return this.ga?null:this.ya},
restore:function(a){return this.ga?null==a:a&&this.Gm==a.length<<2?(this.ya=a,this.xb=!0):!1},bf:function(a,b){a||(a=[]);void 0===b&&(b=!0);Ib(this,a,b);Jb(this,a,b)},ae:function(a,b){b?0===this.yk++&&Jb(this,Kb):0===this.xk++&&Ib(this,Kb)}};function Lb(a,b){b?0===--a.yk&&(a.Mc=a.yh?a.Of:a.Og,a.um=a.yh?a.Of:a.ek):0===--a.xk&&(a.yc=a.Ig,a.hm=a.Vj)}function lb(a,b,c,d,e){a.T=b;a.ka=c;a.be=d;a.xk=a.yk=0;a.ka&&Mb(a.ka,d,e)}
function Jb(a,b,c){a.Mc=b[2]&&!a.yh?b[2]:a.Of;a.um=b[3]&&!a.yh?b[3]:a.Of;c&&(a.Og=b[2]?b[2]:a.Of,a.ek=b[3]?b[3]:a.Of)}function Ib(a,b,c){a.yc=b[0]?b[0]:a.Th;a.hm=b[1]?b[1]:a.Th;c&&(a.Ig=b[0]?b[0]:a.Th,a.Vj=b[1]?b[1]:a.Th)}var Eb=[mb.prototype.pp,mb.prototype.rp,mb.prototype.Cp,mb.prototype.Ep],Kb=[mb.prototype.op,mb.prototype.qp,mb.prototype.Bp,mb.prototype.Dp];
function Nb(a,b){y.call(this,"CPU",a,Nb,Ob);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.vd=c;this.da.Pd=d;this.da.Gh=Math.round(this.da.vd/1E4)/100;this.da.Te=this.da.Gh*this.da.Pd;this.na.Tb=!1;this.na.Fb=!1;this.na.Mi=!1;this.na.Di=a.autoStart;this.na.Hk=!1;c=Qa.autostart;void 0!==c&&(this.na.Di="true"==c?!0:"false"==c?!1:null);this.na.rf=!1;this.da.pg=this.da.Cf=0;this.da.qg=a.csStart;this.da.Bf=a.csInterval;this.da.Df=a.csStop;var e=this;this.po=function(){e.Ze()};this.Wa()}Xa(y,Nb);
k=Nb.prototype;k.vc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=ib(a,"Video");e&&(this.Ai=function(){Pb(e)},this.Yc=function(){e.Yc()});this.pa=ib(a,"ChipSet");this.Wa()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ec=function(a,b){if(!b){if(a&&this.restore){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.ka?this.ka.Wn():this.Z("No debugger detected")}this.na.Tb=!0;!Sb(this)&&this.ka&&Ub(this.ka);Vb(this);return!0};
k.dc=function(a){this.na.Tb=!1;return a&&this.save?this.save():!0};function Sb(a){return!0===a.na.Di||null===a.na.Di&&!a.ka&&void 0===a.xa.run?(a.Ze(),!0):!1}k.Yc=function(){};k.Pk=function(){return 0};function Rb(a){void 0===a.da.qg&&(a.da.qg=0);void 0===a.da.Bf&&(a.da.Bf=-1);void 0===a.da.Df&&(a.da.Df=-1);a.na.rf=0<=a.da.qg&&0<a.da.Bf;a.na.rf&&(a.da.pg=0,a.da.Cf=a.da.qg-a.Xe)}
function Wb(a,b){if(a.na.rf){var c=!1;a.da.pg=a.da.pg+a.Pk()|0;a.da.Cf-=b;0>=a.da.Cf&&(a.da.Cf+=a.da.Bf,c=!0);0<=a.da.Df&&a.da.Df<=D(a)&&(a.da.Bf=a.da.Df=-1,Rb(a),a.Jb(),c=!0);c&&a.Z(D(a)+" cycles: checksum="+p(a.da.pg))}}function F(a,b,c,d){a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(gb(a,"Register "+b+" is invalid"),a.Jb()),c=!a.na.Fb||a.na.Hk?p(c,d):"----".substr(0,d),a.xa[b].textContent!=c&&(a.xa[b].textContent=c))}k.qh=function(){};k.Ai=function(){};
k.Ib=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.xa[b]=c;c.onclick=function(){d.na.Fb?d.Jb(!0):d.Ze(!0)};a=!0;break;case "reset":this.xa[b]=c;c.onclick=function(){d.Ma&&Xb(d.Ma)};a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){Yb(d,d.da.Pd<<1,!0)},c.textContent=this.da.Te.toFixed(2)+"Mhz",a=!0}return a};function Zb(a,b){if(a.na.Fb){var c=a.A-b;a.A-=c;a.Uc-=c}}function $b(a,b,c){a.Xe+=b;c&&(a.Uc=a.A=0)}
function ac(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.da.Pd&&a.da.ud&&(d=a.da.ud/a.da.Gh);a.da.Xk=Math.round(1E3/30);a.da.jo=Math.floor(a.da.vd/c*d);a.da.$i=Math.floor(a.da.vd/30*d);a.da.al=Math.floor(a.da.vd/60*d);a.da.$k=Math.floor(a.da.vd/2*d);b||(a.da.Ef=a.da.$i,a.da.sg=a.da.al,a.da.rg=a.da.$k);a.da.aj=0}function D(a,b){var c=a.Xe+a.se+a.Uc-a.A;b&&1<a.da.Pd&&a.da.ud>a.da.Gh&&(c=Math.round(c/a.da.Pd));return c}function Qb(a){a.da.ud=0;a.Xe=a.se=a.Uc=a.A=0;Rb(a);Yb(a,1)}
function Yb(a,b,c){if(void 0!==b){0.8>a.da.ud/a.da.Te&&(b=1);a.da.Pd=b;b=a.da.Gh*a.da.Pd;if(a.da.Te!=b){a.da.Te=b;b=a.da.Te.toFixed(2)+"Mhz";var d=a.xa.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.Yc()}$b(a,a.se);a.se=0;a.da.zf=qa();a.da.Ue=0;ac(a)}
k.Ze=function(a){if(db(this,!0)){if(!this.na.Fb){Yb(this);this.Ma&&this.Ma.start(this.da.zf,D(this));this.na.Fb=!0;this.na.Mi=!0;this.pa&&bc(this.pa);var b=this.xa.run;b&&(b.textContent="Halt");this.qh(!0);a&&this.Yc()}this.da.aj>=this.da.vd&&ac(this,!0);this.da.tg=0;this.da.Hh=qa();this.da.Ue&&(a=this.da.Hh-this.da.Ue,a>this.da.Xk&&(this.da.zf+=a,this.da.zf>this.da.Hh&&(this.da.zf=this.da.Hh)));try{do{var c=this.na.rf?1:this.da.jo;if(this.pa){cc(this.pa);var d=this.pa;a=c;var e=d.Lb[0];if(e.Re){var f=
(D(d.T,d.le)-e.jd)/d.Qh|0,g=dc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Qh|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.pa;a=c;if(n.ma&&n.ma[11]&64){var m=n.Hf-D(n.T,n.le);0<m&&a>m&&(a=m)}c=a}this.Nf(c);var s=this.Uc-this.A;this.se+=s;this.da.tg+=s;$b(this,0,!0);Wb(this,s);this.da.sg-=s;0>=this.da.sg&&(this.da.sg+=this.da.al,this.Ai());this.da.rg-=s;0>=this.da.rg&&(this.da.rg+=this.da.$k,this.qh());this.da.Ef-=s;if(0>=this.da.Ef){this.da.Ef+=this.da.$i;break}}while(this.na.Fb)}catch(r){this.Jb();Vb(this);
this.Ma&&this.Ma.stop(qa(),D(this));db(this,!1);gb(this,r.message);return}c=setTimeout;d=this.po;this.da.Ue=qa();e=this.da.Xk;this.da.tg&&(e=Math.round(e*this.da.tg/this.da.$i));e-=this.da.Ue-this.da.Hh;if(f=this.da.Ue-this.da.zf)this.da.ud=Math.round(this.se/(10*f))/100,864E5<=f&&(this.Xe=0,this.pa&&cc(this.pa,!0),Yb(this));if(0>e||this.da.ud<this.da.Te)e=0;this.da.aj+=this.da.tg;this.da.Ue+=e;c(d,e)}else Vb(this),this.Ma&&this.Ma.stop(qa(),D(this))};k.Nf=function(){return 0};
k.Jb=function(a){eb(this,!0);this.Uc-=this.A;this.A=0;$b(this,this.se);this.se=0;if(this.na.Fb){this.na.Fb=!1;this.pa&&bc(this.pa);var b=this.xa.run;b&&(b.textContent="Run")}this.na.jg=a};function Vb(a){a.Ai();a.qh()}
(function(){var k,aa,l,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36]};
function da(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null===d&&(a=a.substr(0,a.length-1))}var e,d=a;(b&&10!=b?16==b?null!==d.match(/^[0-9a-f]+$/i):1:null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e)}return c}
function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||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 q(a){return p(a,2)}function s(a){return p(a,4)}function ea(a,b){return void 0!==b?s(b)+":"+s(a):p(a)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}
function ga(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ha={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ia(a){return a.replace(/[&<>"']/g,function(a){return ha[a]})}function ja(a,b){var c="",d;for(d in a)d=d.replace(/([\\[\]*{}().+?])/g,"\\$1"),c+=(c?"|":"")+d;return b.replace(new RegExp("("+c+")","g"),function(b){return a[b]})}function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function ma(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function na(a,b,c){c=ma(a,b,c);0>c&&a.splice(-(c+1),0,b)}function oa(){return Date.now()||+new Date}function qa(){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 ra=[31,28,31,30,31,30,31,31,30,31,30,31];
function sa(a,b,c,d,e,f){b=!!b;var g=0,h=null,n=fa(a),m=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(m.onreadystatechange=function(){4===m.readyState&&(h=m.responseText,200==m.status||!m.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)))});if(c){var t="",r;for(r in c)c.hasOwnProperty(r)&&(t&&(t+="&"),t+=r+"="+encodeURIComponent(c[r]));t=t.replace(/%20/g,"+");m.open("POST",
a,b);m.setRequestHeader("Content-type","application/x-www-form-urlencoded");m.send(t)}else m.open("GET",a,b),m.send();a=[];b||(h=m.responseText,200!=m.status&&(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)),a=[g,h]);return a}function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;
function wa(){if(null==va){var a;try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"===window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}va=a}return va}function xa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function za(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 Ca(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Da(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,Ga=!0;function Ia(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ja(a){Ea.init.push(a)}
function Ka(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function La(a){!Ga&&a?(Ga=!0,Fa&&Ma("init")):Ga=a}function Ma(a){Ea[a]&&Ka(Ea[a])}Ia("onload",function(){Fa=!0;Ka(Ea.init)});Ia("onpageshow",function(){Ka(Ea.show)});Ia(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Ka(Ea.exit)});
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Bk=b.comment;this.op=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Uk=this.id.substr(0,b),this.Fh=this.id.substr(b+1)):this.Fh=this.id;this[a]=c;this.na={Ah:!1,Kc:!1,Ei:!1,Sb:!1,fd:!1};this.Pi=null;this.na.fd=!1;this.xa={};this.ka=null;this.Yb=d||-1;Na[Na.length]=this}var Oa=void 0,Pa={};
if(window){Oa||(Oa=window.location.search.substr(1));for(var Qa,Ra=/\+/g,Sa=/([^&=]+)=?([^&]*)/g;Qa=Sa.exec(Oa);)Pa[decodeURIComponent(Qa[1].replace(Ra," "))]=decodeURIComponent(Qa[2].replace(Ra," "))}function Ta(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 Wa(a,b){b.prototype=Ta(a.prototype)}var Na=[];
function Xa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Na.length;b++){var d=Na[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ya(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Na.length;c++)if(Na[c].id===a)return Na[c]}return null}
function Za(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Na.length;d++)if(c)c==Na[d]&&(c=null);else if(!(a!=Na[d].type||b&&Na[d].id.indexOf(b)))return Na[d]}return null}function $a(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){w(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function bb(a,b){for(var c=z(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h)for(var n=h.split(" "),m=0;m<n.length;m++)switch(h=n[m],h){case "pcjs-binding":(h=$a(g))&&h.binding&&a.Hb(h.type,h.binding,g),m=n.length}}}}
function z(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}
y.prototype={toString:function(){return this.name?this.name:this.id||this.type},Hb:function(a,b,c){switch(b){case "clear":return this.xa[b]||(this.xa[b]=c,c.onclick=function(a){return function(){a.xa.print&&(a.xa.print.value="")}}(this)),!0;case "print":return this.xa[b]||(this.gg=this.xa[b]=c,c.value="",this.Z=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}}(c),this.Ia=function(a,
b,c){this.Z(a,"notice",c)}),!0;default:return!1}},log:function(){},Z:function(){},status:function(a){this.Z(this.Fh+": "+a)},Ia:function(a,b){b||w(a)},ec:function(){return this.na.Sb=!0},dc:function(a,b){b&&(this.na.Sb=!1);return!0},ua:function(a){if(this.ka){a=this===this.ka?a|0:a||this.Yb;var b=this.ka.Yb&a;return b===a||!!(b&this.ka.Fm)}return!1},cb:function(a,b,c){return this.ka?((!0===b||this.ua(b|0))&&this.ka.message(a,c),!0):!1}};
function A(a,b,c,d,e,f,g){a.ka&&(!0===g?g=0:null==g&&(g=a.Yb),cb(a.ka,a,b,c,d,e,f,g))}function db(a,b){if(a.na.Ei)return a.na.Kc&&(a.na.Kc=!1),a.na.Ei=!1;if(a.na.fd)return a.Z(a.toString()+" error"),!1;a.na.Kc=b;return a.na.Kc}function eb(a,b){a.na.Kc&&(b?a.na.Ei=!0:void 0===b&&a.Z(a.toString()+" busy"));return a.na.Kc}function B(a,b){if(!a.na.fd&&(a.na.Ah=!1!==b,a.na.Ah)){a.name&&a.log("ready");var c=a.Pi;a.Pi=null;c&&c()}}function fb(a,b){b&&(a.na.Ah?b():a.Pi=b);return a.na.Ah}
function gb(a,b){a.na.fd=!0;a.Ia("Fatal error: "+b)}function hb(a){y.call(this,"Panel",a,hb)}Wa(y,hb);hb.prototype.Hb=function(a,b,c){return this.Ma&&this.Ma.Hb(a,b,c)||this.T&&this.T.Hb(a,b,c)||this.Sa&&this.Sa.Hb(a,b,c)||this.ka&&this.ka.Hb(a,b,c)?!0:y.prototype.Hb.call(this,a,b,c)};hb.prototype.vc=function(a,b,c,d){this.Ma=a;this.T=c;this.ka=d;this.Sa=ib(a,"Keyboard")};hb.prototype.ec=function(a,b){b||jb();return!0};hb.prototype.dc=function(){return!0};
function jb(){for(var a=!1,b=z(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=$a(d),f=Ya(e.id);f||(a=!0,f=new hb(e));bb(f,d);a&&B(f)}}Ja(jb);function kb(a,b,c){y.call(this,"Bus",a,kb);this.T=b;this.ka=c;this.zf=a.buswidth||20;this.Wf=this.ld=(1<<this.zf)-1;this.Eb=20>=this.zf?12:14;this.mc=1<<this.Eb;this.xk=this.mc>>2;this.qb=this.mc-1;this.jh=(this.Wf+this.mc)/this.mc|0;this.He=this.jh-1;this.xd=[];this.yd=[];this.lg=this.mg=!1;this.Vi();B(this)}Wa(y,kb);
kb.prototype.Vi=function(){this.Ha=Array(this.jh);for(var a=0;a<this.jh;a++){var b=a*this.mc;lb(this.Ha[a]=new mb(b),this.T,this.ka,b,this.mc)}this.T.Vi(this.Ha,this.Wf,this.Eb,this.qb,this.He);this.T.De=this.ld};kb.prototype.reset=function(){nb(this,!0)};kb.prototype.ec=function(a,b){b||this.reset();return!0};
function ob(a,b,c,d,e){if(!(b&a.qb||!c||c&a.qb)){for(var f=b>>a.Eb;0<c&&f<a.Ha.length;){var g=a.Ha[f];if(void 0!==g&&g.size)return pb(1,b,c);b=f*a.mc;g=a.Ha[f++]=new mb(b,a.mc,d,e);lb(g,a.T,a.ka,b,a.mc);c-=a.mc}return!0}return pb(2,b,c)}function nb(a,b){if(void 0!==b&&20<a.zf){var c=a.ld&-1048577|(b?1048576:0);c!=a.ld&&(a.ld=c,a.T&&(a.T.De=c))}}
kb.prototype.ai=function(a,b,c){if(!(a&this.qb||!b||b&this.qb)){for(var d=a>>this.Eb;0<b;){var e=this.Ha[d];if(!e.ga)return pb(5,a,b);e.af(c);b-=this.mc;d++}return!0}return pb(3,a,b)};function qb(a,b,c){if(!(b&a.qb||!c||c&a.qb)){for(var d=b>>a.Eb;0<c;)b=d*a.mc,lb(a.Ha[d++]=new mb(b),a.T,a.ka,b,a.mc),c-=a.mc;return!0}return pb(4,b,c)}function rb(a,b){return a.Ha[(b&a.ld)>>a.Eb].Ig(b&a.qb)}
function sb(a,b){var c=b&a.qb,d=(b&a.ld)>>a.Eb;return c!=a.qb?a.Ha[d].Wj(c):a.Ha[d++].Ig(c)|a.Ha[d&a.He].Ig(0)<<8}function tb(a,b,c){a.Ha[(b&a.ld)>>a.Eb].Og(b&a.qb,c&255)}function ub(a,b,c){var d=b&a.qb;b=(b&a.ld)>>a.Eb;d!=a.qb?a.Ha[b].fk(d,c&65535):(a.Ha[b++].Og(d,c&255),a.Ha[b&a.He].Og(0,c>>8&255))}
function vb(a){for(var b=0,c=[],d=0;d<a.jh;d++){var e=a.Ha[d];if(e.xb||e.Hk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,n=0,m=[];h<e.length;){for(var t=e[h],r=h+1;r<e.length&&e[r]===t;)r++;m[n++]=r-h;m[n++]=t;h=r}if(m.length<e.length){e=m;break a}}f[g]=e}}c[b]=a.Wf==a.ld;return c}function wb(a,b){if(void 0===b)return a.lg=!a.lg,a.lg;void 0===a.xd[b]&&(a.xd[b]=[null,null,!1]);a.xd[b][2]=!a.xd[b][2];return a.xd[b][2]}
function xb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,n=c[e];if(void 0!==n)for(var m=e+d;m<=g;m++)void 0!==f.xd[m]?w("Input port "+s(m)+" registered by "+f.xd[m][0].id+", ignoring "+h.id):f.xd[m]=[h,n,!1,!1]}}function yb(a,b,c){var d=255,e=a.xd[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.ka&&a.lg!=e[2]&&zb(a.ka,b,d)):a.ka&&(cb(a.ka,a,b,null,c),a.lg&&zb(a.ka,b,d));return d}
function Ab(a,b){if(void 0===b)return a.mg=!a.mg,a.mg;void 0===a.yd[b]&&(a.yd[b]=[null,null,!1]);a.yd[b][2]=!a.yd[b][2];return a.yd[b][2]}function Bb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,n=c[e];if(void 0!==n)for(var m=e+d;m<=g;m++)void 0!==f.yd[m]?w("Output port "+s(m)+" registered by "+f.yd[m][0].id+", ignoring "+h.id):f.yd[m]=[h,n,!1,!1]}}
function Cb(a,b,c,d){var e=a.yd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.ka&&a.mg!=e[2]&&Db(a.ka,b,c)):a.ka&&(cb(a.ka,a,b,c,d),a.mg&&Db(a.ka,b,c))}function pb(a,b,c){w("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function mb(a,b,c,d){this.Hm=b||0;this.ya=null;this.offset=0;this.zh=c;this.ga=null;this.xb=this.Hk=!1;if(b)if(d)this.ga=d,a=[d.md,a-d.Wa],this.ya=a[0],this.offset=a[1],this.af(d.Yf);else{this.ya=Array(b>>2);for(d=0;d<this.ya.length;d++)this.ya[d]=0;this.af(Eb)}else this.af()}
mb.prototype={Uh:function(){this.ka.ua(Fb)&&this.ka.message("attempt to read invalid block %"+p(this.$d)+" from "+ea(this.T.wa,this.T.va.ta));return 0},Of:function(a,b){this.ka.ua(Fb)&&this.ka.message("attempt to write 0x"+s(b)+" to invalid block %"+p(this.$d),!0)},rp:function(a){return this.ya[a>>2]>>>((a&3)<<3)&255},tp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},Dp:function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<<d)|b<<
d;this.xb=!0},Fp:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<<d)|b<<d:(this.ya[c]=this.ya[c]&16777215|b<<24,c++,this.ya[c]=this.ya[c]&4294967040|b>>8);this.xb=!0},qp:function(a){Gb(this.ka,this.$d+a);return this.Ig(a)},sp:function(a){Gb(this.ka,this.$d+a)||Gb(this.ka,this.$d+a+1);return this.Wj(a)},Cp:function(a,b){Hb(this.ka,this.$d+a);this.Og(a,b)},Ep:function(a,b){Hb(this.ka,this.$d+a)||Hb(this.ka,this.$d+a+1);this.fk(a,b)},save:function(){return this.ga?null:this.ya},
restore:function(a){return this.ga?null==a:a&&this.Hm==a.length<<2?(this.ya=a,this.xb=!0):!1},af:function(a,b){a||(a=[]);void 0===b&&(b=!0);Ib(this,a,b);Jb(this,a,b)},Zd:function(a,b){b?0===this.zk++&&Jb(this,Kb):0===this.yk++&&Ib(this,Kb)}};function Lb(a,b){b?0===--a.zk&&(a.Mc=a.zh?a.Of:a.Og,a.vm=a.zh?a.Of:a.fk):0===--a.yk&&(a.yc=a.Ig,a.hm=a.Wj)}function lb(a,b,c,d,e){a.T=b;a.ka=c;a.$d=d;a.yk=a.zk=0;a.ka&&Mb(a.ka,d,e)}
function Jb(a,b,c){a.Mc=b[2]&&!a.zh?b[2]:a.Of;a.vm=b[3]&&!a.zh?b[3]:a.Of;c&&(a.Og=b[2]?b[2]:a.Of,a.fk=b[3]?b[3]:a.Of)}function Ib(a,b,c){a.yc=b[0]?b[0]:a.Uh;a.hm=b[1]?b[1]:a.Uh;c&&(a.Ig=b[0]?b[0]:a.Uh,a.Wj=b[1]?b[1]:a.Uh)}var Eb=[mb.prototype.rp,mb.prototype.tp,mb.prototype.Dp,mb.prototype.Fp],Kb=[mb.prototype.qp,mb.prototype.sp,mb.prototype.Cp,mb.prototype.Ep];
function Nb(a,b){y.call(this,"CPU",a,Nb,Ob);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.sd=c;this.da.Nd=d;this.da.Hh=Math.round(this.da.sd/1E4)/100;this.da.Te=this.da.Hh*this.da.Nd;this.na.Sb=!1;this.na.mb=!1;this.na.Mi=!1;this.na.Di=a.autoStart;this.na.Ik=!1;c=Pa.autostart;void 0!==c&&(this.na.Di="true"==c?!0:"false"==c?!1:null);this.na.qf=!1;this.da.pg=this.da.Bf=0;this.da.qg=a.csStart;this.da.Af=a.csInterval;this.da.Cf=a.csStop;var e=this;this.ro=function(){e.Ye()};B(this)}Wa(y,Nb);
k=Nb.prototype;k.vc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=ib(a,"Video");e&&(this.Ai=function(){Pb(e)},this.Yc=function(){e.Yc()});this.oa=ib(a,"ChipSet");B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ec=function(a,b){if(!b){if(a&&this.restore){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.ka?this.ka.Xn():this.Z("No debugger detected")}this.na.Sb=!0;!Sb(this)&&this.ka&&Tb(this.ka);Ub(this);return!0};
k.dc=function(a){this.na.Sb=!1;return a&&this.save?this.save():!0};function Sb(a){return!0===a.na.Di||null===a.na.Di&&!a.ka&&void 0===a.xa.run?(a.Ye(),!0):!1}k.Yc=function(){};k.Qk=function(){return 0};function Rb(a){void 0===a.da.qg&&(a.da.qg=0);void 0===a.da.Af&&(a.da.Af=-1);void 0===a.da.Cf&&(a.da.Cf=-1);a.na.qf=0<=a.da.qg&&0<a.da.Af;a.na.qf&&(a.da.pg=0,a.da.Bf=a.da.qg-a.Xe)}
function Wb(a,b){if(a.na.qf){var c=!1;a.da.pg=a.da.pg+a.Qk()|0;a.da.Bf-=b;0>=a.da.Bf&&(a.da.Bf+=a.da.Af,c=!0);0<=a.da.Cf&&a.da.Cf<=D(a)&&(a.da.Af=a.da.Cf=-1,Rb(a),a.Ib(),c=!0);c&&a.Z(D(a)+" cycles: checksum="+p(a.da.pg))}}function F(a,b,c,d){a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(gb(a,"Register "+b+" is invalid"),a.Ib()),c=!a.na.mb||a.na.Ik?p(c,d):"----".substr(0,d),a.xa[b].textContent!=c&&(a.xa[b].textContent=c))}k.qh=function(){};k.Ai=function(){};
k.Hb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.xa[b]=c;c.onclick=function(){d.na.mb?d.Ib(!0):d.Ye(!0)};a=!0;break;case "reset":this.xa[b]=c;c.onclick=function(){d.Ma&&Xb(d.Ma)};a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){Yb(d,d.da.Nd<<1,!0)},c.textContent=this.da.Te.toFixed(2)+"Mhz",a=!0}return a};function Zb(a,b){if(a.na.mb){var c=a.A-b;a.A-=c;a.Uc-=c}}function $b(a,b,c){a.Xe+=b;c&&(a.Uc=a.A=0)}
function ac(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.da.Nd&&a.da.ne&&(d=a.da.ne/a.da.Hh);a.da.Yk=Math.round(1E3/30);a.da.lo=Math.floor(a.da.sd/c*d);a.da.aj=Math.floor(a.da.sd/30*d);a.da.bl=Math.floor(a.da.sd/60*d);a.da.al=Math.floor(a.da.sd/2*d);b||(a.da.Df=a.da.aj,a.da.sg=a.da.bl,a.da.rg=a.da.al);a.da.bj=0}function D(a,b){var c=a.Xe+a.re+a.Uc-a.A;b&&1<a.da.Nd&&a.da.ne>a.da.Hh&&(c=Math.round(c/a.da.Nd));return c}function Qb(a){a.da.ne=0;a.Xe=a.re=a.Uc=a.A=0;Rb(a);Yb(a,1)}
function Yb(a,b,c){if(void 0!==b){0.8>a.da.ne/a.da.Te&&(b=1);a.da.Nd=b;b=a.da.Hh*a.da.Nd;if(a.da.Te!=b){a.da.Te=b;b=a.da.Te.toFixed(2)+"Mhz";var d=a.xa.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.Yc()}$b(a,a.re);a.re=0;a.da.yf=oa();a.da.Ue=0;ac(a)}
k.Ye=function(a){if(db(this,!0)){if(!this.na.mb){Yb(this);this.Ma&&this.Ma.start(this.da.yf,D(this));this.na.mb=!0;this.na.Mi=!0;this.oa&&bc(this.oa);var b=this.xa.run;b&&(b.textContent="Halt");this.qh(!0);a&&this.Yc()}this.da.bj>=this.da.sd&&ac(this,!0);this.da.tg=0;this.da.Ih=oa();this.da.Ue&&(a=this.da.Ih-this.da.Ue,a>this.da.Yk&&(this.da.yf+=a,this.da.yf>this.da.Ih&&(this.da.yf=this.da.Ih)));try{do{var c=this.na.qf?1:this.da.lo;if(this.oa){cc(this.oa);var d=this.oa;a=c;var e=d.Kb[0];if(e.Re){var f=
(D(d.T,d.je)-e.jd)/d.Rh|0,g=dc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Rh|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.oa;a=c;if(n.ma&&n.ma[11]&64){var m=n.Gf-D(n.T,n.je);0<m&&a>m&&(a=m)}c=a}this.Nf(c);var t=this.Uc-this.A;this.re+=t;this.da.tg+=t;$b(this,0,!0);Wb(this,t);this.da.sg-=t;0>=this.da.sg&&(this.da.sg+=this.da.bl,this.Ai());this.da.rg-=t;0>=this.da.rg&&(this.da.rg+=this.da.al,this.qh());this.da.Df-=t;if(0>=this.da.Df){this.da.Df+=this.da.aj;break}}while(this.na.mb)}catch(r){this.Ib();Ub(this);
this.Ma&&this.Ma.stop(oa(),D(this));db(this,!1);gb(this,r.message);return}c=setTimeout;d=this.ro;this.da.Ue=oa();e=this.da.Yk;this.da.tg&&(e=Math.round(e*this.da.tg/this.da.aj));e-=this.da.Ue-this.da.Ih;if(f=this.da.Ue-this.da.yf)this.da.ne=Math.round(this.re/(10*f))/100,864E5<=f&&(this.Xe=0,this.oa&&cc(this.oa,!0),Yb(this));if(0>e||this.da.ne<this.da.Te)e=0;this.da.bj+=this.da.tg;this.da.Ue+=e;c(d,e)}else Ub(this),this.Ma&&this.Ma.stop(oa(),D(this))};k.Nf=function(){return 0};
k.Ib=function(a){eb(this,!0);this.Uc-=this.A;this.A=0;$b(this,this.re);this.re=0;if(this.na.mb){this.na.mb=!1;this.oa&&bc(this.oa);var b=this.xa.run;b&&(b.textContent="Run")}this.na.jg=a};function Ub(a){a.Ai();a.qh()}
var ec=[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 fc(a,b,c,d){this.T=a;this.ka=a.ka;this.id=b;this.Lg=c||"";this.Ga=this.ta=0;this.oc=65535;this.nb=0;this.Dd=-4;this.nc=this.cb=0;this.qk=this.id==gc?Array(32):[];this.Fi=null;this.Bh=!1;hc(this,d)}var gc=1;function ic(a){this.ta=a;return this.Ga=a<<4}function jc(a,b){var c,d,e=this.T;a&4?(c=e.Xc.Ga,d=c+e.Xc.oc):(c=e.Ec,d=e.Be);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),kc(this,c,a,b);b||lc.call(e,13,a)}return-4}
function mc(a){var b=this.T;a=b.Qc+(a<<2);b.wa=b.ra(a);this.ta=b.ra(a+2);b.Ba&=-769;return this.Ga=this.ta<<4}function oc(a){var b=this.T;a<<=3;var c=b.Qc+a;if(c+7<=b.Ce)return kc(this,c,a);lc.call(b,13,a|3,!0);return-4}function pc(a){return this.Ga+a}function rc(a){return this.Ga+a}function sc(a,b,c){return a+b<=this.oc?this.Ga+a:tc.call(this,0,0,c)}function uc(a,b,c){return a+b>this.oc?this.Ga+a:tc.call(this,0,0,c)}function tc(a,b,c){c||lc.call(this.T,13,0);return-4}
0,0,1,1,0,1,0,0,1];function fc(a,b,c,d){this.T=a;this.ka=a.ka;this.id=b;this.Lg=c||"";this.Ga=this.ta=0;this.oc=65535;this.ob=0;this.Ad=-4;this.nc=this.bb=0;this.rk=this.id==gc?Array(32):[];this.Fi=null;this.Ch=!1;hc(this,d)}var gc=1;function ic(a){this.ta=a;return this.Ga=a<<4}function jc(a,b){var c,d,e=this.T;a&4?(c=e.Xc.Ga,d=c+e.Xc.oc):(c=e.Ec,d=e.Be);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),kc(this,c,a,b);b||lc.call(e,13,a)}return-4}
function mc(a){var b=this.T;a=b.Qc+(a<<2);b.wa=b.ra(a);this.ta=b.ra(a+2);b.Ba&=-769;return this.Ga=this.ta<<4}function nc(a){var b=this.T;a<<=3;var c=b.Qc+a;if(c+7<=b.Ce)return kc(this,c,a);lc.call(b,13,a|3,!0);return-4}function oc(a){return this.Ga+a}function qc(a){return this.Ga+a}function rc(a,b,c){return a+b<=this.oc?this.Ga+a:tc.call(this,0,0,c)}function uc(a,b,c){return a+b>this.oc?this.Ga+a:tc.call(this,0,0,c)}function tc(a,b,c){c||lc.call(this.T,13,0);return-4}
function vc(a,b,c){return a+b<=this.oc?this.Ga+a:wc.call(this,0,0,c)}function xc(a,b,c){return a+b>this.oc?this.Ga+a:wc.call(this,0,0,c)}function wc(a,b,c){c||lc.call(this.T,13,0);return-4}
function yc(a,b){var c=this.T,d=c.gb.Ga,e=this.cb,f=c.gb.ta;if(!b){if(768!=c.gb.type)return lc.call(c,10,a,!0),!1;c.Ta(c.gb.Dd+4,c.gb.nb&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ga;if(b){if(768==c.gb.type)return lc.call(c,13,a,!0),!1;c.Ta(c.gb.Dd+4,c.gb.nb|=768);c.gb.type=768}c.Ta(d+14,c.wa);c.Ta(d+16,zc(c));c.Ta(d+18,c.H);c.Ta(d+20,c.J);c.Ta(d+22,c.K);c.Ta(d+24,c.C);c.Ta(d+26,c.Y);c.Ta(d+28,c.I);c.Ta(d+30,c.G);c.Ta(d+32,c.F);c.Ta(d+34,c.La.ta);c.Ta(d+36,c.ua.ta);c.Ta(d+38,c.Za.ta);c.Ta(d+
40,c.fb.ta);var d=38,h=26;Ac(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.J=c.ra(g+20);c.K=c.ra(g+22);c.C=c.ra(g+24);c.I=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.La.load(c.ra(g+34));c.fb.load(c.ra(g+40));Bc(c,c.ra(g+14),c.ra(g+36));this.cb<e&&(h=(this.cb<<2)+2,d=h+2);c.Y=c.ra(g+h);c.Za.load(c.ra(g+d));c.Xc.load(c.ra(g+42));b&&c.Ta(g+0,f);c.fc|=8;return!0}function Cc(a,b,c){var d=a.T,e=d.ra(b+2),f=d.ra(b+0)|(e&255)<<16,d=d.ra(b+4);a.ta=c;a.Ga=f;a.oc=d;a.nb=e&65280;a.Dd=b;hc(a)}
function kc(a,b,c,d){for(var e=a.T,f=e.ra(b+0),g=e.ra(b+4),h=g&7936,n=e.ra(b+2)|(g&255)<<16,m=c&65528;;){var s;if(a.id==gc){a.Bh=!1;var m=a.Fi,r,t,w=c&3,u=(g&24576)>>13;if(6144<=h){w=c&3;if(w>a.cb){if(!1!==m&&!(u==a.cb||g&1024&&u<=a.cb)){n=-4;break}r=e.Oa();e.Za.load(e.Oa());e.Y=r;a.Bh=!0}r=!1}else if(1024==h)r=!0,t=-1,s=c,w<a.cb&&(w=a.cb);else if(1536==h)r=!0,t=-17153,s=c|1;else if(1792==h)r=!0,t=-16641,s=c|1;else if(1280==h){if(!yc.call(a,n&65535,!0)){n=-4;break}return a.Ga}if(r){b=n&65535;if(w<=
u){d=a.cb;if(-4==a.load(b,!0)){n=-4;break}e.wa=f;if(a.cb<d){if(!0!==m){n=-4;break}r=e.Y;f=0;for(g&=31;g--;)a.qk[f++]=e.ra(e.Za.Ic(r,1)),r+=2;g=e.gb.Ga;d=(a.cb<<2)+2;m=d+2;s=e.Y;b=e.Za.ta;e.Y=e.ra(g+d);e.Za.load(e.ra(g+m));G(e,b);for(G(e,s);f;)G(e,a.qk[--f]);a.Bh=!0}e.Ba&=t;return a.Ga}d||lc.call(e,13,s,!0);n=-4;break}else if(!1!==r){d||lc.call(e,13,c,!0);n=-4;break}}else if(2==a.id){if(m&&(4096>h||2048==(h&2560))){d||lc.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!m||4096>h||2048==(h&2560)){d||
lc.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!m||256!=h&&768!=h){d||lc.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768<h){n=-4;break}a.ta=c;a.Ga=n;a.oc=f;a.nb=g;a.type=h;a.Dd=b;hc(a);break}return n}fc.prototype.save=function(){return[this.ta,this.Ga,this.oc,this.nb,this.id,this.Lg,this.cb,this.nc,this.Dd]};
fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ta=a[0],this.Ga=a[1],this.oc=a[2],this.nb=a[3],this.id=a[4],this.Lg=a[5],this.cb=a[6],this.nc=a[7],this.Dd=a[8])};
function hc(a,b){void 0===b&&(b=!!(a.T.fc&1));if(b){a.load=jc;a.Wk=oc;a.Ic=sc;a.Zb=vc;if(a.nb&4096){6144==(a.nb&6656)&&(a.Zb=tc);if(a.nb&2048||!(a.nb&512))a.Zb=wc;1024==(a.nb&3072)&&(a.Ic==sc&&(a.Ic=uc),a.Zb==vc&&(a.Zb=xc))}a.cb=a.ta&3;a.nc=(a.nb&24576)>>13}else a.load=ic,a.Wk=mc,a.Ic=pc,a.Zb=rc,a.oc=65535,a.cb=a.nc=0,a.Dd=-4}
function Dc(a){this.Ka=a.model||8088;var b=0;switch(this.Ka){default:case 8088:b=4772727;break;case 80286:b=6E6}Nb.call(this,a,b);this.jk=61442;this.Sg=1792;this.Rg=4;this.If=255;this.B=80286<=this.Ka?Ec:Fc;this.$a=Gc.slice();this.Bm=Kc.slice();this.Cm=Lc.slice();this.mk=Mc;80186<=this.Ka&&(this.If=31,this.$a[15]=Nc,this.$a[96]=Pc,this.$a[97]=Qc,this.$a[98]=Rc,this.$a[99]=Nc,this.$a[100]=Nc,this.$a[101]=Nc,this.$a[102]=Nc,this.$a[103]=Nc,this.$a[104]=Sc,this.$a[105]=Tc,this.$a[106]=Uc,this.$a[107]=
Vc,this.$a[108]=Wc,this.$a[109]=Xc,this.$a[110]=Yc,this.$a[111]=Zc,this.$a[192]=$c,this.$a[193]=ad,this.$a[200]=bd,this.$a[201]=cd,this.$a[241]=dd,this.Bm[7]=ed,this.Cm[7]=ed,80286<=this.Ka&&(this.jk=2,this.Sg|=28672,this.Rg=0,this.$a[15]=fd,this.$a[99]=gd,this.$a[84]=hd));this.Ug=[];this.Vg=[];this.Uc=this.mh=0;this.na.jg=this.na.Fk=!1;this.Ha=[];this.De=this.Eb=this.ob=this.He=0;this.U=this.Vm;this.V=this.Wm;this.O=this.ao;this.P=this.bo;this.R=this.yp;this.S=this.zp;id(this)}Xa(Nb,Dc);
var Fc={Qj:4,ca:5,Aa:6,ha:7,ia:8,Q:9,W:11,X:12,Ve:4,cl:60,dl:83,ac:3,Gb:9,pc:16,Nh:1,hl:19,jl:28,ll:16,kl:21,il:37,fl:2,jj:9,gl:5,el:33,lj:10,kj:8,yg:3,xg:15,zl:51,Al:1,Bl:2,Cl:4,yl:32,mj:15,El:15,bc:16,cc:4,Gl:11,Fl:18,Dl:24,Pb:4,Hl:2,nj:16,Il:17,sj:18,Jl:19,rj:5,tj:6,Ol:2,Nl:8,Ll:9,Ml:10,Kl:10,uj:10,vj:10,nl:80,pl:144,ml:86,ol:154,rl:101,tl:165,ql:107,sl:171,Ql:70,Sl:113,Pl:76,Rl:124,vl:80,xl:128,ul:86,wl:134,Ag:3,zg:16,Aj:10,zj:8,Tl:51,qc:8,Ul:17,Vl:36,wc:11,Wl:16,Bg:10,re:2,gj:18,hj:7,ij:15,oj:12,
pj:7,qj:11,wj:18,xj:7,yj:15,Bj:15,Cj:7,Dj:13,Hj:11,Ij:7,Jj:8,Xl:8,$l:12,Yl:18,Zl:17,am:15,Fj:8,Ej:20,Gj:2,Mj:3,Cg:9,Lj:5,Kj:11,Oj:4,Nj:17,bm:11},Ec={Qj:0,ca:0,Aa:0,ha:0,ia:0,Q:0,W:1,X:1,Ve:3,cl:14,dl:16,ac:2,Gb:7,pc:7,Nh:0,hl:7,jl:13,ll:7,kl:11,il:16,fl:3,jj:6,gl:2,el:13,lj:5,kj:5,yg:2,xg:7,zl:23,Al:0,Bl:1,Cl:3,yl:17,mj:7,El:11,bc:7,cc:3,Gl:7,Fl:11,Dl:15,Pb:2,Hl:3,nj:7,Il:8,sj:8,Jl:8,rj:4,tj:4,Ol:2,Nl:3,Ll:5,Ml:2,Kl:3,uj:5,vj:3,nl:14,pl:22,ml:17,ol:25,rl:17,tl:25,ql:20,sl:28,Ql:13,Sl:21,Pl:16,Rl:24,
vl:13,xl:21,ul:16,wl:24,Ag:2,zg:7,Aj:5,zj:5,Tl:19,qc:5,Ul:5,Vl:17,wc:3,Wl:5,Bg:3,re:0,gj:8,hj:5,ij:9,oj:5,pj:5,qj:4,wj:5,xj:5,yj:4,Bj:7,Cj:5,Dj:8,Hj:3,Ij:4,Jj:3,Xl:11,$l:11,Yl:15,Zl:15,am:7,Fj:5,Ej:8,Gj:0,Mj:2,Cg:6,Lj:3,Kj:6,Oj:3,Nj:5,bm:5};k=Dc.prototype;k.Ui=function(a,b,c,d,e){this.Ha=a;this.De=b;this.Eb=c;this.ob=d;this.He=e};k.reset=function(){this.na.Fb&&this.Jb();id(this);Qb(this);this.na.fd=!1};
function id(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.fc=65520;a.Qc=0;a.Ce=1023;a.Gf=0;a.Mh=-1;a.ua=new fc(a,gc,"CS");a.fb=new fc(a,2,"DS");a.La=new fc(a,2,"ES");a.Za=new fc(a,3,"SS");a.rm=new fc(a,0,"NULL");Bc(a,0,65535);80286<=a.Ka&&(a.Ec=0,a.Be=65535,a.Xc=new fc(a,5,"LDT",!0),a.gb=new fc(a,4,"TSS",!0),a.Ub=new fc(a,6,"VER",!0),Bc(a,65520,61440),a.ua.Ga=16711680);Ac(a,0);jd(a);a.zb=0;a.Qb=a.Jg=-1;a.eh=0;a.ja=a.Pa=-4;a.D=a.fb;a.N=a.Za;a.ba=a.Da=0}
k.Pk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.wa+this.ua.ta+this.fb.ta+this.Za.ta+this.La.ta+zc(this)|0};function kd(a,b,c,d){void 0!==d&&(void 0===a.Ug[b]&&(a.Ug[b]=[]),a.Ug[b].push([c,d]))}function ld(a,b){var c=a.Ug[b];if(void 0!==c)for(var d=0;d<c.length;d++)if(!c[d][1].call(c[d][0],a.Ea))return!1;a.na.Fk&&a.va(md)&&nd(a.ka,b,a.Ea)&&od(a,a.Ea,function(a,c){return function(d){pd(a.ka,b,d,D(a)-c)}}(a,D(a)));return!0}
function od(a,b,c){void 0!==c&&(null==a.Vg[b]&&a.mh++,a.Vg[b]=c)}function qd(a,b){var c=a.Vg[b];null!=c&&(c(--a.mh),delete a.Vg[b])}function jd(a,b){void 0===b&&(b=!!(a.fc&1));b||a.qb("returning to real-mode");a.mk=b?rd:Mc;hc(a.ua,b);hc(a.fb,b);hc(a.Za,b);hc(a.La,b)}
k.save=function(){var a=new sd(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.Gf]);a.set(1,[this.wa,this.ua.save(),this.fb.save(),this.Za.save(),this.La.save(),null!=this.Ec?[this.fc,this.Ec,this.Be,this.Qc,this.Ce,this.Xc.save(),this.gb.save(),this.Gf]:null,zc(this)]);a.set(2,[this.D.Lg,this.N.Lg,this.ba,this.Da,this.zb,this.ja,this.Pa]);a.set(3,[0,this.Xe,this.da.Pd]);a.set(4,vb(this.sa));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Gf=b[8]||0;b=a[1];this.ua.restore(b[1]);this.fb.restore(b[2]);this.Za.restore(b[3]);this.La.restore(b[4]);var c=b[5];c&&c.length&&(this.fc=c[0],this.Ec=c[1],this.Be=c[2],this.Qc=c[3],this.Ce=c[4],this.Xc.restore(c[5]),this.gb.restore(c[6]),this.Gf=c[7],jd(this));Ac(this,b[6]);H(this,b[0]);b=a[2];this.D=td(this,b[0]);this.N=td(this,b[1]);this.ba=b[2];this.Da=b[3];
this.zb=b[4];this.ja=b[5];this.Pa=b[6];b=a[3];this.Xe=b[1];Yb(this,b[2]);a:{b=this.sa;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.wk){for(var f=0,g=Array(b.wk),h=0;h<e.length-1;)for(var n=e[h++],m=e[h++];n--;)g[f++]=m;e=g}f=b.Ha[d];if(!f||!f.restore(e)){x("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&nb(b,a[c]);b=!0}return b};
function td(a,b){switch(b){case "CS":return a.ua;case "DS":return a.fb;case "SS":return a.Za;case "ES":return a.La;case "NULL":return a.rm;default:return[0,b,0,0,""]}}function ud(a,b){a.Ea=a.ua.load(b)+a.wa;a.ba|=a.Rg}function vd(a,b){a.fb.load(b);a.ba|=a.Rg}function wd(a,b){a.Za.load(b);a.ba|=4}function xd(a,b){a.La.load(b);a.ba|=a.Rg}function H(a,b){a.Ea=a.ua.Ga+(a.wa=b&65535)}function Bc(a,b,c,d){a.ua.Fi=d;a.wa=b;b=a.ua.load(c);return-4!=b?(a.Ea=b+a.wa,a.ua.Bh):null}
function yd(a,b){a.Ea=a.ua.Ga+(a.wa=a.wa+b&65535)}function zd(a){return a.aa&a.ea?1:0}function Ad(a){return ec[a.la&255]?4:0}function Bd(a){return(a.la^a.qa)&16?16:0}function Cd(a){return a.aa&a.ea-1?0:64}function Dd(a){return a.la&a.ea>>1?128:0}function Ed(a){return(a.la^a.qa^a.la>>1)&a.ea>>1?2048:0}function Fd(a){a.aa&=~a.ea}function Gd(a){a.qa=a.la&16|a.qa&-17}function Hd(a){a.aa|=a.ea-1}function Id(a){Dd(a)&&(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}
function yc(a,b){var c=this.T,d=c.gb.Ga,e=this.bb,f=c.gb.ta;if(!b){if(768!=c.gb.type)return lc.call(c,10,a,!0),!1;c.Ua(c.gb.Ad+4,c.gb.ob&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ga;if(b){if(768==c.gb.type)return lc.call(c,13,a,!0),!1;c.Ua(c.gb.Ad+4,c.gb.ob|=768);c.gb.type=768}c.Ua(d+14,c.wa);c.Ua(d+16,zc(c));c.Ua(d+18,c.H);c.Ua(d+20,c.J);c.Ua(d+22,c.K);c.Ua(d+24,c.C);c.Ua(d+26,c.Y);c.Ua(d+28,c.I);c.Ua(d+30,c.G);c.Ua(d+32,c.F);c.Ua(d+34,c.La.ta);c.Ua(d+36,c.va.ta);c.Ua(d+38,c.Ya.ta);c.Ua(d+
40,c.fb.ta);var d=38,h=26;Ac(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.J=c.ra(g+20);c.K=c.ra(g+22);c.C=c.ra(g+24);c.I=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.La.load(c.ra(g+34));c.fb.load(c.ra(g+40));Bc(c,c.ra(g+14),c.ra(g+36));this.bb<e&&(h=(this.bb<<2)+2,d=h+2);c.Y=c.ra(g+h);c.Ya.load(c.ra(g+d));c.Xc.load(c.ra(g+42));b&&c.Ua(g+0,f);c.fc|=8;return!0}function Cc(a,b,c){var d=a.T,e=d.ra(b+2),f=d.ra(b+0)|(e&255)<<16,d=d.ra(b+4);a.ta=c;a.Ga=f;a.oc=d;a.ob=e&65280;a.Ad=b;hc(a)}
function kc(a,b,c,d){for(var e=a.T,f=e.ra(b+0),g=e.ra(b+4),h=g&7936,n=e.ra(b+2)|(g&255)<<16,m=c&65528;;){var t;if(a.id==gc){a.Ch=!1;var m=a.Fi,r,u,x=c&3,v=(g&24576)>>13;if(6144<=h){x=c&3;if(x>a.bb){if(!1!==m&&!(v==a.bb||g&1024&&v<=a.bb)){n=-4;break}r=e.Oa();e.Ya.load(e.Oa());e.Y=r;a.Ch=!0}r=!1}else if(1024==h)r=!0,u=-1,t=c,x<a.bb&&(x=a.bb);else if(1536==h)r=!0,u=-17153,t=c|1;else if(1792==h)r=!0,u=-16641,t=c|1;else if(1280==h){if(!yc.call(a,n&65535,!0)){n=-4;break}return a.Ga}if(r){b=n&65535;if(x<=
v){d=a.bb;if(-4==a.load(b,!0)){n=-4;break}e.wa=f;if(a.bb<d){if(!0!==m){n=-4;break}r=e.Y;f=0;for(g&=31;g--;)a.rk[f++]=e.ra(e.Ya.Ic(r,1)),r+=2;g=e.gb.Ga;d=(a.bb<<2)+2;m=d+2;t=e.Y;b=e.Ya.ta;e.Y=e.ra(g+d);e.Ya.load(e.ra(g+m));G(e,b);for(G(e,t);f;)G(e,a.rk[--f]);a.Ch=!0}e.Ba&=u;return a.Ga}d||lc.call(e,13,t,!0);n=-4;break}else if(!1!==r){d||lc.call(e,13,c,!0);n=-4;break}}else if(2==a.id){if(m&&(4096>h||2048==(h&2560))){d||lc.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!m||4096>h||2048==(h&2560)){d||
lc.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!m||256!=h&&768!=h){d||lc.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768<h){n=-4;break}a.ta=c;a.Ga=n;a.oc=f;a.ob=g;a.type=h;a.Ad=b;hc(a);break}return n}fc.prototype.save=function(){return[this.ta,this.Ga,this.oc,this.ob,this.id,this.Lg,this.bb,this.nc,this.Ad]};
fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ta=a[0],this.Ga=a[1],this.oc=a[2],this.ob=a[3],this.id=a[4],this.Lg=a[5],this.bb=a[6],this.nc=a[7],this.Ad=a[8])};
function hc(a,b){void 0===b&&(b=!!(a.T.fc&1));if(b){a.load=jc;a.Xk=nc;a.Ic=rc;a.Zb=vc;if(a.ob&4096){6144==(a.ob&6656)&&(a.Zb=tc);if(a.ob&2048||!(a.ob&512))a.Zb=wc;1024==(a.ob&3072)&&(a.Ic==rc&&(a.Ic=uc),a.Zb==vc&&(a.Zb=xc))}a.bb=a.ta&3;a.nc=(a.ob&24576)>>13}else a.load=ic,a.Xk=mc,a.Ic=oc,a.Zb=qc,a.oc=65535,a.bb=a.nc=0,a.Ad=-4}
function Dc(a){this.Ka=a.model||8088;var b=0;switch(this.Ka){default:case 8088:b=4772727;break;case 80286:b=6E6}Nb.call(this,a,b);this.kk=61442;this.Sg=1792;this.Rg=4;this.If=255;this.B=80286<=this.Ka?Ec:Fc;this.Za=Gc.slice();this.Cm=Hc.slice();this.Dm=Ic.slice();this.nk=Jc;80186<=this.Ka&&(this.If=31,this.Za[15]=Nc,this.Za[96]=Oc,this.Za[97]=Pc,this.Za[98]=Qc,this.Za[99]=Nc,this.Za[100]=Nc,this.Za[101]=Nc,this.Za[102]=Nc,this.Za[103]=Nc,this.Za[104]=Sc,this.Za[105]=Tc,this.Za[106]=Uc,this.Za[107]=
Vc,this.Za[108]=Wc,this.Za[109]=Xc,this.Za[110]=Yc,this.Za[111]=Zc,this.Za[192]=$c,this.Za[193]=ad,this.Za[200]=bd,this.Za[201]=cd,this.Za[241]=dd,this.Cm[7]=ed,this.Dm[7]=ed,80286<=this.Ka&&(this.kk=2,this.Sg|=28672,this.Rg=0,this.Za[15]=fd,this.Za[99]=gd,this.Za[84]=hd));this.Ug=[];this.Vg=[];this.Uc=this.mh=0;this.na.jg=this.na.Gk=!1;this.Ha=[];this.De=this.Eb=this.qb=this.He=0;this.U=this.Wm;this.V=this.Xm;this.O=this.bo;this.P=this.co;this.R=this.zp;this.S=this.Ap;id(this)}Wa(Nb,Dc);
var Fc={Rj:4,ca:5,Aa:6,ha:7,ia:8,Q:9,W:11,X:12,Ve:4,dl:60,el:83,ac:3,Fb:9,pc:16,Oh:1,il:19,kl:28,ml:16,ll:21,jl:37,gl:2,kj:9,hl:5,fl:33,mj:10,lj:8,yg:3,xg:15,Al:51,Bl:1,Cl:2,Dl:4,zl:32,nj:15,Fl:15,bc:16,cc:4,Hl:11,Gl:18,El:24,Ob:4,Il:2,oj:16,Jl:17,tj:18,Kl:19,sj:5,uj:6,Pl:2,Ol:8,Ml:9,Nl:10,Ll:10,vj:10,wj:10,ol:80,ql:144,nl:86,pl:154,sl:101,ul:165,rl:107,tl:171,Rl:70,Tl:113,Ql:76,Sl:124,wl:80,yl:128,vl:86,xl:134,Ag:3,zg:16,Bj:10,Aj:8,Ul:51,qc:8,Vl:17,Wl:36,wc:11,Xl:16,Bg:10,qe:2,hj:18,ij:7,jj:15,pj:12,
qj:7,rj:11,xj:18,yj:7,zj:15,Cj:15,Dj:7,Ej:13,Ij:11,Jj:7,Kj:8,Yl:8,am:12,Zl:18,$l:17,bm:15,Gj:8,Fj:20,Hj:2,Nj:3,Cg:9,Mj:5,Lj:11,Pj:4,Oj:17,cm:11},Ec={Rj:0,ca:0,Aa:0,ha:0,ia:0,Q:0,W:1,X:1,Ve:3,dl:14,el:16,ac:2,Fb:7,pc:7,Oh:0,il:7,kl:13,ml:7,ll:11,jl:16,gl:3,kj:6,hl:2,fl:13,mj:5,lj:5,yg:2,xg:7,Al:23,Bl:0,Cl:1,Dl:3,zl:17,nj:7,Fl:11,bc:7,cc:3,Hl:7,Gl:11,El:15,Ob:2,Il:3,oj:7,Jl:8,tj:8,Kl:8,sj:4,uj:4,Pl:2,Ol:3,Ml:5,Nl:2,Ll:3,vj:5,wj:3,ol:14,ql:22,nl:17,pl:25,sl:17,ul:25,rl:20,tl:28,Rl:13,Tl:21,Ql:16,Sl:24,
wl:13,yl:21,vl:16,xl:24,Ag:2,zg:7,Bj:5,Aj:5,Ul:19,qc:5,Vl:5,Wl:17,wc:3,Xl:5,Bg:3,qe:0,hj:8,ij:5,jj:9,pj:5,qj:5,rj:4,xj:5,yj:5,zj:4,Cj:7,Dj:5,Ej:8,Ij:3,Jj:4,Kj:3,Yl:11,am:11,Zl:15,$l:15,bm:7,Gj:5,Fj:8,Hj:0,Nj:2,Cg:6,Mj:3,Lj:6,Pj:3,Oj:5,cm:5};k=Dc.prototype;k.Vi=function(a,b,c,d,e){this.Ha=a;this.De=b;this.Eb=c;this.qb=d;this.He=e};k.reset=function(){this.na.mb&&this.Ib();id(this);Qb(this);this.na.fd=!1};
function id(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.fc=65520;a.Qc=0;a.Ce=1023;a.Ff=0;a.Nh=-1;a.va=new fc(a,gc,"CS");a.fb=new fc(a,2,"DS");a.La=new fc(a,2,"ES");a.Ya=new fc(a,3,"SS");a.rm=new fc(a,0,"NULL");Bc(a,0,65535);80286<=a.Ka&&(a.Ec=0,a.Be=65535,a.Xc=new fc(a,5,"LDT",!0),a.gb=new fc(a,4,"TSS",!0),a.Tb=new fc(a,6,"VER",!0),Bc(a,65520,61440),a.va.Ga=16711680);Ac(a,0);jd(a);a.zb=0;a.Pb=a.Jg=-1;a.eh=0;a.ja=a.Pa=-4;a.D=a.fb;a.N=a.Ya;a.ba=a.Da=0}
k.Qk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.wa+this.va.ta+this.fb.ta+this.Ya.ta+this.La.ta+zc(this)|0};function kd(a,b,c,d){void 0!==d&&(void 0===a.Ug[b]&&(a.Ug[b]=[]),a.Ug[b].push([c,d]))}function ld(a,b){var c=a.Ug[b];if(void 0!==c)for(var d=0;d<c.length;d++)if(!c[d][1].call(c[d][0],a.Ea))return!1;a.na.Gk&&a.ua(md)&&nd(a.ka,b,a.Ea)&&od(a,a.Ea,function(a,c){return function(d){pd(a.ka,b,d,D(a)-c)}}(a,D(a)));return!0}
function od(a,b,c){void 0!==c&&(null==a.Vg[b]&&a.mh++,a.Vg[b]=c)}function qd(a,b){var c=a.Vg[b];null!=c&&(c(--a.mh),delete a.Vg[b])}function jd(a,b){void 0===b&&(b=!!(a.fc&1));b||a.cb("returning to real-mode");a.nk=b?rd:Jc;hc(a.va,b);hc(a.fb,b);hc(a.Ya,b);hc(a.La,b)}
k.save=function(){var a=new sd(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.Ff]);a.set(1,[this.wa,this.va.save(),this.fb.save(),this.Ya.save(),this.La.save(),null!=this.Ec?[this.fc,this.Ec,this.Be,this.Qc,this.Ce,this.Xc.save(),this.gb.save(),this.Ff]:null,zc(this)]);a.set(2,[this.D.Lg,this.N.Lg,this.ba,this.Da,this.zb,this.ja,this.Pa]);a.set(3,[0,this.Xe,this.da.Nd]);a.set(4,vb(this.sa));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Ff=b[8]||0;b=a[1];this.va.restore(b[1]);this.fb.restore(b[2]);this.Ya.restore(b[3]);this.La.restore(b[4]);var c=b[5];c&&c.length&&(this.fc=c[0],this.Ec=c[1],this.Be=c[2],this.Qc=c[3],this.Ce=c[4],this.Xc.restore(c[5]),this.gb.restore(c[6]),this.Ff=c[7],jd(this));Ac(this,b[6]);H(this,b[0]);b=a[2];this.D=td(this,b[0]);this.N=td(this,b[1]);this.ba=b[2];this.Da=b[3];
this.zb=b[4];this.ja=b[5];this.Pa=b[6];b=a[3];this.Xe=b[1];Yb(this,b[2]);a:{b=this.sa;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.xk){for(var f=0,g=Array(b.xk),h=0;h<e.length-1;)for(var n=e[h++],m=e[h++];n--;)g[f++]=m;e=g}f=b.Ha[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&nb(b,a[c]);b=!0}return b};
function td(a,b){switch(b){case "CS":return a.va;case "DS":return a.fb;case "SS":return a.Ya;case "ES":return a.La;case "NULL":return a.rm;default:return[0,b,0,0,""]}}function ud(a,b){a.Ea=a.va.load(b)+a.wa;a.ba|=a.Rg}function vd(a,b){a.fb.load(b);a.ba|=a.Rg}function wd(a,b){a.Ya.load(b);a.ba|=4}function xd(a,b){a.La.load(b);a.ba|=a.Rg}function H(a,b){a.Ea=a.va.Ga+(a.wa=b&65535)}function Bc(a,b,c,d){a.va.Fi=d;a.wa=b;b=a.va.load(c);return-4!=b?(a.Ea=b+a.wa,a.va.Ch):null}
function yd(a,b){a.Ea=a.va.Ga+(a.wa=a.wa+b&65535)}function zd(a){return a.aa&a.ea?1:0}function Ad(a){return ec[a.la&255]?4:0}function Bd(a){return(a.la^a.qa)&16?16:0}function Cd(a){return a.aa&a.ea-1?0:64}function Dd(a){return a.la&a.ea>>1?128:0}function Ed(a){return(a.la^a.qa^a.la>>1)&a.ea>>1?2048:0}function Fd(a){a.aa&=~a.ea}function Gd(a){a.qa=a.la&16|a.qa&-17}function Hd(a){a.aa|=a.ea-1}function Id(a){Dd(a)&&(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}
function Jd(a){a.la&=~a.ea;a.qa=a.la&32896|a.qa&-32897}function Kd(a){a.aa|=a.ea}function Ld(a){a.qa=~(a.la&16)&16|a.qa&-17}function Md(a){a.aa&=~(a.ea-1)}function Nd(a){Dd(a)||(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}function Od(a){a.la|=a.ea;a.qa=a.la&32896|a.qa&-32897}function zc(a){return a.Ba&-2262|zd(a)|Ad(a)|Bd(a)|Cd(a)|Dd(a)|Ed(a)}
function Ac(a,b,c){a.ea=256;a.aa=a.la=a.qa=0;b&1&&Kd(a);b&4||(a.la|=1);b&16&&(a.qa|=16);b&64||Hd(a);b&128&&Nd(a);b&2048&&Od(a);a.fc&1||(b&=-61441);void 0===c&&(c=a.ua.cb);c?b=b&-12289|a.Ba&12288:a.Gf=(b&12288)>>12;c>a.Gf&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&~a.Sg|b&a.Sg|a.jk;a.Ba&256&&(a.zb|=2,a.ba|=4)}
k.Ib=function(a,b,c){var d=!1;switch(b){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 "V":this.xa[b]=c;d=!0;break;default:d=Nb.prototype.Ib.call(this,a,b,c)}return d};k.yb=function(a){return this.Ha[(a&this.De)>>this.Eb].yc(a&this.ob)};
k.ra=function(a){var b=a&this.ob;a=(a&this.De)>>this.Eb;this.A-=this.B.Qj;return b!=this.ob?this.Ha[a].hm(b):this.Ha[a++].yc(b)|this.Ha[a&this.He].yc(0)<<8};k.Sd=function(a,b){this.Ha[(a&this.De)>>this.Eb].Mc(a&this.ob,b&255)};k.Ta=function(a,b){var c=a&this.ob,d=(a&this.De)>>this.Eb;this.A-=this.B.Qj;c!=this.ob?this.Ha[d].um(c,b&65535):(this.Ha[d++].Mc(c,b&255),this.Ha[d&this.He].Mc(0,b>>8&255))};k.Vm=function(a,b){this.Ng=a;this.ja=a.Ic(this.Fg=b,0);return this.ba&1?0:this.yb(this.ja)};
k.Wm=function(a,b){this.Ng=a;this.ja=a.Ic(this.Fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.ao=function(a,b){this.Ng=a;this.Pa=this.ja=a.Ic(this.Fg=b,0);return this.ba&1?0:this.yb(this.ja)};k.bo=function(a,b){this.Ng=a;this.Pa=this.ja=a.Ic(this.Fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.yp=function(a){this.ba&2||this.Sd(this.Ng.Zb(this.Fg,0),a)};k.zp=function(a){this.ba&2||this.Ta(this.Ng.Zb(this.Fg,1),a)};k.fa=function(){var a=this.yb(this.Ea);this.Ea=this.ua.Ga+(this.wa=this.wa+1&65535);return a};
k.M=function(){var a=this.yb(this.Ea)<<24>>24;this.Ea=this.ua.Ga+(this.wa=this.wa+1&65535);return a&65535};k.L=function(){var a=this.ra(this.Ea);this.Ea=this.ua.Ga+(this.wa=this.wa+2&65535);return a};k.Oa=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ra(this.Za.Ic(a,1))};function G(a,b){var c=a.Y=a.Y-2&65535;a.Ta(a.Za.Zb(c,1),b)}
k.qh=function(a){if(a||!this.na.Fb||this.na.Hk)F(this,"AX",this.H),F(this,"BX",this.C),F(this,"CX",this.J),F(this,"DX",this.K),F(this,"SP",this.Y),F(this,"BP",this.I),F(this,"SI",this.G),F(this,"DI",this.F),F(this,"CS",this.ua.ta),F(this,"DS",this.fb.ta),F(this,"SS",this.Za.ta),F(this,"ES",this.La.ta),F(this,"IP",this.wa),a=zc(this),F(this,"PS",a),F(this,"C",a&1?1:0,1),F(this,"P",a&4?1:0,1),F(this,"A",a&16?1:0,1),F(this,"Z",a&64?1:0,1),F(this,"S",a&128?1:0,1),F(this,"T",a&256?1:0,1),F(this,"I",a&
512?1:0,1),F(this,"D",a&1024?1:0,1),F(this,"V",a&2048?1:0,1);if(a=this.xa.speed)a.textContent=this.na.Fb&&this.da.ud?this.da.ud.toFixed(2)+"Mhz":"Stopped"};
k.Nf=function(a){this.na.jg=!0;var b=this.na.Fk=this.ka&&Pd(this.ka),c=this.na.Mi||!a;this.na.Mi=!1;this.Uc=this.A=a;this.pa&&!a&&cc(this.pa);a||this.va(Sd)||(this.ba|=4);do{var d=this.ba&240;if(d)this.Da|=d;else if(this.Gg=this.Ea,this.ja=this.Pa=-4,this.D=this.fb,this.N=this.Za,this.Da=this.ba&256,this.zb){a:{if(!(this.ba&4))if(this.zb&1&&this.Ba&512){if(d=Td(this.pa),-1<=d&&(this.zb&=-2,0<=d)){this.zb&=-5;Ud.call(this,d,null,11);d=!0;break a}}else if(this.zb&2){this.zb&=-3;Ud.call(this,1,null,
11);d=!0;break a}if(d=this.zb&8){for(var d=this.pa,e=!1,f=0;f<d.sb;f++)for(var g=d.sb[f],h=0;h<g.Rb.length;h++){var n=g.Rb[h];n.Od||(Vd(d,n),n.Od||(e=!0))}d=!e}d&&(this.zb&=-9);d=!1}if(d&&!a){this.Z("interrupt dispatched");this.ba=0;break}if(this.zb&4){this.ba=this.A=0;break}}if(b){if(Wd(this.ka,this.Ea,c)){this.Jb();break}c=!1}this.ba=0;this.$a[this.fa()].call(this)}while(0<this.A);return this.na.jg?this.Uc-this.A:void 0===this.na.jg?0:-1};
Ka(function(){for(var a=A(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Dc(d);bb(d,c)}});function Xd(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=a+b)&255}function Yd(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a|b)&255}
function Zd(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return this.aa&255}function $d(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return this.aa&255}function ae(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a&b)&255}
function be(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=a-b)&255}function ce(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a^b)&255}function de(a,b){this.qa=a^b;this.ea=256;this.aa=this.la=a-b;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.jj:this.B.Gb;this.ba|=2;return a}
function ee(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=a+b)&65535}function fe(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a|b)&65535}function ge(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return this.aa&65535}
function he(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return this.aa&65535}function ie(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a&b)&65535}function je(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=a-b)&65535}
function ke(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a^b)&65535}function le(a,b){this.qa=a^b;this.ea=65536;this.aa=this.la=a-b;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.jj:this.B.Gb;this.ba|=2;return a}function me(a,b){this.aa=this.aa&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Od(this):Jd(this)}function ne(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;me.call(this,d,256)}return c}
function Ac(a,b,c){a.ea=256;a.aa=a.la=a.qa=0;b&1&&Kd(a);b&4||(a.la|=1);b&16&&(a.qa|=16);b&64||Hd(a);b&128&&Nd(a);b&2048&&Od(a);a.fc&1||(b&=-61441);void 0===c&&(c=a.va.bb);c?b=b&-12289|a.Ba&12288:a.Ff=(b&12288)>>12;c>a.Ff&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&~a.Sg|b&a.Sg|a.kk;a.Ba&256&&(a.zb|=2,a.ba|=4)}
k.Hb=function(a,b,c){var d=!1;switch(b){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 "V":this.xa[b]=c;d=!0;break;default:d=Nb.prototype.Hb.call(this,a,b,c)}return d};k.yb=function(a){return this.Ha[(a&this.De)>>this.Eb].yc(a&this.qb)};
k.ra=function(a){var b=a&this.qb;a=(a&this.De)>>this.Eb;this.A-=this.B.Rj;return b!=this.qb?this.Ha[a].hm(b):this.Ha[a++].yc(b)|this.Ha[a&this.He].yc(0)<<8};k.Qd=function(a,b){this.Ha[(a&this.De)>>this.Eb].Mc(a&this.qb,b&255)};k.Ua=function(a,b){var c=a&this.qb,d=(a&this.De)>>this.Eb;this.A-=this.B.Rj;c!=this.qb?this.Ha[d].vm(c,b&65535):(this.Ha[d++].Mc(c,b&255),this.Ha[d&this.He].Mc(0,b>>8&255))};k.Wm=function(a,b){this.Ng=a;this.ja=a.Ic(this.Fg=b,0);return this.ba&1?0:this.yb(this.ja)};
k.Xm=function(a,b){this.Ng=a;this.ja=a.Ic(this.Fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.bo=function(a,b){this.Ng=a;this.Pa=this.ja=a.Ic(this.Fg=b,0);return this.ba&1?0:this.yb(this.ja)};k.co=function(a,b){this.Ng=a;this.Pa=this.ja=a.Ic(this.Fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.zp=function(a){this.ba&2||this.Qd(this.Ng.Zb(this.Fg,0),a)};k.Ap=function(a){this.ba&2||this.Ua(this.Ng.Zb(this.Fg,1),a)};k.fa=function(){var a=this.yb(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a};
k.M=function(){var a=this.yb(this.Ea)<<24>>24;this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a&65535};k.L=function(){var a=this.ra(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+2&65535);return a};k.Oa=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ra(this.Ya.Ic(a,1))};function G(a,b){var c=a.Y=a.Y-2&65535;a.Ua(a.Ya.Zb(c,1),b)}
k.qh=function(a){if(a||!this.na.mb||this.na.Ik)F(this,"AX",this.H),F(this,"BX",this.C),F(this,"CX",this.J),F(this,"DX",this.K),F(this,"SP",this.Y),F(this,"BP",this.I),F(this,"SI",this.G),F(this,"DI",this.F),F(this,"CS",this.va.ta),F(this,"DS",this.fb.ta),F(this,"SS",this.Ya.ta),F(this,"ES",this.La.ta),F(this,"IP",this.wa),a=zc(this),F(this,"PS",a),F(this,"C",a&1?1:0,1),F(this,"P",a&4?1:0,1),F(this,"A",a&16?1:0,1),F(this,"Z",a&64?1:0,1),F(this,"S",a&128?1:0,1),F(this,"T",a&256?1:0,1),F(this,"I",a&
512?1:0,1),F(this,"D",a&1024?1:0,1),F(this,"V",a&2048?1:0,1);if(a=this.xa.speed)a.textContent=this.na.mb&&this.da.ne?this.da.ne.toFixed(2)+"Mhz":"Stopped"};
k.Nf=function(a){this.na.jg=!0;var b=this.na.Gk=this.ka&&Pd(this.ka),c=this.na.Mi||!a;this.na.Mi=!1;this.Uc=this.A=a;this.oa&&!a&&cc(this.oa);a||this.ua(Qd)||(this.ba|=4);do{var d=this.ba&240;if(d)this.Da|=d;else if(this.Gg=this.Ea,this.ja=this.Pa=-4,this.D=this.fb,this.N=this.Ya,this.Da=this.ba&256,this.zb){a:{if(!(this.ba&4))if(this.zb&1&&this.Ba&512){if(d=Rd(this.oa),-1<=d&&(this.zb&=-2,0<=d)){this.zb&=-5;Ud.call(this,d,null,11);d=!0;break a}}else if(this.zb&2){this.zb&=-3;Ud.call(this,1,null,
11);d=!0;break a}if(d=this.zb&8){for(var d=this.oa,e=!1,f=0;f<d.tb;f++)for(var g=d.tb[f],h=0;h<g.Qb.length;h++){var n=g.Qb[h];n.Md||(Vd(d,n),n.Md||(e=!0))}d=!e}d&&(this.zb&=-9);d=!1}if(d&&!a){this.Z("interrupt dispatched");this.ba=0;break}if(this.zb&4){this.ba=this.A=0;break}}if(b){if(Wd(this.ka,this.Ea,c)){this.Ib();break}c=!1}this.ba=0;this.Za[this.fa()].call(this)}while(0<this.A);return this.na.jg?this.Uc-this.A:void 0===this.na.jg?0:-1};
Ja(function(){for(var a=z(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Dc(d);bb(d,c)}});function Xd(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=a+b)&255}function Yd(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a|b)&255}
function Zd(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return this.aa&255}function $d(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return this.aa&255}function ae(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a&b)&255}
function be(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=a-b)&255}function ce(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a^b)&255}function de(a,b){this.qa=a^b;this.ea=256;this.aa=this.la=a-b;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.kj:this.B.Fb;this.ba|=2;return a}
function ee(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=a+b)&65535}function fe(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a|b)&65535}function ge(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return this.aa&65535}
function he(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return this.aa&65535}function ie(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a&b)&65535}function je(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=a-b)&65535}
function ke(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a^b)&65535}function le(a,b){this.qa=a^b;this.ea=65536;this.aa=this.la=a-b;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.kj:this.B.Fb;this.ba|=2;return a}function me(a,b){this.aa=this.aa&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Od(this):Jd(this)}function ne(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;me.call(this,d,256)}return c}
function oe(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;me.call(this,d,65536)}return c}function pe(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);me.call(this,d,256)}return c}function qe(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);me.call(this,d,65536)}return c}
function re(a,b){var c=a;if(b){var d;(d=(b&this.If)%9)?(d=a<<d|(this.aa&this.ea?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.aa&this.ea?1:0)<<8;me.call(this,d,256)}return c}function se(a,b){var c=a;if(b){var d;(d=(b&this.If)%17)?(d=a<<d|(this.aa&this.ea?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.aa&this.ea?1:0)<<16;me.call(this,d,65536)}return c}function te(a,b){var c=a;b&&(c=(b&this.If)%9,c=a>>c|(this.aa&this.ea?1:0)<<8-c|a<<9-c,me.call(this,c,256),c&=255);return c}
function ue(a,b){var c=a;b&&(c=(b&this.If)%17,c=a>>c|(this.aa&this.ea?1:0)<<16-c|a<<17-c,me.call(this,c,65536),c&=65535);return c}function ve(a,b){var c=a;b&&(c=8<b?this.aa=this.la=0:(this.aa=this.la=a<<b)&255,this.qa=0,this.ea=256);return c}function we(a,b){var c=a;b&&(c=16<b?this.aa=this.la=0:(this.aa=this.la=a<<b)&65535,this.qa=0,this.ea=65536);return c}
function xe(a,b){if(b){var c=8<b?0:a>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255}function ye(a,b){if(b){var c=16<b?0:a>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function ze(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255}
function Ae(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function Be(){this.A-=0>this.ja?2:this.B.am;return 1}function Ce(){var a=this.J&this.If;this.A-=(0>this.ja?this.B.Fj:this.B.Ej)+(a<<this.B.Gj);return a}function De(){var a=this.fa();this.A-=(0>this.ja?this.B.Fj:this.B.Ej)+(a<<this.B.Gj);return a}function Ee(){return null}function Fe(a){lc.call(this,13,0);return a}
function ed(a){Nc.call(this);return a}function I(a){J.call(this);return a}
var Ge=[Xd,Yd,Zd,$d,ae,be,ce,de],He=[ee,fe,ge,he,ie,je,ke,le],Ie=[function(a,b){this.A-=0>this.Pa?this.B.qc:this.B.Ul;return b},Fe,Fe,Fe,Fe,Fe,Fe,Fe],Je=[function(a,b){this.A-=0>this.Pa?this.B.Ml:this.B.Kl;return b},I,I,I,I,I,I,I],Ke=[ne,pe,re,te,ve,xe,I,ze],Le=[oe,qe,se,ue,we,ye,I,Ae],Ne=[function(a,b){b=this.fa();this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.ja?this.B.Lj:this.B.Kj;this.ba|=2;return a},I,function(a){this.A-=0>this.ja?this.B.Ag:this.B.zg;return a^255},function(a,b){b=0;this.qa=
a^b;this.ea=256;this.A-=0>this.ja?this.B.Ag:this.B.zg;return(this.aa=this.la=b-a)&255},function(a){this.H=this.Qb=(this.aa=(this.H&255)*a)&65535;this.qa=this.la=this.aa;this.ea=256;this.H&65280?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.Ql:this.B.Pl;this.ba|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Qb=b&65535;this.aa=this.qa=this.la=b;this.ea=256;127<b||-128>b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.vl:this.B.ul;this.ba|=
2;return a},function(a){if(!a)return Me.call(this),a;var b=this.H/a;if(255<b)return Me.call(this),a;this.Qb=this.H=b&255|(this.H%a&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.nl:this.B.ml;this.ba|=2;return a},function(a){if(!a)return Me.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Me.call(this),a;this.Qb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.rl:this.B.ql;this.ba|=
2;return a}],Oe=[function(a,b){b=this.L();this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Lj:this.B.Kj;this.ba|=2;return a},I,function(a){this.A-=0>this.ja?this.B.Ag:this.B.zg;return a^65535},function(a,b){b=0;this.qa=a^b;this.ea=65536;this.A-=0>this.ja?this.B.Ag:this.B.zg;return(this.aa=this.la=b-a)&65535},function(a){this.Qb=this.H=(this.aa=this.H*a)&65535;this.Jg=this.K=this.aa>>16&65535;this.qa=this.la=this.aa;this.ea=65536;this.K?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=
0>this.ja?this.B.Sl:this.B.Rl;this.ba|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Qb=b&65535;this.K=this.Jg=b>>16&65535;this.aa=this.qa=this.la=b;this.ea=65536;32767<b||-32768>b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.xl:this.B.wl;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Me.call(this),a;this.Qb=this.H=c&65535;this.Jg=this.K=b%a&65535;this.la=this.qa=this.aa=c|
65536;this.ea=65536;this.A-=0>this.ja?this.B.pl:this.B.ol;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Me.call(this),a;this.Qb=this.H=d&65535;this.Jg=this.K=b%c&65535;this.la=this.qa=this.aa=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.tl:this.B.sl;this.ba|=2;return a}],Kc=[function(a){this.qa=a;a=(this.la=a+1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.yg:
this.B.xg;return a},function(a){this.qa=a;a=(this.la=a-1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},I,I,I,I,I,I],Lc=[function(a){this.qa=a;a=(this.la=a+1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},function(a){this.qa=a;a=(this.la=a-1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},function(a){G(this,this.wa);H(this,a);this.A-=
0>this.ja?this.B.ll:this.B.kl;this.ba|=2;return a},function(a){if(0>this.ja)return I.call(this,a);Pe.call(this,a,this.ra(this.ja+2));this.A-=this.B.il;this.ba|=2;return a},function(a){H(this,a);this.A-=0>this.ja?this.B.Gl:this.B.Fl;this.ba|=2;return a},function(a){if(0>this.ja)return I.call(this,a);Bc(this,a,this.ra(this.ja+2));this.A-=this.B.Dl;this.ba|=2;return a},function(a){var b=a;this.ba&512&&(a=a-2&65535,80286>this.Ka&&(b=a));G(this,b);this.A-=0>this.ja?this.B.wc:this.B.Wl;this.ba|=2;return a},
Fe],Qe=[ne,pe,re,te,ve,xe,I,ze],Re=[oe,qe,se,ue,we,ye,I,Ae];function Se(a,b){this.A-=0>this.Pa?0>this.ja?this.B.Ol:this.B.Nl:this.B.Ll;return b}function Te(){return Se.call(this,0,this.Qb)}function Ue(a,b){this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.Mj:this.B.Cg:this.B.Cg;this.ba|=2;return a}function Ve(a,b){this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.Mj:this.B.Cg:this.B.Cg;this.ba|=2;return a}
function We(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.aa=this.qa=this.la=c;this.ea=256;32767<c||-32768>c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Xe(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.aa=this.qa=this.la=c;this.ea=65536;32767<c||-32768>c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Ye(a){return a}function Ze(a){if(0>this.ja)return J.call(this),a;this.A-=this.B.Hl;return this.ja}
function $e(a,b){if(0>this.ja)return J.call(this),a;vd(this,this.ra(this.ja+2));this.A-=this.B.nj;return b}function af(a,b){if(0>this.ja)return J.call(this),a;xd(this,this.ra(this.ja+2));this.A-=this.B.nj;return b}function bf(a){if(0>this.ja)return Nc.call(this),a;var b=a<<16>>16,c=this.ra(this.ja)<<16>>16,d=this.ra(this.ja+2)<<16>>16;this.A-=this.B.el;if(b<c||b>d)H(this,this.Gg-this.ua.Ga),Ud.call(this,5,null,0);this.ba|=2;return a}
function cf(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Md(this),a;Hd(this);return a}function df(a,b){this.A-=14+(0>this.ja?0:2);if(-4!=this.Ub.load(b,!0)&&this.Ub.nc>=this.ua.cb&&this.Ub.nc>=(b&3))return Md(this),this.Ub.nb&65280;Hd(this);return a}function hf(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&-4!=this.Ub.load(b,!0)&&(7168==(this.Ub.nb&7168)||this.Ub.nc>=this.ua.cb)&&this.Ub.nc>=(b&3))return Md(this),this.Ub.oc;Hd(this);return a}
function jf(a,b){if(0>this.ja){switch(this.eh&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Oj}else this.Pa=this.ja,this.R(a),this.A-=this.B.Nj;return b}
function kf(a,b){if(0>this.ja){switch(this.eh&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Oj}else this.Pa=this.ja,this.S(a),this.A-=this.B.Nj;return b}function lf(a){a|=this.fc&1;this.fc=this.fc&65520|a&-65521;this.fc&1&&jd(this,!0)}function Pe(a,b){var c=this.ua.ta,d=this.wa;null!=Bc(this,a,b,!0)&&(G(this,c),G(this,d))}
function mf(a){var b=this.Oa(),c=this.Oa();a&&(this.Y=this.Y+a&65535);Bc(this,b,c,!1)&&(a&&(this.Y=this.Y+a&65535),this.fb.ta&65528&&this.fb.nc<this.ua.cb&&7168!=(this.fb.nb&7168)&&this.fb.load(0),this.La.ta&65528&&this.La.nc<this.ua.cb&&7168!=(this.La.nb&7168)&&this.La.load(0));2==a&&this.mh&&qd(this,this.Ea)}
function Ud(a,b,c){this.A-=this.B.zl+c;this.ua.Fi=!0;c=zc(this);var d=this.ua.ta,e=this.wa;a=this.ua.Wk(a);-4!=a&&(this.Ea=a+this.wa,G(this,c),G(this,d),G(this,e),null!=b&&G(this,b),this.Mh=-1)}function Me(){H(this,this.Gg-this.ua.Ga);Ud.call(this,0,null,2)}
function lc(a,b,c){if(this.na.jg){var d=!1;if(80186<=this.Ka)if(0>this.Mh)H(this,this.Gg-this.ua.Ga),d=!0;else if(8!=this.Mh)b=0,a=8,d=!0;else{nf.call(this,-1,0,c);id(this);return}nf.call(this,a,b,c)&&(d=!1);d&&Ud.call(this,this.Mh=a,b,0);this.ba&=-4}else this.qb("Fault "+q(a)+" blocked by Debugger",of),H(this,this.Gg-this.ua.Ga)}
function nf(a,b,c){var d=pf,e=rb(this.sa,this.Ea);204==e&&(c=!1,d|=Ob);983040<=this.Ea&&1048575>=this.Ea&&(c=!1);this.va(d|qf)&&(c=!0);if(this.va(d)||c)a=(c?"\n":"")+"Fault "+q(a)+(null!=b?" ("+v(b)+")":"")+" on opcode 0x"+q(e)+" at "+fa(this.wa,this.ua.ta)+" (%"+p(this.Ea,6)+")",b=this.na.Fb,this.qb(a,d)?c&&(c=b,this.ka.Jb()):(this.Ia(a),this.Jb());return c}function rf(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}
function Ae(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function Be(){this.A-=0>this.ja?2:this.B.bm;return 1}function Ce(){var a=this.J&this.If;this.A-=(0>this.ja?this.B.Gj:this.B.Fj)+(a<<this.B.Hj);return a}function De(){var a=this.fa();this.A-=(0>this.ja?this.B.Gj:this.B.Fj)+(a<<this.B.Hj);return a}function Ee(){return null}function Fe(a){lc.call(this,13,0);return a}
function ed(a){Nc.call(this);return a}function J(a){K.call(this);return a}
var Ge=[Xd,Yd,Zd,$d,ae,be,ce,de],He=[ee,fe,ge,he,ie,je,ke,le],Ie=[function(a,b){this.A-=0>this.Pa?this.B.qc:this.B.Vl;return b},Fe,Fe,Fe,Fe,Fe,Fe,Fe],Je=[function(a,b){this.A-=0>this.Pa?this.B.Nl:this.B.Ll;return b},J,J,J,J,J,J,J],Ke=[ne,pe,re,te,ve,xe,J,ze],Le=[oe,qe,se,ue,we,ye,J,Ae],Ne=[function(a,b){b=this.fa();this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.ja?this.B.Mj:this.B.Lj;this.ba|=2;return a},J,function(a){this.A-=0>this.ja?this.B.Ag:this.B.zg;return a^255},function(a,b){b=0;this.qa=
a^b;this.ea=256;this.A-=0>this.ja?this.B.Ag:this.B.zg;return(this.aa=this.la=b-a)&255},function(a){this.H=this.Pb=(this.aa=(this.H&255)*a)&65535;this.qa=this.la=this.aa;this.ea=256;this.H&65280?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.Rl:this.B.Ql;this.ba|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Pb=b&65535;this.aa=this.qa=this.la=b;this.ea=256;127<b||-128>b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.wl:this.B.vl;this.ba|=
2;return a},function(a){if(!a)return Me.call(this),a;var b=this.H/a;if(255<b)return Me.call(this),a;this.Pb=this.H=b&255|(this.H%a&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.ol:this.B.nl;this.ba|=2;return a},function(a){if(!a)return Me.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Me.call(this),a;this.Pb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.sl:this.B.rl;this.ba|=
2;return a}],Oe=[function(a,b){b=this.L();this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Mj:this.B.Lj;this.ba|=2;return a},J,function(a){this.A-=0>this.ja?this.B.Ag:this.B.zg;return a^65535},function(a,b){b=0;this.qa=a^b;this.ea=65536;this.A-=0>this.ja?this.B.Ag:this.B.zg;return(this.aa=this.la=b-a)&65535},function(a){this.Pb=this.H=(this.aa=this.H*a)&65535;this.Jg=this.K=this.aa>>16&65535;this.qa=this.la=this.aa;this.ea=65536;this.K?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=
0>this.ja?this.B.Tl:this.B.Sl;this.ba|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Pb=b&65535;this.K=this.Jg=b>>16&65535;this.aa=this.qa=this.la=b;this.ea=65536;32767<b||-32768>b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.yl:this.B.xl;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Me.call(this),a;this.Pb=this.H=c&65535;this.Jg=this.K=b%a&65535;this.la=this.qa=this.aa=c|
65536;this.ea=65536;this.A-=0>this.ja?this.B.ql:this.B.pl;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Me.call(this),a;this.Pb=this.H=d&65535;this.Jg=this.K=b%c&65535;this.la=this.qa=this.aa=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.ul:this.B.tl;this.ba|=2;return a}],Hc=[function(a){this.qa=a;a=(this.la=a+1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.yg:
this.B.xg;return a},function(a){this.qa=a;a=(this.la=a-1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},J,J,J,J,J,J],Ic=[function(a){this.qa=a;a=(this.la=a+1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},function(a){this.qa=a;a=(this.la=a-1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},function(a){G(this,this.wa);H(this,a);this.A-=
0>this.ja?this.B.ml:this.B.ll;this.ba|=2;return a},function(a){if(0>this.ja)return J.call(this,a);Pe.call(this,a,this.ra(this.ja+2));this.A-=this.B.jl;this.ba|=2;return a},function(a){H(this,a);this.A-=0>this.ja?this.B.Hl:this.B.Gl;this.ba|=2;return a},function(a){if(0>this.ja)return J.call(this,a);Bc(this,a,this.ra(this.ja+2));this.A-=this.B.El;this.ba|=2;return a},function(a){var b=a;this.ba&512&&(a=a-2&65535,80286>this.Ka&&(b=a));G(this,b);this.A-=0>this.ja?this.B.wc:this.B.Xl;this.ba|=2;return a},
Fe],Qe=[ne,pe,re,te,ve,xe,J,ze],Re=[oe,qe,se,ue,we,ye,J,Ae];function Se(a,b){this.A-=0>this.Pa?0>this.ja?this.B.Pl:this.B.Ol:this.B.Ml;return b}function Te(){return Se.call(this,0,this.Pb)}function Ue(a,b){this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.Nj:this.B.Cg:this.B.Cg;this.ba|=2;return a}function Ve(a,b){this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.Nj:this.B.Cg:this.B.Cg;this.ba|=2;return a}
function We(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.aa=this.qa=this.la=c;this.ea=256;32767<c||-32768>c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Xe(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.aa=this.qa=this.la=c;this.ea=65536;32767<c||-32768>c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Ye(a){return a}function Ze(a){if(0>this.ja)return K.call(this),a;this.A-=this.B.Il;return this.ja}
function $e(a,b){if(0>this.ja)return K.call(this),a;vd(this,this.ra(this.ja+2));this.A-=this.B.oj;return b}function af(a,b){if(0>this.ja)return K.call(this),a;xd(this,this.ra(this.ja+2));this.A-=this.B.oj;return b}function bf(a){if(0>this.ja)return Nc.call(this),a;var b=a<<16>>16,c=this.ra(this.ja)<<16>>16,d=this.ra(this.ja+2)<<16>>16;this.A-=this.B.fl;if(b<c||b>d)H(this,this.Gg-this.va.Ga),Ud.call(this,5,null,0);this.ba|=2;return a}
function cf(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Md(this),a;Hd(this);return a}function df(a,b){this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(b,!0)&&this.Tb.nc>=this.va.bb&&this.Tb.nc>=(b&3))return Md(this),this.Tb.ob&65280;Hd(this);return a}function hf(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&-4!=this.Tb.load(b,!0)&&(7168==(this.Tb.ob&7168)||this.Tb.nc>=this.va.bb)&&this.Tb.nc>=(b&3))return Md(this),this.Tb.oc;Hd(this);return a}
function jf(a,b){if(0>this.ja){switch(this.eh&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Pj}else this.Pa=this.ja,this.R(a),this.A-=this.B.Oj;return b}
function kf(a,b){if(0>this.ja){switch(this.eh&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Pj}else this.Pa=this.ja,this.S(a),this.A-=this.B.Oj;return b}function lf(a){a|=this.fc&1;this.fc=this.fc&65520|a&-65521;this.fc&1&&jd(this,!0)}function Pe(a,b){var c=this.va.ta,d=this.wa;null!=Bc(this,a,b,!0)&&(G(this,c),G(this,d))}
function mf(a){var b=this.Oa(),c=this.Oa();a&&(this.Y=this.Y+a&65535);Bc(this,b,c,!1)&&(a&&(this.Y=this.Y+a&65535),this.fb.ta&65528&&this.fb.nc<this.va.bb&&7168!=(this.fb.ob&7168)&&this.fb.load(0),this.La.ta&65528&&this.La.nc<this.va.bb&&7168!=(this.La.ob&7168)&&this.La.load(0));2==a&&this.mh&&qd(this,this.Ea)}
function Ud(a,b,c){this.A-=this.B.Al+c;this.va.Fi=!0;c=zc(this);var d=this.va.ta,e=this.wa;a=this.va.Xk(a);-4!=a&&(this.Ea=a+this.wa,G(this,c),G(this,d),G(this,e),null!=b&&G(this,b),this.Nh=-1)}function Me(){H(this,this.Gg-this.va.Ga);Ud.call(this,0,null,2)}
function lc(a,b,c){if(this.na.jg){var d=!1;if(80186<=this.Ka)if(0>this.Nh)H(this,this.Gg-this.va.Ga),d=!0;else if(8!=this.Nh)b=0,a=8,d=!0;else{nf.call(this,-1,0,c);id(this);return}nf.call(this,a,b,c)&&(d=!1);d&&Ud.call(this,this.Nh=a,b,0);this.ba&=-4}else this.cb("Fault "+q(a)+" blocked by Debugger",of),H(this,this.Gg-this.va.Ga)}
function nf(a,b,c){var d=pf,e=rb(this.sa,this.Ea);204==e&&(c=!1,d|=Ob);983040<=this.Ea&&1048575>=this.Ea&&(c=!1);this.ua(d|qf)&&(c=!0);if(this.ua(d)||c)a=(c?"\n":"")+"Fault "+q(a)+(null!=b?" ("+s(b)+")":"")+" on opcode 0x"+q(e)+" at "+ea(this.wa,this.va.ta)+" (%"+p(this.Ea,6)+")",b=this.na.mb,this.cb(a,d)?c&&(c=b,this.ka.Ib()):(this.Ia(a),this.Ib());return c}function rf(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}
function sf(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function tf(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function uf(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function vf(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function wf(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function xf(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}
function yf(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function zf(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Af(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Bf(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function Cf(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function Df(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}
function Ef(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function Ff(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Gf(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Hf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function If(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Jf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}
@ -386,303 +387,306 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio
this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.Y=a[4].call(this,this.Y,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C=
a[5].call(this,this.C,b.call(this))},function(a,b){this.Y=a[5].call(this,this.Y,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},
function(a,b){this.ba|=512;this.Y=a[6].call(this,this.Y,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.Y=a[7].call(this,
this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function fd(){Sh[this.fa()].call(this)}function hd(){G(this,this.Y);this.A-=this.B.wc}function Pc(){var a=this.Y;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.Vl}
function Qc(){this.F=this.Oa();this.G=this.Oa();this.I=this.Oa();this.Y+=2;this.C=this.Oa();this.K=this.Oa();this.J=this.Oa();this.H=this.Oa();this.A-=this.B.Tl}function Rc(){L[this.fa()].call(this,bf)}function gd(){Oh[this.fa()].call(this,cf)}function Sc(){G(this,this.L());this.A-=this.B.wc}function Tc(){L[this.fa()].call(this,Xe)}function Uc(){G(this,this.fa());this.A-=this.B.wc}function Vc(){L[this.fa()].call(this,We)}
function Wc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=yb(this.sa,this.K,this.Ea-b-1);this.Sd(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}}
function Xc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ea-b-1,d=yb(this.sa,this.K,d)|yb(this.sa,this.K,d)<<8;this.Ta(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}}
this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function fd(){Sh[this.fa()].call(this)}function hd(){G(this,this.Y);this.A-=this.B.wc}function Oc(){var a=this.Y;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.Wl}
function Pc(){this.F=this.Oa();this.G=this.Oa();this.I=this.Oa();this.Y+=2;this.C=this.Oa();this.K=this.Oa();this.J=this.Oa();this.H=this.Oa();this.A-=this.B.Ul}function Qc(){L[this.fa()].call(this,bf)}function gd(){Oh[this.fa()].call(this,cf)}function Sc(){G(this,this.L());this.A-=this.B.wc}function Tc(){L[this.fa()].call(this,Xe)}function Uc(){G(this,this.fa());this.A-=this.B.wc}function Vc(){L[this.fa()].call(this,We)}
function Wc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=yb(this.sa,this.K,this.Ea-b-1);this.Qd(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}}
function Xc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ea-b-1,d=yb(this.sa,this.K,d)|yb(this.sa,this.K,d)<<8;this.Ua(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}}
function Yc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.yb(this.fb.Ic(this.G,0));this.G=this.G+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;Cb(this.sa,this.K,d,this.Ea-b-1);a&&(yd(this,-2),this.ba|=256)}}
function Zc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.ra(this.fb.Ic(this.G,1));this.G=this.G+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ea-b-1;Cb(this.sa,this.K,d&255,b);Cb(this.sa,this.K,d>>8,b);a&&(yd(this,-2),this.ba|=256)}}function Th(){var a=this.M();Ed(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Uh(){var a=this.M();Ed(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}
function Vh(){var a=this.M();zd(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Wh(){var a=this.M();zd(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}function Xh(){var a=this.M();Cd(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Yh(){var a=this.M();Cd(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}function Zh(){var a=this.M();zd(this)||Cd(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}
function $h(){var a=this.M();zd(this)||Cd(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}function ai(){var a=this.M();Dd(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function bi(){var a=this.M();Dd(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}function ci(){var a=this.M();Ad(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function di(){var a=this.M();Ad(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}
function ei(){var a=this.M();!Dd(this)!=!Ed(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function fi(){var a=this.M();!Dd(this)==!Ed(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function gi(){var a=this.M();Cd(this)||!Dd(this)!=!Ed(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function hi(){var a=this.M();Cd(this)||!Dd(this)!=!Ed(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}
function ii(){Qh[this.fa()].call(this,Ge,this.fa);this.A-=0>this.Pa?1:this.B.Nh}function $c(){Qh[this.fa()].call(this,Qe,De)}function ad(){Rh[this.fa()].call(this,Re,De)}function ji(){var a=this.L();H(this,this.Oa());this.Y=this.Y+a&65535;this.A-=this.B.$l}function ki(){H(this,this.Oa());this.A-=this.B.Xl}
function bd(){var a=this.L(),b=this.fa()&31;this.A-=11;G(this,this.I);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,G(this,this.ra(this.Za.Ic(this.I,1)));G(this,c)}this.I=c;this.Y=this.Y-a&65535}function cd(){this.Y=this.I;this.I=this.Oa();this.A-=5}function li(){mf.call(this,this.L());this.A-=this.B.Zl}function mi(){mf.call(this,0);this.A-=this.B.Yl}function ni(){L[this.fa()].call(this,Ye);this.A-=8}function oi(){this.ba|=36;this.A-=this.B.re}
function dd(){J.call(this)}function Nc(){lc.call(this,6);this.Jb()}function J(){H(this,this.Gg-this.ua.Ga);gb(this,"Undefined opcode 0x"+q(rb(this.sa,this.Ea))+" at "+fa(this.wa,this.ua.ta));this.Jb()}
function ii(){Qh[this.fa()].call(this,Ge,this.fa);this.A-=0>this.Pa?1:this.B.Oh}function $c(){Qh[this.fa()].call(this,Qe,De)}function ad(){Rh[this.fa()].call(this,Re,De)}function ji(){var a=this.L();H(this,this.Oa());this.Y=this.Y+a&65535;this.A-=this.B.am}function ki(){H(this,this.Oa());this.A-=this.B.Yl}
function bd(){var a=this.L(),b=this.fa()&31;this.A-=11;G(this,this.I);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,G(this,this.ra(this.Ya.Ic(this.I,1)));G(this,c)}this.I=c;this.Y=this.Y-a&65535}function cd(){this.Y=this.I;this.I=this.Oa();this.A-=5}function li(){mf.call(this,this.L());this.A-=this.B.$l}function mi(){mf.call(this,0);this.A-=this.B.Zl}function ni(){L[this.fa()].call(this,Ye);this.A-=8}function oi(){this.ba|=36;this.A-=this.B.qe}
function dd(){K.call(this)}function Nc(){lc.call(this,6);this.Ib()}function K(){H(this,this.Gg-this.va.Ga);gb(this,"Undefined opcode 0x"+q(rb(this.sa,this.Ea))+" at "+ea(this.wa,this.va.ta));this.Ib()}
var Gc=[function(){var a=this.fa();Nh[a].call(this,Xd)},function(){Oh[this.fa()].call(this,ee)},function(){Ph[this.fa()].call(this,Xd)},function(){L[this.fa()].call(this,ee)},function(){this.H=this.H&-256|Xd.call(this,this.H&255,this.fa());this.A--},function(){this.H=ee.call(this,this.H,this.L());this.A--},function(){G(this,this.La.ta);this.A-=this.B.Bg},function(){xd(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,Yd)},function(){Oh[this.fa()].call(this,fe)},function(){Ph[this.fa()].call(this,
Yd)},function(){L[this.fa()].call(this,fe)},function(){this.H=this.H&-256|Yd.call(this,this.H&255,this.fa());this.A--},function(){this.H=fe.call(this,this.H,this.L());this.A--},function(){G(this,this.ua.ta);this.A-=this.B.Bg},function(){ud(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,Zd)},function(){Oh[this.fa()].call(this,ge)},function(){Ph[this.fa()].call(this,Zd)},function(){L[this.fa()].call(this,ge)},function(){this.H=this.H&-256|Zd.call(this,this.H&255,this.fa());this.A--},
function(){this.H=ge.call(this,this.H,this.L());this.A--},function(){G(this,this.Za.ta);this.A-=this.B.Bg},function(){wd(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,$d)},function(){Oh[this.fa()].call(this,he)},function(){Ph[this.fa()].call(this,$d)},function(){L[this.fa()].call(this,he)},function(){this.H=this.H&-256|$d.call(this,this.H&255,this.fa());this.A--},function(){this.H=he.call(this,this.H,this.L());this.A--},function(){G(this,this.fb.ta);this.A-=this.B.Bg},function(){vd(this,
this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,ae)},function(){Oh[this.fa()].call(this,ie)},function(){Ph[this.fa()].call(this,ae)},function(){L[this.fa()].call(this,ie)},function(){this.H=this.H&-256|ae.call(this,this.H&255,this.fa());this.A--},function(){this.H=ie.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.La;this.A-=this.B.re},function(){var a=this.H&255,b=Bd(this),c=this.aa&this.ea;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.aa=this.la=a&255);this.ea=65536;c&&(this.aa|=this.ea);b?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,be)},function(){Oh[this.fa()].call(this,je)},function(){Ph[this.fa()].call(this,be)},function(){L[this.fa()].call(this,je)},function(){this.H=this.H&-256|be.call(this,this.H&255,this.fa());this.A--},function(){this.H=je.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.ua;this.A-=this.B.re},function(){var a=this.H&255,b=Bd(this),c=
Yd)},function(){L[this.fa()].call(this,fe)},function(){this.H=this.H&-256|Yd.call(this,this.H&255,this.fa());this.A--},function(){this.H=fe.call(this,this.H,this.L());this.A--},function(){G(this,this.va.ta);this.A-=this.B.Bg},function(){ud(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,Zd)},function(){Oh[this.fa()].call(this,ge)},function(){Ph[this.fa()].call(this,Zd)},function(){L[this.fa()].call(this,ge)},function(){this.H=this.H&-256|Zd.call(this,this.H&255,this.fa());this.A--},
function(){this.H=ge.call(this,this.H,this.L());this.A--},function(){G(this,this.Ya.ta);this.A-=this.B.Bg},function(){wd(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,$d)},function(){Oh[this.fa()].call(this,he)},function(){Ph[this.fa()].call(this,$d)},function(){L[this.fa()].call(this,he)},function(){this.H=this.H&-256|$d.call(this,this.H&255,this.fa());this.A--},function(){this.H=he.call(this,this.H,this.L());this.A--},function(){G(this,this.fb.ta);this.A-=this.B.Bg},function(){vd(this,
this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,ae)},function(){Oh[this.fa()].call(this,ie)},function(){Ph[this.fa()].call(this,ae)},function(){L[this.fa()].call(this,ie)},function(){this.H=this.H&-256|ae.call(this,this.H&255,this.fa());this.A--},function(){this.H=ie.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.La;this.A-=this.B.qe},function(){var a=this.H&255,b=Bd(this),c=this.aa&this.ea;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.aa=this.la=a&255);this.ea=65536;c&&(this.aa|=this.ea);b?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,be)},function(){Oh[this.fa()].call(this,je)},function(){Ph[this.fa()].call(this,be)},function(){L[this.fa()].call(this,je)},function(){this.H=this.H&-256|be.call(this,this.H&255,this.fa());this.A--},function(){this.H=je.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.va;this.A-=this.B.qe},function(){var a=this.H&255,b=Bd(this),c=
this.aa&this.ea;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.aa=this.la=a&255);this.ea=65536;c&&(this.aa|=this.ea);b?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,ce)},function(){Oh[this.fa()].call(this,ke)},function(){Ph[this.fa()].call(this,ce)},function(){L[this.fa()].call(this,ke)},function(){this.H=this.H&-256|ce.call(this,this.H&255,this.fa());this.A--},function(){this.H=ke.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=
this.N=this.Za;this.A-=this.B.re},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,de)},function(){Oh[this.fa()].call(this,le)},function(){Ph[this.fa()].call(this,de)},function(){L[this.fa()].call(this,le)},function(){this.H=this.H&-256|de.call(this,this.H&255,this.fa());this.A--},function(){this.H=le.call(this,this.H,
this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.fb;this.A-=this.B.re},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.Ve},function(){this.qa=this.H;this.H=(this.la=this.H+1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J+1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<<
this.N=this.Ya;this.A-=this.B.qe},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,de)},function(){Oh[this.fa()].call(this,le)},function(){Ph[this.fa()].call(this,de)},function(){L[this.fa()].call(this,le)},function(){this.H=this.H&-256|de.call(this,this.H&255,this.fa());this.A--},function(){this.H=le.call(this,this.H,
this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.fb;this.A-=this.B.qe},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.Ve},function(){this.qa=this.H;this.H=(this.la=this.H+1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J+1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<<
16;this.ea=65536;this.A-=2},function(){this.qa=this.K;this.K=(this.la=this.K+1)&65535;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.C;this.C=(this.la=this.C+1)&65535;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.Y;this.Y=(this.la=this.Y+1)&65535;this.aa=this.Y|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.I;this.I=(this.la=this.I+1)&65535;this.aa=this.I|(this.aa&this.ea?1:0)<<16;this.ea=
65536;this.A-=2},function(){this.qa=this.G;this.G=(this.la=this.G+1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F+1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.H;this.H=(this.la=this.H-1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J-1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<<16;this.ea=65536;
this.A-=2},function(){this.qa=this.K;this.K=(this.la=this.K-1)&65535;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.C;this.C=(this.la=this.C-1)&65535;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.Y;this.Y=(this.la=this.Y-1)&65535;this.aa=this.Y|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.I;this.I=(this.la=this.I-1)&65535;this.aa=this.I|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=
2},function(){this.qa=this.G;this.G=(this.la=this.G-1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F-1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){G(this,this.H);this.A-=this.B.wc},function(){G(this,this.J);this.A-=this.B.wc},function(){G(this,this.K);this.A-=this.B.wc},function(){G(this,this.C);this.A-=this.B.wc},function(){G(this,this.Y-2&65535);this.A-=this.B.wc},function(){G(this,
this.I);this.A-=this.B.wc},function(){G(this,this.G);this.A-=this.B.wc},function(){G(this,this.F);this.A-=this.B.wc},function(){this.H=this.Oa();this.A-=this.B.qc},function(){this.J=this.Oa();this.A-=this.B.qc},function(){this.K=this.Oa();this.A-=this.B.qc},function(){this.C=this.Oa();this.A-=this.B.qc},function(){this.Y=this.Oa();this.A-=this.B.qc},function(){this.I=this.Oa();this.A-=this.B.qc},function(){this.G=this.Oa();this.A-=this.B.qc},function(){this.F=this.Oa();this.A-=this.B.qc},Th,Uh,Vh,
Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,Th,Uh,Vh,Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,function(){Rh[this.fa()].call(this,He,this.L);this.A-=0>this.Pa?1:this.B.Nh},ii,function(){Rh[this.fa()].call(this,He,this.M);this.A-=0>this.Pa?1:this.B.Nh},function(){Nh[this.fa()].call(this,Ue)},function(){Oh[this.fa()].call(this,Ve)},function(){Ph[this.eh=this.fa()].call(this,jf)},function(){L[this.eh=this.fa()].call(this,kf)},function(){this.ba|=1;Nh[this.fa()].call(this,Se)},function(){this.ba|=1;Oh[this.fa()].call(this,
Se)},function(){Ph[this.fa()].call(this,Se)},function(){L[this.fa()].call(this,Se)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Qb=this.La.ta;break;case 1:this.Qb=this.ua.ta;break;case 2:this.Qb=this.Za.ta;break;case 3:this.Qb=this.fb.ta;break;default:J.call(this);return}this.ba|=1;Oh[a].call(this,Te)},function(){this.ba|=1;this.D=this.N=this.rm;L[this.fa()].call(this,Ze)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;
Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,Th,Uh,Vh,Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,function(){Rh[this.fa()].call(this,He,this.L);this.A-=0>this.Pa?1:this.B.Oh},ii,function(){Rh[this.fa()].call(this,He,this.M);this.A-=0>this.Pa?1:this.B.Oh},function(){Nh[this.fa()].call(this,Ue)},function(){Oh[this.fa()].call(this,Ve)},function(){Ph[this.eh=this.fa()].call(this,jf)},function(){L[this.eh=this.fa()].call(this,kf)},function(){this.ba|=1;Nh[this.fa()].call(this,Se)},function(){this.ba|=1;Oh[this.fa()].call(this,
Se)},function(){Ph[this.fa()].call(this,Se)},function(){L[this.fa()].call(this,Se)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Pb=this.La.ta;break;case 1:this.Pb=this.va.ta;break;case 2:this.Pb=this.Ya.ta;break;case 3:this.Pb=this.fb.ta;break;default:K.call(this);return}this.ba|=1;Oh[a].call(this,Te)},function(){this.ba|=1;this.D=this.N=this.rm;L[this.fa()].call(this,Ze)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;
default:if(80286<=this.Ka){Nc.call(this);return}switch(c){case 1:a=this.J;break;case 4:a=this.Y;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}L[b].call(this,Se);switch(c){case 0:xd(this,this.H);this.H=a;break;case 1:ud(this,this.J);this.J=a;break;case 2:wd(this,this.K);this.K=a;break;case 3:vd(this,this.C);this.C=a;break;case 4:xd(this,this.Y);this.Y=a;break;case 5:ud(this,this.I);this.I=a;break;case 6:wd(this,this.G);this.G=a;break;case 7:vd(this,this.F),this.F=a}},function(){this.ba|=
1;Rh[this.fa()].call(this,Ie,this.Oa)},function(){this.A-=3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Y;this.Y=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;
this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=this.B.gl},function(){Pe.call(this,this.L(),this.L());this.A-=this.B.jl},function(){this.qb("WAIT not implemented",Ob);this.A--},function(){G(this,zc(this));this.A-=this.B.wc},function(){Ac(this,this.Oa());this.A-=this.B.qc},function(){var a=this.H>>8;a&1?Kd(this):Fd(this);a&4?Ad(this)||(this.la^=1):Ad(this)&&(this.la^=1);a&16?Ld(this):Gd(this);a&64?Md(this):Hd(this);a&128?Nd(this):Id(this);this.A-=this.B.Pb},function(){this.H=this.H&255|(zc(this)&
213)<<8;this.A-=this.B.Pb},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.uj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.uj},function(){var a=this.L(),b=this.H;this.Sd(this.D.Zb(a,0),b);this.A-=this.B.vj},function(){var a=this.L(),b=this.H;this.Ta(this.D.Zb(a,1),b);this.A-=this.B.vj},function(){var a=1,b=0,c=this.B.wj;this.Da&192&&(a=this.J,b=1,c=this.B.yj,this.Da&256||(this.A-=this.B.xj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G);this.Sd(this.La.Zb(this.F,
0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.wj;this.Da&192&&(a=this.J,b=1,c=this.B.yj,this.Da&256||(this.A-=this.B.xj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G);this.Ta(this.La.Zb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.gj;this.Da&192&&(a=this.J,b=1,c=this.B.ij,this.Da&
256||(this.A-=this.B.hj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.La,this.F);de.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.Gb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.gj;this.Da&192&&(a=this.J,b=1,c=this.B.ij,this.Da&256||(this.A-=this.B.hj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.La,this.F);le.call(this,e,f);this.G=this.G+d&65535;this.F=
this.F+d&65535;this.A-=c-this.B.Gb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){this.aa=this.la=this.qa=this.H&255&this.fa();this.ea=256;this.A-=this.B.Ve},function(){this.aa=this.la=this.qa=this.H&this.L();this.ea=65536;this.A-=this.B.Ve},function(){var a=1,b=0,c=this.B.Hj;this.Da&192&&(a=this.J,b=1,c=this.B.Jj,this.Da&256||(this.A-=this.B.Ij));if(a--){var d=this.H;this.Sd(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=
b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Hj;this.Da&192&&(a=this.J,b=1,c=this.B.Jj,this.Da&256||(this.A-=this.B.Ij));if(a--){var d=this.H;this.Ta(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.oj;this.Da&192&&(a=this.J,b=1,c=this.B.qj,this.Da&256||(this.A-=this.B.pj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ba&1024?-1:1)&65535,this.A-=c,this.J-=b,
a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.oj;this.Da&192&&(a=this.J,b=1,c=this.B.qj,this.Da&256||(this.A-=this.B.pj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ba&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Bj;this.Da&192&&(a=this.J,b=1,c=this.B.Dj,this.Da&256||(this.A-=this.B.Cj));a--&&(de.call(this,this.H&255,this.O(this.La,this.F)),this.F=this.F+(this.Ba&1024?-1:1)&65535,this.A-=
c-this.B.Gb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Bj;this.Da&192&&(a=this.J,b=1,c=this.B.Dj,this.Da&256||(this.A-=this.B.Cj));a--&&(le.call(this,this.H,this.P(this.La,this.F)),this.F=this.F+(this.Ba&1024?-2:2)&65535,this.A-=c-this.B.Gb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Pb},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Pb},function(){this.K=this.K&
-256|this.fa();this.A-=this.B.Pb},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Pb},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Pb},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Pb},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Pb},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Pb},function(){this.H=this.L();this.A-=this.B.Pb},function(){this.J=this.L();this.A-=this.B.Pb},function(){this.K=this.L();this.A-=this.B.Pb},function(){this.C=this.L();
this.A-=this.B.Pb},function(){this.Y=this.L();this.A-=this.B.Pb},function(){this.I=this.L();this.A-=this.B.Pb},function(){this.G=this.L();this.A-=this.B.Pb},function(){this.F=this.L();this.A-=this.B.Pb},ji,ki,ji,ki,function(){L[this.fa()].call(this,af)},function(){L[this.fa()].call(this,$e)},function(){this.ba|=1;Qh[this.fa()].call(this,Je,this.fa)},function(){this.ba|=1;Rh[this.fa()].call(this,Je,this.L)},li,mi,li,mi,function(){Ud.call(this,3,null,this.B.Al)},function(){var a=this.fa();ld(this,a)?
Ud.call(this,a,null,0):this.A--},function(){Ed(this)?Ud.call(this,4,null,this.B.Bl):this.A-=this.B.Cl},function(){this.A-=this.B.yl;if(this.fc&1&&this.Ba&16384){var a=this.ra(this.gb.Ga+0);yc.call(this.ua,a,!1)}else{var a=this.ua.cb,b=this.Oa(),c=this.Oa(),d=this.Oa();null!=Bc(this,b,c,!1)&&(Ac(this,d,a),this.mh&&qd(this,this.Ea))}},function(){Qh[this.fa()].call(this,Ke,Be)},function(){Rh[this.fa()].call(this,Le,Be)},function(){Qh[this.fa()].call(this,Ke,Ce)},function(){Rh[this.fa()].call(this,Le,
Ce)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.aa=this.la=b;this.A-=this.B.dl},function(){var a=this.fa();this.aa=this.la=this.H=(this.H>>8)*a+this.H&255;this.ea=256;this.A-=this.B.cl},function(){this.H=this.H&-256|(zd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.bm},ni,ni,ni,ni,ni,ni,ni,ni,function(){var a=this.M();(this.J=this.J-1&65535)&&this.aa&this.ea-1?(H(this,this.wa+a),this.A-=this.B.Jl):
this.A-=this.B.rj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.aa&this.ea-1?this.A-=this.B.tj:(H(this,this.wa+a),this.A-=this.B.sj)},function(){var a=this.M();(this.J=this.J-1&65535)?(H(this,this.wa+a),this.A-=this.B.Il):this.A-=this.B.rj},function(){var a=this.M();this.J?this.A-=this.B.tj:(H(this,this.wa+a),this.A-=this.B.sj)},function(){var a=this.fa();this.H=this.H&-256|yb(this.sa,a,this.Ea-2);this.A-=this.B.lj},function(){var a=this.fa();this.H=yb(this.sa,a,this.Ea-1)|yb(this.sa,
a+1&65535,this.Ea-2)<<8;this.A-=this.B.lj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);this.A-=this.B.Aj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);Cb(this.sa,a+1&65535,this.H>>8,this.Ea-2);this.A-=this.B.Aj},function(){var a=this.L();G(this,this.wa);H(this,this.wa+a);this.A-=this.B.hl},function(){var a=this.L();H(this,this.wa+a);this.A-=this.B.mj},function(){Bc(this,this.L(),this.L());this.A-=this.B.El},function(){var a=this.M();H(this,this.wa+a);this.A-=this.B.mj},
function(){this.H=this.H&-256|yb(this.sa,this.K,this.Ea-1);this.A-=this.B.kj},function(){this.H=yb(this.sa,this.K,this.Ea-1)|yb(this.sa,this.K+1&65535,this.Ea-1)<<8;this.A-=this.B.kj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);this.A-=this.B.zj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);Cb(this.sa,this.K+1&65535,this.H>>8,this.Ea-1);this.A-=this.B.zj},oi,oi,function(){this.ba|=132;this.A-=this.B.re},function(){this.ba|=68;this.A-=this.B.re},function(){this.zb|=4;this.A-=2;this.ka&&
Pd(this.ka)?(yd(this,-1),this.Jb()):this.Ba&512||(this.ka&&yd(this,-1),this.Jb())},function(){zd(this)?Fd(this):Kd(this);this.A-=2},function(){this.Qb=-1;Qh[this.fa()].call(this,Ne,Ee);0<=this.Qb&&(this.H=this.Qb)},function(){this.Qb=-1;Rh[this.fa()].call(this,Oe,Ee);0<=this.Qb&&(this.H=this.Qb,this.K=this.Jg)},function(){this.aa&=~this.ea;this.A-=2},function(){this.aa|=this.ea;this.A-=2},function(){this.Ba&=-513;this.A-=this.B.fl},function(){this.Ba|=512;this.ba|=4;this.A-=2},function(){this.Ba&=
-1025;this.A-=2},function(){this.Ba|=1024;this.A-=2},function(){Qh[this.fa()].call(this,Kc,Ee)},function(){Rh[this.fa()].call(this,Lc,Ee)}],Sh=[function(){var a=this.fa();16>(a&56)&&(this.ba|=1);Rh[a].call(this,this.mk,Ee)},function(){var a=this.fa();a&16||(this.ba|=1);Rh[a].call(this,pi,Ee)},function(){L[this.fa()].call(this,df)},function(){L[this.fa()].call(this,hf)},J,function(){this.ua.cb?lc.call(this,13,0,!0):(lf.call(this,this.ra(2054)),this.F=this.ra(2086),this.G=this.ra(2088),this.I=this.ra(2090),
this.Y=this.ra(2092),this.C=this.ra(2094),this.K=this.ra(2096),this.J=this.ra(2098),this.H=this.ra(2100),Cc(this.La,2102,this.ra(2084)),Cc(this.ua,2108,this.ra(2082)),Cc(this.Za,2114,this.ra(2080)),Cc(this.fb,2120,this.ra(2078)),Ac(this,this.ra(2072)),H(this,this.ra(2074)),this.Ec=this.ra(2126)|this.ra(2128)<<16,this.Be=this.Ec+this.ra(2130),Cc(this.Xc,2132,this.ra(2076)),this.Qc=this.ra(2138)|this.ra(2140)<<16,this.Ce=this.Qc+this.ra(2142),Cc(this.gb,2144,this.ra(2070)),this.A-=195)},function(){this.ua.cb?
lc.call(this,13,0,!0):(this.fc&=-9,this.A-=2)},J,J,J,J,Nc,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,
J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J],rd=[function(){this.A-=2+(0>this.ja?0:1);return this.Xc.ta},function(){this.A-=2+(0>this.ja?0:1);return this.gb.ta},function(a){this.ba|=2;this.Xc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.gb.load(a)&&(this.Ta(this.gb.Dd+4,this.gb.nb|=512),this.gb.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Ub.load(a,!0)&&2048!=(this.Ub.nb&2560)&&(this.Ub.nc>=this.ua.cb&&
this.Ub.nc>=(a&3)||7168==(this.Ub.nb&7168)))return Md(this),a;Hd(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Ub.load(a,!0)&&512==(this.Ub.nb&2560)&&this.Ub.nc>=this.ua.cb&&this.Ub.nc>=(a&3))return Md(this),a;Hd(this);return a},I,I],Mc=[ed,ed,ed,ed,ed,ed,I,I],pi=[function(a){0>this.ja?Nc.call(this):(a=this.Be-this.Ec,this.Ta(this.ja+2,this.Ec),this.Ta(this.ja+4,65280|this.Ec>>16),this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(a=this.Ce-this.Qc,this.Ta(this.ja+
2,this.Qc),this.Ta(this.ja+4,65280|this.Qc>>16),this.A-=12);return a},function(a){0>this.ja?Nc.call(this):(this.Ec=this.ra(this.ja+2)|this.yb(this.ja+4)<<16,this.Be=this.Ec+a,this.ba|=2,this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(this.Qc=this.ra(this.ja+2)|this.yb(this.ja+4)<<16,this.Ce=this.Qc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.fc},I,function(a){lf.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},I];
function M(a){y.call(this,"ChipSet",a,M,qi);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):ri;this.gc=0;var b=a.sw1;if(b)this.gc=si(b,ti|ui.zm);else{this.Yd=[360,360];(b=a.floppies)&&b.length&&(this.Yd=b);if(b=this.Yd.length)this.gc|=vi.ei,b--,this.gc|=(b&3)<<vi.Rf;if(b=a.monitor||(this.Ka<wi?"mono":"ega"),void 0!==xi[b])this.gc|=xi[b]<<ui.Rf}this.xe=si(a.sw2||"11110000",0);this.$n=this.Ka==ri?16:64;this.kh=this.cg=1;this.Ka>=wi&&(this.kh=this.cg=2);this.le=a.scaleTimers||!1;this.xp=a.rtcDate;this.Nk=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.xi=new window.webkitAudioContext);this.reset(!0);this.Wa()}Xa(y,M);var ri=5150,wi=5170,xi={none:0,tv:1,color:2,mono:3,ega:0},vi={ei:1,ONE:0,qq:64,oq:128,Op:192,Qf:192,Rf:6},ti=12,ui={pq:16,Hp:32,zm:48,Qf:48,Rf:4};k=M.prototype;
k.Ib=function(a,b,c){switch(b){case "sw1":return this.xa[b]=c,yi(this,b,c,this.gc,{0:this.Ka==ri?"Bootable Floppy Drive":"Loop on POST",1:this.Ka==ri?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ka==ri)return this.xa[b]=c,yi(this,b,c,this.xe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1};
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.Va=ib(a,"Keyboard");this.Qh=c.da.vd/1193181;xb(b,this,zi);Bb(b,this,Ai);this.Ka<wi?(xb(b,this,Bi),Bb(b,this,Ci)):(xb(b,this,Di),Bb(b,this,Ei));if(d){var e=this;Fi(d,Sd,function(){for(var a=0;a<e.Wb.length;a++){for(var b=e.Wb[a],c="PIC"+a+":",d=0;d<b.Bc.length;d++)c+=" IC"+(d+1)+"="+q(b.Bc[d]);c+=" IMR="+q(b.pd)+" IRR="+q(b.Sb)+" ISR="+q(b.Fc)+" DELAY="+b.Ff;e.ka.Z(c)}});Fi(d,Gi,function(){for(var a=0;a<e.Lb.length;a++){Hi(e,a);var b=
e.Lb[a],c="TIMER"+a+":",d=0;if(null!=b.rd)for(var m=0;m<=b.rd;m++)d|=b.bb[m]<<8*m;c+=" mode="+b.mode+" bytes="+b.rd+" count="+v(d);e.ka.Z(c)}});Fi(d,Ii,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Ji(e,b):e.ma[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}kd(c,Ki,this,this.Zn)};k.ec=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.kd=this.gc;this.df=this.xe;Li(this);this.sb=Array(this.kh);for(b=0;b<this.kh;b++)Mi(this,b);this.Wb=Array(this.cg);Ni(this,0,32);1<this.cg&&Ni(this,1,160);this.ui=null;this.Lb=Array(3);for(b=0;b<this.Lb.length;b++)Oi(this,b);this.bg=this.si=this.Gc=this.gh=null;this.fh=0;if(this.Ka>=wi){this.ub=16;this.Ed=0;this.od=16;this.ah=0;this.Ee=160;512<=Pi(this)&&(this.Ee|=16);3==Qi(this)&&(this.Ee|=64);this.pi=3;this.$f=0;this.Wg=Array(7);this.Fe=0;a&&(this.ma=Array(64));Ri(this,
this.xp);for(a=21;24>=a;a++)this.ma[a]=0;for(a=14;46>a;a++)void 0===this.ma[a]&&(this.ma[a]=0);this.ma[20]=this.kd&(ui.Qf|2|vi.ei|vi.Qf);this.ma[16]=Si(this,0)<<4|Si(this,1);Ti(this)}};
function Ri(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Z("CMOS date invalid ("+b+"), using "+c)):b&&a.Z("CMOS date: "+c);a.ma[0]=c.getSeconds();a.ma[1]=0;a.ma[2]=c.getMinutes();a.ma[3]=0;a.ma[4]=c.getHours();a.ma[5]=0;a.ma[6]=c.getDay()+1;a.ma[7]=c.getDate();a.ma[8]=c.getMonth()+1;c=c.getFullYear();a.ma[9]=c%100;c/=100;a.ma[50]=c%10|c/10<<4;a.ma[10]=38;a.ma[11]=2;a.ma[12]=0;a.ma[13]=128;a.Dg=a.Hf=0;a.cm=a.Oh=null}
function Ji(a,b){var c=a.ma[b];if(10>b){var d=!1;4!=b&&5!=b||a.ma[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ma[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.ma[b]^=128);return c}function Ui(a){var b;void 0===b&&(b=a.Oh);a.Hf=D(a.T,a.le)+b;a.ma[11]&64&&Zb(a.T,b)}function Ti(a){for(var b=0,c=16;46>c;c++)b+=a.ma[c];a.ma[47]=b&255;a.ma[46]=b>>8}
k.save=function(){var a=new sd(this);a.set(0,[this.gc,this.xe,this.kd,this.df]);for(var b=[],c=0;c<this.sb;c++){for(var d=this.sb[c],e=d,f=[],g=0;g<e.Rb.length;g++){var h=e.Rb[g];f[g]=[h.Od,h.Yg,h.hc,h.jb,h.bb,h.mode,h.hh,h.sp,h.tp]}b[c]=[d.fe,d.qi,d.tk,d.wb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Wb.length;c++)d=this.Wb[c],b[c]=[d.Ff,d.Bc,d.Qd,d.pd,d.Sb,d.Fc,d.Ge,d.ag];a.set(2,[b]);b=[];for(c=0;c<this.Lb.length;c++)d=this.Lb[c],b[c]=[d.hc,d.Jc,d.bb,d.Ne,d.vk,d.mode,d.Yh,d.ie,d.rd,d.td,d.kg,d.Re,d.jd];
a.set(3,[this.ui,b]);a.set(4,[this.gh,this.Gc,this.si,this.bg,this.fh]);this.Ka>=wi&&(a.set(5,[this.ub,this.Ed,this.od,this.ah,this.Ee,this.pi]),a.set(6,[this.$f,this.Wg,this.Fe,this.ma,this.Dg,this.Hf]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.gc=b[0];this.xe=b[1];this.kd=b[2];this.df=b[3];b=a[1];for(c=0;c<this.kh;c++)Mi(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.cg;c++)Ni(this,c,0===c?32:160,b[0][c]);b=a[3];this.ui=b[0];for(c=0;c<this.Lb.length;c++)Oi(this,c,b[1][c]);b=a[4];this.gh=b[0];this.Gc=b[1];this.si=b[2];this.bg=b[3];this.fh=b[4];if(b=a[5])this.ub=b[0],this.Ed=b[1],this.od=b[2],this.ah=b[3],this.Ee=b[4],this.pi=b[5];if(b=a[6])this.$f=b[0],this.Wg=b[1],this.Fe=b[2],this.ma=b[3],
this.Dg=b[4],this.Hf=b[5],Ri(this);return!0};var Vi=[0,null,null,0,Array(4)];function Mi(a,b,c){var d=a.sb[b];d||(d={Rb:Array(4)});c=c&&5==c.length?c:Vi;d.fe=c[0];d.qi=c[1];d.tk=c[2];d.wb=c[3];d.ho=b<<2;for(var e=0;e<d.Rb.length;e++)Wi(d,e,c[4][e]);a.sb[b]=d}var Xi=[!0,[0,0],[0,0],[0,0],[0,0]];
function Wi(a,b,c){var d=a.Rb[b];d||(d={Yg:[0,0],hc:[0,0],jb:[0,0],bb:[0,0]});c=c&&8==c.length?c:Xi;d.Od=c[0];d.Yg[0]=c[1][0];d.Yg[1]=c[1][1];d.hc[0]=c[2][0];d.hc[1]=c[2][1];d.jb[0]=c[3][0];d.jb[1]=c[3][1];d.bb[0]=c[4][0];d.bb[1]=c[4][1];d.mode=c[5];d.hh=c[6];d.ga=a;d.Sk=b;Yi(d,c[8],c[9]);a.Rb[b]=d}function Yi(a,b,c,d){"string"==typeof b&&(b=$a(b));b&&(a.rh=null,a.sp=b.id,a.tp=c,a.ph=b,a.Pi=b[c],a.Rh=d)}var Zi=[0,Array(4)];
function Ni(a,b,c,d){var e=a.Wb[b];e||(e={Bc:[null,null,null,null]});d=d&&8==d.length?d:Zi;e.port=c;e.Nq=b<<3;e.Ff=d[0];e.Bc[0]=d[1][0];e.Bc[1]=d[1][1];e.Bc[2]=d[1][2];e.Bc[3]=d[1][3];e.Qd=d[2];e.pd=d[3];e.Sb=d[4];e.Fc=d[5];e.Ge=d[6];e.ag=d[7];a.Wb[b]=e}var $i=[[0,0],[0,0],[0,0],[0,0]];
function Oi(a,b,c){var d=a.Lb[b];d||(d={hc:[0,0],Jc:[0,0],bb:[0,0],Ne:[0,0]});c=c&&13==c.length?c:$i;d.hc[0]=c[0][0];d.hc[1]=c[0][1];d.Jc[0]=c[1][0];d.Jc[1]=c[1][1];d.bb[0]=c[2][0];d.bb[1]=c[2][1];d.Ne[0]=c[3][0];d.Ne[1]=c[3][1];d.vk=c[4];d.mode=c[5];d.Yh=c[6];d.ie=c[7];d.rd=c[8];d.td=c[9];d.kg=c[10];d.Re=c[11];d.jd=c[12];a.Lb[b]=d}function Pi(a,b){return((((b?a.gc:a.kd)&12)>>2)+1)*a.$n+32*((b?a.xe:a.df)&15)}function aj(a,b){var c=b?a.gc:a.kd;return a.Ka!=ri||c&vi.ei?((c&vi.Qf)>>vi.Rf)+1:0}
function Si(a,b){if(b<aj(a)){if(!a.Yd)return 1;if(b<a.Yd.length)switch(a.Yd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Qi(a,b){return((b?a.gc:a.kd)&ui.Qf)>>ui.Rf}
function yi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=A(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)null!=e&&null!=e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),bj(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");bj(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.gc=
a.gc&~e|(c?0:e);break;case "sw2":a.xe=a.xe&~e|(c?0:e)}Li(a)}}(a,b[g])}function bj(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Li(a){var b=a.xa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Pi(a,!0)+"Kb");d+=", "+c[Qi(a,!0)]+" Monitor";d+=", "+aj(a,!0)+" Floppy Drives";if(null!=a.kd&&a.kd!=a.gc||null!=a.df&&a.df!=a.xe)d+=" (Reset required)";b.textContent=d}}
function cj(a,b,c,d,e){var f=a.sb[b],g=f.Rb[c],h=g.jb[f.wb];a.va(N|P)&&B(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.wb+"]",h,!0);f.wb^=1;b||0!=c||f.wb||(g.jb[0]++,255<g.jb[0]&&(g.jb[0]=0,g.jb[1]++,255<g.jb[1]&&(g.jb[1]=0)));return h}function dj(a,b,c,d,e,f){var g=a.sb[b];a.va(N|P)&&B(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.wb+"]",null,!0);a=g.Rb[c];a.jb[g.wb]=a.Yg[g.wb]=e;g.wb^=1}
function ej(a,b,c,d,e){var f=a.sb[b],g=f.Rb[c],h=g.bb[f.wb];a.va(N|P)&&B(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.wb+"]",h,!0);f.wb^=1;b||0!=c||f.wb||(g.bb[0]--,0>g.bb[0]&&(g.bb[0]=255,g.bb[1]--,0>g.bb[1]&&(g.bb[1]=255)));return h}function fj(a,b,c,d,e,f){var g=a.sb[b];a.va(N|P)&&B(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.wb+"]",null,!0);a=g.Rb[c];a.bb[g.wb]=a.hc[g.wb]=e;g.wb^=1}function gj(a,b,c,d){var e=a.sb[b],f=e.fe|1;e.fe&=-16;a.va(N|P)&&B(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function hj(a,b,c,d,e){var f=a.sb[b];a.va(N|P)&&B(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.fe=f.fe&~(16<<a)|(d&4)<<a+2;f.tk=d}function ij(a,b,c,d,e){var f=a.sb[b];a.va(N|P)&&B(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Rb[b];c.Od=!!(d&4);c.Od||jj(a,f.ho+b)}function kj(a,b,c,d,e){a.va(N|P)&&B(a,c,d,e,"DMA"+b+".MODE",null,!0);a.sb[b].Rb[d&3].mode=d}function lj(a,b,c,d,e){a.va(N|P)&&B(a,c,d,e,"DMA"+b+".RESET_FF",null,!0);a.sb[b].wb=0}
function mj(a,b,c,d,e){a.va(N|P)&&B(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.sb[b];for(b=0;b<a.Rb.length;b++)Wi(a,b)}function nj(a,b,c,d,e){var f=a.sb[b].Rb[c].hh;a.va(N|P)&&B(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function oj(a,b,c,d,e,f){a.va(N|P)&&B(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.sb[b].Rb[c].hh=e}function pj(a,b,c,d){var e=a.Wg[b];a.va(N|P)&&B(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function qj(a,b,c,d,e){a.va(N|P)&&B(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Wg[b]=d}function rj(a,b,c,d,e){Yi(a.sb[b>>2].Rb[b&3],c,d,e)}function jj(a,b,c){b=a.sb[b>>2].Rb[b&3];b.ph&&b.Pi&&b.Rh?(c&&(b.rh=c),b.Od||Vd(a,b,!0)):c&&c(!0)}
function Vd(a,b,c){c&&(b.count=b.bb[1]<<8|b.bb[0],b.vm=b.mode&12,b.Ok=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.hh<<16|b.jb[1]<<8|b.jb[0],4==b.vm?(d=!0,function(c){b.Pi.call(b.ph,b.Rh,-1,function(f,g){0>f&&(b.Ok||(b.Ok=!0),f=255);b.Od||tb(a.sa,c,f);(d=g)&&setTimeout(function(){sj(b)||Vd(a,b)},0)})}(c)):8==b.vm?(c=rb(a.sa,c),0>b.Pi.call(b.ph,b.Rh,c)&&(b.fd=!0)):b.fd=!0),!d&&!sj(b););}
function sj(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.jb[0]--,0>a.jb[0]&&(a.jb[0]=255,a.jb[1]--,0>a.jb[1]&&(a.jb[1]=255))):(a.jb[0]++,255<a.jb[0]&&(a.jb[0]=0,a.jb[1]++,255<a.jb[1]&&(a.jb[1]=0))),!a.Od))return!1;var b=a.ga;b.fe=b.fe&~(16<<a.Sk)|1<<a.Sk;a.mode&16||(a.Od=!0,a.ph=a.Rh=null);a.rh&&(a.rh(!a.fd),a.rh=null);return!0}function tj(a,b,c){var d=0,e=a.Wb[b];if(null!=e.ag)switch(e.ag&3){case 2:d=e.Sb;break;case 3:d=e.Fc}a.va(Sd|P|qi)&&B(a,e.port,null,c,"PIC"+b,d,!0);return d}
function uj(a,b,c,d){var e=a.Wb[b];a.va(Sd|P|qi)&&B(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Qd=0,e.Bc[e.Qd++]=c,e.pd=0,e.Ge=7,e.Sb=e.Fc=0,e.ag=10;else if(c&8)e.ag=c;else if(d=c&224,d&32){b=0;if(96==(d&96))b=1<<(c&7);else for(c=e.Ge+1;;){c&=7;d=1<<c;if(e.Fc&d){b=d;break}if(c++==e.Ge)break}e.Fc&b&&(e.Fc&=~b,vj(a))}else 192==d&&(e.Ge=c&7)}function wj(a,b,c){var d=a.Wb[b],e=d.pd;a.va(Sd|P|qi)&&B(a,d.port+1,null,c,"PIC"+b,e,!0);return e}
function xj(a,b,c,d){var e=a.Wb[b];a.va(Sd|P|qi)&&B(a,e.port+1,c,d,"PIC"+b,null,!0);e.Qd<e.Bc.length?(e.Bc[e.Qd++]=c,2==e.Qd&&e.Bc[0]&2&&e.Qd++,3!=e.Qd||e.Bc[0]&1||e.Qd++):(e.pd=c,d=a.T,d.ba|=4,vj(a,b||253!=c?0:6))}function yj(a,b,c){var d=a.Wb[b>>3];b=1<<(b&7);d.Sb&b||(d.Sb|=b,d.Ff=c||0,vj(a))}function zj(a,b){var c=a.Wb[b>>3],d=1<<(b&7);c.Sb&d&&(c.Sb&=~d,vj(a))}
function vj(a,b){var c,d=-1;1<a.cg&&(c=a.Wb[1],d=~(c.Fc|c.pd)&c.Sb);c=a.Wb[0];0<=d&&(c.Sb=d?c.Sb|4:c.Sb&-5);var d=~(c.Fc|c.pd)&c.Sb,e=a.T;e.pa&&(e.zb=d?e.zb|1:e.zb&-2);d&&b&&(c.Ff=b)}function Td(a,b){void 0===b&&(b=0);var c=-1,d=a.Wb[b];if(d.Ff)c=-2,d.Ff--;else for(var e=d.Sb&((d.Fc|d.pd)^255),f=d.Ge+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Bc[1]+f:Td(a,1);0<=c&&(d.Fc|=g,d.Sb&=~g);break}if(f++==d.Ge)break}return c}
function Aj(a,b,c){var d;d=a.Lb[b];d.ie==d.rd&&Bj(a,b);if(d.kg)return d.Ne[d.ie++];Hi(a,b);d=d.bb[d.ie++];a.va(Gi|P)&&B(a,64+b,null,c,"TIMER"+b,d,!0);return d}function Cj(a,b,c,d){a.va(Gi|P)&&B(a,64+b,c,d,"TIMER"+b,null,!0);d=a.Lb[b];d.ie==d.rd&&Bj(a,b);d.hc[d.ie++]=c;d.ie==d.rd&&(d.Re&&0!=d.mode&&8!=d.mode||(d.kg=!1,d.bb[0]=d.Jc[0]=d.hc[0],d.bb[1]=d.Jc[1]=d.hc[1],d.jd=D(a.T,a.le),d.Re=!0,d.td=0!=d.mode,0==b&&(zj(a,0),c=Dj(a,0)*a.Qh|0,6==d.mode&&(c>>=1),Zb(a.T,c))),2==b&&bc(a))}k=M.prototype;
k.Sn=function(a,b){B(this,a,null,b,"TIMER_CTRL",null,Gi);return null};k.hp=function(a,b,c){this.ui=b;B(this,a,b,c,"TIMER_CTRL",null,Gi);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Lb[a];e.Yh=b;e.mode=d;e.vk=c;e.hc=[0,0];e.bb=[0,0];e.Ne=[0,0];e.td=!1;e.kg=!1;e.Re=!1;Bj(this,a);0==a&&zj(this,0);2==a&&255==this.Wb[0].pd&&77==this.Gc&&(a=this.Lb[0],a.Jc[0]=a.hc[0],a.Jc[1]=a.hc[1],a.jd=D(this.T,this.le))}else Hi(this,a),b=this.Lb[a],b.Ne[0]=b.bb[0],b.Ne[1]=b.bb[1],b.kg=!0,Bj(this,a)}};
function Dj(a,b){var c=a.Lb[b],d=c.hc[1]<<8|c.hc[0];d||(d=1==c.rd?256:65536);return d}function dc(a,b){var c=a.Lb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.rd?256:65536);return d}function Bj(a,b){var c=a.Lb[b];c.ie=32==c.Yh?1:0;c.rd=48==c.Yh?2:1}
function Hi(a,b,c){var d=a.Lb[b];if(d.Re&&(2!=b||a.Gc&1)){var e=D(a.T,a.le),f=(e-d.jd)/a.Qh|0;0>f&&(d.jd=e,f=0);var g=Dj(a,b),h=dc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.Re=!1,b||yj(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.td&&yj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.td&&yj(a,0)));d.bb[0]=h&255;d.bb[1]=h>>8;c&&(a.jd=0)}return d}
function cc(a,b){for(var c=0;c<a.Lb.length;c++)Hi(a,c,b);if(a.Ka>=wi){var c=a.T.da.vd,d=D(a.T,a.le);null==a.Oh&&(a.Dg=D(a.T,a.le),a.cm=1024,a.Oh=Math.floor(a.T.da.vd/a.cm),Ui(a));d>=a.Hf&&(a.ma[12]|=64,a.ma[11]&64&&(a.ma[12]|=128,yj(a,8)),a.Hf=d+a.Oh);a.ma[0]==a.ma[1]&&a.ma[2]==a.ma[3]&&a.ma[4]==a.ma[5]&&(a.ma[12]|=32,a.ma[11]&32&&(a.ma[12]|=128,yj(a,8)));var e=d-a.Dg,f=Math.floor(e/c);if(f&&!(a.ma[11]&128)){for(;f--;)if(60<=++a.ma[0]&&(a.ma[0]=0,60<=++a.ma[2]&&(a.ma[2]=0,24<=++a.ma[4]))){a.ma[4]=
0;a.ma[6]=a.ma[6]%7+1;var g;g=a.ma[9];var h=sa[a.ma[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ma[7]>g&&(a.ma[7]=1,12<++a.ma[8]&&(a.ma[8]=1,a.ma[9]=(a.ma[9]+1)%100))}a.ma[12]|=16;a.ma[11]&16&&(a.ma[12]|=128,yj(a,8))}a.Dg=d-e%c}}k.Kn=function(a,b){var c=this.gh;this.bg&16&&(this.Gc&128?c=this.kd:this.Va&&(c=Ej(this.Va)));B(this,a,null,b,"PPI_A",c);return c};k.ap=function(a,b,c){B(this,a,b,c,"PPI_A");this.gh=b};k.Ln=function(a,b){var c=this.Gc;B(this,a,null,b,"PPI_B",c);return c};
k.bp=function(a,b,c){B(this,a,b,c,"PPI_B");Fj(this,b);this.Va&&Gj(this.Va,b&128?!1:!0,b&64?!0:!1)};function Fj(a,b){var c=!!(b&2),d=!!(a.Gc&2);a.Gc=b;c!=d&&bc(a,c)}k.Mn=function(a,b){var c=0,c=this.Ka==ri?this.Gc&4?c|this.df&15:c|this.df>>4&1:this.Gc&8?c|this.kd>>4:c|this.kd&15;this.Gc&1&&Hi(this,2).td&&(c=this.Gc&2?c|32:c|16);B(this,a,null,b,"PPI_C",c,qi|Fb);return c};k.cp=function(a,b,c){B(this,a,b,c,"PPI_C");this.si=b};k.Nn=function(a,b){var c=this.bg;B(this,a,null,b,"PPI_CTRL",c);return c};
k.dp=function(a,b,c){B(this,a,b,c,"PPI_CTRL");this.bg=b};k.$m=function(a,b){var c=this.ah;B(this,a,null,b,"8042_OUTBUFF",c,Hj);this.ub&=-258;var d=this.Va&&Ej(this.Va,!0);d&&Ij(this,d);return c};k.so=function(a,b,c){B(this,a,b,c,"8042_INBUF.DATA",null,Hj);if(this.ub&8)switch(this.Ed){case 96:Jj(this,b);break;case 209:Kj(this,b);break;default:if(Jj(this,this.od&-17),this.Va){a=-1;switch(b){case 255:a=250,Lj(this.Va)}Ij(this,a)}}this.Ed=b;this.ub&=-9};
k.an=function(a,b){var c=this.Gc&-209|(D(this.T)&64?16:0);B(this,a,null,b,"8042_RWREG",c,Hj);return c};k.to=function(a,b,c){B(this,a,b,c,"8042_RWREG",null,Hj);Fj(this,b)};k.bn=function(a,b){B(this,a,null,b,"8042_STATUS",this.ub,Hj);var c=this.ub&255;this.ub&256&&(this.ub|=1,this.ub&=-257);return c};
k.ro=function(a,b,c){B(this,a,b,c,"8042_INBUFF.CMD",null,Hj);this.Ed=b;this.ub|=8;a=0;240<=this.Ed&&(a=this.Ed^15,this.Ed=240);switch(this.Ed){case 192:Ij(this,this.Ee);break;case 173:Jj(this,this.od|16);break;case 174:Jj(this,this.od&-17);break;case 170:this.Va&&Mj(this.Va,!0);Jj(this,this.od|16);Ij(this,85);Kj(this,3);break;case 224:Ij(this,this.od&16?0:1);break;case 240:a&1&&id(this.T)}};
function Jj(a,b){var c=!(a.od&16);a.od=b;a.ub=a.ub&-5|b&4;if(a.Va){var d=!(b&16);Gj(a.Va,!!(b&8),d)&&Ij(a,Ej(a.Va,!0));!c&&d&&Ej(a.Va)&&Nj(a)}}function Ij(a,b){0<=b&&(a.ah=b,a.ub&=-2,a.ub|=256)}function Kj(a,b){a.pi=b;nb(a.sa,!!(b&2));b&1||id(a.T)}function Nj(a){a.Ka<wi?yj(a,1,4):a.od&16||yj(a,1,120)}k.qn=function(a,b){B(this,a,null,b,"CMOS.ADDR",this.Fe,Ii);return this.Fe};k.Ho=function(a,b,c){B(this,a,b,c,"CMOS.ADDR",null,Ii);this.Fe=b;this.fh=b&128?0:128};
k.rn=function(a,b){var c=this.Fe&63,d=13>=c?Ji(this,c):this.ma[c];this.va(Ii|P)&&B(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.ma[c]&=15,d&128&&zj(this,8),d&64&&this.ma[11]&64&&Ui(this));return d};
k.Io=function(a,b,c){var d=this.Fe&63;this.va(Ii|P)&&B(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.ma[d];if(13>=d){if(c=b,10>d){var e=!1;this.ma[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.ma[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ma[d]=c;11==d&&a&64&&b&64&&Ui(this)};k.In=function(a,b){B(this,a,null,b,"MFG_DATA",this.$f);return this.$f};k.Yo=function(a,b,c){B(this,a,b,c,"MFG_DATA");this.$f=b};
k.$o=function(a,b,c){B(this,a,b,c,"NMI");this.fh=b};k.Jo=function(a,b,c){B(this,a,b,c,"COPROC.CLEAR")};k.Ko=function(a,b,c){B(this,a,b,c,"COPROC.RESET")};
k.Zn=function(a){if(this.va(Oj)&&nd(this.ka,Ki,a)){var b=this.T.H>>8;od(this.T,a,function(a,d){return function(e){d=D(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,m=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+v(h)+" CL(min)="+q(g)+" DH(sec)="+q(m);else if(4==b||5==b)f=" CX(year)="+v(a.T.J)+" DH(month)="+q(m)+" DL(day)="+q(n);pd(a.ka,Ki,e,d,f)}}(this,D(this.T)))}return!0};function si(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 bc(a,b){if(a.xi){void 0!==b?a.Nk=b:b=a.Nk&&a.T&&a.T.na.Fb;var c=Math.round(1193181/Dj(a,2));if(20>c||2E4<c)b=!1;b?a.zd?(a.zd.frequency.value=c,a.va(Pj)&&a.qb("speaker set to "+c+"hz",!0)):(a.zd=a.xi.createOscillator(),a.zd.type=1,a.zd.connect(a.xi.destination),a.zd.frequency.value=c,a.va(Pj)&&a.qb("speaker on at "+c+"hz",!0),a.zd.noteOn(0)):a.zd&&(a.zd.noteOff(0),a.zd.disconnect(),delete a.zd,a.va(Pj)&&a.qb("speaker off at "+c+"hz",!0))}else b&&a.qb("BEEP",Pj)}
var zi={0:function(a,b){return cj(this,0,0,a,b)},1:function(a,b){return ej(this,0,0,a,b)},2:function(a,b){return cj(this,0,1,a,b)},3:function(a,b){return ej(this,0,1,a,b)},4:function(a,b){return cj(this,0,2,a,b)},5:function(a,b){return ej(this,0,2,a,b)},6:function(a,b){return cj(this,0,3,a,b)},7:function(a,b){return ej(this,0,3,a,b)},8:function(a,b){return gj(this,0,a,b)},32:function(a,b){return tj(this,0,b)},33:function(a,b){return wj(this,0,b)},64:function(a,b){return Aj(this,0,b)},65:function(a,
b){return Aj(this,1,b)},66:function(a,b){return Aj(this,2,b)},67:M.prototype.Sn,129:function(a,b){return nj(this,0,2,a,b)},130:function(a,b){return nj(this,0,3,a,b)},131:function(a,b){return nj(this,0,1,a,b)},135:function(a,b){return nj(this,0,0,a,b)}},Bi={96:M.prototype.Kn,97:M.prototype.Ln,98:M.prototype.Mn,99:M.prototype.Nn},Di={96:M.prototype.$m,97:M.prototype.an,100:M.prototype.bn,112:M.prototype.qn,113:M.prototype.rn,128:M.prototype.In,132:function(a,b){return pj(this,0,a,b)},133:function(a,
b){return pj(this,1,a,b)},134:function(a,b){return pj(this,2,a,b)},136:function(a,b){return pj(this,3,a,b)},137:function(a,b){return nj(this,1,2,a,b)},138:function(a,b){return nj(this,1,3,a,b)},139:function(a,b){return nj(this,1,1,a,b)},140:function(a,b){return pj(this,4,a,b)},141:function(a,b){return pj(this,5,a,b)},142:function(a,b){return pj(this,6,a,b)},143:function(a,b){return nj(this,1,0,a,b)},160:function(a,b){return tj(this,1,b)},161:function(a,b){return wj(this,1,b)},192:function(a,b){return cj(this,
1,0,a,b)},194:function(a,b){return ej(this,1,0,a,b)},196:function(a,b){return cj(this,1,1,a,b)},198:function(a,b){return ej(this,1,1,a,b)},200:function(a,b){return cj(this,1,2,a,b)},202:function(a,b){return ej(this,1,2,a,b)},204:function(a,b){return cj(this,1,3,a,b)},206:function(a,b){return ej(this,1,3,a,b)},208:function(a,b){return gj(this,1,a,b)}},Ai={0:function(a,b,c){dj(this,0,0,a,b,c)},1:function(a,b,c){fj(this,0,0,a,b,c)},2:function(a,b,c){dj(this,0,1,a,b,c)},3:function(a,b,c){fj(this,0,1,
a,b,c)},4:function(a,b,c){dj(this,0,2,a,b,c)},5:function(a,b,c){fj(this,0,2,a,b,c)},6:function(a,b,c){dj(this,0,3,a,b,c)},7:function(a,b,c){fj(this,0,3,a,b,c)},8:function(a,b,c){this.va(N|P)&&B(this,a,b,c,"DMA0.CMD",null,!0);this.sb[0].qi=b},9:function(a,b,c){hj(this,0,a,b,c)},10:function(a,b,c){ij(this,0,a,b,c)},11:function(a,b,c){kj(this,0,a,b,c)},12:function(a,b,c){lj(this,0,a,b,c)},13:function(a,b,c){mj(this,0,a,b,c)},32:function(a,b,c){uj(this,0,b,c)},33:function(a,b,c){xj(this,0,b,c)},64:function(a,
b,c){Cj(this,0,b,c)},65:function(a,b,c){Cj(this,1,b,c)},66:function(a,b,c){Cj(this,2,b,c)},67:M.prototype.hp,129:function(a,b,c){oj(this,0,2,a,b,c)},130:function(a,b,c){oj(this,0,3,a,b,c)},131:function(a,b,c){oj(this,0,1,a,b,c)},135:function(a,b,c){oj(this,0,0,a,b,c)}},Ci={96:M.prototype.ap,97:M.prototype.bp,98:M.prototype.cp,99:M.prototype.dp,160:M.prototype.$o},Ei={96:M.prototype.so,97:M.prototype.to,100:M.prototype.ro,112:M.prototype.Ho,113:M.prototype.Io,128:M.prototype.Yo,132:function(a,b,c){qj(this,
0,a,b,c)},133:function(a,b,c){qj(this,1,a,b,c)},134:function(a,b,c){qj(this,2,a,b,c)},136:function(a,b,c){qj(this,3,a,b,c)},137:function(a,b,c){oj(this,1,2,a,b,c)},138:function(a,b,c){oj(this,1,3,a,b,c)},139:function(a,b,c){oj(this,1,1,a,b,c)},140:function(a,b,c){qj(this,4,a,b,c)},141:function(a,b,c){qj(this,5,a,b,c)},142:function(a,b,c){qj(this,6,a,b,c)},143:function(a,b,c){oj(this,1,0,a,b,c)},160:function(a,b,c){uj(this,1,b,c)},161:function(a,b,c){xj(this,1,b,c)},192:function(a,b,c){dj(this,1,0,
a,b,c)},194:function(a,b,c){fj(this,1,0,a,b,c)},196:function(a,b,c){dj(this,1,1,a,b,c)},198:function(a,b,c){fj(this,1,1,a,b,c)},200:function(a,b,c){dj(this,1,2,a,b,c)},202:function(a,b,c){fj(this,1,2,a,b,c)},204:function(a,b,c){dj(this,1,3,a,b,c)},206:function(a,b,c){fj(this,1,3,a,b,c)},208:function(a,b,c){this.va(N|P)&&B(this,a,b,c,"DMA1.CMD",null,!0);this.sb[1].qi=b},210:function(a,b,c){hj(this,1,a,b,c)},212:function(a,b,c){ij(this,1,a,b,c)},214:function(a,b,c){kj(this,1,a,b,c)},216:function(a,
b,c){lj(this,1,a,b,c)},218:function(a,b,c){mj(this,1,a,b,c)},240:M.prototype.Jo,241:M.prototype.Ko};Ka(function(){for(var a=A(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new M(d);bb(d,c);Li(d)}});
function Qj(a){y.call(this,"ROM",a,Qj);this.Mb=null;this.ok=a.addr;this.ai=a.size;this.Dm=a.alias;this.Kg=a.file;this.Uk=a.notify;if(this.Kg){a=this.Kg;var b=ha(this.Kg);"json"!=b&&"hex"!=b&&(a=ua()+"/api/v1/dump?file="+this.Kg+"&format=bytes&decimal=true");ta(a,!0,null,this,Qj.prototype.mo)}}Xa(y,Qj);Qj.prototype.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;Rj(this)};Qj.prototype.ec=function(){this.ki&&(this.ka&&Sj(this.ka,this.ok,this.ai,this.ki),delete this.ki);return!0};Qj.prototype.dc=function(){return!0};
Qj.prototype.mo=function(a,b,c){if(c)this.Ia("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.Mb=e;else if(f)for(this.Mb=Array(4*f.length),c=b=0;b<f.length;b++)this.Mb[c++]=f[b]&255,this.Mb[c++]=f[b]>>8&255,this.Mb[c++]=f[b]>>16&255,this.Mb[c++]=f[b]>>24&255;else this.Mb=d;this.ki=d.symbols;if(!this.Mb.length){x("Empty ROM: "+a);return}if(1==this.Mb.length){x(this.Mb[0]);return}}catch(g){this.Ia("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Mb=Array(a.length),d=0;d<a.length;d++)this.Mb[d]=parseInt(a[d],16);Rj(this)}};function Rj(a){if(!fb(a))if(!a.Kg)a.Wa();else if(a.Mb&&a.sa){if(a.Mb.length!=a.ai)gb(a,"ROM size (0x"+p(a.Mb.length)+") does not match specified size (0x"+p(a.ai)+")");else if(Tj(a,a.ok)&&Tj(a,a.Dm)){if(a.Uk){var b=$a(a.Uk,a.id);b&&("ega"==b.Ka&&Uj(b,a.Mb,[8752,12640],8),b.Wa())}delete a.Mb}a.Wa()}}
function Tj(a,b){if(null==b)return!0;if(ob(a.sa,b,a.ai,!0)){for(var c=0;c<a.Mb.length;c++)tb(a.sa,b+c,a.Mb[c]);return!0}return!1}Ka(function(){for(var a=A(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Qj(d);bb(d,c)}});function Vj(a){y.call(this,"RAM",a,Vj);this.Zg=a.addr;this.Td=a.size;this.Sm=a.test;this.Qm=!!this.Td;this.sh=!1}Xa(y,Vj);Vj.prototype.vc=function(a,b,c){this.sa=b;this.T=c;this.pa=ib(a,"ChipSet");this.Wa()};Vj.prototype.ec=function(a,b){b||this.reset();return!0};
Vj.prototype.dc=function(){return!0};Vj.prototype.reset=function(){if(!this.Zg&&!this.Qm&&this.pa){var a=1024*Pi(this.pa);this.Td&&a!=this.Td&&(qb(this.sa,this.Zg,this.Td),this.sh=!1);this.Td=a}!this.sh&&this.Td&&ob(this.sa,this.Zg,this.Td)&&(this.sh=!0,this.status(Math.floor(this.Td/1024)+"Kb"));if(this.sh){if(this.Sm||ub(this.sa,1138,4660),this.pa&&(a=this.pa,a.ma)){var b=1048576>this.Zg?21:23,c=a.ma[b]|a.ma[b+1]<<8,c=c+(this.Td>>10);a.ma[b]=c&255;a.ma[b+1]=c>>8;Ti(a)}}else x("No RAM allocated")};
Ka(function(){for(var a=A(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Vj(d);bb(d,c)}});function Wj(a){y.call(this,"Keyboard",a,Wj,Xj);this.Ik=!1;this.ji={};this.co=250;this.eo=100;this.ld=[];this.Wa()}Xa(y,Wj);
var Q={Ip:1,Jp:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Fp:65,Gp:66,hk:67,xm:68,E:69,Mp:70,Pp:71,ik:72,Rp:73,Sp:74,Tp:75,Up:76,Vp:77,fi:78,Xp:79,Yp:80,$p:81,kk:82,dq:83,nq:84,rq:85,sq:86,tq:87,vq:88,wq:89,xq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yq:97,zq:98,Bq:99,Cq:100,Dq:101,Eq:102,Fq:103,Gq:104,Hq:105,Iq:106,Jq:107,Kq:108,
Lq:109,Mq:110,Oq:111,Pq:112,Qq:113,Rq:114,Sq:115,Tq:116,Uq:117,Vq:118,Wq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Yj={16:2,17:8,18:32,20:256,144:512,145:1024},Zj={"caps-lock":256,"num-lock":512,"scroll-lock":1024},ak={tab:1009,esc:1027,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},bk={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,
bs: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,quote:40,"`":41,shift:42,"\\":43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,"right-shift":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,"num-home":71,"num-up":72,"num-pgup":73,"num-sub":74,"num-left":75,"num-center":76,"num-right":77,"num-add":78,"num-end":79,
"num-down":80,"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},T={1027:1};T[Q["1"]]=2;T[Q["!"]]=10754;T[Q["2"]]=3;T[Q["@"]]=10755;T[Q["3"]]=4;T[Q["#"]]=10756;T[Q["4"]]=5;T[Q.$]=10757;T[Q["5"]]=6;T[Q["%"]]=10758;T[Q["6"]]=7;T[Q["^"]]=10759;
T[Q["7"]]=8;T[Q["&"]]=10760;T[Q["8"]]=9;T[Q["*"]]=10761;T[Q["9"]]=10;T[Q["("]]=10762;T[Q["0"]]=11;T[Q[")"]]=10763;T[Q["-"]]=12;T[Q._]=10764;T[Q["="]]=13;T[Q["+"]]=10765;T[1008]=14;T[1009]=15;T[113]=16;T[81]=10768;T[119]=17;T[87]=10769;T[101]=18;T[69]=10770;T[114]=19;T[82]=10771;T[116]=20;T[84]=10772;T[121]=21;T[89]=10773;T[117]=22;T[85]=10774;T[105]=23;T[73]=10775;T[111]=24;T[79]=10776;T[112]=25;T[80]=10777;T[Q["["]]=26;T[Q["{"]]=10778;T[Q["]"]]=27;T[Q["}"]]=10779;T[13]=28;T[1017]=29;T[97]=30;
T[65]=10782;T[115]=31;T[83]=10783;T[100]=32;T[68]=10784;T[102]=33;T[70]=10785;T[103]=34;T[71]=10786;T[104]=35;T[72]=10787;T[106]=36;T[74]=10788;T[107]=37;T[75]=10789;T[108]=38;T[76]=10790;T[Q[";"]]=39;T[Q[":"]]=10791;T[Q["'"]]=40;T[Q['"']]=10792;T[Q["`"]]=41;T[Q["~"]]=10793;T[1016]=42;T[Q["\\"]]=43;T[Q["|"]]=10795;T[122]=44;T[90]=10796;T[120]=45;T[88]=10797;T[99]=46;T[67]=10798;T[118]=47;T[86]=10799;T[98]=48;T[66]=10800;T[110]=49;T[78]=10801;T[109]=50;T[77]=10802;T[Q[","]]=51;T[Q["<"]]=10803;
T[Q["."]]=52;T[Q[">"]]=10804;T[Q["/"]]=53;T[Q["?"]]=10805;T[3016]=54;T[1018]=56;T[Q[" "]]=57;T[1020]=58;T[1112]=59;T[1113]=60;T[1114]=61;T[1115]=62;T[1116]=63;T[1117]=64;T[1118]=65;T[1119]=66;T[1120]=67;T[1121]=68;T[1144]=69;T[1145]=70;T[1036]=71;T[1038]=72;T[1033]=73;T[1037]=75;T[1039]=77;T[1035]=79;T[1040]=80;T[1034]=81;T[1045]=82;T[1046]=83;T[1122]=87;T[1123]=88;T[4003]=7470;T[4063]=7494;T[4081]=3677523;k=Wj.prototype;
k.Ib=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.xa[e])switch(b){case "kbd":return this.xa[e]=c,c.onkeydown=function(a){return ck(d,a,!0)},c.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:d.hb&64?d.hb&=-65:d.hb&40?b=!1:(d.Ik&&a==Q["`"]&&(a=27),b=!dk(d,a));return b},c.onkeyup=function(a){return ck(d,a,!1)},!0;case "caps-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Yc();dk(d,1020,!0)},!0;case "num-lock":return this.xa[e]=c,c.onclick=function(){d.T&&
d.T.Yc();dk(d,1144,!0)},!0;case "scroll-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Yc();dk(d,1145,!0)},!0;default:if(void 0!==ak[b]&&"button"==a)return this.xa[e]=c,c.onclick=function(a,b,c){return function(){a.T&&a.T.Yc();ek(a,c);return!dk(a,c)}}(this,b,ak[b]),!0;if(void 0!==bk[b])return this.xa[e]=c,a=function(a,b,c){return function(){fk(a,c)}}(this,b,bk[b]),b=function(a,b,c){return function(){fk(a,c)}}(this,b,bk[b]|128),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=
a,c.onmouseup=c.onmouseout=b),!0}return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.pa=ib(a,"ChipSet")};k.Wa=function(){Ca("iOS");this.Lk=Ca("Mobi");this.qb("mobile keyboard support: "+(this.Lk?"true":"false"));return y.prototype.Wa.call(this)};function Lj(a){a.qb("keyboard reset",Xj|P);a.Dc=[170];a.pa&&Nj(a.pa)}function Gj(a,b,c){var d=!1;a.Hi!==c&&(a.Hi=a.Li=c);a.vh!==b&&(a.vh=b)&&!a.Li&&Mj(a);a.vh&&a.Li&&(Lj(a),a.Li=!1,d=!0);return d}
function Ej(a,b){var c=0;a.Dc.length&&(c=a.Dc[0],a.va()&&a.qb("scan code 0x"+q(c)+" delivered"),b&&Mj(a));return c}function Mj(a,b){0<a.Dc.length&&(b?a.Dc=[]:(a.Dc.shift(),0<a.Dc.length&&a.pa&&Nj(a.pa)))}k.ec=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.oe();this.hb=0;this.Dc=[];for(var a in this.ld)!da(a)&&this.ld[a]&&(clearTimeout(this.ld[a]),this.ld[a]=null);this.gm=this.Ye=0};
k.save=function(){var a=new sd(this);a.set(0,this.ck());return a.data()};k.restore=function(a){return this.oe(a[0])};k.oe=function(a){var b=0;void 0===a&&(a=[]);this.Hi=a[b++];this.vh=a[b];return!0};k.ck=function(){var a=0,b=[];b[a++]=this.Hi;b[a]=this.vh;return b};
function fk(a,b){var c=b&127,d=c==b;if(a.Dc)if(20>a.Dc.length){if(!(!d&&!a.ji[c]||d&&a.ji[c])){a.ji[c]=d;a.va()&&a.qb("scan code 0x"+q(b)+" buffered");a.Dc.push(b);1==a.Dc.length&&a.pa&&Nj(a.pa);for(var e in bk)if(bk[e]==c){(c=a.xa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.Dc.length&&a.Dc.push(255),a.qb("scan code buffer overflow")}function gk(a,b){var c=b?a.eo:a.co;a.T&&a.T.da.ud&&(c/=a.T.da.ud);return c}
function hk(a,b){!a.Ye||void 0!==b&&b==a.Ye||(clearTimeout(a.ld[a.Ye]),ik(a,a.Ye,!1))}function jk(a,b){var c,d;for(d in Zj){var e="led-"+d,f=Zj[d];b&&b!=f||!(c=a.xa[e])||(c.style.backgroundColor=a.hb&f?"#00ff00":"#000000")}}function ek(a,b){var c;if(T[b]){var d=Math.floor(b/1E3)&2,e=Yj[Math.floor(b%1E3)]||0;e&&(d&&(e>>=1),e&1792&&(c=!(a.hb&e)),a.hb&=~e,c&&(a.hb|=e),jk(a,e))}}
function ck(a,b,c){var d,e=!c,f=b.keyCode,g=f;c&&(a.gm=f);if(T[f+1E3]){var g=g+1E3,h=Yj[f]||0;if(h)2==b.location&&(h>>=1,g+=2E3),a.hb&=~h,c&&(a.hb|=h),jk(a,h),20==f||144==f||145==f?d=dk(a,g):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.hb&40)&&(g=4063),d=c?!dk(a,g):!1}else 91==f?(a.hb&=-65,c&&(a.hb|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(g+=32):d=!0;e&&(a.hb&=-65,a.Lk||f!=a.gm||hk(a));void 0===d&&(d=!ik(a,g,c));return d}
function dk(a,b,c){var d=!1;hk(a,b);c&&ek(a,b);ik(a,b,!0)&&(c=!1,a.ld[b]&&(clearTimeout(a.ld[b]),a.ld[b]=null,c=!0),c=gk(a,c),a.ld[a.Ye=b]=setTimeout(function(a){return function(){ik(a,b,!1)}}(a),c),d=!0);return d}
function ik(a,b,c){var d=!1;c||(a.ld[b]=null,a.Ye==b&&(a.Ye=0));var e=T[b]||T[b+1E3];if(void 0!==e){14==e&&40==(a.hb&40)&&(e=83);var d=[],f=e&255;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.hb&3||a.hb&256&&b||(g=h):29==h?a.hb&12||(g=h):56==h?a.hb&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)fk(a,d[c]);d=!0}return d}
Ka(function(){for(var a=A(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Wj(d);bb(d,c)}});
function U(a,b,c,d){y.call(this,"Video",a,U,kk);this.Ka=a.model;this.cd=0;"ega"==this.Ka&&(this.om=a.switches,this.cd=a.memory||0);this.xd=a.mode;if(void 0===this.xd||void 0===lk[this.xd])this.xd=mk;this.Kh=a.charCols;this.bj=a.charRows;if(void 0===this.Kh||void 0===this.bj)this.Kh=lk[this.xd][0],this.bj=lk[this.xd][1];this.Gd=a.screenWidth;this.ke=a.screenHeight;this.Rm=a.scale;this.Pm=12<=Math.round(this.Gd/this.Kh);this.Tm=a.touchScreen;this.dg=b;this.dd=c;this.Na=(this.Ap=d)||b||null;this.pe=
null;this.Om=a.autoLock;this.Xa=this.Vb=0;this.Zd=[];this.Cd=Array(16);this.Ii=!1;var e=this;this.Na&&(this.Na.onfocus=function(){e.Ii=!0},this.Na.onblur=function(){e.Ii=!1},this.Na.yf=this.Na.requestPointerLock||this.Na.mozRequestPointerLock||this.Na.webkitRequestPointerLock,this.Na.tm=this.Na.exitPointerLock||this.Na.mozExitPointerLock||this.Na.webkitExitPointerLock,b=function(){e.Eg(document.pointerLockElement===e.Na||document.mozPointerLockElement===e.Na||document.webkitPointerLockElement===e.Na)},
"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ha(a)&&(a=ua()+"/api/v1/dump?file="+a+"&format=bytes"),ta(a,!0,null,this,this.no)}Xa(y,U);
var nk={2:{ej:15700,dj:208,Sj:85,Tj:96},3:{ej:18432,dj:364,Sj:85,Tj:96},4:{ej:21850,dj:364,Sj:85,Tj:96}},ok={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},mk=7,lk=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];lk[mk]=[80,25,1,0,1];lk[13]=[320,200,16];lk[14]=[640,200,16];lk[15]=[640,350,16];lk[16]=[640,350,16];lk[0]=lk[1];lk[2]=lk[3];lk[5]=lk[4];var pk=Array(5);pk[0]=[0,0,0,255];
pk[1]=[127,192,127,255];pk[2]=[127,192,127,255];pk[3]=[127,255,127,255];pk[4]=[127,255,127,255];var qk=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],V=Array(16);V[0]=[0,0,0,255];V[1]=[0,0,170,255];V[2]=[0,170,0,255];V[3]=[0,170,170,255];V[4]=[170,0,0,255];V[5]=[170,0,170,255];V[6]=[170,85,0,255];V[7]=[170,170,170,255];V[8]=[85,85,85,255];V[9]=[85,85,255,255];V[10]=[85,255,85,255];V[11]=[85,255,255,255];V[12]=[255,85,85,255];V[13]=[255,85,255,255];V[14]=[255,255,85,255];V[15]=[255,255,255,255];
var rk=[2,4,6],sk=[3,5,7],tk=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],uk=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],vk=[0];vk[128]=1;vk[32768]=2;vk[32896]=3;vk[8388608]=4;vk[8388736]=5;vk[8421376]=6;vk[8421504]=7;vk[2147483648]=8;vk[2147483776]=9;vk[2147516416]=10;vk[2147516544]=11;vk[2155872256]=12;vk[2155872384]=13;vk[2155905024]=14;vk[2155905152]=15;
function wk(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=xk[b],f=a.qe||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(yk)];this.ka=a.ka;this.type=e[0];this.port=e[1];this.ne=b;this.Xa=e[2];this.Vb=e[3];this.cd=d||e[4];65536<=this.cd&&720896<=this.Xa&&(this.Vb=Math.min(this.cd>>2,32768));this.ed=c[0];this.Lc=c[1];this.nf=c[2];this.Mf=c[3];this.uc=c[4]&255;this.Dh=c[4]>>8&255;this.kc=c[5];this.Vi=yk;this.$g=zk;if(5==b){this.Vi=Ak;this.$g=Bk;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.Xa,this.Vb,this.cd],Array(this.cd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.sd=b[0];this.Kd=b[1];this.Wd=b[2];this.mi=Ck;this.ci=b[3];this.og=b[4];this.Ch=b[5];this.Md=b[6];this.Tf=b[7];this.oi=Dk;this.Qi=b[8];this.Ri=b[9];this.Ld=b[10];this.Ae=b[11];this.ni=Ek;this.Kb=b[12];d=b[13];"number"==typeof d&&(d=[this.Xa,this.Vb,d]);this.Xa=d[0];this.Vb=d[1];d=this.cd>>2;if((this.nd=b[14])&&this.nd.length<d){for(var e=this.nd,g=0,h=Array(d),n=0;n<e.length-1;){for(var m=
e[n++],s=e[n++];m--;)h[g]=s,g+=2;g==d&&(g=1)}this.nd=h}this.$h(b[15]);this.Pj=b[16];this.rb=b[17];this.wd=b[18];this.Ab=b[19];this.Ph=b[20];this.te=b[21];this.We=b[22];this.Xi=b[23];this.Yi=b[24]}f=nk[f]||nk[3];this.Zi=a.T.da.vd/f.ej|0;this.io=this.Zi*f.Sj/100|0;this.bl=this.Zi*f.dj;this.ko=this.bl*f.Tj/100|0;this.fj=null==c[7]?0:c[7]}}
var yk=18,Ak=25,zk="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Bk="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
Ck="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),Dk=["RESET","CLK","MAPMASK","CHARMAP","MODE"],Ek="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function Kk(a){return this.yc(a)|this.yc(a+1)<<8}function Lk(a,b){this.Mc(a,b&255);this.Mc(a+1,b>>8&255)}
var Mk=[,,function(a){a+=this.offset;return(this.ga.Kb=this.ya[a])>>this.ga.Pj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ya[b]>>8:this.ya[b])&255}];Mk[16]=function(a){a+=this.offset;a=this.ya[a];for(var b=this.ga.Xi&this.ga.Yi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Mk[512]=function(a,b){var c=a+this.offset,d;d=this.ya[c]&~this.ga.rb|(b|b<<8|b<<16|b<<24)&this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Mk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.wd|b<<8-this.ga.wd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.We;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Mk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.wd|b<<8-this.ga.wd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.We;d&=this.ga.Kb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Mk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.wd|b<<8-this.ga.wd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.We;d|=this.ga.Kb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Mk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.wd|b<<8-this.ga.wd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.We;d^=this.ga.Kb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Mk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.rb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ya[d]&~c;c=c&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[d]!=c&&(this.ya[d]=c,this.xb=!0)};
Mk[4096]=function(a){a+=this.offset;var b=this.ya[a]&~this.ga.rb|this.ga.Kb&this.ga.rb;this.ya[a]!=b&&(this.ya[a]=b,this.xb=!0)};Mk[8192]=function(a,b){var c=a+this.offset,d=uk[b&15],d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Mk[24576]=function(a,b){var c=a+this.offset,d=uk[b&15],d=d&this.ga.Kb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Mk[40960]=function(a,b){var c=a+this.offset,d=uk[b&15],d=d|this.ga.Kb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Mk[57344]=function(a,b){var c=a+this.offset,d=uk[b&15],d=d^this.ga.Kb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
function Nk(a){var b=[];if(void 0!==a.ne){b[0]=a.ed;b[1]=a.Lc;b[2]=a.nf;b[3]=a.Mf;b[4]=a.uc|a.Dh<<8;b[5]=a.kc;if(5==a.ne){var c=[];c[0]=a.sd;c[1]=a.Kd;c[2]=a.Wd;c[3]=a.ci;c[4]=a.og;c[5]=a.Ch;c[6]=a.Md;c[7]=a.Tf;c[8]=a.Qi;c[9]=a.Ri;c[10]=a.Ld;c[11]=a.Ae;c[12]=a.Kb;c[13]=[a.Xa,a.Vb,a.cd];var d;a:if(d=a.nd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var n=d[h],m=h+2;m<d.length&&d[m]===n;)m+=2;f[e++]=m-h>>1;f[e++]=n;h=m}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Ih;c[16]=a.Pj;c[17]=a.rb;c[18]=a.wd;c[19]=a.Ab;c[20]=a.Ph;c[21]=a.te;c[22]=a.We;c[23]=a.Xi;c[24]=a.Yi;b[6]=c}b[7]=a.fj}return b}function Ok(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var n=e[g],f=f+(b+"["+q(g)+"]: "+(n+" ".substr(0,h-n.length))+q(d[g])+(g===c?"*":""))}a.ka.Z(f)}else a.ka.Z(b+": "+q(c))}
wk.prototype.$h=function(a){if(null!=a&&a!=this.Ih){var b=a&255,c=Mk[b];c||b&1&&(c=Mk[1]);var b=a&65280,d=Mk[b];d||b&256&&(d=Mk[256]);this.Yf||(this.Yf=[null,Kk,null,Lk]);this.Yf[0]=c;this.Yf[2]=d;this.Ih=a}};var xk=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=U.prototype;
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;xb(b,this,Pk);Bb(b,this,Qk);"ega"==this.Ka&&(xb(b,this,Rk),Bb(b,this,Sk));if(d){var e=this;Fi(d,kk,function(a){if(e.Ja)if(a){var b=e.Ja;if(b.nd){a=ea(a);a=void 0!==a?a-b.Xa:b.np||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Xa+a)+":",r=0;8>r&&a<b.nd.length;r++)var t=b.nd[a++],f=f+(" "+p(t));c&&(c+="\n");c+=f}c&&b.ka.Z(c);b.np=a}else b.ka.Z("no buffer")}else{e.ka.Z("BIOSMODE: "+q(e.Rd));b=e.Ja;Ok(b,"CRTC",b.uc,b.kc,b.$g);if(1==b.ne||3==b.ne)Ok(b,
" MODEREG",b.Lc),Ok(b," STATUS1",b.Mf);3==b.ne&&Ok(b," COLOR",b.nf);5==b.ne&&(b.ka.Z(" ATCDATA: "+b.sd),Ok(b," ATC",b.Kd,b.Wd,b.mi),Ok(b," GRC",b.Ld,b.Ae,b.ni),Ok(b," SEQ",b.Md,b.Tf,b.oi),Ok(b," FEAT",b.Ch),Ok(b," MISC",b.og),Ok(b," STATUS0",b.ci),Ok(b," LATCHES",b.Kb),b.ka.Z(" ACCESS: "+v(b.Ih)),b.ka.Z("Use 'dump video buffer' to dump video memory"))}else e.ka.Z("no active video card")})}if((this.Va=ib(a,"Keyboard"))&&this.dg){for(var f in this.xa)0<f.indexOf("lock")&&this.Va.Ib("led",f,
this.xa[f]);this.Va.Ib(this.Ap?"textarea":"canvas","kbd",this.Na)}this.bh=9;(this.pa=ib(a,"ChipSet"))&&this.om&&(this.bh=si(this.om,this.bh));this.Va&&this.Tm&&Tk(this)};k.Ib=function(a,b,c){var d=this;if(!this.xa[b])switch(this.xa[b]=c,b){case "lockPointer":return this.vp=c.textContent,this.Na&&this.Na.yf?c.onclick=function(){d.yf(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Pb(d,!0)},!0}return!1};k.Yc=function(){this.Na&&this.Na.focus()};
k.yf=function(a){if(this.Na)if(a){if(this.Na.yf)return this.Na.yf(),this.pe.Eg(!0),!0}else if(this.Na.tm)return this.Na.tm(),this.pe.Eg(!1),!0;return!1};k.Eg=function(a){this.pe&&(this.pe.Eg(a),this.Va&&(this.Va.Ik=a));var b=this.xa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vp)};
function Tk(a){var b=a.Na;b&&!a.Gi&&(b.addEventListener("touchstart",function(b){Uk(a,b)},!1),b.addEventListener("touchmove",function(b){Uk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Gi=!0)}
function Uk(a,b){a.Ii&&b.preventDefault();var c=0,d=0,e=a.dg;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.Gd/a.dg.offsetWidth,e=a.ke/a.dg.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.Gd/3)|0;d=(h-d)*e/(a.ke/3)|0;1!=d?d?dk(a.Va,1040,!0):dk(a.Va,1038,!0):1!=c&&(c?dk(a.Va,1039,!0):dk(a.Va,1037,!0))}
this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=this.B.hl},function(){Pe.call(this,this.L(),this.L());this.A-=this.B.kl},function(){this.cb("WAIT not implemented",Ob);this.A--},function(){G(this,zc(this));this.A-=this.B.wc},function(){Ac(this,this.Oa());this.A-=this.B.qc},function(){var a=this.H>>8;a&1?Kd(this):Fd(this);a&4?Ad(this)||(this.la^=1):Ad(this)&&(this.la^=1);a&16?Ld(this):Gd(this);a&64?Md(this):Hd(this);a&128?Nd(this):Id(this);this.A-=this.B.Ob},function(){this.H=this.H&255|(zc(this)&
213)<<8;this.A-=this.B.Ob},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.vj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.vj},function(){var a=this.L(),b=this.H;this.Qd(this.D.Zb(a,0),b);this.A-=this.B.wj},function(){var a=this.L(),b=this.H;this.Ua(this.D.Zb(a,1),b);this.A-=this.B.wj},function(){var a=1,b=0,c=this.B.xj;this.Da&192&&(a=this.J,b=1,c=this.B.zj,this.Da&256||(this.A-=this.B.yj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G);this.Qd(this.La.Zb(this.F,
0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.xj;this.Da&192&&(a=this.J,b=1,c=this.B.zj,this.Da&256||(this.A-=this.B.yj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G);this.Ua(this.La.Zb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.hj;this.Da&192&&(a=this.J,b=1,c=this.B.jj,this.Da&
256||(this.A-=this.B.ij));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.La,this.F);de.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.hj;this.Da&192&&(a=this.J,b=1,c=this.B.jj,this.Da&256||(this.A-=this.B.ij));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.La,this.F);le.call(this,e,f);this.G=this.G+d&65535;this.F=
this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){this.aa=this.la=this.qa=this.H&255&this.fa();this.ea=256;this.A-=this.B.Ve},function(){this.aa=this.la=this.qa=this.H&this.L();this.ea=65536;this.A-=this.B.Ve},function(){var a=1,b=0,c=this.B.Ij;this.Da&192&&(a=this.J,b=1,c=this.B.Kj,this.Da&256||(this.A-=this.B.Jj));if(a--){var d=this.H;this.Qd(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=
b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Ij;this.Da&192&&(a=this.J,b=1,c=this.B.Kj,this.Da&256||(this.A-=this.B.Jj));if(a--){var d=this.H;this.Ua(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.pj;this.Da&192&&(a=this.J,b=1,c=this.B.rj,this.Da&256||(this.A-=this.B.qj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ba&1024?-1:1)&65535,this.A-=c,this.J-=b,
a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.pj;this.Da&192&&(a=this.J,b=1,c=this.B.rj,this.Da&256||(this.A-=this.B.qj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ba&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Cj;this.Da&192&&(a=this.J,b=1,c=this.B.Ej,this.Da&256||(this.A-=this.B.Dj));a--&&(de.call(this,this.H&255,this.O(this.La,this.F)),this.F=this.F+(this.Ba&1024?-1:1)&65535,this.A-=
c-this.B.Fb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Cj;this.Da&192&&(a=this.J,b=1,c=this.B.Ej,this.Da&256||(this.A-=this.B.Dj));a--&&(le.call(this,this.H,this.P(this.La,this.F)),this.F=this.F+(this.Ba&1024?-2:2)&65535,this.A-=c-this.B.Fb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Ob},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Ob},function(){this.K=this.K&
-256|this.fa();this.A-=this.B.Ob},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Ob},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.H=this.L();this.A-=this.B.Ob},function(){this.J=this.L();this.A-=this.B.Ob},function(){this.K=this.L();this.A-=this.B.Ob},function(){this.C=this.L();
this.A-=this.B.Ob},function(){this.Y=this.L();this.A-=this.B.Ob},function(){this.I=this.L();this.A-=this.B.Ob},function(){this.G=this.L();this.A-=this.B.Ob},function(){this.F=this.L();this.A-=this.B.Ob},ji,ki,ji,ki,function(){L[this.fa()].call(this,af)},function(){L[this.fa()].call(this,$e)},function(){this.ba|=1;Qh[this.fa()].call(this,Je,this.fa)},function(){this.ba|=1;Rh[this.fa()].call(this,Je,this.L)},li,mi,li,mi,function(){Ud.call(this,3,null,this.B.Bl)},function(){var a=this.fa();ld(this,a)?
Ud.call(this,a,null,0):this.A--},function(){Ed(this)?Ud.call(this,4,null,this.B.Cl):this.A-=this.B.Dl},function(){this.A-=this.B.zl;if(this.fc&1&&this.Ba&16384){var a=this.ra(this.gb.Ga+0);yc.call(this.va,a,!1)}else{var a=this.va.bb,b=this.Oa(),c=this.Oa(),d=this.Oa();null!=Bc(this,b,c,!1)&&(Ac(this,d,a),this.mh&&qd(this,this.Ea))}},function(){Qh[this.fa()].call(this,Ke,Be)},function(){Rh[this.fa()].call(this,Le,Be)},function(){Qh[this.fa()].call(this,Ke,Ce)},function(){Rh[this.fa()].call(this,Le,
Ce)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.aa=this.la=b;this.A-=this.B.el},function(){var a=this.fa();this.aa=this.la=this.H=(this.H>>8)*a+this.H&255;this.ea=256;this.A-=this.B.dl},function(){this.H=this.H&-256|(zd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.cm},ni,ni,ni,ni,ni,ni,ni,ni,function(){var a=this.M();(this.J=this.J-1&65535)&&this.aa&this.ea-1?(H(this,this.wa+a),this.A-=this.B.Kl):
this.A-=this.B.sj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.aa&this.ea-1?this.A-=this.B.uj:(H(this,this.wa+a),this.A-=this.B.tj)},function(){var a=this.M();(this.J=this.J-1&65535)?(H(this,this.wa+a),this.A-=this.B.Jl):this.A-=this.B.sj},function(){var a=this.M();this.J?this.A-=this.B.uj:(H(this,this.wa+a),this.A-=this.B.tj)},function(){var a=this.fa();this.H=this.H&-256|yb(this.sa,a,this.Ea-2);this.A-=this.B.mj},function(){var a=this.fa();this.H=yb(this.sa,a,this.Ea-1)|yb(this.sa,
a+1&65535,this.Ea-2)<<8;this.A-=this.B.mj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);this.A-=this.B.Bj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);Cb(this.sa,a+1&65535,this.H>>8,this.Ea-2);this.A-=this.B.Bj},function(){var a=this.L();G(this,this.wa);H(this,this.wa+a);this.A-=this.B.il},function(){var a=this.L();H(this,this.wa+a);this.A-=this.B.nj},function(){Bc(this,this.L(),this.L());this.A-=this.B.Fl},function(){var a=this.M();H(this,this.wa+a);this.A-=this.B.nj},
function(){this.H=this.H&-256|yb(this.sa,this.K,this.Ea-1);this.A-=this.B.lj},function(){this.H=yb(this.sa,this.K,this.Ea-1)|yb(this.sa,this.K+1&65535,this.Ea-1)<<8;this.A-=this.B.lj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);this.A-=this.B.Aj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);Cb(this.sa,this.K+1&65535,this.H>>8,this.Ea-1);this.A-=this.B.Aj},oi,oi,function(){this.ba|=132;this.A-=this.B.qe},function(){this.ba|=68;this.A-=this.B.qe},function(){this.zb|=4;this.A-=2;this.ka&&
Pd(this.ka)?(yd(this,-1),this.Ib()):this.Ba&512||(this.ka&&yd(this,-1),this.Ib())},function(){zd(this)?Fd(this):Kd(this);this.A-=2},function(){this.Pb=-1;Qh[this.fa()].call(this,Ne,Ee);0<=this.Pb&&(this.H=this.Pb)},function(){this.Pb=-1;Rh[this.fa()].call(this,Oe,Ee);0<=this.Pb&&(this.H=this.Pb,this.K=this.Jg)},function(){this.aa&=~this.ea;this.A-=2},function(){this.aa|=this.ea;this.A-=2},function(){this.Ba&=-513;this.A-=this.B.gl},function(){this.Ba|=512;this.ba|=4;this.A-=2},function(){this.Ba&=
-1025;this.A-=2},function(){this.Ba|=1024;this.A-=2},function(){Qh[this.fa()].call(this,Hc,Ee)},function(){Rh[this.fa()].call(this,Ic,Ee)}],Sh=[function(){var a=this.fa();16>(a&56)&&(this.ba|=1);Rh[a].call(this,this.nk,Ee)},function(){var a=this.fa();a&16||(this.ba|=1);Rh[a].call(this,pi,Ee)},function(){L[this.fa()].call(this,df)},function(){L[this.fa()].call(this,hf)},K,function(){this.va.bb?lc.call(this,13,0,!0):(lf.call(this,this.ra(2054)),this.F=this.ra(2086),this.G=this.ra(2088),this.I=this.ra(2090),
this.Y=this.ra(2092),this.C=this.ra(2094),this.K=this.ra(2096),this.J=this.ra(2098),this.H=this.ra(2100),Cc(this.La,2102,this.ra(2084)),Cc(this.va,2108,this.ra(2082)),Cc(this.Ya,2114,this.ra(2080)),Cc(this.fb,2120,this.ra(2078)),Ac(this,this.ra(2072)),H(this,this.ra(2074)),this.Ec=this.ra(2126)|this.ra(2128)<<16,this.Be=this.Ec+this.ra(2130),Cc(this.Xc,2132,this.ra(2076)),this.Qc=this.ra(2138)|this.ra(2140)<<16,this.Ce=this.Qc+this.ra(2142),Cc(this.gb,2144,this.ra(2070)),this.A-=195)},function(){this.va.bb?
lc.call(this,13,0,!0):(this.fc&=-9,this.A-=2)},K,K,K,K,Nc,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,
K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K],rd=[function(){this.A-=2+(0>this.ja?0:1);return this.Xc.ta},function(){this.A-=2+(0>this.ja?0:1);return this.gb.ta},function(a){this.ba|=2;this.Xc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.gb.load(a)&&(this.Ua(this.gb.Ad+4,this.gb.ob|=512),this.gb.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&2048!=(this.Tb.ob&2560)&&(this.Tb.nc>=this.va.bb&&
this.Tb.nc>=(a&3)||7168==(this.Tb.ob&7168)))return Md(this),a;Hd(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&512==(this.Tb.ob&2560)&&this.Tb.nc>=this.va.bb&&this.Tb.nc>=(a&3))return Md(this),a;Hd(this);return a},J,J],Jc=[ed,ed,ed,ed,ed,ed,J,J],pi=[function(a){0>this.ja?Nc.call(this):(a=this.Be-this.Ec,this.Ua(this.ja+2,this.Ec),this.Ua(this.ja+4,65280|this.Ec>>16),this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(a=this.Ce-this.Qc,this.Ua(this.ja+
2,this.Qc),this.Ua(this.ja+4,65280|this.Qc>>16),this.A-=12);return a},function(a){0>this.ja?Nc.call(this):(this.Ec=this.ra(this.ja+2)|this.yb(this.ja+4)<<16,this.Be=this.Ec+a,this.ba|=2,this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(this.Qc=this.ra(this.ja+2)|this.yb(this.ja+4)<<16,this.Ce=this.Qc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.fc},J,function(a){lf.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},J];
function M(a){y.call(this,"ChipSet",a,M,qi);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):ri;this.gc=0;var b=a.sw1;if(b)this.gc=si(b,ti|ui.Am);else{this.Wd=[360,360];(b=a.floppies)&&b.length&&(this.Wd=b);if(b=this.Wd.length)this.gc|=vi.fi,b--,this.gc|=(b&3)<<vi.Rf;if(b=a.monitor||(this.Ka<wi?"mono":"ega"),void 0!==xi[b])this.gc|=xi[b]<<ui.Rf}this.xe=si(a.sw2||"11110000",0);this.ao=this.Ka==ri?16:64;this.kh=this.cg=1;this.Ka>=wi&&(this.kh=this.cg=2);this.je=a.scaleTimers||!1;this.yp=a.rtcDate;this.Ok=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.xi=new window.webkitAudioContext);this.reset(!0);B(this)}Wa(y,M);var ri=5150,wi=5170,xi={none:0,tv:1,color:2,mono:3,ega:0},vi={fi:1,ONE:0,sq:64,qq:128,Qp:192,Qf:192,Rf:6},ti=12,ui={rq:16,Ip:32,Am:48,Qf:48,Rf:4};k=M.prototype;
k.Hb=function(a,b,c){switch(b){case "sw1":return this.xa[b]=c,yi(this,b,c,this.gc,{0:this.Ka==ri?"Bootable Floppy Drive":"Loop on POST",1:this.Ka==ri?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ka==ri)return this.xa[b]=c,yi(this,b,c,this.xe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1};
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.Sa=ib(a,"Keyboard");this.Rh=c.da.sd/1193181;xb(b,this,zi);Bb(b,this,Ai);this.Ka<wi?(xb(b,this,Bi),Bb(b,this,Ci)):(xb(b,this,Di),Bb(b,this,Ei));if(d){var e=this;Fi(d,Qd,function(){for(var a=0;a<e.Vb.length;a++){for(var b=e.Vb[a],c="PIC"+a+":",d=0;d<b.Bc.length;d++)c+=" IC"+(d+1)+"="+q(b.Bc[d]);c+=" IMR="+q(b.nd)+" IRR="+q(b.Rb)+" ISR="+q(b.Fc)+" DELAY="+b.Ef;e.ka.Z(c)}});Fi(d,Gi,function(){for(var a=0;a<e.Kb.length;a++){Hi(e,a);var b=
e.Kb[a],c="TIMER"+a+":",d=0;if(null!=b.pd)for(var m=0;m<=b.pd;m++)d|=b.ab[m]<<8*m;c+=" mode="+b.mode+" bytes="+b.pd+" count="+s(d);e.ka.Z(c)}});Fi(d,Ii,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Ji(e,b):e.ma[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}kd(c,Ki,this,this.$n)};k.ec=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.kd=this.gc;this.cf=this.xe;Li(this);this.tb=Array(this.kh);for(b=0;b<this.kh;b++)Mi(this,b);this.Vb=Array(this.cg);Ni(this,0,32);1<this.cg&&Ni(this,1,160);this.ui=null;this.Kb=Array(3);for(b=0;b<this.Kb.length;b++)Oi(this,b);this.bg=this.si=this.Gc=this.gh=null;this.fh=0;if(this.Ka>=wi){this.pb=16;this.Cd=0;this.Bd=16;this.ah=0;this.Ee=160;512<=Pi(this)&&(this.Ee|=16);3==Qi(this)&&(this.Ee|=64);this.pi=3;this.$f=0;this.Wg=Array(7);this.Fe=0;a&&(this.ma=Array(64));Ri(this,
this.yp);for(a=21;24>=a;a++)this.ma[a]=0;for(a=14;46>a;a++)void 0===this.ma[a]&&(this.ma[a]=0);this.ma[20]=this.kd&(ui.Qf|2|vi.fi|vi.Qf);this.ma[16]=Si(this,0)<<4|Si(this,1);Ti(this)}};
function Ri(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Z("CMOS date invalid ("+b+"), using "+c)):b&&a.Z("CMOS date: "+c);a.ma[0]=c.getSeconds();a.ma[1]=0;a.ma[2]=c.getMinutes();a.ma[3]=0;a.ma[4]=c.getHours();a.ma[5]=0;a.ma[6]=c.getDay()+1;a.ma[7]=c.getDate();a.ma[8]=c.getMonth()+1;c=c.getFullYear();a.ma[9]=c%100;c/=100;a.ma[50]=c%10|c/10<<4;a.ma[10]=38;a.ma[11]=2;a.ma[12]=0;a.ma[13]=128;a.Dg=a.Gf=0;a.dm=a.Ph=null}
function Ji(a,b){var c=a.ma[b];if(10>b){var d=!1;4!=b&&5!=b||a.ma[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ma[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.ma[b]^=128);return c}function Ui(a){var b;void 0===b&&(b=a.Ph);a.Gf=D(a.T,a.je)+b;a.ma[11]&64&&Zb(a.T,b)}function Ti(a){for(var b=0,c=16;46>c;c++)b+=a.ma[c];a.ma[47]=b&255;a.ma[46]=b>>8}
k.save=function(){var a=new sd(this);a.set(0,[this.gc,this.xe,this.kd,this.cf]);for(var b=[],c=0;c<this.tb;c++){for(var d=this.tb[c],e=d,f=[],g=0;g<e.Qb.length;g++){var h=e.Qb[g];f[g]=[h.Md,h.Yg,h.hc,h.jb,h.ab,h.mode,h.hh,h.up,h.vp]}b[c]=[d.de,d.qi,d.uk,d.wb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Vb.length;c++)d=this.Vb[c],b[c]=[d.Ef,d.Bc,d.Od,d.nd,d.Rb,d.Fc,d.Ge,d.ag];a.set(2,[b]);b=[];for(c=0;c<this.Kb.length;c++)d=this.Kb[c],b[c]=[d.hc,d.Jc,d.ab,d.Ne,d.wk,d.mode,d.Zh,d.ge,d.pd,d.rd,d.kg,d.Re,d.jd];
a.set(3,[this.ui,b]);a.set(4,[this.gh,this.Gc,this.si,this.bg,this.fh]);this.Ka>=wi&&(a.set(5,[this.pb,this.Cd,this.Bd,this.ah,this.Ee,this.pi]),a.set(6,[this.$f,this.Wg,this.Fe,this.ma,this.Dg,this.Gf]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.gc=b[0];this.xe=b[1];this.kd=b[2];this.cf=b[3];b=a[1];for(c=0;c<this.kh;c++)Mi(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.cg;c++)Ni(this,c,0===c?32:160,b[0][c]);b=a[3];this.ui=b[0];for(c=0;c<this.Kb.length;c++)Oi(this,c,b[1][c]);b=a[4];this.gh=b[0];this.Gc=b[1];this.si=b[2];this.bg=b[3];this.fh=b[4];if(b=a[5])this.pb=b[0],this.Cd=b[1],this.Bd=b[2],this.ah=b[3],this.Ee=b[4],this.pi=b[5];if(b=a[6])this.$f=b[0],this.Wg=b[1],this.Fe=b[2],this.ma=b[3],
this.Dg=b[4],this.Gf=b[5],Ri(this);return!0};var Vi=[0,null,null,0,Array(4)];function Mi(a,b,c){var d=a.tb[b];d||(d={Qb:Array(4)});c=c&&5==c.length?c:Vi;d.de=c[0];d.qi=c[1];d.uk=c[2];d.wb=c[3];d.jo=b<<2;for(var e=0;e<d.Qb.length;e++)Wi(d,e,c[4][e]);a.tb[b]=d}var Xi=[!0,[0,0],[0,0],[0,0],[0,0]];
function Wi(a,b,c){var d=a.Qb[b];d||(d={Yg:[0,0],hc:[0,0],jb:[0,0],ab:[0,0]});c=c&&8==c.length?c:Xi;d.Md=c[0];d.Yg[0]=c[1][0];d.Yg[1]=c[1][1];d.hc[0]=c[2][0];d.hc[1]=c[2][1];d.jb[0]=c[3][0];d.jb[1]=c[3][1];d.ab[0]=c[4][0];d.ab[1]=c[4][1];d.mode=c[5];d.hh=c[6];d.ga=a;d.Tk=b;Yi(d,c[8],c[9]);a.Qb[b]=d}function Yi(a,b,c,d){"string"==typeof b&&(b=Ya(b));b&&(a.rh=null,a.up=b.id,a.vp=c,a.ph=b,a.Qi=b[c],a.Sh=d)}var Zi=[0,Array(4)];
function Ni(a,b,c,d){var e=a.Vb[b];e||(e={Bc:[null,null,null,null]});d=d&&8==d.length?d:Zi;e.port=c;e.Pq=b<<3;e.Ef=d[0];e.Bc[0]=d[1][0];e.Bc[1]=d[1][1];e.Bc[2]=d[1][2];e.Bc[3]=d[1][3];e.Od=d[2];e.nd=d[3];e.Rb=d[4];e.Fc=d[5];e.Ge=d[6];e.ag=d[7];a.Vb[b]=e}var $i=[[0,0],[0,0],[0,0],[0,0]];
function Oi(a,b,c){var d=a.Kb[b];d||(d={hc:[0,0],Jc:[0,0],ab:[0,0],Ne:[0,0]});c=c&&13==c.length?c:$i;d.hc[0]=c[0][0];d.hc[1]=c[0][1];d.Jc[0]=c[1][0];d.Jc[1]=c[1][1];d.ab[0]=c[2][0];d.ab[1]=c[2][1];d.Ne[0]=c[3][0];d.Ne[1]=c[3][1];d.wk=c[4];d.mode=c[5];d.Zh=c[6];d.ge=c[7];d.pd=c[8];d.rd=c[9];d.kg=c[10];d.Re=c[11];d.jd=c[12];a.Kb[b]=d}function Pi(a,b){return((((b?a.gc:a.kd)&12)>>2)+1)*a.ao+32*((b?a.xe:a.cf)&15)}function aj(a,b){var c=b?a.gc:a.kd;return a.Ka!=ri||c&vi.fi?((c&vi.Qf)>>vi.Rf)+1:0}
function Si(a,b){if(b<aj(a)){if(!a.Wd)return 1;if(b<a.Wd.length)switch(a.Wd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Qi(a,b){return((b?a.gc:a.kd)&ui.Qf)>>ui.Rf}
function yi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=z(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)null!=e&&null!=e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),bj(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");bj(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.gc=
a.gc&~e|(c?0:e);break;case "sw2":a.xe=a.xe&~e|(c?0:e)}Li(a)}}(a,b[g])}function bj(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Li(a){var b=a.xa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Pi(a,!0)+"Kb");d+=", "+c[Qi(a,!0)]+" Monitor";d+=", "+aj(a,!0)+" Floppy Drives";if(null!=a.kd&&a.kd!=a.gc||null!=a.cf&&a.cf!=a.xe)d+=" (Reset required)";b.textContent=d}}
function cj(a,b,c,d,e){var f=a.tb[b],g=f.Qb[c],h=g.jb[f.wb];a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.wb+"]",h,!0);f.wb^=1;b||0!=c||f.wb||(g.jb[0]++,255<g.jb[0]&&(g.jb[0]=0,g.jb[1]++,255<g.jb[1]&&(g.jb[1]=0)));return h}function ej(a,b,c,d,e,f){var g=a.tb[b];a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.wb+"]",null,!0);a=g.Qb[c];a.jb[g.wb]=a.Yg[g.wb]=e;g.wb^=1}
function fj(a,b,c,d,e){var f=a.tb[b],g=f.Qb[c],h=g.ab[f.wb];a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.wb+"]",h,!0);f.wb^=1;b||0!=c||f.wb||(g.ab[0]--,0>g.ab[0]&&(g.ab[0]=255,g.ab[1]--,0>g.ab[1]&&(g.ab[1]=255)));return h}function gj(a,b,c,d,e,f){var g=a.tb[b];a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.wb+"]",null,!0);a=g.Qb[c];a.ab[g.wb]=a.hc[g.wb]=e;g.wb^=1}function hj(a,b,c,d){var e=a.tb[b],f=e.de|1;e.de&=-16;a.ua(dj|N)&&A(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function ij(a,b,c,d,e){var f=a.tb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.de=f.de&~(16<<a)|(d&4)<<a+2;f.uk=d}function jj(a,b,c,d,e){var f=a.tb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Qb[b];c.Md=!!(d&4);c.Md||kj(a,f.jo+b)}function lj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MODE",null,!0);a.tb[b].Qb[d&3].mode=d}function mj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".RESET_FF",null,!0);a.tb[b].wb=0}
function nj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.tb[b];for(b=0;b<a.Qb.length;b++)Wi(a,b)}function oj(a,b,c,d,e){var f=a.tb[b].Qb[c].hh;a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function pj(a,b,c,d,e,f){a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.tb[b].Qb[c].hh=e}function qj(a,b,c,d){var e=a.Wg[b];a.ua(dj|N)&&A(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
function rj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Wg[b]=d}function sj(a,b,c,d,e){Yi(a.tb[b>>2].Qb[b&3],c,d,e)}function kj(a,b,c){b=a.tb[b>>2].Qb[b&3];b.ph&&b.Qi&&b.Sh?(c&&(b.rh=c),b.Md||Vd(a,b,!0)):c&&c(!0)}
function Vd(a,b,c){c&&(b.count=b.ab[1]<<8|b.ab[0],b.wm=b.mode&12,b.Pk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.hh<<16|b.jb[1]<<8|b.jb[0],4==b.wm?(d=!0,function(c){b.Qi.call(b.ph,b.Sh,-1,function(f,g){0>f&&(b.Pk||(b.Pk=!0),f=255);b.Md||tb(a.sa,c,f);(d=g)&&setTimeout(function(){tj(b)||Vd(a,b)},0)})}(c)):8==b.wm?(c=rb(a.sa,c),0>b.Qi.call(b.ph,b.Sh,c)&&(b.fd=!0)):b.fd=!0),!d&&!tj(b););}
function tj(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.jb[0]--,0>a.jb[0]&&(a.jb[0]=255,a.jb[1]--,0>a.jb[1]&&(a.jb[1]=255))):(a.jb[0]++,255<a.jb[0]&&(a.jb[0]=0,a.jb[1]++,255<a.jb[1]&&(a.jb[1]=0))),!a.Md))return!1;var b=a.ga;b.de=b.de&~(16<<a.Tk)|1<<a.Tk;a.mode&16||(a.Md=!0,a.ph=a.Sh=null);a.rh&&(a.rh(!a.fd),a.rh=null);return!0}function uj(a,b,c){var d=0,e=a.Vb[b];if(null!=e.ag)switch(e.ag&3){case 2:d=e.Rb;break;case 3:d=e.Fc}a.ua(Qd|N|qi)&&A(a,e.port,null,c,"PIC"+b,d,!0);return d}
function vj(a,b,c,d){var e=a.Vb[b];a.ua(Qd|N|qi)&&A(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Od=0,e.Bc[e.Od++]=c,e.nd=0,e.Ge=7,e.Rb=e.Fc=0,e.ag=10;else if(c&8)e.ag=c;else if(d=c&224,d&32){b=0;if(96==(d&96))b=1<<(c&7);else for(c=e.Ge+1;;){c&=7;d=1<<c;if(e.Fc&d){b=d;break}if(c++==e.Ge)break}e.Fc&b&&(e.Fc&=~b,wj(a))}else 192==d&&(e.Ge=c&7)}function xj(a,b,c){var d=a.Vb[b],e=d.nd;a.ua(Qd|N|qi)&&A(a,d.port+1,null,c,"PIC"+b,e,!0);return e}
function yj(a,b,c,d){var e=a.Vb[b];a.ua(Qd|N|qi)&&A(a,e.port+1,c,d,"PIC"+b,null,!0);e.Od<e.Bc.length?(e.Bc[e.Od++]=c,2==e.Od&&e.Bc[0]&2&&e.Od++,3!=e.Od||e.Bc[0]&1||e.Od++):(e.nd=c,d=a.T,d.ba|=4,wj(a,b||253!=c?0:6))}function zj(a,b,c){var d=a.Vb[b>>3];b=1<<(b&7);d.Rb&b||(d.Rb|=b,d.Ef=c||0,wj(a))}function Aj(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Rb&d&&(c.Rb&=~d,wj(a))}
function wj(a,b){var c,d=-1;1<a.cg&&(c=a.Vb[1],d=~(c.Fc|c.nd)&c.Rb);c=a.Vb[0];0<=d&&(c.Rb=d?c.Rb|4:c.Rb&-5);var d=~(c.Fc|c.nd)&c.Rb,e=a.T;e.oa&&(e.zb=d?e.zb|1:e.zb&-2);d&&b&&(c.Ef=b)}function Rd(a,b){void 0===b&&(b=0);var c=-1,d=a.Vb[b];if(d.Ef)c=-2,d.Ef--;else for(var e=d.Rb&((d.Fc|d.nd)^255),f=d.Ge+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Bc[1]+f:Rd(a,1);0<=c&&(d.Fc|=g,d.Rb&=~g);break}if(f++==d.Ge)break}return c}
function Bj(a,b,c){var d;d=a.Kb[b];d.ge==d.pd&&Cj(a,b);if(d.kg)return d.Ne[d.ge++];Hi(a,b);d=d.ab[d.ge++];a.ua(Gi|N)&&A(a,64+b,null,c,"TIMER"+b,d,!0);return d}function Dj(a,b,c,d){a.ua(Gi|N)&&A(a,64+b,c,d,"TIMER"+b,null,!0);d=a.Kb[b];d.ge==d.pd&&Cj(a,b);d.hc[d.ge++]=c;d.ge==d.pd&&(d.Re&&0!=d.mode&&8!=d.mode||(d.kg=!1,d.ab[0]=d.Jc[0]=d.hc[0],d.ab[1]=d.Jc[1]=d.hc[1],d.jd=D(a.T,a.je),d.Re=!0,d.rd=0!=d.mode,0==b&&(Aj(a,0),c=Ej(a,0)*a.Rh|0,6==d.mode&&(c>>=1),Zb(a.T,c))),2==b&&bc(a))}k=M.prototype;
k.Tn=function(a,b){A(this,a,null,b,"TIMER_CTRL",null,Gi);return null};k.jp=function(a,b,c){this.ui=b;A(this,a,b,c,"TIMER_CTRL",null,Gi);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Kb[a];e.Zh=b;e.mode=d;e.wk=c;e.hc=[0,0];e.ab=[0,0];e.Ne=[0,0];e.rd=!1;e.kg=!1;e.Re=!1;Cj(this,a);0==a&&Aj(this,0);2==a&&255==this.Vb[0].nd&&77==this.Gc&&(a=this.Kb[0],a.Jc[0]=a.hc[0],a.Jc[1]=a.hc[1],a.jd=D(this.T,this.je))}else Hi(this,a),b=this.Kb[a],b.Ne[0]=b.ab[0],b.Ne[1]=b.ab[1],b.kg=!0,Cj(this,a)}};
function Ej(a,b){var c=a.Kb[b],d=c.hc[1]<<8|c.hc[0];d||(d=1==c.pd?256:65536);return d}function dc(a,b){var c=a.Kb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.pd?256:65536);return d}function Cj(a,b){var c=a.Kb[b];c.ge=32==c.Zh?1:0;c.pd=48==c.Zh?2:1}
function Hi(a,b,c){var d=a.Kb[b];if(d.Re&&(2!=b||a.Gc&1)){var e=D(a.T,a.je),f=(e-d.jd)/a.Rh|0;0>f&&(d.jd=e,f=0);var g=Ej(a,b),h=dc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.rd=!0,d.Re=!1,b||zj(a,0))):4==d.mode?(d.rd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&zj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.rd=!d.rd,h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&zj(a,0)));d.ab[0]=h&255;d.ab[1]=h>>8;c&&(a.jd=0)}return d}
function cc(a,b){for(var c=0;c<a.Kb.length;c++)Hi(a,c,b);if(a.Ka>=wi){var c=a.T.da.sd,d=D(a.T,a.je);null==a.Ph&&(a.Dg=D(a.T,a.je),a.dm=1024,a.Ph=Math.floor(a.T.da.sd/a.dm),Ui(a));d>=a.Gf&&(a.ma[12]|=64,a.ma[11]&64&&(a.ma[12]|=128,zj(a,8)),a.Gf=d+a.Ph);a.ma[0]==a.ma[1]&&a.ma[2]==a.ma[3]&&a.ma[4]==a.ma[5]&&(a.ma[12]|=32,a.ma[11]&32&&(a.ma[12]|=128,zj(a,8)));var e=d-a.Dg,f=Math.floor(e/c);if(f&&!(a.ma[11]&128)){for(;f--;)if(60<=++a.ma[0]&&(a.ma[0]=0,60<=++a.ma[2]&&(a.ma[2]=0,24<=++a.ma[4]))){a.ma[4]=
0;a.ma[6]=a.ma[6]%7+1;var g;g=a.ma[9];var h=ra[a.ma[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ma[7]>g&&(a.ma[7]=1,12<++a.ma[8]&&(a.ma[8]=1,a.ma[9]=(a.ma[9]+1)%100))}a.ma[12]|=16;a.ma[11]&16&&(a.ma[12]|=128,zj(a,8))}a.Dg=d-e%c}}k.Ln=function(a,b){var c=this.gh;if(this.bg&16)if(this.Gc&128)c=this.kd;else if(this.Sa){var c=this.Sa,d=0;c.Wb.length&&(d=c.Wb[0]);c.ua()&&c.cb("scan code 0x"+q(d)+" delivered");c=d}A(this,a,null,b,"PPI_A",c);return c};
k.cp=function(a,b,c){A(this,a,b,c,"PPI_A");this.gh=b};k.Mn=function(a,b){var c=this.Gc;A(this,a,null,b,"PPI_B",c);return c};k.dp=function(a,b,c){A(this,a,b,c,"PPI_B");Fj(this,b);this.Sa&&Gj(this.Sa,b&128?!1:!0,b&64?!0:!1)};function Fj(a,b){var c=!!(b&2),d=!!(a.Gc&2);a.Gc=b;c!=d&&bc(a,c)}k.Nn=function(a,b){var c=0,c=this.Ka==ri?this.Gc&4?c|this.cf&15:c|this.cf>>4&1:this.Gc&8?c|this.kd>>4:c|this.kd&15;this.Gc&1&&Hi(this,2).rd&&(c=this.Gc&2?c|32:c|16);A(this,a,null,b,"PPI_C",c,qi|Fb);return c};
k.ep=function(a,b,c){A(this,a,b,c,"PPI_C");this.si=b};k.On=function(a,b){var c=this.bg;A(this,a,null,b,"PPI_CTRL",c);return c};k.fp=function(a,b,c){A(this,a,b,c,"PPI_CTRL");this.bg=b};k.an=function(a,b){var c=this.ah;A(this,a,null,b,"8042_OUTBUFF",c,Hj);this.pb&=-258;this.Sa&&Ij(this.Sa);return c};
k.uo=function(a,b,c){A(this,a,b,c,"8042_INBUF.DATA",null,Hj);if(this.pb&8)switch(this.Cd){case 96:Jj(this,b);break;case 209:Kj(this,b);break;default:if(Jj(this,this.Bd&-17),this.Sa){a=-1;switch(b){case 255:a=250,Lj(this.Sa)}Mj(this,a)}}this.Cd=b;this.pb&=-9};k.bn=function(a,b){var c=this.Gc&-209|(D(this.T)&64?16:0);A(this,a,null,b,"8042_RWREG",c,Hj);return c};k.vo=function(a,b,c){A(this,a,b,c,"8042_RWREG",null,Hj);Fj(this,b)};
k.cn=function(a,b){A(this,a,null,b,"8042_STATUS",this.pb,Hj);var c=this.pb&255;this.pb&256&&(this.pb|=1,this.pb&=-257);return c};
k.to=function(a,b,c){A(this,a,b,c,"8042_INBUFF.CMD",null,Hj);this.Cd=b;this.pb|=8;a=0;240<=this.Cd&&(a=this.Cd^15,this.Cd=240);switch(this.Cd){case 192:Mj(this,this.Ee);break;case 173:Jj(this,this.Bd|16);break;case 174:Jj(this,this.Bd&-17);this.Sa&&Ij(this.Sa);break;case 170:this.Sa&&(a=this.Sa,a.Wb=[],a.ua()&&a.cb("scan codes flushed"));Jj(this,this.Bd|16);Mj(this,85);Kj(this,3);break;case 224:Mj(this,this.Bd&16?0:1);break;case 240:a&1&&id(this.T)}};
function Jj(a,b){a.Bd=b;a.pb=a.pb&-5|b&4;a.Sa&&Gj(a.Sa,!!(b&8),!(b&16))}function Mj(a,b){0<=b&&(a.ah=b,a.pb&=-2,a.pb|=256)}function Kj(a,b){a.pi=b;nb(a.sa,!!(b&2));b&1||id(a.T)}function Nj(a,b){a.Ka<wi?zj(a,1,4):a.Bd&16||a.pb&257||(Mj(a,b),Oj(a.Sa),zj(a,1,120))}k.rn=function(a,b){A(this,a,null,b,"CMOS.ADDR",this.Fe,Ii);return this.Fe};k.Jo=function(a,b,c){A(this,a,b,c,"CMOS.ADDR",null,Ii);this.Fe=b;this.fh=b&128?0:128};
k.sn=function(a,b){var c=this.Fe&63,d=13>=c?Ji(this,c):this.ma[c];this.ua(Ii|N)&&A(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.ma[c]&=15,d&128&&Aj(this,8),d&64&&this.ma[11]&64&&Ui(this));return d};
k.Ko=function(a,b,c){var d=this.Fe&63;this.ua(Ii|N)&&A(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.ma[d];if(13>=d){if(c=b,10>d){var e=!1;this.ma[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.ma[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ma[d]=c;11==d&&a&64&&b&64&&Ui(this)};k.Jn=function(a,b){A(this,a,null,b,"MFG_DATA",this.$f);return this.$f};k.$o=function(a,b,c){A(this,a,b,c,"MFG_DATA");this.$f=b};
k.bp=function(a,b,c){A(this,a,b,c,"NMI");this.fh=b};k.Lo=function(a,b,c){A(this,a,b,c,"COPROC.CLEAR")};k.Mo=function(a,b,c){A(this,a,b,c,"COPROC.RESET")};
k.$n=function(a){if(this.ua(Pj)&&nd(this.ka,Ki,a)){var b=this.T.H>>8;od(this.T,a,function(a,d){return function(e){d=D(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,m=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+s(h)+" CL(min)="+q(g)+" DH(sec)="+q(m);else if(4==b||5==b)f=" CX(year)="+s(a.T.J)+" DH(month)="+q(m)+" DL(day)="+q(n);pd(a.ka,Ki,e,d,f)}}(this,D(this.T)))}return!0};function si(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 bc(a,b){if(a.xi){void 0!==b?a.Ok=b:b=a.Ok&&a.T&&a.T.na.mb;var c=Math.round(1193181/Ej(a,2));if(20>c||2E4<c)b=!1;b?a.wd?(a.wd.frequency.value=c,a.ua(Qj)&&a.cb("speaker set to "+c+"hz",!0)):(a.wd=a.xi.createOscillator(),a.wd.type=1,a.wd.connect(a.xi.destination),a.wd.frequency.value=c,a.ua(Qj)&&a.cb("speaker on at "+c+"hz",!0),a.wd.noteOn(0)):a.wd&&(a.wd.noteOff(0),a.wd.disconnect(),delete a.wd,a.ua(Qj)&&a.cb("speaker off at "+c+"hz",!0))}else b&&a.cb("BEEP",Qj)}
var zi={0:function(a,b){return cj(this,0,0,a,b)},1:function(a,b){return fj(this,0,0,a,b)},2:function(a,b){return cj(this,0,1,a,b)},3:function(a,b){return fj(this,0,1,a,b)},4:function(a,b){return cj(this,0,2,a,b)},5:function(a,b){return fj(this,0,2,a,b)},6:function(a,b){return cj(this,0,3,a,b)},7:function(a,b){return fj(this,0,3,a,b)},8:function(a,b){return hj(this,0,a,b)},32:function(a,b){return uj(this,0,b)},33:function(a,b){return xj(this,0,b)},64:function(a,b){return Bj(this,0,b)},65:function(a,
b){return Bj(this,1,b)},66:function(a,b){return Bj(this,2,b)},67:M.prototype.Tn,129:function(a,b){return oj(this,0,2,a,b)},130:function(a,b){return oj(this,0,3,a,b)},131:function(a,b){return oj(this,0,1,a,b)},135:function(a,b){return oj(this,0,0,a,b)}},Bi={96:M.prototype.Ln,97:M.prototype.Mn,98:M.prototype.Nn,99:M.prototype.On},Di={96:M.prototype.an,97:M.prototype.bn,100:M.prototype.cn,112:M.prototype.rn,113:M.prototype.sn,128:M.prototype.Jn,132:function(a,b){return qj(this,0,a,b)},133:function(a,
b){return qj(this,1,a,b)},134:function(a,b){return qj(this,2,a,b)},136:function(a,b){return qj(this,3,a,b)},137:function(a,b){return oj(this,1,2,a,b)},138:function(a,b){return oj(this,1,3,a,b)},139:function(a,b){return oj(this,1,1,a,b)},140:function(a,b){return qj(this,4,a,b)},141:function(a,b){return qj(this,5,a,b)},142:function(a,b){return qj(this,6,a,b)},143:function(a,b){return oj(this,1,0,a,b)},160:function(a,b){return uj(this,1,b)},161:function(a,b){return xj(this,1,b)},192:function(a,b){return cj(this,
1,0,a,b)},194:function(a,b){return fj(this,1,0,a,b)},196:function(a,b){return cj(this,1,1,a,b)},198:function(a,b){return fj(this,1,1,a,b)},200:function(a,b){return cj(this,1,2,a,b)},202:function(a,b){return fj(this,1,2,a,b)},204:function(a,b){return cj(this,1,3,a,b)},206:function(a,b){return fj(this,1,3,a,b)},208:function(a,b){return hj(this,1,a,b)}},Ai={0:function(a,b,c){ej(this,0,0,a,b,c)},1:function(a,b,c){gj(this,0,0,a,b,c)},2:function(a,b,c){ej(this,0,1,a,b,c)},3:function(a,b,c){gj(this,0,1,
a,b,c)},4:function(a,b,c){ej(this,0,2,a,b,c)},5:function(a,b,c){gj(this,0,2,a,b,c)},6:function(a,b,c){ej(this,0,3,a,b,c)},7:function(a,b,c){gj(this,0,3,a,b,c)},8:function(a,b,c){this.ua(dj|N)&&A(this,a,b,c,"DMA0.CMD",null,!0);this.tb[0].qi=b},9:function(a,b,c){ij(this,0,a,b,c)},10:function(a,b,c){jj(this,0,a,b,c)},11:function(a,b,c){lj(this,0,a,b,c)},12:function(a,b,c){mj(this,0,a,b,c)},13:function(a,b,c){nj(this,0,a,b,c)},32:function(a,b,c){vj(this,0,b,c)},33:function(a,b,c){yj(this,0,b,c)},64:function(a,
b,c){Dj(this,0,b,c)},65:function(a,b,c){Dj(this,1,b,c)},66:function(a,b,c){Dj(this,2,b,c)},67:M.prototype.jp,129:function(a,b,c){pj(this,0,2,a,b,c)},130:function(a,b,c){pj(this,0,3,a,b,c)},131:function(a,b,c){pj(this,0,1,a,b,c)},135:function(a,b,c){pj(this,0,0,a,b,c)}},Ci={96:M.prototype.cp,97:M.prototype.dp,98:M.prototype.ep,99:M.prototype.fp,160:M.prototype.bp},Ei={96:M.prototype.uo,97:M.prototype.vo,100:M.prototype.to,112:M.prototype.Jo,113:M.prototype.Ko,128:M.prototype.$o,132:function(a,b,c){rj(this,
0,a,b,c)},133:function(a,b,c){rj(this,1,a,b,c)},134:function(a,b,c){rj(this,2,a,b,c)},136:function(a,b,c){rj(this,3,a,b,c)},137:function(a,b,c){pj(this,1,2,a,b,c)},138:function(a,b,c){pj(this,1,3,a,b,c)},139:function(a,b,c){pj(this,1,1,a,b,c)},140:function(a,b,c){rj(this,4,a,b,c)},141:function(a,b,c){rj(this,5,a,b,c)},142:function(a,b,c){rj(this,6,a,b,c)},143:function(a,b,c){pj(this,1,0,a,b,c)},160:function(a,b,c){vj(this,1,b,c)},161:function(a,b,c){yj(this,1,b,c)},192:function(a,b,c){ej(this,1,0,
a,b,c)},194:function(a,b,c){gj(this,1,0,a,b,c)},196:function(a,b,c){ej(this,1,1,a,b,c)},198:function(a,b,c){gj(this,1,1,a,b,c)},200:function(a,b,c){ej(this,1,2,a,b,c)},202:function(a,b,c){gj(this,1,2,a,b,c)},204:function(a,b,c){ej(this,1,3,a,b,c)},206:function(a,b,c){gj(this,1,3,a,b,c)},208:function(a,b,c){this.ua(dj|N)&&A(this,a,b,c,"DMA1.CMD",null,!0);this.tb[1].qi=b},210:function(a,b,c){ij(this,1,a,b,c)},212:function(a,b,c){jj(this,1,a,b,c)},214:function(a,b,c){lj(this,1,a,b,c)},216:function(a,
b,c){mj(this,1,a,b,c)},218:function(a,b,c){nj(this,1,a,b,c)},240:M.prototype.Lo,241:M.prototype.Mo};Ja(function(){for(var a=z(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new M(d);bb(d,c);Li(d)}});
function Rj(a){y.call(this,"ROM",a,Rj);this.Lb=null;this.pk=a.addr;this.bi=a.size;this.Em=a.alias;this.Kg=a.file;this.Vk=a.notify;if(this.Kg){a=this.Kg;var b=ga(this.Kg);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.Kg+"&format=bytes&decimal=true");sa(a,!0,null,this,Rj.prototype.oo)}}Wa(y,Rj);Rj.prototype.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;Sj(this)};Rj.prototype.ec=function(){this.ki&&(this.ka&&Tj(this.ka,this.pk,this.bi,this.ki),delete this.ki);return!0};Rj.prototype.dc=function(){return!0};
Rj.prototype.oo=function(a,b,c){if(c)this.Ia("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.Lb=e;else if(f)for(this.Lb=Array(4*f.length),c=b=0;b<f.length;b++)this.Lb[c++]=f[b]&255,this.Lb[c++]=f[b]>>8&255,this.Lb[c++]=f[b]>>16&255,this.Lb[c++]=f[b]>>24&255;else this.Lb=d;this.ki=d.symbols;if(!this.Lb.length){w("Empty ROM: "+a);return}if(1==this.Lb.length){w(this.Lb[0]);return}}catch(g){this.Ia("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Lb=Array(a.length),d=0;d<a.length;d++)this.Lb[d]=parseInt(a[d],16);Sj(this)}};function Sj(a){if(!fb(a))if(!a.Kg)B(a);else if(a.Lb&&a.sa){if(a.Lb.length!=a.bi)gb(a,"ROM size (0x"+p(a.Lb.length)+") does not match specified size (0x"+p(a.bi)+")");else if(Uj(a,a.pk)&&Uj(a,a.Em)){if(a.Vk){var b=Ya(a.Vk,a.id);b&&("ega"==b.Ka&&Vj(b,a.Lb,[8752,12640],8),B(b))}delete a.Lb}B(a)}}
function Uj(a,b){if(null==b)return!0;if(ob(a.sa,b,a.bi,!0)){for(var c=0;c<a.Lb.length;c++)tb(a.sa,b+c,a.Lb[c]);return!0}return!1}Ja(function(){for(var a=z(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Rj(d);bb(d,c)}});function Wj(a){y.call(this,"RAM",a,Wj);this.Zg=a.addr;this.Rd=a.size;this.Tm=a.test;this.Rm=!!this.Rd;this.sh=!1}Wa(y,Wj);Wj.prototype.vc=function(a,b,c){this.sa=b;this.T=c;this.oa=ib(a,"ChipSet");B(this)};Wj.prototype.ec=function(a,b){b||this.reset();return!0};
Wj.prototype.dc=function(){return!0};Wj.prototype.reset=function(){if(!this.Zg&&!this.Rm&&this.oa){var a=1024*Pi(this.oa);this.Rd&&a!=this.Rd&&(qb(this.sa,this.Zg,this.Rd),this.sh=!1);this.Rd=a}!this.sh&&this.Rd&&ob(this.sa,this.Zg,this.Rd)&&(this.sh=!0,this.status(Math.floor(this.Rd/1024)+"Kb"));if(this.sh){if(this.Tm||ub(this.sa,1138,4660),this.oa&&(a=this.oa,a.ma)){var b=1048576>this.Zg?21:23,c=a.ma[b]|a.ma[b+1]<<8,c=c+(this.Rd>>10);a.ma[b]=c&255;a.ma[b+1]=c>>8;Ti(a)}}else w("No RAM allocated")};
Ja(function(){for(var a=z(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Wj(d);bb(d,c)}});function Xj(a){y.call(this,"Keyboard",a,Xj,Yj);this.Mk=za("Mobi");this.cb("mobile keyboard support: "+(this.Mk?"true":"false"));this.Ni=this.Jk=!1;this.Cc=[];this.fo=500;this.ho=100;this.eo=50;B(this)}Wa(y,Xj);
var O={Jp:1,Kp:3,Lp:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Gp:65,Hp:66,ik:67,ym:68,E:69,Op:70,Rp:71,jk:72,Tp:73,Up:74,Vp:75,Wp:76,Xp:77,gi:78,Zp:79,$p:80,bq:81,lk:82,fq:83,pq:84,tq:85,uq:86,vq:87,xq:88,yq:89,zq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Aq:97,Bq:98,Dq:99,Eq:100,Fq:101,Gq:102,Hq:103,Iq:104,Jq:105,Kq:106,Lq:107,
Mq:108,Nq:109,Oq:110,Qq:111,Rq:112,Sq:113,Tq:114,Uq:115,Vq:116,Wq:117,Xq:118,Yq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},P={};P[O["1"]]=O["!"];P[O["2"]]=O["@"];P[O["3"]]=O["#"];P[O["4"]]=O.$;P[O["5"]]=O["%"];P[O["6"]]=O["^"];P[O["7"]]=O["&"];P[O["8"]]=O["*"];P[O["9"]]=O["("];P[O["0"]]=O[")"];P[O["-"]]=O._;P[O["="]]=O["+"];P[O["["]]=O["{"];P[O["]"]]=O["}"];P[O[";"]]=O[":"];P[O["'"]]=O['"'];P[O["`"]]=O["~"];P[O["\\"]]=O["|"];P[O[","]]=O["<"];P[O["."]]=O[">"];P[O["/"]]=O["?"];var Zj={};
Zj[192]=O["`"];
var ak={1016:2,1017:8,1018:32,1020:256,1144:512,1145:1024},bk={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},ck={esc:1027,1:O["1"],2:O["2"],3:O["3"],4:O["4"],5:O["5"],6:O["6"],7:O["7"],8:O["8"],9:O["9"],0:O["0"],"-":O["-"],"=":O["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":O["["],"]":O["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,
g:71,h:72,j:74,k:75,l:76,";":O[";"],quote:O["'"],"`":O["`"],shift:1016,"\\":O["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":O[","],".":O["."],"/":O["/"],"right-shift":3016,prtsc:1044,alt:1018,space:O[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,
"num-ins":1045,"num-del":1046},dk={"caps-lock":256,"num-lock":512,"scroll-lock":1024},S={1027:1};S[O["1"]]=2;S[O["!"]]=10754;S[O["2"]]=3;S[O["@"]]=10755;S[O["3"]]=4;S[O["#"]]=10756;S[O["4"]]=5;S[O.$]=10757;S[O["5"]]=6;S[O["%"]]=10758;S[O["6"]]=7;S[O["^"]]=10759;S[O["7"]]=8;S[O["&"]]=10760;S[O["8"]]=9;S[O["*"]]=10761;S[O["9"]]=10;S[O["("]]=10762;S[O["0"]]=11;S[O[")"]]=10763;S[O["-"]]=12;S[O._]=10764;S[O["="]]=13;S[O["+"]]=10765;S[1008]=14;S[1009]=15;S[113]=16;S[81]=10768;S[119]=17;S[87]=10769;
S[101]=18;S[69]=10770;S[114]=19;S[82]=10771;S[116]=20;S[84]=10772;S[121]=21;S[89]=10773;S[117]=22;S[85]=10774;S[105]=23;S[73]=10775;S[111]=24;S[79]=10776;S[112]=25;S[80]=10777;S[O["["]]=26;S[O["{"]]=10778;S[O["]"]]=27;S[O["}"]]=10779;S[13]=28;S[1017]=29;S[97]=30;S[65]=10782;S[115]=31;S[83]=10783;S[100]=32;S[68]=10784;S[102]=33;S[70]=10785;S[103]=34;S[71]=10786;S[104]=35;S[72]=10787;S[106]=36;S[74]=10788;S[107]=37;S[75]=10789;S[108]=38;S[76]=10790;S[O[";"]]=39;S[O[":"]]=10791;S[O["'"]]=40;
S[O['"']]=10792;S[O["`"]]=41;S[O["~"]]=10793;S[1016]=42;S[O["\\"]]=43;S[O["|"]]=10795;S[122]=44;S[90]=10796;S[120]=45;S[88]=10797;S[99]=46;S[67]=10798;S[118]=47;S[86]=10799;S[98]=48;S[66]=10800;S[110]=49;S[78]=10801;S[109]=50;S[77]=10802;S[O[","]]=51;S[O["<"]]=10803;S[O["."]]=52;S[O[">"]]=10804;S[O["/"]]=53;S[O["?"]]=10805;S[3016]=54;S[1044]=55;S[1018]=56;S[O[" "]]=57;S[1020]=58;S[1112]=59;S[1113]=60;S[1114]=61;S[1115]=62;S[1116]=63;S[1117]=64;S[1118]=65;S[1119]=66;S[1120]=67;S[1121]=68;S[1144]=69;
S[1145]=70;S[1036]=71;S[1038]=72;S[1033]=73;S[1109]=74;S[1037]=75;S[1101]=76;S[1039]=77;S[1107]=78;S[1035]=79;S[1040]=80;S[1034]=81;S[1045]=82;S[1046]=83;S[1122]=87;S[1123]=88;S[4003]=7470;S[4008]=7494;S[4046]=3677523;k=Xj.prototype;
k.Hb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.xa[e])switch(b){case "kbd":return this.xa[e]=c,c.onkeydown=function(a){return ek(d,a,!0)},c.onkeypress=function(a){var b=!1,c=!0;a=a||window.event;a=a.which||a.keyCode;var e=d.Cc.length?d.Cc[0].we:0;e&&(65<=e&&90>=e||97<=e&&122>=e)&&(65<=a&&90>=a||97<=a&&122>=a)&&e!=a&&(d.Ni=!0,a=e);8==a||9==a?c=!1:d.hb&64?d.hb&=-65:d.hb&40?c=!1:(d.Jk&&a==O["`"]&&(a=27),c=!1,b=!0);b&&fk(d,a,!0);return c},c.onkeyup=function(a){return ek(d,a,!1)},!0;case "caps-lock":return this.xa[e]=
c,c.onclick=function(){d.T&&d.T.Yc();gk(d,1020);fk(d,1020,!0)},!0;case "num-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Yc();gk(d,1144);fk(d,1144,!0)},!0;case "scroll-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Yc();gk(d,1145);fk(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==bk[f]&&"button"==a)return this.xa[e]=c,c.onclick=function(a,b,c){return function(){a.T&&a.T.Yc();gk(a,c);fk(a,c,!0)}}(this,f,bk[f]),!0;if(void 0!==ck[b])return this.xa[e]=c,
a=function(a,b,c){return function(){fk(a,c)}}(this,b,ck[b]),b=function(a,b,c){return function(){hk(a,c)}}(this,b,ck[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function ik(a,b,c){for(var d in ck){var e;(e=ck[d]==b)||(e=b,97<=e&&122>=e&&(e-=32),e=ck[d]==e);if(e){(a=a.xa["key-"+d])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=ib(a,"ChipSet")};function Lj(a,b){a.cb("keyboard reset",Yj|N);a.Wb=[170];b&&a.oa&&Nj(a.oa,a.Wb[0])}function Gj(a,b,c){a.Hi!==c&&(a.Hi=a.Li=c);a.vh!==b&&(a.vh=b)&&!a.Li&&Oj(a,!0);a.vh&&a.Li&&(Lj(a,!0),a.Li=!1)}function Ij(a){var b=0;a.Wb.length&&(b=a.Wb[0],a.oa&&Nj(a.oa,b));a.ua()&&a.cb("scan code 0x"+q(b)+" available")}
function Oj(a,b){0<a.Wb.length&&(a.Wb.shift(),b&&(a.Wb.length&&a.oa?Nj(a.oa,a.Wb[0]):b=!1),a.ua()&&a.cb("scan codes shifted, notify "+(b?"true":"false")))}k.ec=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.me();this.hb=0;this.Wb=[]};k.save=function(){var a=new sd(this);a.set(0,this.dk());return a.data()};k.restore=function(a){return this.me(a[0])};
k.me=function(a){var b=0;void 0===a&&(a=[]);this.Hi=a[b++];this.vh=a[b];return!0};k.dk=function(){var a=0,b=[];b[a++]=this.Hi;b[a]=this.vh;return b};function gk(a,b,c){if(S[b]){var d=Math.floor(b/1E3)&2;if(b=ak[b]||0){d&&(b>>=1);void 0===c&&(c=!(a.hb&b));a.hb&=~b;c&&(a.hb|=b);c=b;var e,f;for(f in dk)d="led-"+f,b=dk[f],c&&c!=b||!(e=a.xa[d])||(e.style.backgroundColor=a.hb&b?"#00ff00":"#000000");return!0}}return!1}
function fk(a,b,c){if(S[b]&&a.T&&a.T.na.mb){for(var d,e=0;e<a.Cc.length;e++)if(d=a.Cc[e],d.we==b){if(!c||0<=d.Hf){e=-1;break}0<e&&(a.Cc[0].Hf=0,a.Cc.splice(e,1));break}0>e||(e==a.Cc.length&&(d={},d.we=b,d.hb=a.hb,ik(a,b,!0),e++),0<e&&a.Cc.splice(0,0,d),d.wh=!0,d.Hf=c?-1:ak[b]?0:1,jk(a,d))}}
function hk(a,b,c){if(S[b]&&(c||a.T&&a.T.na.mb)){for(var d=0;d<a.Cc.length;d++){var e=a.Cc[d];if(e.we==b||e.we==P[b]){a.Cc[0].Hf=0;a.Cc.splice(d,1);e.tm&&clearTimeout(e.tm);e.wh&&!c&&kk(a,e.we,!1);ik(a,b,!1);break}}!a.Cc.length&&a.Ni&&(gk(a,1020),a.Ni=!1)}}function jk(a,b){if(a.T&&a.T.na.mb){if(kk(a,b.we,b.wh),b.Hf){var c;if(0>b.Hf){if(!b.wh){hk(a,b.we);return}b.wh=!1;c=a.eo}else c=1==b.Hf++?a.fo:a.ho;b.tm=setTimeout(function(a){return function(){jk(a,b)}}(a),c)}}else hk(a,b.we,!0)}
function ek(a,b,c){var d=!0,e=!1,f=!c,g,h=b.keyCode,n=h;if(65<=h&&90>=h)a.hb&259||(n=h+32);else if(a.hb&3){if(g=P[h])n=g}else if(g=Zj[h])n=g;if(S[h+1E3])if(n+=1E3,2==b.location&&(n+=2E3),gk(a,n,c)){if(20==h||144==h||145==h)c=e=!0;f=!1}else{if(8==h||9==h||27==h)8==h&&8==(a.hb&40)&&(n=4008),d=!1}else 91==h&&(a.hb&=-65,c&&(a.hb|=64),f=!1);f&&(a.hb&=-65);a.Mk&&d||(c?fk(a,n,e):hk(a,n));return d}
function kk(a,b,c){var d=S[b]||S[b+1E3];if(void 0!==d){14==d&&40==(a.hb&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.hb&3||a.hb&256&&b||(g=h):29==h?a.hb&12||(g=h):56==h?a.hb&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Wb&&(20>d.Wb.length?(d.ua()&&d.cb("scan code 0x"+q(f)+" buffered"),d.Wb.push(f),1==d.Wb.length&&d.oa&&Nj(d.oa,f)):(20==
d.Wb.length&&d.Wb.push(255),d.cb("scan code buffer overflow")))}}Ja(function(){for(var a=z(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Xj(d);bb(d,c)}});
function T(a,b,c,d){y.call(this,"Video",a,T,lk);this.Ka=a.model;this.cd=0;"ega"==this.Ka&&(this.om=a.switches,this.cd=a.memory||0);this.ud=a.mode;if(void 0===this.ud||void 0===mk[this.ud])this.ud=nk;this.Lh=a.charCols;this.cj=a.charRows;if(void 0===this.Lh||void 0===this.cj)this.Lh=mk[this.ud][0],this.cj=mk[this.ud][1];this.Ed=a.screenWidth;this.ie=a.screenHeight;this.Sm=a.scale;this.Qm=12<=Math.round(this.Ed/this.Lh);this.Um=a.touchScreen;this.dg=b;this.dd=c;this.Na=(this.Bp=d)||b||null;this.oe=
null;this.Pm=a.autoLock;this.Wa=this.Ub=0;this.Xd=[];this.zd=Array(16);this.Ii=!1;var e=this;this.Na&&(this.Na.onfocus=function(){e.Ii=!0},this.Na.onblur=function(){e.Ii=!1},this.Na.xf=this.Na.requestPointerLock||this.Na.mozRequestPointerLock||this.Na.webkitRequestPointerLock,this.Na.um=this.Na.exitPointerLock||this.Na.mozExitPointerLock||this.Na.webkitExitPointerLock,b=function(){e.Eg(document.pointerLockElement===e.Na||document.mozPointerLockElement===e.Na||document.webkitPointerLockElement===e.Na)},
"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ga(a)&&(a=ta()+"/api/v1/dump?file="+a+"&format=bytes"),sa(a,!0,null,this,this.po)}Wa(y,T);
var ok={2:{fj:15700,ej:208,Tj:85,Uj:96},3:{fj:18432,ej:364,Tj:85,Uj:96},4:{fj:21850,ej:364,Tj:85,Uj:96}},pk={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},nk=7,mk=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];mk[nk]=[80,25,1,0,1];mk[13]=[320,200,16];mk[14]=[640,200,16];mk[15]=[640,350,16];mk[16]=[640,350,16];mk[0]=mk[1];mk[2]=mk[3];mk[5]=mk[4];var qk=Array(5);qk[0]=[0,0,0,255];
qk[1]=[127,192,127,255];qk[2]=[127,192,127,255];qk[3]=[127,255,127,255];qk[4]=[127,255,127,255];var rk=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],V=Array(16);V[0]=[0,0,0,255];V[1]=[0,0,170,255];V[2]=[0,170,0,255];V[3]=[0,170,170,255];V[4]=[170,0,0,255];V[5]=[170,0,170,255];V[6]=[170,85,0,255];V[7]=[170,170,170,255];V[8]=[85,85,85,255];V[9]=[85,85,255,255];V[10]=[85,255,85,255];V[11]=[85,255,255,255];V[12]=[255,85,85,255];V[13]=[255,85,255,255];V[14]=[255,255,85,255];V[15]=[255,255,255,255];
var sk=[2,4,6],tk=[3,5,7],uk=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],vk=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],wk=[0];wk[128]=1;wk[32768]=2;wk[32896]=3;wk[8388608]=4;wk[8388736]=5;wk[8421376]=6;wk[8421504]=7;wk[2147483648]=8;wk[2147483776]=9;wk[2147516416]=10;wk[2147516544]=11;wk[2155872256]=12;wk[2155872384]=13;wk[2155905024]=14;wk[2155905152]=15;
function xk(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=yk[b],f=a.pe||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(zk)];this.ka=a.ka;this.type=e[0];this.port=e[1];this.le=b;this.Wa=e[2];this.Ub=e[3];this.cd=d||e[4];65536<=this.cd&&720896<=this.Wa&&(this.Ub=Math.min(this.cd>>2,32768));this.ed=c[0];this.Lc=c[1];this.mf=c[2];this.Mf=c[3];this.uc=c[4]&255;this.Eh=c[4]>>8&255;this.kc=c[5];this.Wi=zk;this.$g=Ak;if(5==b){this.Wi=Bk;this.$g=Ck;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.Wa,this.Ub,this.cd],Array(this.cd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.qd=b[0];this.Id=b[1];this.Ud=b[2];this.mi=Dk;this.di=b[3];this.og=b[4];this.Dh=b[5];this.Kd=b[6];this.Tf=b[7];this.oi=Ek;this.Ri=b[8];this.Si=b[9];this.Jd=b[10];this.Ae=b[11];this.ni=Fk;this.Jb=b[12];d=b[13];"number"==typeof d&&(d=[this.Wa,this.Ub,d]);this.Wa=d[0];this.Ub=d[1];d=this.cd>>2;if((this.md=b[14])&&this.md.length<d){for(var e=this.md,g=0,h=Array(d),n=0;n<e.length-1;){for(var m=
e[n++],t=e[n++];m--;)h[g]=t,g+=2;g==d&&(g=1)}this.md=h}this.ai(b[15]);this.Qj=b[16];this.sb=b[17];this.td=b[18];this.Ab=b[19];this.Qh=b[20];this.se=b[21];this.We=b[22];this.Yi=b[23];this.Zi=b[24]}f=ok[f]||ok[3];this.$i=a.T.da.sd/f.fj|0;this.ko=this.$i*f.Tj/100|0;this.cl=this.$i*f.ej;this.mo=this.cl*f.Uj/100|0;this.gj=null==c[7]?0:c[7]}}
var zk=18,Bk=25,Ak="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Ck="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
Dk="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),Ek=["RESET","CLK","MAPMASK","CHARMAP","MODE"],Fk="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function Gk(a){return this.yc(a)|this.yc(a+1)<<8}function Mk(a,b){this.Mc(a,b&255);this.Mc(a+1,b>>8&255)}
var Nk=[,,function(a){a+=this.offset;return(this.ga.Jb=this.ya[a])>>this.ga.Qj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ya[b]>>8:this.ya[b])&255}];Nk[16]=function(a){a+=this.offset;a=this.ya[a];for(var b=this.ga.Yi&this.ga.Zi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Nk[512]=function(a,b){var c=a+this.offset,d;d=this.ya[c]&~this.ga.sb|(b|b<<8|b<<16|b<<24)&this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Nk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.se|this.ga.We;d=d&this.ga.sb|this.ya[c]&~this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Nk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.se|this.ga.We;d&=this.ga.Jb;d=d&this.ga.sb|this.ya[c]&~this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Nk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.se|this.ga.We;d|=this.ga.Jb;d=d&this.ga.sb|this.ya[c]&~this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Nk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.se|this.ga.We;d^=this.ga.Jb;d=d&this.ga.sb|this.ya[c]&~this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Nk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.sb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ya[d]&~c;c=c&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[d]!=c&&(this.ya[d]=c,this.xb=!0)};
Nk[4096]=function(a){a+=this.offset;var b=this.ya[a]&~this.ga.sb|this.ga.Jb&this.ga.sb;this.ya[a]!=b&&(this.ya[a]=b,this.xb=!0)};Nk[8192]=function(a,b){var c=a+this.offset,d=vk[b&15],d=d&this.ga.sb|this.ya[c]&~this.ga.sb,d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Nk[24576]=function(a,b){var c=a+this.offset,d=vk[b&15],d=d&this.ga.Jb,d=d&this.ga.sb|this.ya[c]&~this.ga.sb,d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
Nk[40960]=function(a,b){var c=a+this.offset,d=vk[b&15],d=d|this.ga.Jb,d=d&this.ga.sb|this.ya[c]&~this.ga.sb,d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Nk[57344]=function(a,b){var c=a+this.offset,d=vk[b&15],d=d^this.ga.Jb,d=d&this.ga.sb|this.ya[c]&~this.ga.sb,d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
function Ok(a){var b=[];if(void 0!==a.le){b[0]=a.ed;b[1]=a.Lc;b[2]=a.mf;b[3]=a.Mf;b[4]=a.uc|a.Eh<<8;b[5]=a.kc;if(5==a.le){var c=[];c[0]=a.qd;c[1]=a.Id;c[2]=a.Ud;c[3]=a.di;c[4]=a.og;c[5]=a.Dh;c[6]=a.Kd;c[7]=a.Tf;c[8]=a.Ri;c[9]=a.Si;c[10]=a.Jd;c[11]=a.Ae;c[12]=a.Jb;c[13]=[a.Wa,a.Ub,a.cd];var d;a:if(d=a.md){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var n=d[h],m=h+2;m<d.length&&d[m]===n;)m+=2;f[e++]=m-h>>1;f[e++]=n;h=m}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Jh;c[16]=a.Qj;c[17]=a.sb;c[18]=a.td;c[19]=a.Ab;c[20]=a.Qh;c[21]=a.se;c[22]=a.We;c[23]=a.Yi;c[24]=a.Zi;b[6]=c}b[7]=a.gj}return b}function Pk(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var n=e[g],f=f+(b+"["+q(g)+"]: "+(n+" ".substr(0,h-n.length))+q(d[g])+(g===c?"*":""))}a.ka.Z(f)}else a.ka.Z(b+": "+q(c))}
xk.prototype.ai=function(a){if(null!=a&&a!=this.Jh){var b=a&255,c=Nk[b];c||b&1&&(c=Nk[1]);var b=a&65280,d=Nk[b];d||b&256&&(d=Nk[256]);this.Yf||(this.Yf=[null,Gk,null,Mk]);this.Yf[0]=c;this.Yf[2]=d;this.Jh=a}};var yk=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=T.prototype;
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;xb(b,this,Qk);Bb(b,this,Rk);"ega"==this.Ka&&(xb(b,this,Sk),Bb(b,this,Tk));if(d){var e=this;Fi(d,lk,function(a){if(e.Ja)if(a){var b=e.Ja;if(b.md){a=da(a);a=void 0!==a?a-b.Wa:b.pp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Wa+a)+":",r=0;8>r&&a<b.md.length;r++)var u=b.md[a++],f=f+(" "+p(u));c&&(c+="\n");c+=f}c&&b.ka.Z(c);b.pp=a}else b.ka.Z("no buffer")}else{e.ka.Z("BIOSMODE: "+q(e.Pd));b=e.Ja;Pk(b,"CRTC",b.uc,b.kc,b.$g);if(1==b.le||3==b.le)Pk(b,
" MODEREG",b.Lc),Pk(b," STATUS1",b.Mf);3==b.le&&Pk(b," COLOR",b.mf);5==b.le&&(b.ka.Z(" ATCDATA: "+b.qd),Pk(b," ATC",b.Id,b.Ud,b.mi),Pk(b," GRC",b.Jd,b.Ae,b.ni),Pk(b," SEQ",b.Kd,b.Tf,b.oi),Pk(b," FEAT",b.Dh),Pk(b," MISC",b.og),Pk(b," STATUS0",b.di),Pk(b," LATCHES",b.Jb),b.ka.Z(" ACCESS: "+s(b.Jh)),b.ka.Z("Use 'dump video buffer' to dump video memory"))}else e.ka.Z("no active video card")})}if((this.Sa=ib(a,"Keyboard"))&&this.dg){for(var f in this.xa)0<f.indexOf("lock")&&this.Sa.Hb("led",f,
this.xa[f]);this.Sa.Hb(this.Bp?"textarea":"canvas","kbd",this.Na)}this.bh=9;(this.oa=ib(a,"ChipSet"))&&this.om&&(this.bh=si(this.om,this.bh));this.Sa&&this.Um&&Uk(this)};k.Hb=function(a,b,c){var d=this;if(!this.xa[b])switch(this.xa[b]=c,b){case "lockPointer":return this.wp=c.textContent,this.Na&&this.Na.xf?c.onclick=function(){d.xf(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Pb(d,!0)},!0}return!1};k.Yc=function(){this.Na&&this.Na.focus()};
k.xf=function(a){if(this.Na)if(a){if(this.Na.xf)return this.Na.xf(),this.oe.Eg(!0),!0}else if(this.Na.um)return this.Na.um(),this.oe.Eg(!1),!0;return!1};k.Eg=function(a){this.oe&&(this.oe.Eg(a),this.Sa&&(this.Sa.Jk=a));var b=this.xa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.wp)};
function Uk(a){var b=a.Na;b&&!a.Gi&&(b.addEventListener("touchstart",function(b){Vk(a,b)},!1),b.addEventListener("touchmove",function(b){Vk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Gi=!0)}
function Vk(a,b){a.Ii&&b.preventDefault();var c=0,d=0,e=a.dg;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.Ed/a.dg.offsetWidth,e=a.ie/a.dg.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.Ed/3)|0;d=(h-d)*e/(a.ie/3)|0;1!=d?d?fk(a.Sa,1040,!0):fk(a.Sa,1038,!0):1!=c&&(c?fk(a.Sa,1039,!0):fk(a.Sa,1037,!0))}
k.ec=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.pa&&(b=Qi(this.pa));var c=!1;if(this.Ka)switch(this.Ka){case "ega":var c=!0,d=ok[this.bh];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.qe!==b&&(this.qe=b,a=!0);this.Ja=null;this.bd=this.vi=new wk(this,1);this.Nb=this.oh=new wk(this,3);c?(this.oa=new wk(this,5,null,this.cd),Vk(this)):this.oa=new wk;Wk(this);this.Rd=null;this.xd=3==b?mk:3;this.Ke=this.Sc=-1;this.Je=0;Xk(this,this.xd);if(this.Ja.Xa&&a){a=this.Ja.Xa+this.wi;for(b=this.Ja.Xa;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.qe?(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),ub(this.sa,b,c|d<<8);Pb(this,!0)}};function Vk(a){a.oa.og&1?(a.bd=a.vi,a.Nb=a.oa):(a.bd=a.oa,a.Nb=a.oh)}k.save=function(){var a=new sd(this);a.set(0,Nk(this.vi));a.set(1,Nk(this.oh));a.set(2,[this.qe,this.xd,this.Rd]);a.set(3,Nk(this.oa));return a.data()};
k.restore=function(a){var b=a[2];this.qe=b[0];this.xd=b[1];this.Rd=b[2];this.Ja=null;this.bd=this.vi=new wk(this,1,a[0]);this.Nb=this.oh=new wk(this,3,a[1]);this.oa=new wk(this,5,a[3],this.cd);this.oa.ed&&Vk(this);Wk(this);if(!Yk(this))return!1;Zk(this);return!0};
k.no=function(a,b,c){if(c)this.Ia("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){x("Empty font ROM image: "+a);return}if(1==d.length){x(d[0]);return}if(8192==d.length)Uj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}this.Wa()}};
function $k(a,b){if(1==b)return a.Cd[0]=V[0],a.Cd[1]=V[7],a.Cd;if(2==b){var c=a.Ja.nf;if(a.Ja===a.oa){var d=a.oa.Wd[0],c=d&7;d&16&&(c|=8);18!=a.oa.Wd[1]&&(c|=32)}a.Cd[0]=V[c&15];c=c&32?sk:rk;for(d=0;d<c.length;d++)a.Cd[d+1]=V[c[d]];return a.Cd}if(a.Nb===a.oh)return V;c=null!=a.oa.Wd[15]?a.oa.Wd:tk;for(d=0;d<a.Cd.length;d++){var e=c[d]||0;a.Cd[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.Cd}function Uj(a,b,c,d){a.Xg=b;a.ii=c;a.Oe=d}
function Wk(a){var b=!1;if(window&&a.Xg){var c=a.Oe?0:2048,d=a.Oe?a.Oe:9;al(a,1,a.ii[0],c,d,14,a.Xg,pk,qk)&&(b=!0);c=$k(a);d=a.Oe?a.Oe:8;al(a,3,a.ii[1],0,d,8,a.Xg,c)&&(b=!0);a.Oe&&al(a,5,a.ii[0],0,a.Oe,14,a.Xg,c)&&(b=!0)}return b}function al(a,b,c,d,e,f,g,h,n){var m=!1;bl(a,b,c,d,e,f,g,h,n)&&(m=!0);a.Pm&&bl(a,b<<1,c,d,e,f,g,h,n)&&(m=!0);return m}
function bl(a,b,c,d,e,f,g,h,n){var m=!1,s=b&1?0:1,r=a.Zd[b];r||(r={rc:e<<s,sc:f<<s,hf:Array(h.length),nk:h.slice(),Sf:n,gi:Array(h.length)});for(n=0;n<h.length;n++){var t=h[n],w=r.hf[n]?r.nk[n]:[];if(t[0]!==w[0]||t[1]!==w[1]||t[2]!==w[2]){var m=r,w=n,u=s,C=c,R=d,O=e,ya=f,Fa=g,Za=[0,0,0,0],Tb=window.document.createElement("canvas");Tb.width=m.rc<<4;Tb.height=m.sc<<4;for(var Hc=Tb.getContext("2d"),E=void 0,S=void 0,K=void 0,na=8>ya||!R?ya:8,za=Hc.createImageData(m.rc,m.sc),E=0;256>E;E++){for(K=0;K<
ya;K++)for(var ia=m.Sf&&w&1&&K>=ya-2,aa=Fa[K<na?C+E*na+K:R+E*na+K-na],X=0;X<=u;X++)for(S=0;S<O;S++){var Ic=S<<u,nc=(K<<u)+X,Jc=ia||aa&128>>(8<=S&&176<=E&&223>=E?7:S)?t:Za;cl(za,Ic,nc,Jc);u&&cl(za,Ic+1,nc,Jc)}Hc.putImageData(za,(E&15)*m.rc,(E>>4)*m.sc)}m.hf[w]="#"+q(t[0])+q(t[1])+q(t[2]);m.nk[w]=t;m.gi[w]=Tb;m=!0}}a.Zd[b]=r;return m}function dl(a){0<a.Je||0<=a.Sc?0>a.Ke&&(a.Ke=0):a.Ke=-1}
function Zk(a){if(a.$b){for(var b=10;15>=b;b++)if(null==a.Ja.kc[b])return;var c=a.Ja.kc[10],b=c&31,d=a.Ja.kc[11]&31,e=a.Ja.kc[9]&31,f=!1;a.Ja===a.oa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)el(a);else{c=a.Ja.kc[15]+((a.Ja.kc[14]&63)<<8);a.Sc!=c&&(el(a),a.Sc=c);d=d-b+1;if(a.wm!=b||a.Ck!=d)a.wm=b,a.Ck=d;a.je=e+1;dl(a)}}}
function el(a){if(0<=a.Sc){if(void 0!==a.lc){var b=a.lc[a.Sc];if(b&131072){var b=b&-131073,c=a.Sc%a.Ob,d=Math.floor(a.Sc/a.Ob);a.$b&&a.Zd[a.$b]&&(a.of&&fl(a,c,d,b,a.of),fl(a,c,d,b));a.lc[a.Sc]=b}}a.Sc=-1}}
function gl(a){var b;a=a.Ja;var c=a.Ae[5];if(null!=c){b=2;var d=512,e=a.Ae[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.wd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.bf=function(a){var b=this.Ja;null!=a&&b&&a!=b.Ih&&(b.$h(a),this.sa.$h(b.Xa,b.Vb,b.Yf))};
function Yk(a,b){var c,d=a.Rd,e=a.Ja;if(e)if(1==e.ne)d=mk;else if(5==e.ne){var d=null,f=e.cd>>2,g=32768<f?32768:f,h=e.Ae[6];if(null!=h){switch(h&12){case 0:e.Xa=655360;e.Vb=f;d=255;break;case 4:e.Xa=655360;e.Vb=f;d=3==a.qe?15:16;break;case 8:e.Xa=720896;e.Vb=g;d=mk;break;case 12:e.Xa=753664,e.Vb=g,d=3==a.qe?2:3}c=e.Tf[1]&8;f=e.kc[6]|(e.kc[7]&1)<<8;255!=d&&(h&1?753664==e.Xa?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=gl(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||(d-=1)):(d=e.Lc&1?3:1,e.Lc&4&&(d-=
1)));else a.Rd=null,null==d&&(d=a.xd);if(!Xk(a,d,b))return!1;a.bf(c);return!0}
function Xk(a,b,c){if(null!=b&&(b!=a.Rd||c)){a.Fm=0;a.Rd=b;b=a.Ja||(b==mk?a.bd:a.Nb);if(b!=a.Ja||b.Xa!=a.Xa||b.Vb!=a.Vb){el(a);if(a.Xa){if(!qb(a.sa,a.Xa,a.Vb))return!1;a.Ja&&(a.Ja.ed=!1)}a.Ja=b;b.ed=!0;a.Xa=b.Xa;a.Vb=b.Vb;if(!ob(a.sa,b.Xa,b.Vb,!1,b===a.oa?b:null))return!1}a.$b=0;a.Ob=a.Kh;a.xc=a.bj;a.Wi=lk[mk][2];b=0;var d=lk[a.Rd];d&&(a.Ob=d[0],a.xc=d[1],a.Wi=d[2],b=d[3]||0,a.$b=d[4],4==a.qe&&a.Ja===a.oa&&3==a.$b&&(7==a.oa.kc[9]?a.xc=43:a.$b=5));a.Zk=a.Ob*a.xc;a.Jh=a.Zk/a.Wi;a.wi=(a.Jh<<1)+b;a.zk=
b?a.wi+b>>1:0;13<=a.Rd&&(a.Jh<<=1);a.Zd.length&&(a.Hd=Math.floor(a.Gd/a.Ob),a.Id=Math.floor(a.ke/a.xc),a.$b?(b=a.Zd[a.$b],d=a.Zd[a.$b<<1],a.Rm&&80==a.Ob?d&&a.Hd>=3*d.rc>>2&&(a.$b<<=1,b=d):(d&&a.Hd>=d.rc&&(a.$b<<=1,b=d),b&&(a.Hd=b.rc,a.Id=b.sc)),a.hg=a.ig=0,b&&(a.hg=a.Ob*b.rc,a.ig=a.xc*b.sc)):(a.Hd=a.Id=1,a.hg=a.Ob,a.ig=a.xc),a.Fh=a.dd.createImageData(a.hg,a.ig),a.lf=window.document.createElement("canvas"),a.lf.width=a.hg,a.lf.height=a.ig,a.of=a.lf.getContext("2d"),a.fk=a.gk=0,a.yi=a.Gd,a.zi=a.ke,
b=a.Gd-a.Ob*a.Hd,d=a.ke-a.xc*a.Id,0<b&&(a.fk=b>>1,a.yi-=b),0<d&&(a.gk=d>>1,a.zi-=d),b||d)&&(a.dd.fillStyle=a.dg.style.backgroundColor,a.dd.fillRect(0,0,a.Gd,a.ke));!1!==c?Pb(a,!0):hl(a,!0)}return!0}function cl(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 hl(a,b){var c;if(b){if(c=a.Jh,void 0===a.lc||a.lc.length!=c)a.lc=Array(c)}else{if(void 0===a.lc)return;c=a.lc.length}for(var d=0;d<c;d++)a.lc[d]=-1;a.Je=-1}
function fl(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Zd[a.$b];h.Sf&&(d=h.Sf[d]);var n=g>>4&15;h.Sf&&(n=h.Sf[n]);e?(b*=h.rc,c*=h.sc,e.fillStyle=h.hf[n],e.fillRect(b,c,h.rc,h.sc)):(b=b*a.Hd+a.fk,c=c*a.Id+a.gk,a.dd.fillStyle=h.hf[n],a.dd.fillRect(b,c,a.Hd,a.Id));g&256&&(n=(f&15)*h.rc,f=(f>>4)*h.sc,e?e.drawImage(h.gi[d],n,f,h.rc,h.sc,b,c,h.rc,h.sc):a.dd.drawImage(h.gi[d],n,f,h.rc,h.sc,b,c,a.Hd,a.Id));g&512&&(f=a.wm,g=a.Ck,e?(a.je&&a.je!==h.sc&&(f=Math.floor(f*h.sc/a.je),g=Math.floor(g*h.sc/a.je)),
e.fillStyle=h.hf[d],e.fillRect(b,c+f,h.rc,g)):(a.je&&a.je!==a.Id&&(f=Math.floor(f*a.Id/a.je),g=Math.floor(g*a.Id/a.je)),a.dd.fillStyle=h.hf[d],a.dd.fillRect(b,c+f,a.Hd,g)))}
function Pb(a,b){if(a.na.Tb){var c=!1;a.Ja&&(a.Ja===a.oa?a.oa.Kd&32&&(c=!0):a.Ja.Lc&8&&(c=!0));if(c||b){if(b)hl(a,!0);else if(void 0===a.lc)return;var d=!1;!(b||++a.Fm&15)&&0<=a.Ke&&(a.Ke++,d=!0);var e=0,f=a.Zk,c=a.Ja.Xa,g=c+a.Ja.Vb,h=(a.Ja.kc[12]<<8)+a.Ja.kc[13];a.$b&&(h<<=1);var c=c+h,n=a.wi;c+n>g&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.sa,m=!0,s=c>>h.Eb;0<n&&s<h.Ha.length;)h.Ha[s].xb&&(h.Ha[s].xb=m=!1,h.Ha[s].Gk=!0),n-=h.mc,s++;h=m}if(h){if(!d)return;if(!a.Je){if(0>a.Sc)return;e=a.Sc;f=
e+1}}if(a.$b){if(a.Zd[a.$b]){d=0;h=a.Je=0;n=1048575;a.Ja.Lc&32&&(h=32768,n&=~h,a.Ke&2||(n&=-65537));for(c+=e<<1;c<g&&e<f;)m=sb(a.sa,c),m|=65536,m&h&&(a.Je++,m&=n),e==a.Sc&&(m|=a.Ke&1?131072:0),s=a.lc[e],s!=m&&(fl(a,e%a.Ob,Math.floor(e/a.Ob),m,a.of),a.lc[e]=m,d++),c+=2,e++;d&&a.of&&a.dd.drawImage(a.lf,0,0,a.hg,a.ig,a.fk,a.gk,a.yi,a.zi);dl(a)}}else if(a.zk){for(var f=g,r,t,e=c,g=a.Je=0,d=a.Wi,h=16==d?65536:196608,n=16==d?1:2,m=$k(a,n),w=s=0,u=a.Ob,C=0,R=a.xc,O=0;e<f;){r=sb(a.sa,e);t=a.lc[g];if(t===
r)s+=d;else{a.lc[g]=r;r=r>>8|(r&255)<<8;t=h;var ya=16;s<u&&(u=s);for(var Fa=0;Fa<d;Fa++){var Za=(r&(t>>=n))>>(ya-=n);cl(a.Fh,s++,w,m[Za])}s>C&&(C=s);w<R&&(R=w);w>=O&&(O=w+1)}e+=2;g++;if(s>=a.Ob){s=0;w+=2;if(w>a.xc)break;w==a.xc&&(w=1,e=c+a.zk)}}u<a.Ob&&(a.of.putImageData(a.Fh,0,0,u,R,C-u,O-R),a.dd.drawImage(a.lf,0,0,a.Ob,a.xc,0,0,a.Gd,a.ke))}else{f=g;e=a.Je=0;g=$k(a);d=a.Ja.nd;n=h=0;m=a.Ob;s=0;w=a.xc;for(u=0;c<f;){C=c++-a.Xa;C=d[C];R=a.lc[e];if(R===C)h+=8;else{a.lc[e]=C;h<m&&(m=h);for(R=0;8>R;R++)O=
C&2155905152,0>O&&(O+=4294967296),O=vk[O]||0,cl(a.Fh,h++,n,g[O]),C<<=1;h>s&&(s=h);n<w&&(w=n);n>=u&&(u=n+1)}e++;if(h>=a.Ob&&(h=0,++n>a.xc))break}m<a.Ob&&(a.of.putImageData(a.Fh,0,0,m,w,s-m,u-w),a.dd.drawImage(a.lf,0,0,a.Ob,a.xc,0,0,a.Gd,a.ke))}}}}k.Fn=function(a,b){return il(this,this.bd,b)};k.Wo=function(a,b,c){a=this.bd;a.Dh=a.uc;a.uc=b&31;B(this,a.port,b,c,"CRTC.INDX")};k.En=function(a,b){return jl(this,this.bd,b)};k.Vo=function(a,b,c){kl(this,this.bd,b,c)};
k.Gn=function(a,b){return ll(this,this.bd,b)};k.Xo=function(a,b,c){a=this.bd;B(this,a.port+4,b,c,"MODE");a.Lc=b;Yk(this,!1)};k.Hn=function(a,b){return ml(this,this.bd,b)};k.fm=function(a,b,c){this.oa.Ch=this.oa.Ch&-4|b&3;B(this,a,b,c,"FEAT")};k.Vk=function(a,b){var c=this.oa.sd?this.oa.Wd[this.oa.Kd&31]:this.oa.Kd;this.va()&&B(this,960,null,b,"ATC."+(this.oa.sd?this.oa.mi[this.oa.Kd&31]:"INDX"),c);this.oa.sd=!this.oa.sd;return c};
k.em=function(a,b,c){var d=this.oa.Kd&32;if(this.oa.sd){var e=this.oa.Kd&31;if(16<=e||!d)this.va()&&B(this,a,b,c,"ATC."+this.oa.mi[e]),this.oa.Wd[e]=b;this.oa.sd=!1}else this.oa.Kd=b,B(this,a,b,c,"ATC.INDX"),this.oa.sd=!0,b&32&&!d&&Wk(this)&&Pb(this,!0)};k.Rn=function(a,b){var c=3-((this.oa.og&12)>>2),c=this.oa.ci&-17|(this.bh&1<<c)<<4-c;this.oa.ci=c;B(this,962,null,b,"STATUS0",c);return c};k.Zo=function(a,b,c){this.oa.og=b;Vk(this);B(this,962,b,c,"MISC")};
k.Qn=function(a,b){var c=this.oa.Md;B(this,964,null,b,"SEQ.INDX",c);return c};k.fp=function(a,b,c){this.oa.Md=b;B(this,964,b,c,"SEQ.INDX")};k.Pn=function(a,b){var c=this.oa.Tf[this.oa.Md];this.va()&&B(this,965,null,b,"SEQ"+this.oa.oi[this.oa.Md],c);return c};k.ep=function(a,b,c){this.va()&&B(this,965,b,c,"SEQ."+this.oa.oi[this.oa.Md]);this.oa.Tf[this.oa.Md]=b;2==this.oa.Md&&(this.oa.rb=uk[b&15])};k.xn=function(a,b){var c=this.oa.Qi;B(this,972,null,b,"GRC1",c);return c};
k.Qo=function(a,b,c){this.oa.Qi=b;B(this,972,b,c,"GRC1")};k.yn=function(a,b){var c=this.oa.Ri;B(this,970,null,b,"GRC2",c);return c};k.Ro=function(a,b,c){this.oa.Ri=b;B(this,970,b,c,"GRC2")};k.wn=function(a,b){var c=this.oa.Ld;B(this,974,null,b,"GRC.INDX",c);return c};k.Po=function(a,b,c){this.oa.Ld=b;B(this,974,b,c,"GRC.INDX")};k.vn=function(a,b){var c=this.oa.Ae[this.oa.Ld];this.va()&&B(this,975,null,b,"GRC."+this.oa.ni[this.oa.Ld],c);return c};
k.Oo=function(a,b,c){this.va()&&B(this,975,b,c,"GRC."+this.oa.ni[this.oa.Ld]);this.oa.Ae[this.oa.Ld]=b;switch(this.oa.Ld){case 0:this.oa.Ph=uk[b&15];this.oa.We=this.oa.Ph&~this.oa.te;break;case 1:this.oa.te=~uk[b&15];this.oa.We=this.oa.Ph&~this.oa.te;break;case 2:this.oa.Xi=uk[b&15]&2155905152;break;case 3:case 5:this.bf(gl(this));break;case 4:this.oa.Pj=(b&3)<<3;break;case 6:Yk(this,!1);break;case 7:this.oa.Yi=uk[b&15^15]&2155905152;break;case 8:this.oa.Ab=b|b<<8|b<<16|b<<24}};
k.nn=function(a,b){return il(this,this.Nb,b)};k.Fo=function(a,b,c){a=this.Nb;a.Dh=a.uc;a.uc=b&31;B(this,a.port,b,c,"CRTC.INDX")};k.mn=function(a,b){return jl(this,this.Nb,b)};k.Eo=function(a,b,c){kl(this,this.Nb,b,c)};k.on=function(a,b){return ll(this,this.Nb,b)};k.Go=function(a,b,c){a=this.Nb;B(this,a.port+4,b,c,"MODE");a.Lc=b;Yk(this,!1)};k.ln=function(a,b){var c=this.Nb.nf;this.va()&&B(this,this.Nb.port+5,null,b,this.Nb.type+".COLOR",c);return c};
k.Do=function(a,b,c){this.va()&&B(this,this.Nb.port+5,b,c,this.Nb.type+".COLOR");this.Nb.nf!==b&&(this.Nb.nf=b,hl(this,!1))};k.pn=function(a,b){return ml(this,this.Nb,b)};function il(a,b,c){var d=b.uc;B(a,b.port,null,c,"CRTC.INDX",d);return d}function jl(a,b,c){var d;b.uc<b.Vi&&(d=b.kc[b.uc]);a.va()&&B(a,b.port+1,null,c,"CRTC."+b.$g[b.uc],d);return d}function kl(a,b,c,d){b.uc<b.Vi&&(a.va()&&B(a,b.port+1,c,d,"CRTC."+b.$g[b.uc]),b.kc[b.uc]=c,9==b.uc&&8!=b.Dh&&Yk(a,!0),Zk(a))}
function ll(a,b,c){var d=b.Lc;B(a,b.port+4,null,c,"MODE",d);return d}function ml(a,b,c){var d=0,e=D(a.T),f=e-b.fj;0>f&&(f=0);f%b.Zi>b.io&&(d|=1);f%=b.bl;f>b.ko&&(d|=8);b.fj=e-f;b===a.oa?(d|=b.Mf&48^48,b.sd=!1):d=(b.Mf^=9)|240;b.Mf=d;B(a,b.port+6,null,c,b===a.oa?"STATUS1":"STATUS",d);return d}
var Pk={948:U.prototype.Fn,949:U.prototype.En,952:U.prototype.Gn,954:U.prototype.Hn,980:U.prototype.nn,981:U.prototype.mn,984:U.prototype.on,985:U.prototype.ln,986:U.prototype.pn},Qk={948:U.prototype.Wo,949:U.prototype.Vo,952:U.prototype.Xo,980:U.prototype.Fo,981:U.prototype.Eo,984:U.prototype.Go,985:U.prototype.Do},Rk={960:U.prototype.Vk,961:U.prototype.Vk,962:U.prototype.Rn,964:U.prototype.Qn,965:U.prototype.Pn,970:U.prototype.yn,972:U.prototype.xn,974:U.prototype.wn,975:U.prototype.vn},Sk={954:U.prototype.fm,
960:U.prototype.em,961:U.prototype.em,962:U.prototype.Zo,964:U.prototype.fp,965:U.prototype.ep,970:U.prototype.Ro,972:U.prototype.Qo,974:U.prototype.Po,975:U.prototype.Oo,986:U.prototype.fm};
Ka(function(){for(var a=A(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.style.backgroundColor=d.screenColor;Ca("iOS")&&(e.setAttribute("autocapitalize","off"),e.setAttribute("autocorrect","off"));e.style.height=c.style.height=
k.reset=function(){var a=!0,b=0;this.oa&&(b=Qi(this.oa));var c=!1;if(this.Ka)switch(this.Ka){case "ega":var c=!0,d=pk[this.bh];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.pe!==b&&(this.pe=b,a=!0);this.Ja=null;this.bd=this.vi=new xk(this,1);this.Mb=this.oh=new xk(this,3);c?(this.pa=new xk(this,5,null,this.cd),Wk(this)):this.pa=new xk;Xk(this);this.Pd=null;this.ud=3==b?nk:3;this.Ke=this.Sc=-1;this.Je=0;Yk(this,this.ud);if(this.Ja.Wa&&a){a=this.Ja.Wa+this.wi;for(b=this.Ja.Wa;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.pe?(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),ub(this.sa,b,c|d<<8);Pb(this,!0)}};function Wk(a){a.pa.og&1?(a.bd=a.vi,a.Mb=a.pa):(a.bd=a.pa,a.Mb=a.oh)}k.save=function(){var a=new sd(this);a.set(0,Ok(this.vi));a.set(1,Ok(this.oh));a.set(2,[this.pe,this.ud,this.Pd]);a.set(3,Ok(this.pa));return a.data()};
k.restore=function(a){var b=a[2];this.pe=b[0];this.ud=b[1];this.Pd=b[2];this.Ja=null;this.bd=this.vi=new xk(this,1,a[0]);this.Mb=this.oh=new xk(this,3,a[1]);this.pa=new xk(this,5,a[3],this.cd);this.pa.ed&&Wk(this);Xk(this);if(!Zk(this))return!1;$k(this);return!0};
k.po=function(a,b,c){if(c)this.Ia("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)Vj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}B(this)}};
function al(a,b){if(1==b)return a.zd[0]=V[0],a.zd[1]=V[7],a.zd;if(2==b){var c=a.Ja.mf;if(a.Ja===a.pa){var d=a.pa.Ud[0],c=d&7;d&16&&(c|=8);18!=a.pa.Ud[1]&&(c|=32)}a.zd[0]=V[c&15];c=c&32?tk:sk;for(d=0;d<c.length;d++)a.zd[d+1]=V[c[d]];return a.zd}if(a.Mb===a.oh)return V;c=null!=a.pa.Ud[15]?a.pa.Ud:uk;for(d=0;d<a.zd.length;d++){var e=c[d]||0;a.zd[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.zd}function Vj(a,b,c,d){a.Xg=b;a.ji=c;a.Oe=d}
function Xk(a){var b=!1;if(window&&a.Xg){var c=a.Oe?0:2048,d=a.Oe?a.Oe:9;bl(a,1,a.ji[0],c,d,14,a.Xg,qk,rk)&&(b=!0);c=al(a);d=a.Oe?a.Oe:8;bl(a,3,a.ji[1],0,d,8,a.Xg,c)&&(b=!0);a.Oe&&bl(a,5,a.ji[0],0,a.Oe,14,a.Xg,c)&&(b=!0)}return b}function bl(a,b,c,d,e,f,g,h,n){var m=!1;cl(a,b,c,d,e,f,g,h,n)&&(m=!0);a.Qm&&cl(a,b<<1,c,d,e,f,g,h,n)&&(m=!0);return m}
function cl(a,b,c,d,e,f,g,h,n){var m=!1,t=b&1?0:1,r=a.Xd[b];r||(r={rc:e<<t,sc:f<<t,gf:Array(h.length),ok:h.slice(),Sf:n,hi:Array(h.length)});for(n=0;n<h.length;n++){var u=h[n],x=r.gf[n]?r.ok[n]:[];if(u[0]!==x[0]||u[1]!==x[1]||u[2]!==x[2]){var m=r,x=n,v=t,C=c,U=d,Q=e,Aa=f,Ha=g,ab=[0,0,0,0],Vb=window.document.createElement("canvas");Vb.width=m.rc<<4;Vb.height=m.sc<<4;for(var Kc=Vb.getContext("2d"),E=void 0,R=void 0,I=void 0,pa=8>Aa||!U?Aa:8,Ba=Kc.createImageData(m.rc,m.sc),E=0;256>E;E++){for(I=0;I<
Aa;I++)for(var ka=m.Sf&&x&1&&I>=Aa-2,ca=Ha[I<pa?C+E*pa+I:U+E*pa+I-pa],Z=0;Z<=v;Z++)for(R=0;R<Q;R++){var Lc=R<<v,pc=(I<<v)+Z,Mc=ka||ca&128>>(8<=R&&176<=E&&223>=E?7:R)?u:ab;dl(Ba,Lc,pc,Mc);v&&dl(Ba,Lc+1,pc,Mc)}Kc.putImageData(Ba,(E&15)*m.rc,(E>>4)*m.sc)}m.gf[x]="#"+q(u[0])+q(u[1])+q(u[2]);m.ok[x]=u;m.hi[x]=Vb;m=!0}}a.Xd[b]=r;return m}function el(a){0<a.Je||0<=a.Sc?0>a.Ke&&(a.Ke=0):a.Ke=-1}
function $k(a){if(a.$b){for(var b=10;15>=b;b++)if(null==a.Ja.kc[b])return;var c=a.Ja.kc[10],b=c&31,d=a.Ja.kc[11]&31,e=a.Ja.kc[9]&31,f=!1;a.Ja===a.pa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)fl(a);else{c=a.Ja.kc[15]+((a.Ja.kc[14]&63)<<8);a.Sc!=c&&(fl(a),a.Sc=c);d=d-b+1;if(a.xm!=b||a.Dk!=d)a.xm=b,a.Dk=d;a.he=e+1;el(a)}}}
function fl(a){if(0<=a.Sc){if(void 0!==a.lc){var b=a.lc[a.Sc];if(b&131072){var b=b&-131073,c=a.Sc%a.Nb,d=Math.floor(a.Sc/a.Nb);a.$b&&a.Xd[a.$b]&&(a.nf&&gl(a,c,d,b,a.nf),gl(a,c,d,b));a.lc[a.Sc]=b}}a.Sc=-1}}
function hl(a){var b;a=a.Ja;var c=a.Ae[5];if(null!=c){b=2;var d=512,e=a.Ae[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.td=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.af=function(a){var b=this.Ja;null!=a&&b&&a!=b.Jh&&(b.ai(a),this.sa.ai(b.Wa,b.Ub,b.Yf))};
function Zk(a,b){var c,d=a.Pd,e=a.Ja;if(e)if(1==e.le)d=nk;else if(5==e.le){var d=null,f=e.cd>>2,g=32768<f?32768:f,h=e.Ae[6];if(null!=h){switch(h&12){case 0:e.Wa=655360;e.Ub=f;d=255;break;case 4:e.Wa=655360;e.Ub=f;d=3==a.pe?15:16;break;case 8:e.Wa=720896;e.Ub=g;d=nk;break;case 12:e.Wa=753664,e.Ub=g,d=3==a.pe?2:3}c=e.Tf[1]&8;f=e.kc[6]|(e.kc[7]&1)<<8;255!=d&&(h&1?753664==e.Wa?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=hl(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||(d-=1)):(d=e.Lc&1?3:1,e.Lc&4&&(d-=
1)));else a.Pd=null,null==d&&(d=a.ud);if(!Yk(a,d,b))return!1;a.af(c);return!0}
function Yk(a,b,c){if(null!=b&&(b!=a.Pd||c)){a.Gm=0;a.Pd=b;b=a.Ja||(b==nk?a.bd:a.Mb);if(b!=a.Ja||b.Wa!=a.Wa||b.Ub!=a.Ub){fl(a);if(a.Wa){if(!qb(a.sa,a.Wa,a.Ub))return!1;a.Ja&&(a.Ja.ed=!1)}a.Ja=b;b.ed=!0;a.Wa=b.Wa;a.Ub=b.Ub;if(!ob(a.sa,b.Wa,b.Ub,!1,b===a.pa?b:null))return!1}a.$b=0;a.Nb=a.Lh;a.xc=a.cj;a.Xi=mk[nk][2];b=0;var d=mk[a.Pd];d&&(a.Nb=d[0],a.xc=d[1],a.Xi=d[2],b=d[3]||0,a.$b=d[4],4==a.pe&&a.Ja===a.pa&&3==a.$b&&(7==a.pa.kc[9]?a.xc=43:a.$b=5));a.$k=a.Nb*a.xc;a.Kh=a.$k/a.Xi;a.wi=(a.Kh<<1)+b;a.Ak=
b?a.wi+b>>1:0;13<=a.Pd&&(a.Kh<<=1);a.Xd.length&&(a.Fd=Math.floor(a.Ed/a.Nb),a.Gd=Math.floor(a.ie/a.xc),a.$b?(b=a.Xd[a.$b],d=a.Xd[a.$b<<1],a.Sm&&80==a.Nb?d&&a.Fd>=3*d.rc>>2&&(a.$b<<=1,b=d):(d&&a.Fd>=d.rc&&(a.$b<<=1,b=d),b&&(a.Fd=b.rc,a.Gd=b.sc)),a.hg=a.ig=0,b&&(a.hg=a.Nb*b.rc,a.ig=a.xc*b.sc)):(a.Fd=a.Gd=1,a.hg=a.Nb,a.ig=a.xc),a.Gh=a.dd.createImageData(a.hg,a.ig),a.kf=window.document.createElement("canvas"),a.kf.width=a.hg,a.kf.height=a.ig,a.nf=a.kf.getContext("2d"),a.gk=a.hk=0,a.yi=a.Ed,a.zi=a.ie,
b=a.Ed-a.Nb*a.Fd,d=a.ie-a.xc*a.Gd,0<b&&(a.gk=b>>1,a.yi-=b),0<d&&(a.hk=d>>1,a.zi-=d),b||d)&&(a.dd.fillStyle=a.dg.style.backgroundColor,a.dd.fillRect(0,0,a.Ed,a.ie));!1!==c?Pb(a,!0):il(a,!0)}return!0}function dl(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 il(a,b){var c;if(b){if(c=a.Kh,void 0===a.lc||a.lc.length!=c)a.lc=Array(c)}else{if(void 0===a.lc)return;c=a.lc.length}for(var d=0;d<c;d++)a.lc[d]=-1;a.Je=-1}
function gl(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Xd[a.$b];h.Sf&&(d=h.Sf[d]);var n=g>>4&15;h.Sf&&(n=h.Sf[n]);e?(b*=h.rc,c*=h.sc,e.fillStyle=h.gf[n],e.fillRect(b,c,h.rc,h.sc)):(b=b*a.Fd+a.gk,c=c*a.Gd+a.hk,a.dd.fillStyle=h.gf[n],a.dd.fillRect(b,c,a.Fd,a.Gd));g&256&&(n=(f&15)*h.rc,f=(f>>4)*h.sc,e?e.drawImage(h.hi[d],n,f,h.rc,h.sc,b,c,h.rc,h.sc):a.dd.drawImage(h.hi[d],n,f,h.rc,h.sc,b,c,a.Fd,a.Gd));g&512&&(f=a.xm,g=a.Dk,e?(a.he&&a.he!==h.sc&&(f=Math.floor(f*h.sc/a.he),g=Math.floor(g*h.sc/a.he)),
e.fillStyle=h.gf[d],e.fillRect(b,c+f,h.rc,g)):(a.he&&a.he!==a.Gd&&(f=Math.floor(f*a.Gd/a.he),g=Math.floor(g*a.Gd/a.he)),a.dd.fillStyle=h.gf[d],a.dd.fillRect(b,c+f,a.Fd,g)))}
function Pb(a,b){if(a.na.Sb){var c=!1;a.Ja&&(a.Ja===a.pa?a.pa.Id&32&&(c=!0):a.Ja.Lc&8&&(c=!0));if(c||b){if(b)il(a,!0);else if(void 0===a.lc)return;var d=!1;!(b||++a.Gm&15)&&0<=a.Ke&&(a.Ke++,d=!0);var e=0,f=a.$k,c=a.Ja.Wa,g=c+a.Ja.Ub,h=(a.Ja.kc[12]<<8)+a.Ja.kc[13];a.$b&&(h<<=1);var c=c+h,n=a.wi;c+n>g&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.sa,m=!0,t=c>>h.Eb;0<n&&t<h.Ha.length;)h.Ha[t].xb&&(h.Ha[t].xb=m=!1,h.Ha[t].Hk=!0),n-=h.mc,t++;h=m}if(h){if(!d)return;if(!a.Je){if(0>a.Sc)return;e=a.Sc;f=
e+1}}if(a.$b){if(a.Xd[a.$b]){d=0;h=a.Je=0;n=1048575;a.Ja.Lc&32&&(h=32768,n&=~h,a.Ke&2||(n&=-65537));for(c+=e<<1;c<g&&e<f;)m=sb(a.sa,c),m|=65536,m&h&&(a.Je++,m&=n),e==a.Sc&&(m|=a.Ke&1?131072:0),t=a.lc[e],t!=m&&(gl(a,e%a.Nb,Math.floor(e/a.Nb),m,a.nf),a.lc[e]=m,d++),c+=2,e++;d&&a.nf&&a.dd.drawImage(a.kf,0,0,a.hg,a.ig,a.gk,a.hk,a.yi,a.zi);el(a)}}else if(a.Ak){for(var f=g,r,u,e=c,g=a.Je=0,d=a.Xi,h=16==d?65536:196608,n=16==d?1:2,m=al(a,n),x=t=0,v=a.Nb,C=0,U=a.xc,Q=0;e<f;){r=sb(a.sa,e);u=a.lc[g];if(u===
r)t+=d;else{a.lc[g]=r;r=r>>8|(r&255)<<8;u=h;var Aa=16;t<v&&(v=t);for(var Ha=0;Ha<d;Ha++){var ab=(r&(u>>=n))>>(Aa-=n);dl(a.Gh,t++,x,m[ab])}t>C&&(C=t);x<U&&(U=x);x>=Q&&(Q=x+1)}e+=2;g++;if(t>=a.Nb){t=0;x+=2;if(x>a.xc)break;x==a.xc&&(x=1,e=c+a.Ak)}}v<a.Nb&&(a.nf.putImageData(a.Gh,0,0,v,U,C-v,Q-U),a.dd.drawImage(a.kf,0,0,a.Nb,a.xc,0,0,a.Ed,a.ie))}else{f=g;e=a.Je=0;g=al(a);d=a.Ja.md;n=h=0;m=a.Nb;t=0;x=a.xc;for(v=0;c<f;){C=c++-a.Wa;C=d[C];U=a.lc[e];if(U===C)h+=8;else{a.lc[e]=C;h<m&&(m=h);for(U=0;8>U;U++)Q=
C&2155905152,0>Q&&(Q+=4294967296),Q=wk[Q]||0,dl(a.Gh,h++,n,g[Q]),C<<=1;h>t&&(t=h);n<x&&(x=n);n>=v&&(v=n+1)}e++;if(h>=a.Nb&&(h=0,++n>a.xc))break}m<a.Nb&&(a.nf.putImageData(a.Gh,0,0,m,x,t-m,v-x),a.dd.drawImage(a.kf,0,0,a.Nb,a.xc,0,0,a.Ed,a.ie))}}}}k.Gn=function(a,b){return jl(this,this.bd,b)};k.Yo=function(a,b,c){a=this.bd;a.Eh=a.uc;a.uc=b&31;A(this,a.port,b,c,"CRTC.INDX")};k.Fn=function(a,b){return kl(this,this.bd,b)};k.Xo=function(a,b,c){ll(this,this.bd,b,c)};
k.Hn=function(a,b){return ml(this,this.bd,b)};k.Zo=function(a,b,c){a=this.bd;A(this,a.port+4,b,c,"MODE");a.Lc=b;Zk(this,!1)};k.In=function(a,b){return nl(this,this.bd,b)};k.gm=function(a,b,c){this.pa.Dh=this.pa.Dh&-4|b&3;A(this,a,b,c,"FEAT")};k.Wk=function(a,b){var c=this.pa.qd?this.pa.Ud[this.pa.Id&31]:this.pa.Id;this.ua()&&A(this,960,null,b,"ATC."+(this.pa.qd?this.pa.mi[this.pa.Id&31]:"INDX"),c);this.pa.qd=!this.pa.qd;return c};
k.fm=function(a,b,c){var d=this.pa.Id&32;if(this.pa.qd){var e=this.pa.Id&31;if(16<=e||!d)this.ua()&&A(this,a,b,c,"ATC."+this.pa.mi[e]),this.pa.Ud[e]=b;this.pa.qd=!1}else this.pa.Id=b,A(this,a,b,c,"ATC.INDX"),this.pa.qd=!0,b&32&&!d&&Xk(this)&&Pb(this,!0)};k.Sn=function(a,b){var c=3-((this.pa.og&12)>>2),c=this.pa.di&-17|(this.bh&1<<c)<<4-c;this.pa.di=c;A(this,962,null,b,"STATUS0",c);return c};k.ap=function(a,b,c){this.pa.og=b;Wk(this);A(this,962,b,c,"MISC")};
k.Rn=function(a,b){var c=this.pa.Kd;A(this,964,null,b,"SEQ.INDX",c);return c};k.hp=function(a,b,c){this.pa.Kd=b;A(this,964,b,c,"SEQ.INDX")};k.Qn=function(a,b){var c=this.pa.Tf[this.pa.Kd];this.ua()&&A(this,965,null,b,"SEQ"+this.pa.oi[this.pa.Kd],c);return c};k.gp=function(a,b,c){this.ua()&&A(this,965,b,c,"SEQ."+this.pa.oi[this.pa.Kd]);this.pa.Tf[this.pa.Kd]=b;2==this.pa.Kd&&(this.pa.sb=vk[b&15])};k.yn=function(a,b){var c=this.pa.Ri;A(this,972,null,b,"GRC1",c);return c};
k.So=function(a,b,c){this.pa.Ri=b;A(this,972,b,c,"GRC1")};k.zn=function(a,b){var c=this.pa.Si;A(this,970,null,b,"GRC2",c);return c};k.To=function(a,b,c){this.pa.Si=b;A(this,970,b,c,"GRC2")};k.xn=function(a,b){var c=this.pa.Jd;A(this,974,null,b,"GRC.INDX",c);return c};k.Ro=function(a,b,c){this.pa.Jd=b;A(this,974,b,c,"GRC.INDX")};k.wn=function(a,b){var c=this.pa.Ae[this.pa.Jd];this.ua()&&A(this,975,null,b,"GRC."+this.pa.ni[this.pa.Jd],c);return c};
k.Qo=function(a,b,c){this.ua()&&A(this,975,b,c,"GRC."+this.pa.ni[this.pa.Jd]);this.pa.Ae[this.pa.Jd]=b;switch(this.pa.Jd){case 0:this.pa.Qh=vk[b&15];this.pa.We=this.pa.Qh&~this.pa.se;break;case 1:this.pa.se=~vk[b&15];this.pa.We=this.pa.Qh&~this.pa.se;break;case 2:this.pa.Yi=vk[b&15]&2155905152;break;case 3:case 5:this.af(hl(this));break;case 4:this.pa.Qj=(b&3)<<3;break;case 6:Zk(this,!1);break;case 7:this.pa.Zi=vk[b&15^15]&2155905152;break;case 8:this.pa.Ab=b|b<<8|b<<16|b<<24}};
k.on=function(a,b){return jl(this,this.Mb,b)};k.Ho=function(a,b,c){a=this.Mb;a.Eh=a.uc;a.uc=b&31;A(this,a.port,b,c,"CRTC.INDX")};k.nn=function(a,b){return kl(this,this.Mb,b)};k.Go=function(a,b,c){ll(this,this.Mb,b,c)};k.pn=function(a,b){return ml(this,this.Mb,b)};k.Io=function(a,b,c){a=this.Mb;A(this,a.port+4,b,c,"MODE");a.Lc=b;Zk(this,!1)};k.mn=function(a,b){var c=this.Mb.mf;this.ua()&&A(this,this.Mb.port+5,null,b,this.Mb.type+".COLOR",c);return c};
k.Fo=function(a,b,c){this.ua()&&A(this,this.Mb.port+5,b,c,this.Mb.type+".COLOR");this.Mb.mf!==b&&(this.Mb.mf=b,il(this,!1))};k.qn=function(a,b){return nl(this,this.Mb,b)};function jl(a,b,c){var d=b.uc;A(a,b.port,null,c,"CRTC.INDX",d);return d}function kl(a,b,c){var d;b.uc<b.Wi&&(d=b.kc[b.uc]);a.ua()&&A(a,b.port+1,null,c,"CRTC."+b.$g[b.uc],d);return d}function ll(a,b,c,d){b.uc<b.Wi&&(a.ua()&&A(a,b.port+1,c,d,"CRTC."+b.$g[b.uc]),b.kc[b.uc]=c,9==b.uc&&8!=b.Eh&&Zk(a,!0),$k(a))}
function ml(a,b,c){var d=b.Lc;A(a,b.port+4,null,c,"MODE",d);return d}function nl(a,b,c){var d=0,e=D(a.T),f=e-b.gj;0>f&&(f=0);f%b.$i>b.ko&&(d|=1);f%=b.cl;f>b.mo&&(d|=8);b.gj=e-f;b===a.pa?(d|=b.Mf&48^48,b.qd=!1):d=(b.Mf^=9)|240;b.Mf=d;A(a,b.port+6,null,c,b===a.pa?"STATUS1":"STATUS",d);return d}
var Qk={948:T.prototype.Gn,949:T.prototype.Fn,952:T.prototype.Hn,954:T.prototype.In,980:T.prototype.on,981:T.prototype.nn,984:T.prototype.pn,985:T.prototype.mn,986:T.prototype.qn},Rk={948:T.prototype.Yo,949:T.prototype.Xo,952:T.prototype.Zo,980:T.prototype.Ho,981:T.prototype.Go,984:T.prototype.Io,985:T.prototype.Fo},Sk={960:T.prototype.Wk,961:T.prototype.Wk,962:T.prototype.Sn,964:T.prototype.Rn,965:T.prototype.Qn,970:T.prototype.zn,972:T.prototype.yn,974:T.prototype.xn,975:T.prototype.wn},Tk={954:T.prototype.gm,
960:T.prototype.fm,961:T.prototype.fm,962:T.prototype.ap,964:T.prototype.hp,965:T.prototype.gp,970:T.prototype.To,972:T.prototype.So,974:T.prototype.Ro,975:T.prototype.Qo,986:T.prototype.gm};
Ja(function(){for(var a=z(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=$a(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;za("iOS")&&(e.setAttribute("autocapitalize","off"),e.setAttribute("autocorrect","off"));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=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");c.style.clear="both";c.style.position="relative";
c.appendChild(f);var g=e.getContext("2d"),d=new U(d,e,g,f);bb(d,c)}});function nl(a){this.Rk=a.adapter;switch(this.Rk){case 1:this.Uj=1016;this.wg=4;break;case 2:this.Uj=760;this.wg=3;break;default:x("Unrecognized serial adapter #"+this.Rk);return}this.he=null;y.call(this,"SerialPort",a,nl,ol);var b=a.binding,c;a=pl;b&&(void 0===c&&(c="Panel"),(c=ab(c,this.id))&&(b=c.xa[b])&&this.Ib(null,a,b))}Xa(y,nl);var pl="buffer";k=nl.prototype;k.pk=function(a,b){return a==this.Eh?(this.pe=b,this):null};
k.Ib=function(a,b,c){var d=this;switch(b){case pl:return this.xa[b]=this.he=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),ql(d,[b]))},c.onkeypress=function(a){a=a||window.event;ql(d,[a.which||a.keyCode])},!0}return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.pa=ib(a,"ChipSet");xb(b,this,rl,this.Uj);Bb(b,this,sl,this.Uj);this.Wa()};
k.ec=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.oe()};k.save=function(){var a=new sd(this),b=0,c=[];c[b++]=this.ti;c[b++]=this.uk;c[b++]=this.ef;c[b++]=this.dh;c[b++]=this.de;c[b++]=this.ad;c[b++]=this.qd;c[b++]=this.Rc;c[b++]=this.sk;c[b]=this.Vf;a.set(0,c);return a.data()};k.restore=function(a){return this.oe(a[0])};
k.oe=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ti=a[b++];this.uk=a[b++];this.ef=a[b++];this.dh=a[b++];this.de=a[b++];this.ad=a[b++];this.qd=a[b++];this.Rc=a[b++];this.sk=a[b++];this.Vf=a[b];return!0};function ql(a,b){a.Vf=a.Vf.concat(b);tl(a)}function tl(a){0<a.Vf.length&&!(a.Rc&1)&&(a.ti=a.Vf.shift(),a.Rc|=1);var b=-1;a.Rc&1&&a.dh&1&&(b=4);0<=b?(a.de&=-8,a.de|=b,a.pa&&a.wg&&yj(a.pa,a.wg)):(a.de|=1,a.pa&&a.wg&&zj(a.pa,a.wg))}
k.On=function(a,b){var c=this.ad&128?this.ef&255:this.ti;B(this,a,null,b,this.ad&128?"DLL":"RBR",c);this.Rc&=-2;tl(this);return c};k.zn=function(a,b){var c=this.ad&128?this.ef>>8:this.dh;B(this,a,null,b,this.ad&128?"DLM":"IER",c);return c};k.An=function(a,b){var c=this.de;B(this,a,null,b,"IIR",c);return c};k.Bn=function(a,b){var c=this.ad;B(this,a,null,b,"LCR",c);return c};k.Dn=function(a,b){var c=this.qd;B(this,a,null,b,"MCR",c);return c};
k.Cn=function(a,b){var c=this.Rc;B(this,a,null,b,"LSR",c);return c};k.Jn=function(a,b){var c=this.sk;B(this,a,null,b,"MSR",c);return c};k.gp=function(a,b,c){B(this,a,b,c,this.ad&128?"DLL":"THR");this.ad&128?this.ef=this.ef&-256|b:(this.uk=b,this.Rc&=-97,this.he?(13!=b&&(8==b?this.he.value=this.he.value.slice(0,-1):(this.he.value+=String.fromCharCode(b),this.he.scrollTop=this.he.scrollHeight)),a=!0):a=!1,a&&(this.Rc|=96))};
k.So=function(a,b,c){B(this,a,b,c,this.ad&128?"DLM":"IER");this.ad&128?this.ef=this.ef&255|b<<8:this.dh=b};k.To=function(a,b,c){B(this,a,b,c,"LCR");this.ad=b};
k.Uo=function(a,b,c){var d=this.qd;B(this,a,b,c,"MCR");this.qd=b;this.pe&&(d^b)&3&&(a=this.pe,b=this.qd,(c=3==(b&3))?a.ed||(d=!1,a.qd&2||(a.reset(),a.qb("serial mouse reset"),d=!0),a.qd&1||(a.qb("serial mouse ID requested"),d=!0),d&&(ql(a.eg,[77,77]),a.qb("serial mouse ID sent")),ul(a,a.Na),a.setActive(c)):a.ed&&(a.qb("serial mouse inactive"),vl(a.Na),a.setActive(c)),a.qd=b)};
var rl={0:nl.prototype.On,1:nl.prototype.zn,2:nl.prototype.An,3:nl.prototype.Bn,4:nl.prototype.Dn,5:nl.prototype.Cn,6:nl.prototype.Jn},sl={0:nl.prototype.gp,1:nl.prototype.So,3:nl.prototype.To,4:nl.prototype.Uo};Ka(function(){for(var a=A(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new nl(d);bb(d,c)}});function wl(a){y.call(this,"Mouse",a,wl,xl);if(this.Si=a.serial)this.Xj="SerialPort";this.setActive(!1);this.wh=!1;this.Wa()}Xa(y,wl);k=wl.prototype;
k.vc=function(a,b,c,d){this.Ma=a;this.sa=b;this.T=c;this.ka=d;this.di=ib(this.Ma,"Video")};k.setActive=function(a){this.ed=a};k.ec=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Xj&&!this.eg){for(var c=null;(c=ib(this.Ma,this.Xj,c))&&(!c.pk||!(this.eg=c.pk(this.Si,this))););this.eg?this.di&&(c=this.di,c.pe=this,this.Na=c.Na):x(this.id+": "+this.Xj+" "+this.Si+" unavailable")}this.ed?ul(this,this.Na):vl(this.Na)}return!0};
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.oe()};k.save=function(){var a=new sd(this);a.set(0,this.ck());return a.data()};k.restore=function(a){return this.oe(a[0])};k.oe=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Pg=a[b++];this.Qg=a[b++];this.ff=a[b++];this.gf=a[b++];this.th=a[b++];this.uh=a[b++];this.qd=a[b];return!0};
k.ck=function(){var a=0,b=[];b[a++]=this.ed;b[a++]=this.Pg;b[a++]=this.Qg;b[a++]=this.ff;b[a++]=this.gf;b[a++]=this.th;b[a++]=this.uh;b[a]=this.qd;return b};k.Eg=function(a){this.wh=a};
function ul(a,b){b&&(a.Gi||(b.addEventListener("mousemove",function(b){if(a.ed&&a.T&&a.T.na.Fb){if(0>a.Pg||0>a.Qg)a.Pg=b.clientX,a.Qg=b.clientY;a.wh?(a.ff=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.gf=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ff=b.clientX-a.Pg,a.gf=b.clientY-a.Qg);(a.ff||a.gf)&&yl(a,null,b.clientX,b.clientY);a.Pg=b.clientX;a.Qg=b.clientY}},!1),b.addEventListener("mousedown",function(b){zl(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){zl(a,b.button,
!1)},!1),a.Gi=!0),b.style.cursor="none")}function vl(a){a&&(a.style.cursor="auto")}function zl(a,b,c){if(a.ed&&a.T&&a.T.na.Fb){var d;!(d=!1!==a.wh)&&(d=a.di)&&(d=a.di,d=d.Om?d.yf(!0):!1);d||(a.wh=null);switch(b){case 0:a.th!=c&&(a.th=c,yl(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.uh!=c&&(a.uh=c,yl(a,"mouse button2 "+(c?"dn":"up")))}}}
function yl(a,b,c,d){var e=64|(a.th?32:0)|(a.uh?16:0)|(a.gf&192)>>4|(a.ff&192)>>6,f=a.ff&63,g=a.gf&63;a.va(ol)&&a.qb((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+q(e)+","+q(f)+","+q(g)+"]",0,!0);ql(a.eg,[e,f,g]);a.ff=a.gf=0}Ka(function(){for(var a=A(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new wl(d);bb(d,c)}});
function Al(a,b,c){y.call(this,"Disk",{id:a.Tk+".disk"+Bl++},Al,Cl);this.ga=a;this.Ma=a.Ma;this.ka=a.ka;this.Ra=b;this.yd=b.name;this.tf=b.tf;this.xh=this.Jd=!1;this.create(c,b.Bb,b.Cb,b.Hb,b.pb);this.ze=[];this.Tg=[];this.Ud=null;this.Yk=0;this.Ni=!1;this.Wa()}var Bl=0;Xa(y,Al);k=Al.prototype;k.vc=function(a,b,c,d){this.ka=d};k.ec=function(a,b){b||!this.xh||this.Jd||(this.Wa(!1),this.load(this.yd,this.$e,null,this.Nm,this));return!0};k.Nm=function(){this.Wa(!0)};
k.dc=function(a,b){if(this.Jd){var c,d=0;if(this.Ni&&!va("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Dl(this,!1);)if(d=c[0]){this.ga.Ia('Unable to save "'+this.yd+'" (error '+d+")");break}b&&this.Jd&&(c="action=close&volume="+this.$e,c+="&machine="+this.ga.vf(),c+="&user="+this.ga.me(),ta(ua()+"/api/v1/disk?"+c,!0),this.Jd=!1);!d&&a&&this.ga.Ia(this.yd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.Bb=b;this.Cb=c;this.Hb=d;this.pb=e;this.ib=[];if("preload"!=this.mode){a=Array(this.Bb);for(b=0;b<a.length;b++){c=Array(this.Cb);for(d=0;d<c.length;d++){e=Array(this.Hb);for(var f=1;f<=e.length;f++)e[f-1]=El(null,b,d,f,this.pb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.ib=a}this.pf=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.Se)if(this.yd=a,this.$e=b,this.Se=d,this.Hm=e||this.ga,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ca[c];if(d){g.Bb=d[0];g.Cb=d[1];g.Hb=d[2];g.pb=512;b=g.pb>>2;var e=d=0,a=new DataView(a,0,c);g.ib=Array(g.Bb);for(c=0;c<g.ib.length;c++)for(var f=g.ib[c]=Array(g.Cb),u=0;u<f.length;u++)for(var C=f[u]=Array(g.Hb),R=0;R<C.length;R++){for(var O=El(null,c,u,R+1,g.pb,0),ya=O.data,Fa=0;Fa<b;Fa++,e+=4)var Za=ya[Fa]=a.getInt32(e,
!0),d=d+Za&4294967295;O.Hc=b;C[R]=O}g.pf=d;b=g}else g.Ia("Unrecognized diskette format ("+c+" bytes)");g.Se&&(g.Se.call(g.ga,g.Ra,b,g.yd,g.$e),g.Se=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Fl(this,b),this.xh=!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"),f=
ua()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.tf?"":d)+"&format=json")),ta(f,!0,null,this,this.Lm,b)};
k.Lm=function(a,b,c,d){var e=null;this.uf=!1;var f=0>c&&this.Ma&&!this.Ma.na.Tb;if(this.xh)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Jd=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.yd+'" (error '+c+")",f);else try{if(0<ga(a,!0).toLowerCase().indexOf("-readonly"))this.uf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.uf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.yd]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)x(h[0]);else{this.Bb=h.length;this.Cb=h[0].length;this.Hb=h[0][0].length;var n=h[0][0][0];this.pb=n&&n.length||512;for(b=a=0;b<this.Bb;b++)for(c=0;c<this.Cb;c++)for(d=0;d<this.Hb;d++)if(n=h[b][c][d]){var m=n.length;void 0===m&&(m=n.length=512);var m=m>>2,s=n.pattern;void 0===s&&(s=n.pattern=0);var r=n.data;if(void 0===r){var t=n.bytes;if(void 0!==t&&t.length){for(var f=
m<<2,w=t.length;w<f;w++)t[w]=s;this.fill(n,t,0)}else r=[],s=n.pattern=s|s<<8|s<<16|s<<24,n.data=r;delete n.bytes}El(n,b,c);for(f=0;f<r.length;f++)a=a+r[f]&4294967295}this.ib=h;this.pf=a;e=this}else x("Empty disk image: "+this.yd)}catch(u){x("Disk image error: "+u.message)}this.Se&&(this.Se.call(this.Hm,this.Ra,e,this.yd,this.$e),this.Se=null)};function El(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Xm=b;a.Zm=c;a.gd=a.Hc=0;a.xb=!1;return a}
k.lo=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var n=0;h--;){var m=this.seek(e,f,g,!0);if(!m)break;this.fill(m,b,n);n+=m.length;g++}}(d=d[5])&&d(c,a)};function Fl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.Cb+":"+a.Hb+":"+a.pb;c+="&machine="+a.ga.vf();c+="&user="+a.ga.me();return ua()+"/api/v1/disk?"+c}
function Gl(a,b,c,d,e,f){if(a.Jd){var g;g="action=read&volume="+a.$e;g+="&chs="+a.Bb+":"+a.Cb+":"+a.Hb+":"+a.pb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.vf());g+="&user="+a.ga.me();ta(ua()+"/api/v1/disk?"+g,!0,null,a,a.lo,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function Hl(a,b,c){b.xb=!0;var d=a.ze.indexOf(b);0<=d&&(a.ze.splice(d,1),a.Tg.splice(d,1));a.ze.push(b);a.Tg.push(qa());c&&Il(a)}
function Il(a){if(a.ze.length){var b=a.Tg[0]+2E3;a.Ud&&a.Yk<b&&(clearTimeout(a.Ud),a.Ud=null);if(!a.Ud){var c=qa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Ud=setTimeout(function(){Dl(a,!0)},b);a.Yk=c+b}}else a.Ud&&(clearTimeout(a.Ud),a.Ud=null)}
function Dl(a,b){b&&(a.Ud=null);var c=a.ze[0];if(c){for(var d=c.Xm,e=c.Zm,c=c.sector,f=0,g=[],h=c-1;h<a.ib[d][e].length;h++){var n=a.ib[d][e][h];if(!n.xb)break;var m=a.ze.indexOf(n);a.ze.splice(m,1);a.Tg.splice(m,1);g=g.concat(Jl(n));n.xb=!1;f++}a.Jd?(h={},a.Ni=!0,h.action="write",h.volume=a.$e,h.chs=a.Bb+":"+a.Cb+":"+a.Hb+":"+a.pb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ga.vf(),h.user=a.ga.me(),h.data=JSON.stringify(g),d=ta(ua()+"/api/v1/disk",b,h,a,a.qo,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.qo=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ni=!1;if(0<=a&&a<this.ib.length&&0<=b&&b<this.ib[a].length)for(e-=1;0<f--&&0<=e&&e<this.ib[a][b].length;e++){var g=this.ib[a][b][e];c?Hl(this,g,!1):g.xb||(g.gd=g.Hc=0)}d&&Il(this)};k.info=function(){return this.ib.length?[this.ib.length,this.ib[0].length,this.ib[0][0].length,this.ib[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,g=this.Ra,h=this.ib[a];if(h){var n=h[b];if(!n&&g.ri&&b<g.Cb)for(n=h[b]=Array(g.ee),h=0;h<n.length;h++)n[h]=El(null,a,b,h+1,g.kb,0);if(n){for(h=0;h<n.length;h++)if(n[h]&&n[h].sector==c){f=n[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<n.length;)null===n[h].pattern&&d++;Gl(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.ri&&9==g.ab&&(f=n[h]=El(null,a,b,g.ab,g.kb,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function Jl(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Kl(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.uf)return!1;if(b<a.length){if(c!=Kl(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f<a.gd?(a.Hc+=a.gd-f,a.gd=f):f>=a.gd+a.Hc&&(a.Hc+=f-(a.gd+a.Hc)+1):(a.gd=f,a.Hc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Jd&&Hl(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.$e,this.pf,this.Bb,this.Cb,this.Hb,this.pb];if(!this.Jd&&!this.uf)for(var c=this.ib,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Hc){for(var h=[],n=0,m=g.gd,s=g.gd+g.Hc;m<s;)h[n++]=g.data[m++];b[a++]=[d,e,f,g.gd,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.ib.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.pf&&e[1]!=this.pf&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.pf+")",b=-1));for(this.ib.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],n=g[f++],m=g[f++];if(h>=this.ib.length||n>=this.ib[h].length||m>=this.ib[h][n].length){c="sector "+h+":"+n+":"+m+" out of range ("+
b+" changes applied)";b=-1;break}if(this.uf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.ib[h][n][m]){for(n=h.data.length;n<e;)h.data[n++]=h.pattern;n=0;h.gd=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[n++];b++}}}0>b&&this.ga.Ia("unable to restore disk '"+this.yd+": "+c);return b};
c.appendChild(f);var g=e.getContext("2d"),d=new T(d,e,g,f);bb(d,c)}});function ol(a){this.Sk=a.adapter;switch(this.Sk){case 1:this.Vj=1016;this.wg=4;break;case 2:this.Vj=760;this.wg=3;break;default:w("Unrecognized serial adapter #"+this.Sk);return}this.fe=null;y.call(this,"SerialPort",a,ol,pl);var b=a.binding,c;a=ql;b&&(void 0===c&&(c="Panel"),(c=Za(c,this.id))&&(b=c.xa[b])&&this.Hb(null,a,b))}Wa(y,ol);var ql="buffer";k=ol.prototype;k.qk=function(a,b){return a==this.Fh?(this.oe=b,this):null};
k.Hb=function(a,b,c){var d=this;switch(b){case ql:return this.xa[b]=this.fe=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),rl(d,[b]))},c.onkeypress=function(a){a=a||window.event;rl(d,[a.which||a.keyCode])},!0}return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=ib(a,"ChipSet");xb(b,this,sl,this.Vj);Bb(b,this,tl,this.Vj);B(this)};k.ec=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.me()};k.save=function(){var a=new sd(this),b=0,c=[];c[b++]=this.ti;c[b++]=this.vk;c[b++]=this.df;c[b++]=this.dh;c[b++]=this.be;c[b++]=this.ad;c[b++]=this.od;c[b++]=this.Rc;c[b++]=this.tk;c[b]=this.Vf;a.set(0,c);return a.data()};k.restore=function(a){return this.me(a[0])};
k.me=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ti=a[b++];this.vk=a[b++];this.df=a[b++];this.dh=a[b++];this.be=a[b++];this.ad=a[b++];this.od=a[b++];this.Rc=a[b++];this.tk=a[b++];this.Vf=a[b];return!0};function rl(a,b){a.Vf=a.Vf.concat(b);ul(a)}function ul(a){0<a.Vf.length&&!(a.Rc&1)&&(a.ti=a.Vf.shift(),a.Rc|=1);var b=-1;a.Rc&1&&a.dh&1&&(b=4);0<=b?(a.be&=-8,a.be|=b,a.oa&&a.wg&&zj(a.oa,a.wg)):(a.be|=1,a.oa&&a.wg&&Aj(a.oa,a.wg))}
k.Pn=function(a,b){var c=this.ad&128?this.df&255:this.ti;A(this,a,null,b,this.ad&128?"DLL":"RBR",c);this.Rc&=-2;ul(this);return c};k.An=function(a,b){var c=this.ad&128?this.df>>8:this.dh;A(this,a,null,b,this.ad&128?"DLM":"IER",c);return c};k.Bn=function(a,b){var c=this.be;A(this,a,null,b,"IIR",c);return c};k.Cn=function(a,b){var c=this.ad;A(this,a,null,b,"LCR",c);return c};k.En=function(a,b){var c=this.od;A(this,a,null,b,"MCR",c);return c};
k.Dn=function(a,b){var c=this.Rc;A(this,a,null,b,"LSR",c);return c};k.Kn=function(a,b){var c=this.tk;A(this,a,null,b,"MSR",c);return c};k.ip=function(a,b,c){A(this,a,b,c,this.ad&128?"DLL":"THR");this.ad&128?this.df=this.df&-256|b:(this.vk=b,this.Rc&=-97,this.fe?(13!=b&&(8==b?this.fe.value=this.fe.value.slice(0,-1):(this.fe.value+=String.fromCharCode(b),this.fe.scrollTop=this.fe.scrollHeight)),a=!0):a=!1,a&&(this.Rc|=96))};
k.Uo=function(a,b,c){A(this,a,b,c,this.ad&128?"DLM":"IER");this.ad&128?this.df=this.df&255|b<<8:this.dh=b};k.Vo=function(a,b,c){A(this,a,b,c,"LCR");this.ad=b};
k.Wo=function(a,b,c){var d=this.od;A(this,a,b,c,"MCR");this.od=b;this.oe&&(d^b)&3&&(a=this.oe,b=this.od,(c=3==(b&3))?a.ed||(d=!1,a.od&2||(a.reset(),a.cb("serial mouse reset"),d=!0),a.od&1||(a.cb("serial mouse ID requested"),d=!0),d&&(rl(a.eg,[77,77]),a.cb("serial mouse ID sent")),vl(a,a.Na),a.setActive(c)):a.ed&&(a.cb("serial mouse inactive"),wl(a.Na),a.setActive(c)),a.od=b)};
var sl={0:ol.prototype.Pn,1:ol.prototype.An,2:ol.prototype.Bn,3:ol.prototype.Cn,4:ol.prototype.En,5:ol.prototype.Dn,6:ol.prototype.Kn},tl={0:ol.prototype.ip,1:ol.prototype.Uo,3:ol.prototype.Vo,4:ol.prototype.Wo};Ja(function(){for(var a=z(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new ol(d);bb(d,c)}});function xl(a){y.call(this,"Mouse",a,xl,yl);if(this.Ti=a.serial)this.Yj="SerialPort";this.setActive(!1);this.xh=!1;B(this)}Wa(y,xl);k=xl.prototype;
k.vc=function(a,b,c,d){this.Ma=a;this.sa=b;this.T=c;this.ka=d;this.ei=ib(this.Ma,"Video")};k.setActive=function(a){this.ed=a};k.ec=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Yj&&!this.eg){for(var c=null;(c=ib(this.Ma,this.Yj,c))&&(!c.qk||!(this.eg=c.qk(this.Ti,this))););this.eg?this.ei&&(c=this.ei,c.oe=this,this.Na=c.Na):w(this.id+": "+this.Yj+" "+this.Ti+" unavailable")}this.ed?vl(this,this.Na):wl(this.Na)}return!0};
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.me()};k.save=function(){var a=new sd(this);a.set(0,this.dk());return a.data()};k.restore=function(a){return this.me(a[0])};k.me=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Pg=a[b++];this.Qg=a[b++];this.ef=a[b++];this.ff=a[b++];this.th=a[b++];this.uh=a[b++];this.od=a[b];return!0};
k.dk=function(){var a=0,b=[];b[a++]=this.ed;b[a++]=this.Pg;b[a++]=this.Qg;b[a++]=this.ef;b[a++]=this.ff;b[a++]=this.th;b[a++]=this.uh;b[a]=this.od;return b};k.Eg=function(a){this.xh=a};
function vl(a,b){b&&(a.Gi||(b.addEventListener("mousemove",function(b){if(a.ed&&a.T&&a.T.na.mb){if(0>a.Pg||0>a.Qg)a.Pg=b.clientX,a.Qg=b.clientY;a.xh?(a.ef=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.ff=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ef=b.clientX-a.Pg,a.ff=b.clientY-a.Qg);(a.ef||a.ff)&&zl(a,null,b.clientX,b.clientY);a.Pg=b.clientX;a.Qg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Al(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Al(a,b.button,
!1)},!1),a.Gi=!0),b.style.cursor="none")}function wl(a){a&&(a.style.cursor="auto")}function Al(a,b,c){if(a.ed&&a.T&&a.T.na.mb){var d;!(d=!1!==a.xh)&&(d=a.ei)&&(d=a.ei,d=d.Pm?d.xf(!0):!1);d||(a.xh=null);switch(b){case 0:a.th!=c&&(a.th=c,zl(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.uh!=c&&(a.uh=c,zl(a,"mouse button2 "+(c?"dn":"up")))}}}
function zl(a,b,c,d){var e=64|(a.th?32:0)|(a.uh?16:0)|(a.ff&192)>>4|(a.ef&192)>>6,f=a.ef&63,g=a.ff&63;a.ua(pl)&&a.cb((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+q(e)+","+q(f)+","+q(g)+"]",0,!0);rl(a.eg,[e,f,g]);a.ef=a.ff=0}Ja(function(){for(var a=z(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new xl(d);bb(d,c)}});
function Bl(a,b,c){y.call(this,"Disk",{id:a.Uk+".disk"+Cl++},Bl,Dl);this.ga=a;this.Ma=a.Ma;this.ka=a.ka;this.Ra=b;this.vd=b.name;this.sf=b.sf;this.yh=this.Hd=!1;this.create(c,b.Bb,b.Cb,b.Gb,b.rb);this.ze=[];this.Tg=[];this.Sd=null;this.Zk=0;this.Oi=!1;B(this)}var Cl=0;Wa(y,Bl);k=Bl.prototype;k.vc=function(a,b,c,d){this.ka=d};k.ec=function(a,b){b||!this.yh||this.Hd||(B(this,!1),this.load(this.vd,this.Ze,null,this.Om,this));return!0};k.Om=function(){B(this,!0)};
k.dc=function(a,b){if(this.Hd){var c,d=0;if(this.Oi&&!ua("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=El(this,!1);)if(d=c[0]){this.ga.Ia('Unable to save "'+this.vd+'" (error '+d+")");break}b&&this.Hd&&(c="action=close&volume="+this.Ze,c+="&machine="+this.ga.uf(),c+="&user="+this.ga.ke(),sa(ta()+"/api/v1/disk?"+c,!0),this.Hd=!1);!d&&a&&this.ga.Ia(this.vd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.Bb=b;this.Cb=c;this.Gb=d;this.rb=e;this.ib=[];if("preload"!=this.mode){a=Array(this.Bb);for(b=0;b<a.length;b++){c=Array(this.Cb);for(d=0;d<c.length;d++){e=Array(this.Gb);for(var f=1;f<=e.length;f++)e[f-1]=Fl(null,b,d,f,this.rb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.ib=a}this.of=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.Se)if(this.vd=a,this.Ze=b,this.Se=d,this.Im=e||this.ga,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Bb=d[0];g.Cb=d[1];g.Gb=d[2];g.rb=512;b=g.rb>>2;var e=d=0,a=new DataView(a,0,c);g.ib=Array(g.Bb);for(c=0;c<g.ib.length;c++)for(var f=g.ib[c]=Array(g.Cb),v=0;v<f.length;v++)for(var C=f[v]=Array(g.Gb),U=0;U<C.length;U++){for(var Q=Fl(null,c,v,U+1,g.rb,0),Aa=Q.data,Ha=0;Ha<b;Ha++,e+=4)var ab=Aa[Ha]=a.getInt32(e,
!0),d=d+ab&4294967295;Q.Hc=b;C[U]=Q}g.of=d;b=g}else g.Ia("Unrecognized diskette format ("+c+" bytes)");g.Se&&(g.Se.call(g.ga,g.Ra,b,g.vd,g.Ze),g.Se=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Gl(this,b),this.yh=!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"),f=
ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.sf?"":d)+"&format=json")),sa(f,!0,null,this,this.Mm,b)};
k.Mm=function(a,b,c,d){var e=null;this.tf=!1;var f=0>c&&this.Ma&&!this.Ma.na.Sb;if(this.yh)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Hd=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.vd+'" (error '+c+")",f);else try{if(0<fa(a,!0).toLowerCase().indexOf("-readonly"))this.tf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.tf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.vd]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{this.Bb=h.length;this.Cb=h[0].length;this.Gb=h[0][0].length;var n=h[0][0][0];this.rb=n&&n.length||512;for(b=a=0;b<this.Bb;b++)for(c=0;c<this.Cb;c++)for(d=0;d<this.Gb;d++)if(n=h[b][c][d]){var m=n.length;void 0===m&&(m=n.length=512);var m=m>>2,t=n.pattern;void 0===t&&(t=n.pattern=0);var r=n.data;if(void 0===r){var u=n.bytes;if(void 0!==u&&u.length){for(var f=
m<<2,x=u.length;x<f;x++)u[x]=t;this.fill(n,u,0)}else r=[],t=n.pattern=t|t<<8|t<<16|t<<24,n.data=r;delete n.bytes}Fl(n,b,c);for(f=0;f<r.length;f++)a=a+r[f]&4294967295}this.ib=h;this.of=a;e=this}else w("Empty disk image: "+this.vd)}catch(v){w("Disk image error: "+v.message)}this.Se&&(this.Se.call(this.Im,this.Ra,e,this.vd,this.Ze),this.Se=null)};function Fl(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ym=b;a.$m=c;a.gd=a.Hc=0;a.xb=!1;return a}
k.no=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var n=0;h--;){var m=this.seek(e,f,g,!0);if(!m)break;this.fill(m,b,n);n+=m.length;g++}}(d=d[5])&&d(c,a)};function Gl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.Cb+":"+a.Gb+":"+a.rb;c+="&machine="+a.ga.uf();c+="&user="+a.ga.ke();return ta()+"/api/v1/disk?"+c}
function Hl(a,b,c,d,e,f){if(a.Hd){var g;g="action=read&volume="+a.Ze;g+="&chs="+a.Bb+":"+a.Cb+":"+a.Gb+":"+a.rb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.uf());g+="&user="+a.ga.ke();sa(ta()+"/api/v1/disk?"+g,!0,null,a,a.no,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function Il(a,b,c){b.xb=!0;var d=a.ze.indexOf(b);0<=d&&(a.ze.splice(d,1),a.Tg.splice(d,1));a.ze.push(b);a.Tg.push(oa());c&&Jl(a)}
function Jl(a){if(a.ze.length){var b=a.Tg[0]+2E3;a.Sd&&a.Zk<b&&(clearTimeout(a.Sd),a.Sd=null);if(!a.Sd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Sd=setTimeout(function(){El(a,!0)},b);a.Zk=c+b}}else a.Sd&&(clearTimeout(a.Sd),a.Sd=null)}
function El(a,b){b&&(a.Sd=null);var c=a.ze[0];if(c){for(var d=c.Ym,e=c.$m,c=c.sector,f=0,g=[],h=c-1;h<a.ib[d][e].length;h++){var n=a.ib[d][e][h];if(!n.xb)break;var m=a.ze.indexOf(n);a.ze.splice(m,1);a.Tg.splice(m,1);g=g.concat(Kl(n));n.xb=!1;f++}a.Hd?(h={},a.Oi=!0,h.action="write",h.volume=a.Ze,h.chs=a.Bb+":"+a.Cb+":"+a.Gb+":"+a.rb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ga.uf(),h.user=a.ga.ke(),h.data=JSON.stringify(g),d=sa(ta()+"/api/v1/disk",b,h,a,a.so,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.so=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Oi=!1;if(0<=a&&a<this.ib.length&&0<=b&&b<this.ib[a].length)for(e-=1;0<f--&&0<=e&&e<this.ib[a][b].length;e++){var g=this.ib[a][b][e];c?Il(this,g,!1):g.xb||(g.gd=g.Hc=0)}d&&Jl(this)};k.info=function(){return this.ib.length?[this.ib.length,this.ib[0].length,this.ib[0][0].length,this.ib[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,g=this.Ra,h=this.ib[a];if(h){var n=h[b];if(!n&&g.ri&&b<g.Cb)for(n=h[b]=Array(g.ce),h=0;h<n.length;h++)n[h]=Fl(null,a,b,h+1,g.kb,0);if(n){for(h=0;h<n.length;h++)if(n[h]&&n[h].sector==c){f=n[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<n.length;)null===n[h].pattern&&d++;Hl(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.ri&&9==g.$a&&(f=n[h]=Fl(null,a,b,g.$a,g.kb,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function Kl(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Ll(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.tf)return!1;if(b<a.length){if(c!=Ll(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f<a.gd?(a.Hc+=a.gd-f,a.gd=f):f>=a.gd+a.Hc&&(a.Hc+=f-(a.gd+a.Hc)+1):(a.gd=f,a.Hc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Hd&&Il(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.Ze,this.of,this.Bb,this.Cb,this.Gb,this.rb];if(!this.Hd&&!this.tf)for(var c=this.ib,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Hc){for(var h=[],n=0,m=g.gd,t=g.gd+g.Hc;m<t;)h[n++]=g.data[m++];b[a++]=[d,e,f,g.gd,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.ib.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.of&&e[1]!=this.of&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.of+")",b=-1));for(this.ib.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],n=g[f++],m=g[f++];if(h>=this.ib.length||n>=this.ib[h].length||m>=this.ib[h][n].length){c="sector "+h+":"+n+":"+m+" out of range ("+
b+" changes applied)";b=-1;break}if(this.tf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.ib[h][n][m]){for(n=h.data.length;n<e;)h.data[n++]=h.pattern;n=0;h.gd=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[n++];b++}}}0>b&&this.ga.Ia("unable to restore disk '"+this.vd+": "+c);return b};
k.toJSON=function(){var a=JSON.stringify(this.ib),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')};
function Ll(a){y.call(this,"FDC",a,Ll,Ml);this.dmaRead=this.Bi;this.dmaWrite=this.Ci;this.dmaFormat=this.Im;this.Me=null;if(a.autoMount&&(this.Me=a.autoMount,"string"==typeof this.Me))try{this.Me=eval("("+a.autoMount+")")}catch(b){x("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Me=null}this.Ac=[];this.Kk=!Ca("Mobi")&&window&&"FileReader"in window}Xa(y,Ll);l={};ba={};
var Nl={3:{Fd:3,ge:0,name:ba.iq},4:{Fd:2,ge:1,name:ba.gq},5:{Fd:9,ge:7,name:ba.uq},6:{Fd:9,ge:7,name:ba.aq},7:{Fd:2,ge:0,name:ba.cq},8:{Fd:1,ge:2,name:ba.hq},10:{Fd:2,ge:7,name:ba.bq},13:{Fd:6,ge:7,name:ba.Np},15:{Fd:3,ge:0,name:ba.fq}};k=Ll.prototype;
k.Ib=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){x("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&Ol(d,a)},!0;
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Pl(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Kk?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Pl(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.pa=ib(a,"ChipSet");this.Nd();xb(b,this,Ql);Bb(b,this,Rl);this.Kk&&Sl(this,"Local Disk","?");Sl(this,"Remote Disk","??");this.Zf()||this.Wa()};
k.ec=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ma.Ki){this.Ac=[];for(var c=0;c<this.Fa.length;c++)Tl(this,c,!0);this.Zf(!0)}}else if(!this.restore(a))return!1;if(c=this.xa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.cj;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.cj&&(c.value="0",Ol(this,0))}}return!0};
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Nd()};k.save=function(){var a=new sd(this);a.set(0,this.$j());return a.data()};k.restore=function(a){return this.Nd(a[0])};
k.Nd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.mb=a[b++];b++;this.Ca=a[b++];this.jc=a[b++];this.Db=a[b++];this.lb=a[b++];this.Lf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.Ac=c);void 0===this.Fa&&(this.cj=4,this.pa&&(this.cj=aj(this.pa)),this.Fa=Array(4));for(c=0;c<this.Fa.length;c++){var f=this.Fa[c];if(void 0===f){var f=this.Fa[c]={},g;if(this.pa)a:{g=this.pa;if(c<aj(g)){if(!g.Yd){g=360;break a}if(c<g.Yd.length){g=g.Yd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.Cb=
1;default:f.Bb=40;f.Hb=9;break;case 720:f.Bb=80;f.Hb=9;break;case 1200:f.Bb=80;f.Hb=15;break;case 1440:f.Bb=80,f.Hb=18}}this.Ti(f,c,e[c])||(d=!1)}this.ve=a[b++]||0;this.im=a[b]||0;return d};k.$j=function(){var a=0,b=[];b[a++]=this.mb;b[a++]=0;b[a++]=this.Ca;b[a++]=this.jc;b[a++]=this.Db;b[a++]=this.lb;b[a++]=this.Lf;b[a++]=this.bk();for(var c=a++,d=0;d<this.Fa.length;d++){var e=this.Fa[d];e.za&&Ul(this,e.af,e.za)}b[c]=this.Ac;b[a++]=this.ve;b[a]=this.im;return b};
k.Ti=function(a,b,c){var d=0,e=!0;a.mb=b;a.Kc=a.sf=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.Bb||40,a.Cb||c[3],a.Hb||9,a.pb||512,c[1],a.Lh,a.ug,a.vg]);a.eb=c[d++];var f=c[d++];a.name=f[0];a.Bb=f[1];a.Cb=f[2];a.Hb=f[3];a.pb=f[4];a.tf=f[5];(a.Lh=f[6])?(a.ug=f[7],a.vg=f[8]):(a.Lh=a.Bb,a.ug=a.Cb,a.vg=a.Hb);a.Qa=c[d++];a.ce=c[d++];a.vb=c[d++];a.ce=100<=a.ce?a.ce-100:a.ce-a.vb;a.ab=c[d++];a.ee=c[d++];a.kb=c[d++];a.Ua=c[d++];a.Ya=null;a.za||(a.af="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.Fa[b],Tl(this,b,!0,!0),d.sf=!0,b=new Al(this,d,"preload"),this.Dk(d,b,f,c,!0)):Vl(this,b,f,c,!0)?a.za&&c&&Wl(this,f,c,a.za):this.Wa(!1)):void 0!==g&&a.za&&0>a.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.Ua&&(a.Ya=a.za.seek(a.vb,a.Qa,a.ab));return e};k.bk=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.ak(this.Fa[c]);return b};
k.ak=function(a){var b=0,c=[];c[b++]=a.eb;c[b++]=[a.name,a.Bb,a.Cb,a.Hb,a.pb,a.tf,a.Lh,a.ug,a.vg];c[b++]=a.Qa;c[b++]=a.ce+100;c[b++]=a.vb;c[b++]=a.ab;c[b++]=a.ee;c[b++]=a.kb;c[b++]=a.Ua;c[b++]=a.sf;c[b++]=a.nm;c[b]=a.af;return c};k.Bk=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};k.qm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.vb=Math.floor(b/f),b%=f,a.Qa=Math.floor(b/e),a.ab=b%e+1,a.kb=c*d[3],a.eb=0,!0}return!1};
k.Zf=function(a){a||(this.Ie=0);if(this.Me)for(var b in this.Me){var c=this.Me[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.Fa.length){!Vl(this,d,c.name,c.path,!0)&&a&&this.Wa(!1);continue}}this.Ia("Unrecognized auto-mount specification for drive "+b)}return!!this.Ie};
function Pl(a,b,c,d){var e,f=a.xa.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.Fa.length)if(c)if("?"==c)a.Ia('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ga(c);a.Z("Attempting to load "+c+' as "'+b+'"')}for(a.Z("loading disk "+c+"...");Vl(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,
g=c,h=void 0,h=0;h<f.Ac.length;h++)if(f.Ac[h][1]==g){f.Ac.splice(h,1);break}Tl(a,e,!1,!0)}}else Tl(a,e);else a.Ia("Nothing to load")}function Vl(a,b,c,d,e,f){var g=a.Fa[b];if(d&&g.af!=d){Tl(a,b,e,!0);if(g.Kc)return a.Ia("Drive "+b+" busy"),!0;g.Kc=!0;e&&(g.Qe=!0,a.Ie++,a.va()&&a.qb("loading diskette '"+c+"'"));g.sf=!!f;(new Al(a,g,"preload")).load(c,d,f,a.Dk);return!1}return!0}
k.Dk=function(a,b,c,d,e){var f;a.Kc=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.Cb)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.mb)),b=null);b?(a.za=b,a.nm=c,a.af=d,Wl(this,c,d,b),f=b.info(),this.ve|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.mb),a.Qe||e),a.Lh=f[0],a.ug=f[1],a.vg=f[2]):a.sf=!1;a.Qe&&(a.Qe=!1,--this.Ie||this.Wa());Ol(this,a.mb)};
function Sl(a,b,c){if(a=a.xa.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function Ol(a,b){if(0<=b&&b<a.Fa.length){var c=a.Fa[b],d=a.xa.listDisks,e=a.xa.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.sf?"?":c.af,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
function Tl(a,b,c,d){var e=a.Fa[b];e.za&&(Ul(a,e.af,e.za),e.nm="",e.af="",e.za=null,e.sf=!1,a.ve|=128,d||a.Ia("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ol(a,b))}function Wl(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 Ul(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}}k.No=function(a,b,c){B(this,a,b,c,"OUTPUT");b&4?this.Lf&4||this.Lf&8&&this.pa&&yj(this.pa,6):this.Nd();this.Lf=b};
k.un=function(a,b){B(this,a,null,b,"STATUS",this.Ca);return this.Ca};k.sn=function(a,b){var c=0;this.Db<this.lb&&(c=this.jc[this.Db]);this.Lf&8&&this.pa&&zj(this.pa,6);this.va()&&B(this,a,null,b,"DATA["+this.Db+"]",c);++this.Db>=this.lb&&(this.Ca&=-81,this.Db=this.lb=0);return c};
k.Mo=function(a,b,c){this.va()&&B(this,a,b,c,"DATA["+this.lb+"]");this.lb<this.jc.length&&(this.jc[this.lb++]=b);a=this.jc[0]&31;if(void 0!==Nl[a]&&this.lb>=Nl[a].Fd){b=!1;this.Db=0;a=this.Sa();var d,e,f,g,h=a&31;switch(h){case 3:this.Sa(l.jq);this.Sa(l.Qp);this.Xb();break;case 4:c=this.Sa(l.Pf);this.mb=c&3;d=this.Fa[this.mb];this.Xb();this.ic((d.eb&4278190080)>>>24,l.mq);break;case 5:case 6:c=this.Sa(l.Pf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];d.Qa=b;c=d.vb=this.Sa(l.hk);e=this.Sa(l.ik);f=d.ab=
this.Sa(l.kk);g=this.Sa(l.fi);d.kb=128<<g;d.ee=this.Sa(l.Lp);this.Sa(l.ym);this.Sa(l.Kp);6==h?(h=d,h.eb=72,h.za&&(h.Ya=null,h.eb=0,this.pa&&(rj(this.pa,2,this,"dmaRead",h),jj(this.pa,2)))):(h=d,h.eb=72,h.za&&(h.za.uf?h.eb=576:(h.Ya=null,h.eb=0,this.pa&&(rj(this.pa,2,this,"dmaWrite",h),jj(this.pa,2)))));Xl(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=this.Sa(l.Pf);this.mb=c&3;d=this.Fa[this.mb];d.vb=d.ce=0;d.eb=268435488;this.Xb();b=!0;break;case 8:d=this.Fa[this.mb];d.Qa=0;this.Xb();this.ic(d.mb|d.Qa<<
2|d.eb&255,l.Am);this.ic(d.vb,l.Zp);this.mb=this.mb+1&3;break;case 10:c=this.Sa(l.Pf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.vb;e=d.Qa=b;f=d.ab=1;g=0;d.eb=0;d.za&&(d.Ya=d.za.seek(d.vb,d.Qa,d.ab))?g=d.Ya.length:d.eb=72;Xl(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Sa(l.Pf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.vb;e=d.Qa=b;f=1;g=this.Sa(l.fi);d.kb=128<<g;d.ee=this.Sa(l.eq);this.Sa(l.ym);d.rk=this.Sa(l.xm);h=d;h.eb=72;h.za&&(h.Ya=null,h.eb=0,this.pa&&(h.mf=0,h.Pc=Array(4),h.ri=!0,h.nh=
0,rj(this.pa,2,this,"dmaFormat",h),jj(this.pa,2),h.ri=!1));Xl(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=this.Sa(l.Pf),this.mb=c&3,d=this.Fa[this.mb],d.Qa=c>>2&1,c=this.Sa(l.Wp),d.vb+=c-d.ce,0>d.vb&&(d.vb=0),d.vb>=d.Bb&&(d.vb=d.Bb-1),d.ce=c,d.eb=32,d.vb||(d.eb|=268435456),this.Xb(),b=!0}0<this.lb&&(this.Ca|=80);this.Lf&8&&(!d||d.eb&8||!b||this.pa&&yj(this.pa,6))}};k.tn=function(a,b){var c=this.ve;this.ve&=-129;B(this,a,null,b,"INPUT",c);return c};
k.Lo=function(a,b,c){B(this,a,b,c,"CONTROL");this.im=b};function Xl(a,b,c,d,e,f,g,h){a.Xb();a.ic(b.mb|b.Qa<<2|b.eb&255,l.Am);a.ic((b.eb&65280)>>>8,l.kq);a.ic((b.eb&16711680)>>>16,l.lq);var n=0;if(e!=b.vb||f!=b.Qa)n=g=1;c&128&&(f^=n,d||(n=0));a.ic(e+n,l.hk);a.ic(f,l.ik);a.ic(g,l.kk);a.ic(h,l.fi)}k.Sa=function(){var a=this.jc[this.Db];this.Db++;return a};k.Xb=function(){this.Db=this.lb=0};k.ic=function(a){this.jc[this.lb++]=a};k.Bi=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
k.Ci=function(a,b){return void 0!==b&&0<=b?this.Mc(a,b):-1};k.Im=function(a,b){return void 0!==b&&0<=b?this.dk(a,b):-1};k.yc=function(a,b){var c=-1;if(!a.eb&&a.za){do{if(a.Ya&&0<=(c=Kl(a.Ya,a.Ua++)))break;a.Ya=a.za.seek(a.vb,a.Qa,a.ab);if(!a.Ya){a.eb=1088;break}a.Ua=0;this.Xf(a)}while(1)}b(c,!1)};k.Mc=function(a,b){if(a.eb||!a.za)return-1;do{if(a.Ya&&a.za.write(a.Ya,a.Ua++,b))break;a.Ya=a.za.seek(a.vb,a.Qa,a.ab);if(!a.Ya){a.eb=8256;b=-1;break}a.Ua=0;this.Xf(a)}while(1);return b};
k.Xf=function(a){a.ab++;a.ab>=a.vg+1&&(a.ab=1,a.Qa++,a.Qa>=a.ug&&(a.Qa=0,a.vb++))};k.dk=function(a,b){if(a.eb)return-1;a.Pc[a.mf++]=b;if(a.mf==a.Pc.length){a.vb=a.Pc[0];a.Qa=a.Pc[1];a.ab=a.Pc[2];a.kb=128<<a.Pc[3];for(var c=a.mf=0;c<a.kb;c++)if(0>this.Mc(a,a.rk))return-1;a.nh++}a.nh>=a.ee&&(b=-1);return b};var Ql={1012:Ll.prototype.un,1013:Ll.prototype.sn,1015:Ll.prototype.tn},Rl={1010:Ll.prototype.No,1013:Ll.prototype.Mo,1015:Ll.prototype.Lo};
Ka(function(){for(var a=A(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ll(d);bb(d,c)}});function W(a){y.call(this,"HDC",a,W,Yl);this.dmaRead=this.Bi;this.dmaWrite=this.Ci;this.dmaWriteBuffer=this.Jm;this.dmaWriteFormat=this.Km;this.hi=[];if(a.drives)try{this.hi=eval("("+a.drives+")")}catch(b){x("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.ng=(this.Pe="at"==a.type)?1:0;this.Ym=this.Pe?2:3}Xa(y,W);
var Zl=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.Ib=function(){return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.pa=ib(a,"ChipSet");xb(b,this,this.Pe?$l:am);Bb(b,this,this.Pe?bm:cm);kd(c,19,this,this.Xn);kd(c,64,this,this.Yn);this.reset();this.Zf()||this.Wa()};
k.ec=function(a,b){if(!b)if(!a||!this.restore)this.Nd(),this.Ma.Ki&&this.Zf(!0);else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};k.vf=function(){return this.Ma?this.Ma.vf():""};k.me=function(){return this.Ma?this.Ma.me():""};k.reset=function(){this.Nd(null,!0)};k.save=function(){var a=new sd(this);a.set(0,this.$j());return a.data()};k.restore=function(a){return this.Nd(a[0])};
k.Nd=function(a,b){var c=0,d=!0;if(this.Pe)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.ue=a[c++],this.mm=a[c++],this.we=a[c++],this.Xh=a[c++],this.Vh=a[c++],this.Uh=a[c++],this.Kf=a[c++],this.Ca=a[c++],this.Wj=a[c++],this.Wh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Jf=a[c++];this.Ca=a[c++];this.jc=a[c++];this.Db=a[c++];this.lb=a[c++];this.lm=a[c++];this.km=a[c++];this.jm=a[c++];var e=a[c++];void 0!==e?this.wf=e:void 0===this.wf&&(this.wf=-1)}void 0===this.Fa&&(this.Fa=Array(this.hi.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.Fa.length;e++){void 0===this.Fa[e]&&(this.Fa[e]={});var f=this.Fa[e];this.Ti(e,f,this.hi[e],c[e],b)||(d=!1);null!=this.Jf&&1>=e&&(this.Jf|=(f.type&3)<<(1-e<<1))}return d};
k.$j=function(){var a=0,b=[];this.Pe?(b[a++]=this.ue,b[a++]=this.mm,b[a++]=this.we,b[a++]=this.Xh,b[a++]=this.Vh,b[a++]=this.Uh,b[a++]=this.Kf,b[a++]=this.Ca,b[a++]=this.Wj,b[a++]=this.Wh):(b[a++]=this.Jf,b[a++]=this.Ca,b[a++]=this.jc,b[a++]=this.Db,b[a++]=this.lb,b[a++]=this.lm,b[a++]=this.km,b[a++]=this.jm,b[a++]=this.wf);b[a]=this.bk();return b};
k.Ti=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.mb=a;b.errorCode=d[f++];b.sm=d[f++];b.tf=d[f++];b.jf=d[f++];b.kf=d[f++];b.Qa=d[f++];b.Cb=d[f++];b.Vd=d[f++];b.ab=d[f++];b.ee=d[f++];b.kb=d[f++];b.ih=this.Pe?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.me()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Zl[this.ng][b.type])b.type=this.Ym;c=Zl[this.ng][b.type];
b.Hb=c[2]||17;b.pb=c[3]||512;if(e&&this.pa&&(e=this.pa,c=b.type,e.ma)){var h=e.ma[18],h=a?h&240|c:h&15|c<<4;e.ma&&(e.ma[18]=h,Ti(e))}void 0===b.za&&(b.za=null,this.Ia("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));dm(this,b);b.Ua=d[f++];b.Ya=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.Ua&&(b.Ya=b.za.seek(b.Vd,b.Qa,b.ab+b.ih)));return g};k.bk=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.ak(this.Fa[c]);return b};
k.ak=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.sm;c[b++]=a.tf;c[b++]=a.jf;c[b++]=a.kf;c[b++]=a.Qa;c[b++]=a.Cb;c[b++]=a.Vd;c[b++]=a.ab;c[b++]=a.ee;c[b++]=a.kb;c[b++]=a.Ua;c[b]=a.za?a.za.save():null;return c};k.Bk=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function dm(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.jf[2])?e=b.jf[0]<<8|b.jf[1]:c=b.type);null==c||d||(d=Zl[a.ng][c][1],e=Zl[a.ng][c][0]);d&&((c=Zl[a.ng][b.type])&&e!=c[0]&&d!=c[1]&&a.Ia("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.Cb=d,null==b.za&&(b.za=new Al(a,b,b.mode)))}}
k.qm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Vd=Math.floor(b/g),b%=g,a.Qa=Math.floor(b/f),a.ab=b%f,a.kb=c*d[3],a.errorCode=0,!0}}return!1};
k.Zf=function(a){a||(this.Ie=0);for(var b=0;b<this.Fa.length;b++){var c=this.Fa[b];if(c.name&&c.path){if(!(a&&c.za&&c.za.xh)){var d;d=c.name;var c=c.path,e=this.Fa[b];e.Kc?(this.Ia("Drive "+b+" busy"),d=!0):(e.Kc=!0,e.Qe=!0,this.Ie++,this.va()&&this.qb("loading "+d),(e.za||new Al(this,e,e.mode)).load(d,c,null,this.Mm),d=!1);!d&&a&&this.Wa(!1)}}else a&&void 0!==c.type&&(c.za=null,dm(this,c,c.type))}return!!this.Ie};
k.Mm=function(a,b,c){a.Kc=!1;(a.za=b)&&this.Ia('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.mb),a.Qe);a.Qe&&(a.Qe=!1,--this.Ie||this.Wa())};k.Un=function(a,b){var c=0;this.Db<this.lb&&(c=this.jc[this.Db]);this.pa&&zj(this.pa,5);this.Ca&=-33;B(this,a,null,b,"DATA["+this.Db+"]",c);++this.Db>=this.lb&&(this.Db=this.lb=0,this.Ca&=-15);return c};
k.ip=function(a,b,c){B(this,a,b,c,"DATA["+this.lb+"]");this.lb<this.jc.length&&(this.jc[this.lb++]=b);a=12!=this.jc[0]?6:this.jc.length;6==this.lb&&(this.Ca&=-2);this.lb>=a&&(this.Ca|=2,this.Ca&=-2,em(this))};k.Vn=function(a,b){var c=this.Ca;B(this,a,null,b,"STATUS",c);this.Db<this.lb&&(this.Ca|=1);return c};k.lp=function(a,b,c){B(this,a,b,c,"RESET");this.lm=b;this.pa&&zj(this.pa,5);this.Nd()};k.Tn=function(a,b){B(this,a,null,b,"CONFIG",this.Jf);return this.Jf};
k.kp=function(a,b,c){B(this,a,b,c,"PULSE");this.km=b;this.Ca=13};k.jp=function(a,b,c){B(this,a,b,c,"PATTERN");this.jm=b};k.Rj=function(a,b,c){B(this,a,b,c,"NOISE")};
k.en=function(a,b){var c=-1;if(this.Ra)if(c=this.yc(this.Ra),1==this.Ra.Ua)this.va(P|Yl)&&B(this,a,null,b,"DATA["+this.Ra.Ua+"]",c);else if(this.Ra.Ua==this.Ra.pb)if(this.Ra.kb-=this.Ra.pb,this.we=this.we-1&255,this.Ra.kb>=this.Ra.pb){var d=this;d.Ca=136;this.yc(this.Ra,function(a){0<=a?(fm(d),d.Ca=80):(d.Ca=1,d.ue=16)},!1)}else this.Ca=80;return c};
k.xo=function(a,b,c){this.Ra&&this.Ra.kb>=this.Ra.pb&&(0>this.Mc(this.Ra,b)?(this.Ca=1,this.ue=16):1==this.Ra.Ua?this.va(P|Yl)&&B(this,a,b,c,"DATA["+this.Ra.Ua+"]"):this.Ra.Ua==this.Ra.pb&&(this.Ra.kb-=this.Ra.pb,this.we=this.we-1&255,fm(this),this.Ca=80,this.Ra.kb>=this.Ra.pb&&(this.Ca|=8)))};k.gn=function(a,b){var c=this.ue;B(this,a,null,b,"ERROR",c);return c};k.Co=function(a,b,c){B(this,a,b,c,"WPREC");this.mm=b};k.hn=function(a,b){var c=this.we;B(this,a,null,b,"SECCNT",c);return c};
k.Ao=function(a,b,c){B(this,a,b,c,"SECCNT");this.we=b};k.jn=function(a,b){var c=this.Xh;B(this,a,null,b,"SECNUM",c);return c};k.Bo=function(a,b,c){B(this,a,b,c,"SECNUM");this.Xh=b};k.dn=function(a,b){var c=this.Vh;B(this,a,null,b,"CYLLO",c);return c};k.wo=function(a,b,c){B(this,a,b,c,"CYLLO");this.Vh=b};k.cn=function(a,b){var c=this.Uh;B(this,a,null,b,"CYLHI",c);return c};k.vo=function(a,b,c){B(this,a,b,c,"CYLHI");this.Uh=b};k.fn=function(a,b){var c=this.Kf;B(this,a,null,b,"DRVHD",c);return c};
k.yo=function(a,b,c){B(this,a,b,c,"DRVHD");this.Kf=b;this.Ca=this.Fa[this.Kf&16?1:0]?this.Ca|64:this.Ca&-65};k.kn=function(a,b){var c=this.Ca;B(this,a,null,b,"STATUS",c);return c};k.uo=function(a,b,c){B(this,a,b,c,"COMMAND");this.Wj=b;this.pa&&zj(this.pa,14);gm(this)};k.zo=function(a,b,c){B(this,a,b,c,"FDR");this.Wh&4&&!(b&4)&&(this.ue=1);this.Wh=b};
function gm(a){var b=!1,c=a.Wj,d=a.Kf&16?1:0,e=a.Kf&15,f=a.Vh|(a.Uh&3)<<8,g=a.Xh,h=a.we||256;a.Ra=null;a.ue=0;a.Ca=80;(d=a.Fa[d])?(d.Vd=f,d.Qa=e,d.ab=g,d.kb=h*d.pb,c=144<=c?c:c&240,d.Ya=null,d.Ua=0,d.errorCode=0,a.Ra=d):c=-1;switch(c&240){case 32:a.Ca=136;a.yc(d,function(b){0<=b&&a.pa?(fm(a),a.Ca=80):(a.Ca=1,a.ue=16)},!1);break;case 48:a.Ca=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.ue=1;b=!0;break;case 145:d.Cb=e+1,d.Hb=h,b=!0}b&&fm(a)}
function fm(a){!a.pa||a.Wh&2||yj(a.pa,14,120)}
function em(a){a.Db=0;var b=a.Sa(),c=a.Sa(),d=c&32,e=d>>5,f=c&31,g=a.Sa(),h=a.Sa(),n=g<<2&768|h,m=g&63,s=a.Sa(),r=a.Sa(),t=a.Fa[e];t&&(t.Vd=n,t.Qa=f,t.ab=m,t.kb=s*t.pb);switch(b){case 3:a.Xb(t?t.errorCode:4);a.ic(c);a.ic(g);a.ic(h);a.ic(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Sa());)t&&c<t.jf.length&&(t.jf[c++]=b);t&&dm(a,t);b=0;t||a.wf!=e||(a.wf=-1,b=2);a.Xb(b|d);b=-1;break;case 224:case 228:a.Xb(0|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=0,t.sm=0),b){case 0:a.Xb(0|d);break;case 1:t.Aq=
r;a.Xb(0|d);break;case 5:a.Xb(0|d);break;case 8:hm(a,t,function(b){a.Xb(b|d)});break;case 10:im(a,t,function(b){a.Xb(b|d)});break;case 15:jm(a,t,function(b){a.Xb(b|d)});break;default:a.Xb(2|d)}}k.Sa=function(){var a=-1;this.Db<this.lb&&(a=this.jc[this.Db++]);return a};k.Xb=function(a){this.Db=this.lb=0;void 0!==a&&this.ic(a);this.pa&&yj(this.pa,5);this.Ca|=32};k.ic=function(a){this.jc[this.lb++]=a};k.Bi=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
k.Ci=function(a,b){return void 0!==b&&0<=b?this.Mc(a,b):-1};k.Jm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ua<a.kf.length?a.kf[a.Ua++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Km=function(a,b){return void 0!==b&&0<=b?this.dk(a,b):-1};function hm(a,b,c){b.errorCode=4;if(b.za&&(b.Ya=null,a.pa)){b.errorCode=0;rj(a.pa,3,a,"dmaRead",b);jj(a.pa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function im(a,b,c){b.errorCode=4;if(b.za&&(b.Ya=null,a.pa)){b.errorCode=0;rj(a.pa,3,a,"dmaWrite",b);jj(a.pa,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function jm(a,b,c){b.errorCode=4;b.kf&&b.kf.length==b.kb||(b.kf=Array(b.kb));b.Ua=0;a.pa?(b.errorCode=0,rj(a.pa,3,a,"dmaWriteBuffer",b),jj(a.pa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.yc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ya&&(d=Kl(a.Ya,a.Ua),a.Ua+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.za)return a.za.seek(a.Vd,a.Qa,a.ab+a.ih,!1,function(c,h){(a.Ya=c)?(a.Ua=0,f.Xf(a),d=Kl(a.Ya,a.Ua),a.Ua+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
k.Mc=function(a,b){if(a.errorCode)return-1;do{if(a.Ya&&a.za.write(a.Ya,a.Ua++,b))break;a.za&&a.za.seek(a.Vd,a.Qa,a.ab+a.ih,!0,function(b){a.Ya=b});if(!a.Ya){a.errorCode=20;b=-1;break}a.Ua=0;this.Xf(a)}while(1);return b};k.Xf=function(a){a.ab++;var b=1-a.ih;a.ab>=a.Hb+b&&(a.ab=b,a.Qa++,a.Qa>=a.Cb&&(a.Qa=0,a.Vd++))};
k.dk=function(a,b){if(a.errorCode)return-1;a.Pc[a.mf++]=b;if(a.mf==a.Pc.length){a.Vd=a.Pc[0];a.Qa=a.Pc[1];a.ab=a.Pc[2];a.kb=128<<a.Pc[3];for(var c=a.mf=0;c<a.kb;c++)if(0>this.Mc(a,a.rk))return-1;a.nh++}a.nh>=a.ee&&(b=-1);return b};k.Xn=function(){var a=this.T.K&255;!(this.T.H>>8)&&128<a&&(this.wf=a-128);return!0};k.Yn=function(){var a;(a=this.T.H>>8)||(a=!this.pa)||(a=!(this.pa.Wb[0].pd&64));return a?!0:!1};
var am={800:W.prototype.Un,801:W.prototype.Vn,802:W.prototype.Tn},$l={496:W.prototype.en,497:W.prototype.gn,498:W.prototype.hn,499:W.prototype.jn,500:W.prototype.dn,501:W.prototype.cn,502:W.prototype.fn,503:W.prototype.kn},cm={800:W.prototype.ip,801:W.prototype.lp,802:W.prototype.kp,803:W.prototype.jp,807:W.prototype.Rj,811:W.prototype.Rj,815:W.prototype.Rj},bm={496:W.prototype.xo,497:W.prototype.Co,498:W.prototype.Ao,499:W.prototype.Bo,500:W.prototype.wo,501:W.prototype.vo,502:W.prototype.yo,503:W.prototype.uo,
1014:W.prototype.zo};Ka(function(){for(var a=A(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new W(d);bb(d,c)}});
function km(a){y.call(this,"Debugger",a,km);this.lh=this.hd=-1;this.Le=5;this.Nc=[0,0];this.lk=[0,0];this.Tc=-1;this.Oc=[];this.qf=!1;this.ye=[0,0];this.Cc=[];lm(this);mm(this);nm(this,a.messages);this.tb={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Yj=a.commands;var b=this;window&&void 0===window.$&&(window.$=function(a){return om(b,a)})}
var Ob=1,md=16,pf=32,Fb=64,P=128,N=256,Sd=512,Gi=1024,Ii=2048,Oj=4096,Hj=8192,qi=16384,Xj=32768,kk=131072,Ml=262144,Yl=524288,Cl=1048576,ol=2097152,Pj=4194304,xl=16777216,of=536870912,qf=1073741824;Xa(y,km);
var Ki=26,pm={16:kk,19:Ml,21:qi,22:Xj,28:Gi,33:67108864,51:xl},qm={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options",reset:"reset computer",ver:"display version"},rm="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
Y="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),sm="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),tm={cpu:Ob,seg:2,desc:4,tss:8,"int":md,fault:pf,mem:Fb,port:P,dma:N,pic:Sd,timer:Gi,cmos:Ii,rtc:Oj,8042:Hj,chipset:qi,kbd:Xj,key:65536,video:kk,fdc:Ml,hdc:Yl,disk:Cl,serial:ol,speaker:Pj,state:8388608,mouse:xl,computer:33554432,dos:67108864,data:134217728,log:268435456,warn:of,halt:qf},Z=[0,0],um=[205,12291],vm=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,4228],
[6,12385,4097],[6,14435,4100],[137,4211],[134,8307],[130,12417,4257],[130,12420,4260],[130,12449,4225],[130,12452,4228],[130,12385,4097],[130,14435,4100],[137,4467],[134,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],[5,12452,4228],[5,12385,4097],[5,14435,4100],[137,4723],[134,8819],[150,12417,4257],[150,12420,4260],[150,12449,4225],[150,12452,4228],[150,12385,4097],[150,14435,4100],[137,4979],[134,9075],[7,12417,4257],[7,12420,4260],[7,12449,4225],[7,12452,4228],[7,12385,4097],[7,14435,4100],
[35,15],[29],[184,12417,4257],[184,12420,4260],[184,12449,4225],[184,12452,4228],[184,12385,4097],[184,14435,4100],[27,15],[30],[191,12417,4257],[191,12420,4260],[191,12449,4225],[191,12452,4228],[191,12385,4097],[191,14435,4100],[177,15],[1],[24,4225,4257],[24,4228,4260],[24,4257,4225],[24,4260,4228],[24,4193,4097],[24,6243,4100],[33,15],[4],[75,14435],[75,14691],[75,14947],[75,15203],[75,15459],[75,15715],[75,15971],[75,16227],[31,14435],[31,14691],[31,14947],[31,15203],[31,15459],[31,15715],[31,
15971],[31,16227],[137,6243],[137,6499],[137,6755],[137,7011],[137,7267],[137,7523],[137,7779],[137,8035],[134,10339],[134,10595],[134,10851],[134,11107],[134,11363],[134,11619],[134,11875],[134,12131],[138,32768],[135,32768],[10,37028,4247],[8,8323,4259],[64,49152],[70,49152],[131,49152],[9,49152],[137,36868],[73,45219,4234],[137,36866],[73,45219,4233],[76,41041,6755],[76,41044,6755],[133,39523,4161],[133,39523,4164],[95,4145],[91,4145],[82,4145],[90,4145],[98,4145],[94,4145],[81,4145],[89,4145],
function Ml(a){y.call(this,"FDC",a,Ml,Nl);this.dmaRead=this.Bi;this.dmaWrite=this.Ci;this.dmaFormat=this.Jm;this.Me=null;if(a.autoMount&&(this.Me=a.autoMount,"string"==typeof this.Me))try{this.Me=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Me=null}this.Ac=[];this.Lk=!za("Mobi")&&window&&"FileReader"in window}Wa(y,Ml);l={};aa={};
var Ol={3:{Dd:3,ee:0,name:aa.kq},4:{Dd:2,ee:1,name:aa.iq},5:{Dd:9,ee:7,name:aa.wq},6:{Dd:9,ee:7,name:aa.cq},7:{Dd:2,ee:0,name:aa.eq},8:{Dd:1,ee:2,name:aa.jq},10:{Dd:2,ee:7,name:aa.dq},13:{Dd:6,ee:7,name:aa.Pp},15:{Dd:3,ee:0,name:aa.hq}};k=Ml.prototype;
k.Hb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=da(c.value,10);null!=a&&Pl(d,a)},!0;
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Ql(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Lk?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ql(d,fa(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=ib(a,"ChipSet");this.Ld();xb(b,this,Rl);Bb(b,this,Sl);this.Lk&&Tl(this,"Local Disk","?");Tl(this,"Remote Disk","??");this.Zf()||B(this)};
k.ec=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ma.Ki){this.Ac=[];for(var c=0;c<this.Fa.length;c++)Ul(this,c,!0);this.Zf(!0)}}else if(!this.restore(a))return!1;if(c=this.xa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.dj;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.dj&&(c.value="0",Pl(this,0))}}return!0};
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ld()};k.save=function(){var a=new sd(this);a.set(0,this.ak());return a.data()};k.restore=function(a){return this.Ld(a[0])};
k.Ld=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.nb=a[b++];b++;this.Ca=a[b++];this.jc=a[b++];this.Db=a[b++];this.lb=a[b++];this.Lf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.Ac=c);void 0===this.Fa&&(this.dj=4,this.oa&&(this.dj=aj(this.oa)),this.Fa=Array(4));for(c=0;c<this.Fa.length;c++){var f=this.Fa[c];if(void 0===f){var f=this.Fa[c]={},g;if(this.oa)a:{g=this.oa;if(c<aj(g)){if(!g.Wd){g=360;break a}if(c<g.Wd.length){g=g.Wd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.Cb=
1;default:f.Bb=40;f.Gb=9;break;case 720:f.Bb=80;f.Gb=9;break;case 1200:f.Bb=80;f.Gb=15;break;case 1440:f.Bb=80,f.Gb=18}}this.Ui(f,c,e[c])||(d=!1)}this.ue=a[b++]||0;this.im=a[b]||0;return d};k.ak=function(){var a=0,b=[];b[a++]=this.nb;b[a++]=0;b[a++]=this.Ca;b[a++]=this.jc;b[a++]=this.Db;b[a++]=this.lb;b[a++]=this.Lf;b[a++]=this.ck();for(var c=a++,d=0;d<this.Fa.length;d++){var e=this.Fa[d];e.za&&Vl(this,e.$e,e.za)}b[c]=this.Ac;b[a++]=this.ue;b[a]=this.im;return b};
k.Ui=function(a,b,c){var d=0,e=!0;a.nb=b;a.Kc=a.rf=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.Bb||40,a.Cb||c[3],a.Gb||9,a.rb||512,c[1],a.Mh,a.ug,a.vg]);a.eb=c[d++];var f=c[d++];a.name=f[0];a.Bb=f[1];a.Cb=f[2];a.Gb=f[3];a.rb=f[4];a.sf=f[5];(a.Mh=f[6])?(a.ug=f[7],a.vg=f[8]):(a.Mh=a.Bb,a.ug=a.Cb,a.vg=a.Gb);a.Qa=c[d++];a.ae=c[d++];a.vb=c[d++];a.ae=100<=a.ae?a.ae-100:a.ae-a.vb;a.$a=c[d++];a.ce=c[d++];a.kb=c[d++];a.Va=c[d++];a.Xa=null;a.za||(a.$e="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.Fa[b],Ul(this,b,!0,!0),d.rf=!0,b=new Bl(this,d,"preload"),this.Ek(d,b,f,c,!0)):Wl(this,b,f,c,!0)?a.za&&c&&Xl(this,f,c,a.za):B(this,!1)):void 0!==g&&a.za&&0>a.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.Va&&(a.Xa=a.za.seek(a.vb,a.Qa,a.$a));return e};k.ck=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.bk(this.Fa[c]);return b};
k.bk=function(a){var b=0,c=[];c[b++]=a.eb;c[b++]=[a.name,a.Bb,a.Cb,a.Gb,a.rb,a.sf,a.Mh,a.ug,a.vg];c[b++]=a.Qa;c[b++]=a.ae+100;c[b++]=a.vb;c[b++]=a.$a;c[b++]=a.ce;c[b++]=a.kb;c[b++]=a.Va;c[b++]=a.rf;c[b++]=a.nm;c[b]=a.$e;return c};k.Ck=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};k.qm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.vb=Math.floor(b/f),b%=f,a.Qa=Math.floor(b/e),a.$a=b%e+1,a.kb=c*d[3],a.eb=0,!0}return!1};
k.Zf=function(a){a||(this.Ie=0);if(this.Me)for(var b in this.Me){var c=this.Me[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.Fa.length){!Wl(this,d,c.name,c.path,!0)&&a&&B(this,!1);continue}}this.Ia("Unrecognized auto-mount specification for drive "+b)}return!!this.Ie};
function Ql(a,b,c,d){var e,f=a.xa.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.Fa.length)if(c)if("?"==c)a.Ia('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c);a.Z("Attempting to load "+c+' as "'+b+'"')}for(a.Z("loading disk "+c+"...");Wl(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,
g=c,h=void 0,h=0;h<f.Ac.length;h++)if(f.Ac[h][1]==g){f.Ac.splice(h,1);break}Ul(a,e,!1,!0)}}else Ul(a,e);else a.Ia("Nothing to load")}function Wl(a,b,c,d,e,f){var g=a.Fa[b];if(d&&g.$e!=d){Ul(a,b,e,!0);if(g.Kc)return a.Ia("Drive "+b+" busy"),!0;g.Kc=!0;e&&(g.Qe=!0,a.Ie++,a.ua()&&a.cb("loading diskette '"+c+"'"));g.rf=!!f;(new Bl(a,g,"preload")).load(c,d,f,a.Ek);return!1}return!0}
k.Ek=function(a,b,c,d,e){var f;a.Kc=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.Cb)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.nb)),b=null);b?(a.za=b,a.nm=c,a.$e=d,Xl(this,c,d,b),f=b.info(),this.ue|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.nb),a.Qe||e),a.Mh=f[0],a.ug=f[1],a.vg=f[2]):a.rf=!1;a.Qe&&(a.Qe=!1,--this.Ie||B(this));Pl(this,a.nb)};
function Tl(a,b,c){if(a=a.xa.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function Pl(a,b){if(0<=b&&b<a.Fa.length){var c=a.Fa[b],d=a.xa.listDisks,e=a.xa.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.rf?"?":c.$e,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
function Ul(a,b,c,d){var e=a.Fa[b];e.za&&(Vl(a,e.$e,e.za),e.nm="",e.$e="",e.za=null,e.rf=!1,a.ue|=128,d||a.Ia("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Pl(a,b))}function Xl(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 Vl(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}}k.Po=function(a,b,c){A(this,a,b,c,"OUTPUT");b&4?this.Lf&4||this.Lf&8&&this.oa&&zj(this.oa,6):this.Ld();this.Lf=b};
k.vn=function(a,b){A(this,a,null,b,"STATUS",this.Ca);return this.Ca};k.tn=function(a,b){var c=0;this.Db<this.lb&&(c=this.jc[this.Db]);this.Lf&8&&this.oa&&Aj(this.oa,6);this.ua()&&A(this,a,null,b,"DATA["+this.Db+"]",c);++this.Db>=this.lb&&(this.Ca&=-81,this.Db=this.lb=0);return c};
k.Oo=function(a,b,c){this.ua()&&A(this,a,b,c,"DATA["+this.lb+"]");this.lb<this.jc.length&&(this.jc[this.lb++]=b);a=this.jc[0]&31;if(void 0!==Ol[a]&&this.lb>=Ol[a].Dd){b=!1;this.Db=0;a=this.Ta();var d,e,f,g,h=a&31;switch(h){case 3:this.Ta(l.lq);this.Ta(l.Sp);this.Xb();break;case 4:c=this.Ta(l.Pf);this.nb=c&3;d=this.Fa[this.nb];this.Xb();this.ic((d.eb&4278190080)>>>24,l.oq);break;case 5:case 6:c=this.Ta(l.Pf);b=c>>2&1;this.nb=c&3;d=this.Fa[this.nb];d.Qa=b;c=d.vb=this.Ta(l.ik);e=this.Ta(l.jk);f=d.$a=
this.Ta(l.lk);g=this.Ta(l.gi);d.kb=128<<g;d.ce=this.Ta(l.Np);this.Ta(l.zm);this.Ta(l.Mp);6==h?(h=d,h.eb=72,h.za&&(h.Xa=null,h.eb=0,this.oa&&(sj(this.oa,2,this,"dmaRead",h),kj(this.oa,2)))):(h=d,h.eb=72,h.za&&(h.za.tf?h.eb=576:(h.Xa=null,h.eb=0,this.oa&&(sj(this.oa,2,this,"dmaWrite",h),kj(this.oa,2)))));Yl(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=this.Ta(l.Pf);this.nb=c&3;d=this.Fa[this.nb];d.vb=d.ae=0;d.eb=268435488;this.Xb();b=!0;break;case 8:d=this.Fa[this.nb];d.Qa=0;this.Xb();this.ic(d.nb|d.Qa<<
2|d.eb&255,l.Bm);this.ic(d.vb,l.aq);this.nb=this.nb+1&3;break;case 10:c=this.Ta(l.Pf);b=c>>2&1;this.nb=c&3;d=this.Fa[this.nb];c=d.vb;e=d.Qa=b;f=d.$a=1;g=0;d.eb=0;d.za&&(d.Xa=d.za.seek(d.vb,d.Qa,d.$a))?g=d.Xa.length:d.eb=72;Yl(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Ta(l.Pf);b=c>>2&1;this.nb=c&3;d=this.Fa[this.nb];c=d.vb;e=d.Qa=b;f=1;g=this.Ta(l.gi);d.kb=128<<g;d.ce=this.Ta(l.gq);this.Ta(l.zm);d.sk=this.Ta(l.ym);h=d;h.eb=72;h.za&&(h.Xa=null,h.eb=0,this.oa&&(h.lf=0,h.Pc=Array(4),h.ri=!0,h.nh=
0,sj(this.oa,2,this,"dmaFormat",h),kj(this.oa,2),h.ri=!1));Yl(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=this.Ta(l.Pf),this.nb=c&3,d=this.Fa[this.nb],d.Qa=c>>2&1,c=this.Ta(l.Yp),d.vb+=c-d.ae,0>d.vb&&(d.vb=0),d.vb>=d.Bb&&(d.vb=d.Bb-1),d.ae=c,d.eb=32,d.vb||(d.eb|=268435456),this.Xb(),b=!0}0<this.lb&&(this.Ca|=80);this.Lf&8&&(!d||d.eb&8||!b||this.oa&&zj(this.oa,6))}};k.un=function(a,b){var c=this.ue;this.ue&=-129;A(this,a,null,b,"INPUT",c);return c};
k.No=function(a,b,c){A(this,a,b,c,"CONTROL");this.im=b};function Yl(a,b,c,d,e,f,g,h){a.Xb();a.ic(b.nb|b.Qa<<2|b.eb&255,l.Bm);a.ic((b.eb&65280)>>>8,l.mq);a.ic((b.eb&16711680)>>>16,l.nq);var n=0;if(e!=b.vb||f!=b.Qa)n=g=1;c&128&&(f^=n,d||(n=0));a.ic(e+n,l.ik);a.ic(f,l.jk);a.ic(g,l.lk);a.ic(h,l.gi)}k.Ta=function(){var a=this.jc[this.Db];this.Db++;return a};k.Xb=function(){this.Db=this.lb=0};k.ic=function(a){this.jc[this.lb++]=a};k.Bi=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
k.Ci=function(a,b){return void 0!==b&&0<=b?this.Mc(a,b):-1};k.Jm=function(a,b){return void 0!==b&&0<=b?this.ek(a,b):-1};k.yc=function(a,b){var c=-1;if(!a.eb&&a.za){do{if(a.Xa&&0<=(c=Ll(a.Xa,a.Va++)))break;a.Xa=a.za.seek(a.vb,a.Qa,a.$a);if(!a.Xa){a.eb=1088;break}a.Va=0;this.Xf(a)}while(1)}b(c,!1)};k.Mc=function(a,b){if(a.eb||!a.za)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Va++,b))break;a.Xa=a.za.seek(a.vb,a.Qa,a.$a);if(!a.Xa){a.eb=8256;b=-1;break}a.Va=0;this.Xf(a)}while(1);return b};
k.Xf=function(a){a.$a++;a.$a>=a.vg+1&&(a.$a=1,a.Qa++,a.Qa>=a.ug&&(a.Qa=0,a.vb++))};k.ek=function(a,b){if(a.eb)return-1;a.Pc[a.lf++]=b;if(a.lf==a.Pc.length){a.vb=a.Pc[0];a.Qa=a.Pc[1];a.$a=a.Pc[2];a.kb=128<<a.Pc[3];for(var c=a.lf=0;c<a.kb;c++)if(0>this.Mc(a,a.sk))return-1;a.nh++}a.nh>=a.ce&&(b=-1);return b};var Rl={1012:Ml.prototype.vn,1013:Ml.prototype.tn,1015:Ml.prototype.un},Sl={1010:Ml.prototype.Po,1013:Ml.prototype.Oo,1015:Ml.prototype.No};
Ja(function(){for(var a=z(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Ml(d);bb(d,c)}});function W(a){y.call(this,"HDC",a,W,Zl);this.dmaRead=this.Bi;this.dmaWrite=this.Ci;this.dmaWriteBuffer=this.Km;this.dmaWriteFormat=this.Lm;this.ii=[];if(a.drives)try{this.ii=eval("("+a.drives+")")}catch(b){w("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.ng=(this.Pe="at"==a.type)?1:0;this.Zm=this.Pe?2:3}Wa(y,W);
var $l=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.Hb=function(){return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=ib(a,"ChipSet");xb(b,this,this.Pe?am:bm);Bb(b,this,this.Pe?cm:dm);kd(c,19,this,this.Yn);kd(c,64,this,this.Zn);this.reset();this.Zf()||B(this)};
k.ec=function(a,b){if(!b)if(!a||!this.restore)this.Ld(),this.Ma.Ki&&this.Zf(!0);else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};k.uf=function(){return this.Ma?this.Ma.uf():""};k.ke=function(){return this.Ma?this.Ma.ke():""};k.reset=function(){this.Ld(null,!0)};k.save=function(){var a=new sd(this);a.set(0,this.ak());return a.data()};k.restore=function(a){return this.Ld(a[0])};
k.Ld=function(a,b){var c=0,d=!0;if(this.Pe)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.te=a[c++],this.mm=a[c++],this.ve=a[c++],this.Yh=a[c++],this.Wh=a[c++],this.Vh=a[c++],this.Kf=a[c++],this.Ca=a[c++],this.Xj=a[c++],this.Xh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Jf=a[c++];this.Ca=a[c++];this.jc=a[c++];this.Db=a[c++];this.lb=a[c++];this.lm=a[c++];this.km=a[c++];this.jm=a[c++];var e=a[c++];void 0!==e?this.vf=e:void 0===this.vf&&(this.vf=-1)}void 0===this.Fa&&(this.Fa=Array(this.ii.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.Fa.length;e++){void 0===this.Fa[e]&&(this.Fa[e]={});var f=this.Fa[e];this.Ui(e,f,this.ii[e],c[e],b)||(d=!1);null!=this.Jf&&1>=e&&(this.Jf|=(f.type&3)<<(1-e<<1))}return d};
k.ak=function(){var a=0,b=[];this.Pe?(b[a++]=this.te,b[a++]=this.mm,b[a++]=this.ve,b[a++]=this.Yh,b[a++]=this.Wh,b[a++]=this.Vh,b[a++]=this.Kf,b[a++]=this.Ca,b[a++]=this.Xj,b[a++]=this.Xh):(b[a++]=this.Jf,b[a++]=this.Ca,b[a++]=this.jc,b[a++]=this.Db,b[a++]=this.lb,b[a++]=this.lm,b[a++]=this.km,b[a++]=this.jm,b[a++]=this.vf);b[a]=this.ck();return b};
k.Ui=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.nb=a;b.errorCode=d[f++];b.sm=d[f++];b.sf=d[f++];b.hf=d[f++];b.jf=d[f++];b.Qa=d[f++];b.Cb=d[f++];b.Td=d[f++];b.$a=d[f++];b.ce=d[f++];b.kb=d[f++];b.ih=this.Pe?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.ke()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===$l[this.ng][b.type])b.type=this.Zm;c=$l[this.ng][b.type];
b.Gb=c[2]||17;b.rb=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.ma)){var h=e.ma[18],h=a?h&240|c:h&15|c<<4;e.ma&&(e.ma[18]=h,Ti(e))}void 0===b.za&&(b.za=null,this.Ia("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));em(this,b);b.Va=d[f++];b.Xa=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Xa=b.za.seek(b.Td,b.Qa,b.$a+b.ih)));return g};k.ck=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.bk(this.Fa[c]);return b};
k.bk=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.sm;c[b++]=a.sf;c[b++]=a.hf;c[b++]=a.jf;c[b++]=a.Qa;c[b++]=a.Cb;c[b++]=a.Td;c[b++]=a.$a;c[b++]=a.ce;c[b++]=a.kb;c[b++]=a.Va;c[b]=a.za?a.za.save():null;return c};k.Ck=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function em(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.hf[2])?e=b.hf[0]<<8|b.hf[1]:c=b.type);null==c||d||(d=$l[a.ng][c][1],e=$l[a.ng][c][0]);d&&((c=$l[a.ng][b.type])&&e!=c[0]&&d!=c[1]&&a.Ia("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.Cb=d,null==b.za&&(b.za=new Bl(a,b,b.mode)))}}
k.qm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Td=Math.floor(b/g),b%=g,a.Qa=Math.floor(b/f),a.$a=b%f,a.kb=c*d[3],a.errorCode=0,!0}}return!1};
k.Zf=function(a){a||(this.Ie=0);for(var b=0;b<this.Fa.length;b++){var c=this.Fa[b];if(c.name&&c.path){if(!(a&&c.za&&c.za.yh)){var d;d=c.name;var c=c.path,e=this.Fa[b];e.Kc?(this.Ia("Drive "+b+" busy"),d=!0):(e.Kc=!0,e.Qe=!0,this.Ie++,this.ua()&&this.cb("loading "+d),(e.za||new Bl(this,e,e.mode)).load(d,c,null,this.Nm),d=!1);!d&&a&&B(this,!1)}}else a&&void 0!==c.type&&(c.za=null,em(this,c,c.type))}return!!this.Ie};
k.Nm=function(a,b,c){a.Kc=!1;(a.za=b)&&this.Ia('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.nb),a.Qe);a.Qe&&(a.Qe=!1,--this.Ie||B(this))};k.Vn=function(a,b){var c=0;this.Db<this.lb&&(c=this.jc[this.Db]);this.oa&&Aj(this.oa,5);this.Ca&=-33;A(this,a,null,b,"DATA["+this.Db+"]",c);++this.Db>=this.lb&&(this.Db=this.lb=0,this.Ca&=-15);return c};
k.kp=function(a,b,c){A(this,a,b,c,"DATA["+this.lb+"]");this.lb<this.jc.length&&(this.jc[this.lb++]=b);a=12!=this.jc[0]?6:this.jc.length;6==this.lb&&(this.Ca&=-2);this.lb>=a&&(this.Ca|=2,this.Ca&=-2,fm(this))};k.Wn=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);this.Db<this.lb&&(this.Ca|=1);return c};k.np=function(a,b,c){A(this,a,b,c,"RESET");this.lm=b;this.oa&&Aj(this.oa,5);this.Ld()};k.Un=function(a,b){A(this,a,null,b,"CONFIG",this.Jf);return this.Jf};
k.mp=function(a,b,c){A(this,a,b,c,"PULSE");this.km=b;this.Ca=13};k.lp=function(a,b,c){A(this,a,b,c,"PATTERN");this.jm=b};k.Sj=function(a,b,c){A(this,a,b,c,"NOISE")};
k.fn=function(a,b){var c=-1;if(this.Ra)if(c=this.yc(this.Ra),1==this.Ra.Va)this.ua(N|Zl)&&A(this,a,null,b,"DATA["+this.Ra.Va+"]",c);else if(this.Ra.Va==this.Ra.rb)if(this.Ra.kb-=this.Ra.rb,this.ve=this.ve-1&255,this.Ra.kb>=this.Ra.rb){var d=this;d.Ca=136;this.yc(this.Ra,function(a){0<=a?(gm(d),d.Ca=80):(d.Ca=1,d.te=16)},!1)}else this.Ca=80;return c};
k.zo=function(a,b,c){this.Ra&&this.Ra.kb>=this.Ra.rb&&(0>this.Mc(this.Ra,b)?(this.Ca=1,this.te=16):1==this.Ra.Va?this.ua(N|Zl)&&A(this,a,b,c,"DATA["+this.Ra.Va+"]"):this.Ra.Va==this.Ra.rb&&(this.Ra.kb-=this.Ra.rb,this.ve=this.ve-1&255,gm(this),this.Ca=80,this.Ra.kb>=this.Ra.rb&&(this.Ca|=8)))};k.hn=function(a,b){var c=this.te;A(this,a,null,b,"ERROR",c);return c};k.Eo=function(a,b,c){A(this,a,b,c,"WPREC");this.mm=b};k.jn=function(a,b){var c=this.ve;A(this,a,null,b,"SECCNT",c);return c};
k.Co=function(a,b,c){A(this,a,b,c,"SECCNT");this.ve=b};k.kn=function(a,b){var c=this.Yh;A(this,a,null,b,"SECNUM",c);return c};k.Do=function(a,b,c){A(this,a,b,c,"SECNUM");this.Yh=b};k.en=function(a,b){var c=this.Wh;A(this,a,null,b,"CYLLO",c);return c};k.yo=function(a,b,c){A(this,a,b,c,"CYLLO");this.Wh=b};k.dn=function(a,b){var c=this.Vh;A(this,a,null,b,"CYLHI",c);return c};k.xo=function(a,b,c){A(this,a,b,c,"CYLHI");this.Vh=b};k.gn=function(a,b){var c=this.Kf;A(this,a,null,b,"DRVHD",c);return c};
k.Ao=function(a,b,c){A(this,a,b,c,"DRVHD");this.Kf=b;this.Ca=this.Fa[this.Kf&16?1:0]?this.Ca|64:this.Ca&-65};k.ln=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);return c};k.wo=function(a,b,c){A(this,a,b,c,"COMMAND");this.Xj=b;this.oa&&Aj(this.oa,14);hm(this)};k.Bo=function(a,b,c){A(this,a,b,c,"FDR");this.Xh&4&&!(b&4)&&(this.te=1);this.Xh=b};
function hm(a){var b=!1,c=a.Xj,d=a.Kf&16?1:0,e=a.Kf&15,f=a.Wh|(a.Vh&3)<<8,g=a.Yh,h=a.ve||256;a.Ra=null;a.te=0;a.Ca=80;(d=a.Fa[d])?(d.Td=f,d.Qa=e,d.$a=g,d.kb=h*d.rb,c=144<=c?c:c&240,d.Xa=null,d.Va=0,d.errorCode=0,a.Ra=d):c=-1;switch(c&240){case 32:a.Ca=136;a.yc(d,function(b){0<=b&&a.oa?(gm(a),a.Ca=80):(a.Ca=1,a.te=16)},!1);break;case 48:a.Ca=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.te=1;b=!0;break;case 145:d.Cb=e+1,d.Gb=h,b=!0}b&&gm(a)}
function gm(a){!a.oa||a.Xh&2||zj(a.oa,14,120)}
function fm(a){a.Db=0;var b=a.Ta(),c=a.Ta(),d=c&32,e=d>>5,f=c&31,g=a.Ta(),h=a.Ta(),n=g<<2&768|h,m=g&63,t=a.Ta(),r=a.Ta(),u=a.Fa[e];u&&(u.Td=n,u.Qa=f,u.$a=m,u.kb=t*u.rb);switch(b){case 3:a.Xb(u?u.errorCode:4);a.ic(c);a.ic(g);a.ic(h);a.ic(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ta());)u&&c<u.hf.length&&(u.hf[c++]=b);u&&em(a,u);b=0;u||a.vf!=e||(a.vf=-1,b=2);a.Xb(b|d);b=-1;break;case 224:case 228:a.Xb(0|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=0,u.sm=0),b){case 0:a.Xb(0|d);break;case 1:u.Cq=
r;a.Xb(0|d);break;case 5:a.Xb(0|d);break;case 8:im(a,u,function(b){a.Xb(b|d)});break;case 10:jm(a,u,function(b){a.Xb(b|d)});break;case 15:km(a,u,function(b){a.Xb(b|d)});break;default:a.Xb(2|d)}}k.Ta=function(){var a=-1;this.Db<this.lb&&(a=this.jc[this.Db++]);return a};k.Xb=function(a){this.Db=this.lb=0;void 0!==a&&this.ic(a);this.oa&&zj(this.oa,5);this.Ca|=32};k.ic=function(a){this.jc[this.lb++]=a};k.Bi=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
k.Ci=function(a,b){return void 0!==b&&0<=b?this.Mc(a,b):-1};k.Km=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va<a.jf.length?a.jf[a.Va++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Lm=function(a,b){return void 0!==b&&0<=b?this.ek(a,b):-1};function im(a,b,c){b.errorCode=4;if(b.za&&(b.Xa=null,a.oa)){b.errorCode=0;sj(a.oa,3,a,"dmaRead",b);kj(a.oa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function jm(a,b,c){b.errorCode=4;if(b.za&&(b.Xa=null,a.oa)){b.errorCode=0;sj(a.oa,3,a,"dmaWrite",b);kj(a.oa,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function km(a,b,c){b.errorCode=4;b.jf&&b.jf.length==b.kb||(b.jf=Array(b.kb));b.Va=0;a.oa?(b.errorCode=0,sj(a.oa,3,a,"dmaWriteBuffer",b),kj(a.oa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.yc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Xa&&(d=Ll(a.Xa,a.Va),a.Va+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.za)return a.za.seek(a.Td,a.Qa,a.$a+a.ih,!1,function(c,h){(a.Xa=c)?(a.Va=0,f.Xf(a),d=Ll(a.Xa,a.Va),a.Va+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
k.Mc=function(a,b){if(a.errorCode)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Va++,b))break;a.za&&a.za.seek(a.Td,a.Qa,a.$a+a.ih,!0,function(b){a.Xa=b});if(!a.Xa){a.errorCode=20;b=-1;break}a.Va=0;this.Xf(a)}while(1);return b};k.Xf=function(a){a.$a++;var b=1-a.ih;a.$a>=a.Gb+b&&(a.$a=b,a.Qa++,a.Qa>=a.Cb&&(a.Qa=0,a.Td++))};
k.ek=function(a,b){if(a.errorCode)return-1;a.Pc[a.lf++]=b;if(a.lf==a.Pc.length){a.Td=a.Pc[0];a.Qa=a.Pc[1];a.$a=a.Pc[2];a.kb=128<<a.Pc[3];for(var c=a.lf=0;c<a.kb;c++)if(0>this.Mc(a,a.sk))return-1;a.nh++}a.nh>=a.ce&&(b=-1);return b};k.Yn=function(){var a=this.T.K&255;!(this.T.H>>8)&&128<a&&(this.vf=a-128);return!0};k.Zn=function(){var a;(a=this.T.H>>8)||(a=!this.oa)||(a=!(this.oa.Vb[0].nd&64));return a?!0:!1};
var bm={800:W.prototype.Vn,801:W.prototype.Wn,802:W.prototype.Un},am={496:W.prototype.fn,497:W.prototype.hn,498:W.prototype.jn,499:W.prototype.kn,500:W.prototype.en,501:W.prototype.dn,502:W.prototype.gn,503:W.prototype.ln},dm={800:W.prototype.kp,801:W.prototype.np,802:W.prototype.mp,803:W.prototype.lp,807:W.prototype.Sj,811:W.prototype.Sj,815:W.prototype.Sj},cm={496:W.prototype.zo,497:W.prototype.Eo,498:W.prototype.Co,499:W.prototype.Do,500:W.prototype.yo,501:W.prototype.xo,502:W.prototype.Ao,503:W.prototype.wo,
1014:W.prototype.Bo};Ja(function(){for(var a=z(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new W(d);bb(d,c)}});
function lm(a){y.call(this,"Debugger",a,lm);this.lh=this.hd=-1;this.Le=5;this.Nc=[0,0];this.mk=[0,0];this.Tc=-1;this.Oc=[];this.pf=!1;this.ye=[0,0];this.Dc=[];mm(this);nm(this);om(this,a.messages);this.ub={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Zj=a.commands;var b=this;window&&void 0===window.$&&(window.$=function(a){return pm(b,a)})}
var Ob=1,md=16,pf=32,Fb=64,N=128,dj=256,Qd=512,Gi=1024,Ii=2048,Pj=4096,Hj=8192,qi=16384,Yj=32768,lk=131072,Nl=262144,Zl=524288,Dl=1048576,pl=2097152,Qj=4194304,yl=16777216,of=536870912,qf=1073741824;Wa(y,lm);
var Ki=26,qm={16:lk,19:Nl,21:qi,22:Yj,28:Gi,33:67108864,51:yl},rm={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options",reset:"reset computer",ver:"display version"},sm="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
X="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),tm="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),um={cpu:Ob,seg:2,desc:4,tss:8,"int":md,fault:pf,mem:Fb,port:N,dma:dj,pic:Qd,timer:Gi,cmos:Ii,rtc:Pj,8042:Hj,chipset:qi,keyboard:Yj,key:65536,video:lk,fdc:Nl,hdc:Zl,disk:Dl,serial:pl,speaker:Qj,state:8388608,mouse:yl,computer:33554432,dos:67108864,data:134217728,log:268435456,warn:of,halt:qf},Y=[0,0],vm=[205,12291],wm=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,
4228],[6,12385,4097],[6,14435,4100],[137,4211],[134,8307],[130,12417,4257],[130,12420,4260],[130,12449,4225],[130,12452,4228],[130,12385,4097],[130,14435,4100],[137,4467],[134,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],[5,12452,4228],[5,12385,4097],[5,14435,4100],[137,4723],[134,8819],[150,12417,4257],[150,12420,4260],[150,12449,4225],[150,12452,4228],[150,12385,4097],[150,14435,4100],[137,4979],[134,9075],[7,12417,4257],[7,12420,4260],[7,12449,4225],[7,12452,4228],[7,12385,4097],[7,14435,
4100],[35,15],[29],[184,12417,4257],[184,12420,4260],[184,12449,4225],[184,12452,4228],[184,12385,4097],[184,14435,4100],[27,15],[30],[191,12417,4257],[191,12420,4260],[191,12449,4225],[191,12452,4228],[191,12385,4097],[191,14435,4100],[177,15],[1],[24,4225,4257],[24,4228,4260],[24,4257,4225],[24,4260,4228],[24,4193,4097],[24,6243,4100],[33,15],[4],[75,14435],[75,14691],[75,14947],[75,15203],[75,15459],[75,15715],[75,15971],[75,16227],[31,14435],[31,14691],[31,14947],[31,15203],[31,15459],[31,15715],
[31,15971],[31,16227],[137,6243],[137,6499],[137,6755],[137,7011],[137,7267],[137,7523],[137,7779],[137,8035],[134,10339],[134,10595],[134,10851],[134,11107],[134,11363],[134,11619],[134,11875],[134,12131],[138,32768],[135,32768],[10,37028,4247],[8,8323,4259],[64,49152],[70,49152],[131,49152],[9,49152],[137,36868],[73,45219,4234],[137,36866],[73,45219,4233],[76,41041,6755],[76,41044,6755],[133,39523,4161],[133,39523,4164],[95,4145],[91,4145],[82,4145],[90,4145],[98,4145],[94,4145],[81,4145],[89,4145],
[97,4145],[93,4145],[96,4145],[92,4145],[86,4145],[85,4145],[87,4145],[84,4145],[192,12417,4097],[193,12420,4100],[192,12417,4097],[194,12420,4097],[185,4225,4257],[185,4228,4260],[189,12449,12417],[189,12452,12420],[121,8321,4257],[121,8324,4260],[121,8353,4225],[121,8356,4228],[121,8323,4275],[102,8356,148],[121,8371,4227],[134,8324],[128],[189,14435,14691],[189,14435,14947],[189,14435,15203],[189,14435,15459],[189,14435,15715],[189,14435,15971],[189,14435,16227],[18],[28],[17,4102],[188],[139],
[136],[148],[99],[121,8289,4129],[121,10339,4132],[121,8225,4193],[121,8228,6243],[122,8273,4161],[123,8276,4164],[25,4177,4161],[26,4180,4164],[185,4193,4097],[185,6243,4100],[181,8273,4193],[182,8276,6243],[113,8289,4161],[114,10339,4164],[151,4193,4177],[152,6243,4180],[121,8289,4097],[121,8545,4097],[121,8801,4097],[121,9057,4097],[121,9313,4097],[121,9569,4097],[121,9825,4097],[121,10081,4097],[121,10339,4100],[121,10595,4100],[121,10851,4100],[121,11107,4100],[121,11363,4100],[121,11619,4100],
[121,11875,4100],[121,12131,4100],[195,28801,4097],[196,28804,4097],[144,4099],[144],[104,8356,4246],[101,8356,4246],[121,8321,4097],[121,8324,4100],[34,36867,4097],[103,32768],[145,4099],[145],[78],[77,4097],[79],[80],[197,12417,4113],[198,12420,4113],[199,12417,4449],[200,12420,4449],[3,1],[2,1],[69],[190],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[116,4145],[117,4145],[115,4145],[83,4145],[74,8289,4097],[74,10339,4097],[132,4097,4193],[132,4097,6243],[17,4148],
[88,4148],[88,4102],[88,4145],[74,8289,6755],[74,10339,6755],[132,6755,4193],[132,6755,6243],[112,15],[0],[142,15],[143,15],[71],[23],[201,12417],[202,12420],[19],[178],[21],[180],[20],[179],[203,12417],[204,12420]],wm={0:[206,12419],1:[207,12419],2:[100,37027,4243],3:[118,37027,4243],5:[111,32768],6:[22,32768]},xm=[[[6,12417,4097],[130,12417,4097],[5,12417,4097],[150,12417,4097],[7,12417,4097],[184,12417,4097],[191,12417,4097],[24,4225,4097]],[[6,12420,4100],[130,12420,4100],[5,12420,4100],[150,
12420,4100],[7,12420,4100],[184,12420,4100],[191,12420,4100],[24,4228,4100]],[[6,12420,4098],[130,12420,4098],[5,12420,4098],[150,12420,4098],[7,12420,4098],[184,12420,4098],[191,12420,4098],[24,4228,4098]],[[146,45185,4097],[147,45185,4097],[140,45185,4097],[141,45185,4097],[170,45185,4097],[172,45185,4097],Z,[149,45185,4097]],[[146,45188,4097],[147,45188,4097],[140,45188,4097],[141,45188,4097],[170,45188,4097],[172,45188,4097],Z,[149,45188,4097]],[[146,12417,4113],[147,12417,4113],[140,12417,4113],
[141,12417,4113],[170,12417,4113],[172,12417,4113],Z,[149,12417,4113]],[[146,12420,4113],[147,12420,4113],[140,12420,4113],[141,12420,4113],[170,12420,4113],[172,12420,4113],Z,[149,12420,4113]],[[146,12417,4449],[147,12417,4449],[140,12417,4449],[141,12417,4449],[170,12417,4449],[172,12417,4449],Z,[149,12417,4449]],[[146,12420,4449],[147,12420,4449],[140,12420,4449],[141,12420,4449],[170,12420,4449],[172,12420,4449],Z,[149,12420,4449]],[[185,4225,4097],Z,[129,12417],[127,12417],[126,4225],[73,12417],
[32,4225],[72,12417]],[[185,4228,4100],Z,[129,12420],[127,12420],[126,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],Z,Z,Z,Z,Z,Z],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[137,4228],Z],[],[[175,8323],[183,8323],[109,4227],[120,4227],[186,4227],[187,4227],Z,Z],[[169,8323],[174,8323],[106,4227],[108,4227],[176,8323],Z,[110,4227],Z]],ym={19:{0:"disk reset",1:"get status",2:"read drive DL (CH:DH:CL:AL) into ES:BX",3:"write drive DL (CH:DH:CL:AL) from ES:BX",4:"verify drive DL (CH:DH:CL:AL)",
[88,4148],[88,4102],[88,4145],[74,8289,6755],[74,10339,6755],[132,6755,4193],[132,6755,6243],[112,15],[0],[142,15],[143,15],[71],[23],[201,12417],[202,12420],[19],[178],[21],[180],[20],[179],[203,12417],[204,12420]],xm={0:[206,12419],1:[207,12419],2:[100,37027,4243],3:[118,37027,4243],5:[111,32768],6:[22,32768]},ym=[[[6,12417,4097],[130,12417,4097],[5,12417,4097],[150,12417,4097],[7,12417,4097],[184,12417,4097],[191,12417,4097],[24,4225,4097]],[[6,12420,4100],[130,12420,4100],[5,12420,4100],[150,
12420,4100],[7,12420,4100],[184,12420,4100],[191,12420,4100],[24,4228,4100]],[[6,12420,4098],[130,12420,4098],[5,12420,4098],[150,12420,4098],[7,12420,4098],[184,12420,4098],[191,12420,4098],[24,4228,4098]],[[146,45185,4097],[147,45185,4097],[140,45185,4097],[141,45185,4097],[170,45185,4097],[172,45185,4097],Y,[149,45185,4097]],[[146,45188,4097],[147,45188,4097],[140,45188,4097],[141,45188,4097],[170,45188,4097],[172,45188,4097],Y,[149,45188,4097]],[[146,12417,4113],[147,12417,4113],[140,12417,4113],
[141,12417,4113],[170,12417,4113],[172,12417,4113],Y,[149,12417,4113]],[[146,12420,4113],[147,12420,4113],[140,12420,4113],[141,12420,4113],[170,12420,4113],[172,12420,4113],Y,[149,12420,4113]],[[146,12417,4449],[147,12417,4449],[140,12417,4449],[141,12417,4449],[170,12417,4449],[172,12417,4449],Y,[149,12417,4449]],[[146,12420,4449],[147,12420,4449],[140,12420,4449],[141,12420,4449],[170,12420,4449],[172,12420,4449],Y,[149,12420,4449]],[[185,4225,4097],Y,[129,12417],[127,12417],[126,4225],[73,12417],
[32,4225],[72,12417]],[[185,4228,4100],Y,[129,12420],[127,12420],[126,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],Y,Y,Y,Y,Y,Y],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[137,4228],Y],[],[[175,8323],[183,8323],[109,4227],[120,4227],[186,4227],[187,4227],Y,Y],[[169,8323],[174,8323],[106,4227],[108,4227],[176,8323],Y,[110,4227],Y]],zm={19:{0:"disk reset",1:"get status",2:"read drive DL (CH:DH:CL:AL) into ES:BX",3:"write drive DL (CH:DH:CL:AL) from ES:BX",4:"verify drive DL (CH:DH:CL:AL)",
5:"format drive DL using ES:BX",8:"read drive DL parameters into ES:DI",21:"get drive DL DASD type",22:"get drive DL change line status",23:"set drive DL DASD type",24:"set drive DL media type"},21:{128:"open device",129:"close device",130:"program termination",131:"wait CX:DXus for event",132:"joystick support",133:"SYSREQ pressed",134:"wait CX:DXus",135:"move block (CX words)",136:"get extended memory size",137:"processor to virtual mode",144:"device busy loop",145:"interrupt complete flag set"},
33:{0:"terminate program",1:"read character (al) from stdin with echo",2:"write character DL to stdout",3:"read character (al) from stdaux",4:"write character DL to stdaux",5:"write character DL to stdprn",6:"direct console output (input if DL=FF)",7:"direct console input without echo",8:"read character (al) from stdin without echo",9:"write $-terminated string DS:DX to stdout",10:"buffered input (ds:dx)",11:"get stdin status",12:"flush buffer and read stdin",13:"disk reset",14:"select default drive DL",
15:"open file using fcb DS:DX",16:"close file using fcb DS:DX",17:"find first matching file using fcb DS:DX",18:"find next matching file using fcb DS:DX",19:"delete file using fcb DS:DX",20:"sequential read from file using fcb DS:DX",21:"sequential write to file using fcb DS:DX",22:"create or truncate file using fcb DS:DX",23:"rename file using fcb DS:DX",25:"get current default drive (al)",26:"set disk transfer area (dta) DS:DX",27:"get allocation information for default drive",28:"get allocation information for specific drive DL",
@ -691,91 +695,92 @@ Y="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),sm
55:"get(0)/set(1) switch character DL (AL)",56:"get country-specific information",57:"create subdirectory DS:DX",58:"remove subdirectory DS:DX",59:"set current directory DS:DX",60:"create or truncate file DS:DX with attributes CX",61:"open existing file DS:DX with mode AL",62:"close file BX",63:"read CX bytes from file BX into buffer DS:DX",64:"write CX bytes to file BX from buffer DS:DX",65:"delete file DS:DX",66:"set position CX:DX of file BX relative to AL",67:"get(0)/set(1) attributes CX of file DS:DX (AL)",
68:"get device information (IOCTL)",69:"duplicate file handle BX",70:"force file handle CX to duplicate file handle BX",71:"get current directory (ds:si) for drive DL",72:"allocate memory segment with BX paragraphs",73:"free memory segment ES",74:"resize memory segment ES to BX paragraphs",75:"load program DS:DX using parameter block ES:BX",76:"terminate with return code AL",77:"get return code (al)",78:"find first matching file DS:DX with attributes CX",79:"find next matching file",80:"set current psp BX",
81:"get current psp (bx)",82:"get system variables (es:bx)",83:"translate bpb DS:SI to dpb (es:bp)",84:"get verify flag (al)",85:"create child psp at segment DX",86:"rename file DS:DX to name ES:DI",87:"get(0)/set(1) file date DX and time CX (AL)",88:"get(0)/set(1) memory allocation strategy (AL)",89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};
km.prototype.vc=function(a,b,c,d){this.sa=b;this.T=c;this.Ma=a;this.Um=ib(a,"FDC");this.Qk=ib(a,"HDC");this.Le=b.Af>>2;this.Uf=vm;80186<=this.T.Ka&&(this.Uf=vm.slice(),this.Uf[15]=Z,80286<=this.T.Ka&&(this.Uf[15]=um));Fi(this,4,function(a){if(a){var b=zm(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=Am(d,b);d.Z("dumpDesc("+v(a.ta)+"): %"+p(a.Dd,d.Le));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?
",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.nb&32768||(c+=",not present");d.Z((b?"seg="+v(a.Ga&65535)+" off="+v(a.oc):"base="+p(a.Ga,d.Le)+" limit="+v(a.oc))+" dpl="+q(a.nc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.Z("no selector")});
Fi(this,8,function(a){a:{if(a){var b=zm(d,a);if(void 0===b){d.Z("invalid task selector: "+a);break a}a=Am(d,b)}else a=d.T.gb;d.Z("dumpTSS("+v(a.ta)+"): %"+p(a.Ga,d.Le));var b="",c;for(c in Bm){var e=Bm[c],m=8>c.length?" ":"",s=sb(d.sa,a.Ga+e);b&&(b+="\n");b+=v(e)+" "+c+": "+m+v(s)}d.Z(b)}});Fi(this,67108864,function(a){if(a)for(d.Z("dumpDOS("+a+")"),a=zm(d,a);a;){var b=[0,a,void 0],c=d.yb(b,1),e=d.ra(b,2),m=d.ra(b,5);if(77!=c&&90!=c)break;d.Z(fa(0,a)+": '"+String.fromCharCode(c)+"' PID="+v(e)+" LEN="+
v(m)+' "'+Cm(d,b)+'"');a+=1+m}else d.Z("no MCB")});this.Wa();if(this.Yj){a=Dm(this,this.Yj);delete this.Yj;for(var e in a)om(this,a[e])}};
km.prototype.Ib=function(a,b,c){var d=this;switch(b){case "debugInput":return this.fg=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Dm(d,b,!0),h;for(h in g)om(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Tc<d.Oc.length-1&&(b=d.Oc[++d.Tc]):40==a.keyCode&&(0<d.Tc?b=d.Oc[--d.Tc]:(b="",d.Tc=-1)),null!=b&&(g=b.length,c.value=b,c.setSelectionRange(g,g)));null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.xa[b]=c,Ea(c,function(){if(d.fg){var a=
d.fg.value;d.fg.value="";var a=Dm(d,a,!0),b;for(b in a)om(d,a[b]);return!0}return!1}),!0;case "step":return this.xa[b]=c,Ea(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Nf(a?1:0),db(d,!1));return b}),!0}return!1};km.prototype.Yc=function(){this.fg&&this.fg.focus()};
var Bm={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42};function Cm(a,b){var c,d="";for(c=8;d.length<c;){var e=a.yb(b,1);if(!e)break;d+=32<=e&&128>e?String.fromCharCode(e):"."}return d}
function nm(a,b){a.ka=a;a.Yb=a.Em=of;a.Zj=null;a.li=[];var c=Dm(a,b);if(c.length)for(var d in tm)0<=c.indexOf(d)&&(a.Yb|=tm[d],a.Z(d+" messages enabled"))}function Fi(a,b,c){for(var d in tm)if(b==tm[d]){a.li[d]=c;break}}
function nd(a,b,c){var d,e=!1,f=pm[b];f&&(d=a.T.H>>8,e=a.va(f)?!0:f==Ml&&a.va(f=Yl));if(e){var g=a.T.K&255;if(33==b&&11==d||f==Ml&&128<=g||f==Yl&&128>g)e=!1}if(e){if(f=(f=ym[b])&&f[d]||"")g=a.T,a.tb[Y[0]]=q(g.H&255),a.tb[Y[1]]=q(g.J&255),a.tb[Y[2]]=q(g.K&255),a.tb[Y[3]]=q(g.C&255),a.tb[Y[4]]=q(g.H>>8),a.tb[Y[5]]=q(g.J>>8),a.tb[Y[6]]=q(g.K>>8),a.tb[Y[7]]=q(g.C>>8),a.tb[Y[8]]=v(g.H),a.tb[Y[9]]=v(g.J),a.tb[Y[10]]=v(g.K),a.tb[Y[11]]=v(g.C),a.tb[Y[12]]=v(g.Y),a.tb[Y[13]]=v(g.I),a.tb[Y[14]]=v(g.G),a.tb[Y[15]]=
v(g.F),a.tb[Y[16]]=v(g.La.ta),a.tb[Y[17]]=v(g.ua.ta),a.tb[Y[18]]=v(g.Za.ta),a.tb[Y[19]]=v(g.fb.ta),a.tb[Y[20]]=v(g.wa),f=" "+la(a.tb,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+fa(c-2-a.T.ua.Ga,a.T.ua.ta)+f)}return e}function pd(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(zd(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")}
function cb(a,b,c,d,e,f,g,h){h|=P;if(null==e||(a.Yb&h)==h)h=null,null!=e&&(h=a.T.ua.ta,e-=a.T.ua.Ga),a.message(b.Eh+"."+(null!=d?"outPort":"inPort")+"(0x"+v(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+fa(e,h):""))}k=km.prototype;k.message=function(a,b){b&&(a+=" @"+fa(this.T.wa,this.T.ua.ta));if(!this.Zj||a!=this.Zj)if(this.Z(a),this.Zj=a,this.T){this.Yb&qf&&this.T.Jb();var c=this.T;c.da.Ef=0;c.Uc-=c.A;c.A=0;Vb(c)}};k.Wn=function(){this.Z("Type ? for list of debugger commands")};
function mm(a){var b;if(Pd(a)){if(!a.$d||!a.$d.length){a.$d=Array(1E4);for(b=0;b<a.$d.length;b++)a.$d[b]=[0,null,0];a.xf=0}if(!a.$c||!a.$c.length)for(a.$c=Array(256),b=0;b<a.$c.length;b++)a.$c[b]=[b,0]}else a.xf=0,a.$d=[],a.$c=[]}k.Ze=function(a){if(!Em(this))return!1;this.T.Ze(a);return!0};
k.Nf=function(a,b,c){if(!Em(this))return!1;this.hd=0;do{a||Pd(this)&&Wd(this,this.T.Ea,!0);try{var d=this.T.Nf(a);0<d&&(this.hd+=d,$b(this.T,d,!0),Wb(this.T,d),this.lh++)}catch(e){this.hd=0,gb(this.T,e.message||e)}}while(this.T.ba&240);!1!==c&&Vb(this.T);Ub(this,b||!1,!1);return 0<this.hd};k.Jb=function(a,b){a&&this.Z(a);this.T.Jb(!b)};function Ub(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Nc=[a.T.wa,a.T.ua.ta,void 0];b&&1!=a.tc?Fm(a,null,c):Gm(a)}
function Em(a){var b;if(b=a.T&&fb(a.T))b=a.T,b.na.Tb?b=!0:(b.Z(b.toString()+" not powered"),b=!1);b&&!eb(a.T)?(a=a.T,a.na.fd?(a.Z(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.ec=function(a,b){return!b&&(this.reset(!0),this.Z(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.dc=function(a,b){b&&this.Z(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
k.reset=function(a){mm(this);this.hd=this.lh=0;this.Nc=[this.T.wa,this.T.ua.ta,void 0];void 0===this.na.Fb||a||this.Z("reset");this.na.Fb=!1;Hm(this);a||Ub(this)};k.save=function(){var a=new sd(this);a.set(0,this.Nc);a.set(1,this.ye);a.set(2,[this.Oc,this.qf,this.Yb]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Nc=a[b++],this.ye=a[b++],this.Oc=a[b][0],"string"==typeof this.Oc&&(this.Oc=[this.Oc]),this.qf=a[b][1],this.Yb||(this.Yb=a[b][2]));return!0};
k.start=function(a,b){this.tc||this.Z("running");this.na.Fb=!0;this.fo=a;this.jd=b};k.stop=function(a,b){if(this.na.Fb){this.na.Fb=!1;this.hd=b-this.jd;if(!this.tc){var c="stopped";if(this.hd){var d=a-this.fo,e=0<d?Math.round(1E3*this.hd/d):0,c=c+" (";Pd(this)&&(c+=this.lh+" ops, ");c+=this.hd+" cycles, "+d+" ms, "+e+" hz)"}this.Z(c)}Ub(this,!0,2!=this.tc);this.Yc();Hm(this,this.T.Ea)}};function Pd(a){return 1<a.zc.length||a.va(md)}
function Wd(a,b,c){if(!(c||3!=a.T.ua.cb||a.T.Ba&512)||!c&&Im(a,b,a.zc))return!0;a.$c.length&&(a.lh++,c=rb(a.sa,b),a.$c[c][1]++,c=a.$d[a.xf],c[0]=a.T.wa,c[1]=a.T.ua.ta,c[2]=b,++a.xf==a.$d.length&&(a.xf=0));return!1}function Gb(a,b){return Im(a,b,a.Xd)?(a.T.Jb(!0),!0):!1}function Hb(a,b){return Im(a,b,a.Zc)?(a.T.Jb(!0),!0):!1}function zb(a,b,c){a.Z("break on input from port "+v(b)+": "+q(c));a.T.Jb(!0)}function Db(a,b,c){a.Z("break on output to port "+v(b)+": "+q(c));a.T.Jb(!0)}
function Am(a,b){if(b==a.T.ua.ta)return a.T.ua;if(b==a.T.fb.ta)return a.T.fb;if(b==a.T.La.ta)return a.T.La;if(b==a.T.Za.ta)return a.T.Za;var c=new fc(a.T,7,"DBG");c.load(b,!0);return c}function Jm(a,b,c,d){var e=b[2];null==e&&(a=Am(a,b[1]),e=c?a.Zb(b[0],d||0,!0):a.Ic(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.yb=function(a,b){var c=255,d=Jm(this,a,!1,0);0<=d&&(c=rb(this.sa,d),void 0!==b&&Km(a,b));return c};
k.ra=function(a,b){var c=65535,d=Jm(this,a,!1,1);0<=d&&(c=sb(this.sa,d),void 0!==b&&Km(a,b));return c};k.Sd=function(a,b,c){var d=Jm(this,a,!0,0);0<=d&&(tb(this.sa,d,b),void 0!==c&&Km(a,c),Vb(this.T))};k.Ta=function(a,b,c){var d=Jm(this,a,!0,1);0<=d&&(ub(this.sa,d,b),void 0!==c&&Km(a,c),Vb(this.T))};function Lm(a){return null==a[1]?"%"+p(a[2]):fa(a[0],a[1])}function Km(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
function lm(a){var b;a.zc=["exec"];if(void 0!==a.Xd)for(b=1;b<a.Xd.length;b++){var c=a.sa,d=Jm(a,a.Xd[b]);Lb(c.Ha[d>>c.Eb],!1)}a.Xd=["read"];if(void 0!==a.Zc)for(b=1;b<a.Zc.length;b++)c=a.sa,d=Jm(a,a.Zc[b]),Lb(c.Ha[d>>c.Eb],!0);a.Zc=["write"]}k.ae=function(a,b,c){if(!Mm(this,a,b)){b[3]=c;a.push(b);if(a!=this.zc){var d=this.sa,e=Jm(this,b);d.Ha[e>>d.Eb].ae(e&d.ob,a==this.Zc)}c||this.Z("breakpoint enabled: "+Lm(b)+" ("+a[0]+")");mm(this);return!0}return!1};
function Mm(a,b,c,d){var e=!1;c=Jm(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==Jm(a,g)){e=!0;if(d){b.splice(f,1);b!=a.zc&&(d=a.sa,Lb(d.Ha[c>>d.Eb],b==a.Zc));g[3]||a.Z("breakpoint cleared: "+Lm(g)+" ("+b[0]+")");mm(a);break}a.Z("breakpoint exists: "+Lm(g)+" ("+b[0]+")");break}}return e}function Nm(a,b){for(var c=1;c<b.length;c++)a.Z("breakpoint enabled: "+Lm(b[c])+" ("+b[0]+")");return b.length-1}
function Mb(a,b,c,d){if(void 0===d)Mb(a,b,c,a.Xd),Mb(a,b,c,a.Zc);else for(var e=1;e<d.length;e++){var f=Jm(a,d[e]);if(f>=b&&f<b+c){var g=a.sa;g.Ha[f>>g.Eb].ae(f&g.ob,d==a.Zc)}}}function Hm(a,b){if(void 0!==b)Im(a,b,a.zc,!0),a.tc=0;else for(var c=1;c<a.zc.length;c++){var d=a.zc[c];if(d[3]){if(!Mm(a,a.zc,d,!0))break;c=0}}}
function Im(a,b,c,d){var e=!1;16711680==(b&16711680)&&(b&=1048575);for(var f=1;f<c.length;f++){var g=c[f];if(b==Jm(a,g)){g[3]?Mm(a,c,g,!0):d||a.Z("\nbreakpoint hit: "+Lm(g)+" ("+c[0]+")");e=!0;break}}return e}
function Om(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.yb(b,1),g=a.Uf[f],h=g[0],n=-1;205==h&&(h=a.yb(b,1),g=wm[h]||Z,f|=h<<8,h=g[0]);h>=rm.length&&(n=a.yb(b,1),g=xm[h-rm.length][n>>3&7]);var h=rm[g[0]],m=2,s="";if(164<=f&&167>=f||170<=f&&175>=f)m=0;for(f=1;f<=m;f++){var r="",t=g[f];if(void 0!==t){var w=t&15;if(0!=w&&15!=w){var u=t&240;if(128<=u)if(0>n&&(n=a.yb(b,1)),160<=u)a:{r=n>>3&7;if(176==(t&240)){if(4<=r){r=null;break a}r+=16}else 3<=(t&15)&&(r+=8);r=Y[r]}else{if(128<=u){var r=a,u=t,t=b,C="",w=n>>6,
C=n&7;3>w?(u=void 0,w||6!=C?(C=sm[C],1==w?(u=r.yb(t,1),u&128?(u=u<<24>>24,C+="-"+q(-u)):C+="+"+q(u)):2==w&&(u=r.ra(t,2),C+="+"+v(u))):(u=r.ra(t,2),C=v(u)),C="["+C+"]"):C=Y[C+(1==(u&15)?0:8)];r=C}}else if(16==u)r="1";else if(0==u){r=a;w=t;t=b;u=" ";switch(w&15){case 1:w&12288&&(u=q(r.yb(t,1)));break;case 2:u=v(r.yb(t,1)<<24>>24);break;case 3:case 4:u=v(r.ra(t,2));break;case 6:w=r.ra(t,2);r=r.ra(t,2);u=Lm([w,r,void 0]);break;default:u="imm("+v(w)+")"}r=u}else 32==u?r="["+v(a.ra(b,2))+"]":48==u?(1==
w?(r=a.yb(b,1),r=r<<24>>24):r=a.ra(b,2),r=b[0]+r&65535,r=Pm(a,[r,b[1],void 0])[0]||v(r)):96==u?r=Y[(t&3840)>>8]:112==u?r=Y[((t&3840)>>8)+16]:64==u?r="DS:[SI]":80==u&&(r="ES:[DI]");if(!r||!r.length){s="INVALID";break}0<s.length&&(s+=",");s+=r}}}g=Lm(e)+" ";n="";do n+=q(a.yb(e,1));while(e[0]!=b[0]);g+=(n+" ").substr(0,14);g+=(h+" ").substr(0,8);s&&(g+=" "+s);c&&(g=(g+" ").substr(0,50),g+=";",g=a.T.na.rf?g+("cycles="+D(a.T).toString()+" cs="+p(a.T.da.pg)):g+(c+
(null!=d?"="+d.toString():"")));return g}function Qm(a,b){var c;switch(b){case "V":c=Ed(a.T);break;case "D":c=a.T.Ba&1024;break;case "I":c=a.T.Ba&512;break;case "T":c=a.T.Ba&256;break;case "S":c=Dd(a.T);break;case "Z":c=Cd(a.T);break;case "A":c=Bd(a.T);break;case "P":c=Ad(a.T);break;case "C":c=zd(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function Rm(a,b,c){return b.Lg+"="+v(b.ta)+(c?"["+p(b.Ga,a.Le)+","+v(b.oc)+"]":"")}
function Sm(a,b,c,d,e){return b+"="+(null!=c?v(c):"")+"["+p(d,a.Le)+","+v(e-d)+"]"}
function Tm(a,b,c){var d=2==c?a.lk:a.Nc;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),c=-1,e=null);var f=b,d=null;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var d=[],g=f.toUpperCase(),h=0;h<a.Cc.length;h++){var f=a.Cc[h][0],n=a.Cc[h][2][g];if(void 0!==n){g=n.o;void 0!==g&&(h=n.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==n.p&&(d[2]=n.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=zm(a,b),d=null):d=zm(a,b):(e=zm(a,b.substring(0,d)),c=zm(a,b.substring(d+1)),
lm.prototype.vc=function(a,b,c,d){this.sa=b;this.T=c;this.Ma=a;this.Vm=ib(a,"FDC");this.Rk=ib(a,"HDC");this.Le=b.zf>>2;this.Uf=wm;80186<=this.T.Ka&&(this.Uf=wm.slice(),this.Uf[15]=Y,80286<=this.T.Ka&&(this.Uf[15]=vm));Fi(this,4,function(a){if(a){var b=Am(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=Bm(d,b);d.Z("dumpDesc("+s(a.ta)+"): %"+p(a.Ad,d.Le));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?
",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.ob&32768||(c+=",not present");d.Z((b?"seg="+s(a.Ga&65535)+" off="+s(a.oc):"base="+p(a.Ga,d.Le)+" limit="+s(a.oc))+" dpl="+q(a.nc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.Z("no selector")});
Fi(this,8,function(a){a:{if(a){var b=Am(d,a);if(void 0===b){d.Z("invalid task selector: "+a);break a}a=Bm(d,b)}else a=d.T.gb;d.Z("dumpTSS("+s(a.ta)+"): %"+p(a.Ga,d.Le));var b="",c;for(c in Cm){var e=Cm[c],m=8>c.length?" ":"",t=sb(d.sa,a.Ga+e);b&&(b+="\n");b+=s(e)+" "+c+": "+m+s(t)}d.Z(b)}});Fi(this,67108864,function(a){if(a)for(d.Z("dumpDOS("+a+")"),a=Am(d,a);a;){var b=[0,a,void 0],c=d.yb(b,1),e=d.ra(b,2),m=d.ra(b,5);if(77!=c&&90!=c)break;d.Z(ea(0,a)+": '"+String.fromCharCode(c)+"' PID="+s(e)+" LEN="+
s(m)+' "'+Dm(d,b)+'"');a+=1+m}else d.Z("no MCB")});B(this);if(this.Zj){a=Em(this,this.Zj);delete this.Zj;for(var e in a)pm(this,a[e])}};
lm.prototype.Hb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.fg=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Em(d,b,!0),h;for(h in g)pm(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Tc<d.Oc.length-1&&(b=d.Oc[++d.Tc]):40==a.keyCode&&(0<d.Tc?b=d.Oc[--d.Tc]:(b="",d.Tc=-1)),null!=b&&(g=b.length,c.value=b,c.setSelectionRange(g,g)));null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.xa[b]=c,Da(c,function(){if(d.fg){var a=
d.fg.value;d.fg.value="";var a=Em(d,a,!0),b;for(b in a)pm(d,a[b]);return!0}return!1}),!0;case "step":return this.xa[b]=c,Da(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Nf(a?1:0),db(d,!1));return b}),!0}return!1};lm.prototype.Yc=function(){this.fg&&this.fg.focus()};
var Cm={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42};function Dm(a,b){var c,d="";for(c=8;d.length<c;){var e=a.yb(b,1);if(!e)break;d+=32<=e&&128>e?String.fromCharCode(e):"."}return d}
function om(a,b){a.ka=a;a.Yb=a.Fm=of;a.$j=null;a.li=[];var c=Em(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in um)0<=c.indexOf(d)&&(a.Yb|=um[d],a.Z(d+" messages enabled"))}function Fi(a,b,c){for(var d in um)if(b==um[d]){a.li[d]=c;break}}
function nd(a,b,c){var d,e=!1,f=qm[b];f&&(d=a.T.H>>8,e=a.ua(f)?!0:f==Nl&&a.ua(f=Zl));if(e){var g=a.T.K&255;if(33==b&&11==d||f==Nl&&128<=g||f==Zl&&128>g)e=!1}if(e){if(f=(f=zm[b])&&f[d]||"")g=a.T,a.ub[X[0]]=q(g.H&255),a.ub[X[1]]=q(g.J&255),a.ub[X[2]]=q(g.K&255),a.ub[X[3]]=q(g.C&255),a.ub[X[4]]=q(g.H>>8),a.ub[X[5]]=q(g.J>>8),a.ub[X[6]]=q(g.K>>8),a.ub[X[7]]=q(g.C>>8),a.ub[X[8]]=s(g.H),a.ub[X[9]]=s(g.J),a.ub[X[10]]=s(g.K),a.ub[X[11]]=s(g.C),a.ub[X[12]]=s(g.Y),a.ub[X[13]]=s(g.I),a.ub[X[14]]=s(g.G),a.ub[X[15]]=
s(g.F),a.ub[X[16]]=s(g.La.ta),a.ub[X[17]]=s(g.va.ta),a.ub[X[18]]=s(g.Ya.ta),a.ub[X[19]]=s(g.fb.ta),a.ub[X[20]]=s(g.wa),f=" "+ja(a.ub,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+ea(c-2-a.T.va.Ga,a.T.va.ta)+f)}return e}function pd(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(zd(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")}
function cb(a,b,c,d,e,f,g,h){h|=N;if(null==e||(a.Yb&h)==h)h=null,null!=e&&(h=a.T.va.ta,e-=a.T.va.Ga),a.message(b.Fh+"."+(null!=d?"outPort":"inPort")+"(0x"+s(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+ea(e,h):""))}k=lm.prototype;k.message=function(a,b){b&&(a+=" @"+ea(this.T.wa,this.T.va.ta));if(!this.$j||a!=this.$j)if(this.Z(a),this.$j=a,this.T){this.Yb&qf&&this.T.Ib();var c=this.T;c.da.Df=0;c.Uc-=c.A;c.A=0;Ub(c)}};k.Xn=function(){this.Z("Type ? for list of debugger commands")};
function nm(a){var b;if(Pd(a)){if(!a.Yd||!a.Yd.length){a.Yd=Array(1E4);for(b=0;b<a.Yd.length;b++)a.Yd[b]=[0,null,0];a.wf=0}if(!a.$c||!a.$c.length)for(a.$c=Array(256),b=0;b<a.$c.length;b++)a.$c[b]=[b,0]}else a.wf=0,a.Yd=[],a.$c=[]}k.Ye=function(a){if(!Fm(this))return!1;this.T.Ye(a);return!0};
k.Nf=function(a,b,c){if(!Fm(this))return!1;this.hd=0;do{a||Pd(this)&&Wd(this,this.T.Ea,!0);try{var d=this.T.Nf(a);0<d&&(this.hd+=d,$b(this.T,d,!0),Wb(this.T,d),this.lh++)}catch(e){this.hd=0,gb(this.T,e.message||e)}}while(this.T.ba&240);!1!==c&&Ub(this.T);Tb(this,b||!1,!1);return 0<this.hd};k.Ib=function(a,b){a&&this.Z(a);this.T.Ib(!b)};function Tb(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Nc=[a.T.wa,a.T.va.ta,void 0];b&&1!=a.tc?Gm(a,null,c):Hm(a)}
function Fm(a){var b;if(b=a.T&&fb(a.T))b=a.T,b.na.Sb?b=!0:(b.Z(b.toString()+" not powered"),b=!1);b&&!eb(a.T)?(a=a.T,a.na.fd?(a.Z(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.ec=function(a,b){return!b&&(this.reset(!0),this.Z(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.dc=function(a,b){b&&this.Z(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
k.reset=function(a){nm(this);this.hd=this.lh=0;this.Nc=[this.T.wa,this.T.va.ta,void 0];void 0===this.na.mb||a||this.Z("reset");this.na.mb=!1;Im(this);a||Tb(this)};k.save=function(){var a=new sd(this);a.set(0,this.Nc);a.set(1,this.ye);a.set(2,[this.Oc,this.pf,this.Yb]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Nc=a[b++],this.ye=a[b++],this.Oc=a[b][0],"string"==typeof this.Oc&&(this.Oc=[this.Oc]),this.pf=a[b][1],this.Yb||(this.Yb=a[b][2]));return!0};
k.start=function(a,b){this.tc||this.Z("running");this.na.mb=!0;this.io=a;this.jd=b};k.stop=function(a,b){if(this.na.mb){this.na.mb=!1;this.hd=b-this.jd;if(!this.tc){var c="stopped";if(this.hd){var d=a-this.io,e=0<d?Math.round(1E3*this.hd/d):0,c=c+" (";Pd(this)&&(c+=this.lh+" ops, ");c+=this.hd+" cycles, "+d+" ms, "+e+" hz)"}this.Z(c)}Tb(this,!0,2!=this.tc);this.Yc();Im(this,this.T.Ea)}};function Pd(a){return 1<a.zc.length||a.ua(md)}
function Wd(a,b,c){if(!(c||3!=a.T.va.bb||a.T.Ba&512)||!c&&Jm(a,b,a.zc))return!0;a.$c.length&&(a.lh++,c=rb(a.sa,b),a.$c[c][1]++,c=a.Yd[a.wf],c[0]=a.T.wa,c[1]=a.T.va.ta,c[2]=b,++a.wf==a.Yd.length&&(a.wf=0));return!1}function Gb(a,b){return Jm(a,b,a.Vd)?(a.T.Ib(!0),!0):!1}function Hb(a,b){return Jm(a,b,a.Zc)?(a.T.Ib(!0),!0):!1}function zb(a,b,c){a.Z("break on input from port "+s(b)+": "+q(c));a.T.Ib(!0)}function Db(a,b,c){a.Z("break on output to port "+s(b)+": "+q(c));a.T.Ib(!0)}
function Bm(a,b){if(b==a.T.va.ta)return a.T.va;if(b==a.T.fb.ta)return a.T.fb;if(b==a.T.La.ta)return a.T.La;if(b==a.T.Ya.ta)return a.T.Ya;var c=new fc(a.T,7,"DBG");c.load(b,!0);return c}function Km(a,b,c,d){var e=b[2];null==e&&(a=Bm(a,b[1]),e=c?a.Zb(b[0],d||0,!0):a.Ic(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.yb=function(a,b){var c=255,d=Km(this,a,!1,0);0<=d&&(c=rb(this.sa,d),void 0!==b&&Lm(a,b));return c};
k.ra=function(a,b){var c=65535,d=Km(this,a,!1,1);0<=d&&(c=sb(this.sa,d),void 0!==b&&Lm(a,b));return c};k.Qd=function(a,b,c){var d=Km(this,a,!0,0);0<=d&&(tb(this.sa,d,b),void 0!==c&&Lm(a,c),Ub(this.T))};k.Ua=function(a,b,c){var d=Km(this,a,!0,1);0<=d&&(ub(this.sa,d,b),void 0!==c&&Lm(a,c),Ub(this.T))};function Mm(a){return null==a[1]?"%"+p(a[2]):ea(a[0],a[1])}function Lm(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
function mm(a){var b;a.zc=["exec"];if(void 0!==a.Vd)for(b=1;b<a.Vd.length;b++){var c=a.sa,d=Km(a,a.Vd[b]);Lb(c.Ha[d>>c.Eb],!1)}a.Vd=["read"];if(void 0!==a.Zc)for(b=1;b<a.Zc.length;b++)c=a.sa,d=Km(a,a.Zc[b]),Lb(c.Ha[d>>c.Eb],!0);a.Zc=["write"]}k.Zd=function(a,b,c){if(!Nm(this,a,b)){b[3]=c;a.push(b);if(a!=this.zc){var d=this.sa,e=Km(this,b);d.Ha[e>>d.Eb].Zd(e&d.qb,a==this.Zc)}c||this.Z("breakpoint enabled: "+Mm(b)+" ("+a[0]+")");nm(this);return!0}return!1};
function Nm(a,b,c,d){var e=!1;c=Km(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==Km(a,g)){e=!0;if(d){b.splice(f,1);b!=a.zc&&(d=a.sa,Lb(d.Ha[c>>d.Eb],b==a.Zc));g[3]||a.Z("breakpoint cleared: "+Mm(g)+" ("+b[0]+")");nm(a);break}a.Z("breakpoint exists: "+Mm(g)+" ("+b[0]+")");break}}return e}function Om(a,b){for(var c=1;c<b.length;c++)a.Z("breakpoint enabled: "+Mm(b[c])+" ("+b[0]+")");return b.length-1}
function Mb(a,b,c,d){if(void 0===d)Mb(a,b,c,a.Vd),Mb(a,b,c,a.Zc);else for(var e=1;e<d.length;e++){var f=Km(a,d[e]);if(f>=b&&f<b+c){var g=a.sa;g.Ha[f>>g.Eb].Zd(f&g.qb,d==a.Zc)}}}function Im(a,b){if(void 0!==b)Jm(a,b,a.zc,!0),a.tc=0;else for(var c=1;c<a.zc.length;c++){var d=a.zc[c];if(d[3]){if(!Nm(a,a.zc,d,!0))break;c=0}}}
function Jm(a,b,c,d){var e=!1;16711680==(b&16711680)&&(b&=1048575);for(var f=1;f<c.length;f++){var g=c[f];if(b==Km(a,g)){g[3]?Nm(a,c,g,!0):d||a.Z("\nbreakpoint hit: "+Mm(g)+" ("+c[0]+")");e=!0;break}}return e}
function Pm(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.yb(b,1),g=a.Uf[f],h=g[0],n=-1;205==h&&(h=a.yb(b,1),g=xm[h]||Y,f|=h<<8,h=g[0]);h>=sm.length&&(n=a.yb(b,1),g=ym[h-sm.length][n>>3&7]);var h=sm[g[0]],m=2,t="";if(164<=f&&167>=f||170<=f&&175>=f)m=0;for(f=1;f<=m;f++){var r="",u=g[f];if(void 0!==u){var x=u&15;if(0!=x&&15!=x){var v=u&240;if(128<=v)if(0>n&&(n=a.yb(b,1)),160<=v)a:{r=n>>3&7;if(176==(u&240)){if(4<=r){r=null;break a}r+=16}else 3<=(u&15)&&(r+=8);r=X[r]}else{if(128<=v){var r=a,v=u,u=b,C="",x=n>>6,
C=n&7;3>x?(v=void 0,x||6!=C?(C=tm[C],1==x?(v=r.yb(u,1),v&128?(v=v<<24>>24,C+="-"+q(-v)):C+="+"+q(v)):2==x&&(v=r.ra(u,2),C+="+"+s(v))):(v=r.ra(u,2),C=s(v)),C="["+C+"]"):C=X[C+(1==(v&15)?0:8)];r=C}}else if(16==v)r="1";else if(0==v){r=a;x=u;u=b;v=" ";switch(x&15){case 1:x&12288&&(v=q(r.yb(u,1)));break;case 2:v=s(r.yb(u,1)<<24>>24);break;case 3:case 4:v=s(r.ra(u,2));break;case 6:x=r.ra(u,2);r=r.ra(u,2);v=Mm([x,r,void 0]);break;default:v="imm("+s(x)+")"}r=v}else 32==v?r="["+s(a.ra(b,2))+"]":48==v?(1==
x?(r=a.yb(b,1),r=r<<24>>24):r=a.ra(b,2),r=b[0]+r&65535,r=Qm(a,[r,b[1],void 0])[0]||s(r)):96==v?r=X[(u&3840)>>8]:112==v?r=X[((u&3840)>>8)+16]:64==v?r="DS:[SI]":80==v&&(r="ES:[DI]");if(!r||!r.length){t="INVALID";break}0<t.length&&(t+=",");t+=r}}}g=Mm(e)+" ";n="";do n+=q(a.yb(e,1));while(e[0]!=b[0]);g+=(n+" ").substr(0,14);g+=(h+" ").substr(0,8);t&&(g+=" "+t);c&&(g=(g+" ").substr(0,50),g+=";",g=a.T.na.qf?g+("cycles="+D(a.T).toString()+" cs="+p(a.T.da.pg)):g+(c+
(null!=d?"="+d.toString():"")));return g}function Rm(a,b){var c;switch(b){case "V":c=Ed(a.T);break;case "D":c=a.T.Ba&1024;break;case "I":c=a.T.Ba&512;break;case "T":c=a.T.Ba&256;break;case "S":c=Dd(a.T);break;case "Z":c=Cd(a.T);break;case "A":c=Bd(a.T);break;case "P":c=Ad(a.T);break;case "C":c=zd(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function Sm(a,b,c){return b.Lg+"="+s(b.ta)+(c?"["+p(b.Ga,a.Le)+","+s(b.oc)+"]":"")}
function Tm(a,b,c,d,e){return b+"="+(null!=c?s(c):"")+"["+p(d,a.Le)+","+s(e-d)+"]"}
function Um(a,b,c){var d=2==c?a.mk:a.Nc;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),c=-1,e=null);var f=b,d=null;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var d=[],g=f.toUpperCase(),h=0;h<a.Dc.length;h++){var f=a.Dc[h][0],n=a.Dc[h][2][g];if(void 0!==n){g=n.o;void 0!==g&&(h=n.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==n.p&&(d[2]=n.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Am(a,b),d=null):d=Am(a,b):(e=Am(a,b.substring(0,d)),c=Am(a,b.substring(d+1)),
d=null)}return[c,e,d]}
function zm(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Y;break;case "CS":d=a.T.ua.ta;break;case "DS":d=a.T.fb.ta;break;case "ES":d=a.T.La.ta;break;case "SS":d=a.T.Za.ta;break;case "IP":d=a.T.wa;break;default:d=ea(b),void 0===d&&a.Z("invalid "+(c?c:"value")+": "+b)}else a.Z("missing "+(c||"value"));return d}
function Sj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],g=[],h;for(h in d){var n=d[h];"number"==typeof n&&(d[h]=n={o:n});var m=n.o,s=n.s,r=n.a;void 0!==m&&(void 0!==s&&(f[0]=m,f[1]=s,n.p=Jm(a,f)),pa(g,[m,h],e));r&&(n.a=r.replace(/''/g,'"'))}a.Cc.push([b,c,d,g])}
function Pm(a,b,c){for(var d=[],e=Jm(a,b),f=0;f<a.Cc.length;f++){var g=a.Cc[f][0],h=a.Cc[f][1];if(e>=g&&e<g+h){b=oa(a.Cc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Um(a,f,b,d):c&&(b=~b,Um(a,f,b-1,d),Um(a,f,b,d));break}}return d}function Um(a,b,c,d){var e={},f=a.Cc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.Cc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function Vm(a,b){if("?"==b)a.Z("\nfrequency commands:"),a.Z("\tclear\tclear all frequency counts");else{var c,d=0;if(a.$c)if("clear"==b){for(c=0;c<a.$c.length;c++)a.$c[c]=[c,0];a.Z("frequency data cleared");d++}else if(void 0!==b)a.Z("unknown frequency command: "+b),d++;else{var e=a.$c.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.Z((rm[a.Uf[f][0]]+" ").substr(0,5)+" ("+q(f)+"): "+g+" times"),d++)}}d||a.Z("no frequency data available")}}
function Wm(a,b){var c=Tm(a,b,1);if(null!=c[0]||null!=c[2]){var d=Jm(a,c);a.Z((b?b+": ":"")+Lm(c)+" (%"+p(d,a.Le)+")");d=Pm(a,c,!0);if(d.length){var e,f;d[0]&&(f="",(e=c[0]-d[1])&&(f=" + "+v(e)),a.Z(d[0]+" ("+fa(d[1],c[1])+")"+f));4<d.length&&d[4]&&(f="",(e=d[5]-c[0])&&(f=" - "+v(e)),a.Z(d[4]+" ("+fa(d[5],c[1])+")"+f))}else a.Z("no symbols")}}
function Xm(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.Z("\nlist/load commands:"),a.Z("\tl [address] [drive #] [sector #] [# sectors]"),a.Z("\tln [address] lists symbol(s) nearest to address");else if("ln"==b[0])Wm(a,b[1]);else{var c="json"==b[1],d,e=0,f=0,g=c?[]:Tm(a,b[1],2);d=zm(a,b[2],"drive #");if(void 0!==d){if(!c){e=zm(a,b[3],"sector #");if(void 0===e)return;f=zm(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Um;2<=d&&a.Qk&&(d-=2,h=a.Qk);if(h){var n=h.Bk(d);if(n)if(n.za)if(c)a.Z(n.za.toJSON());
else if(h.qm(n,e,f)){for(var m=0,s=!1,c=Lm(g);!s&&0<n.kb--;)(function(a,b){h.yc(n,function(c){0>c?(a.Z("out of data at address "+Lm(b)),s=!0):(a.Sd(b,c,1),m++)})})(a,g);a.Z(m+" bytes read at "+c)}else a.Z("sector "+e+" request out of range");else a.Z("drive "+d+" not loaded");else a.Z("invalid drive: "+d)}else a.Z("disk controller not present")}}}
function Fm(a,b,c){if(b&&"?"==b[1])a.Z("\nregister commands:"),a.Z("\tr\t\tdisplay all registers"),a.Z("\tr [target=#]\tmodify target register"),a.Z("supported targets:"),a.Z("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1<b.length){var e=b[1];if("p"==e)d=void 0!==a.T.Ec;else{c=null;var f=e.indexOf("=");if(0<f)c=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)c=b[2];else{a.Z("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.Z("invalid value: "+c);return}e=e.toUpperCase();
function Am(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Y;break;case "CS":d=a.T.va.ta;break;case "DS":d=a.T.fb.ta;break;case "ES":d=a.T.La.ta;break;case "SS":d=a.T.Ya.ta;break;case "IP":d=a.T.wa;break;default:d=da(b),void 0===d&&a.Z("invalid "+(c?c:"value")+": "+b)}else a.Z("missing "+(c||"value"));return d}
function Tj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],g=[],h;for(h in d){var n=d[h];"number"==typeof n&&(d[h]=n={o:n});var m=n.o,t=n.s,r=n.a;void 0!==m&&(void 0!==t&&(f[0]=m,f[1]=t,n.p=Km(a,f)),na(g,[m,h],e));r&&(n.a=r.replace(/''/g,'"'))}a.Dc.push([b,c,d,g])}
function Qm(a,b,c){for(var d=[],e=Km(a,b),f=0;f<a.Dc.length;f++){var g=a.Dc[f][0],h=a.Dc[f][1];if(e>=g&&e<g+h){b=ma(a.Dc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Vm(a,f,b,d):c&&(b=~b,Vm(a,f,b-1,d),Vm(a,f,b,d));break}}return d}function Vm(a,b,c,d){var e={},f=a.Dc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.Dc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function Wm(a,b){if("?"==b)a.Z("\nfrequency commands:"),a.Z("\tclear\tclear all frequency counts");else{var c,d=0;if(a.$c)if("clear"==b){for(c=0;c<a.$c.length;c++)a.$c[c]=[c,0];a.Z("frequency data cleared");d++}else if(void 0!==b)a.Z("unknown frequency command: "+b),d++;else{var e=a.$c.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.Z((sm[a.Uf[f][0]]+" ").substr(0,5)+" ("+q(f)+"): "+g+" times"),d++)}}d||a.Z("no frequency data available")}}
function Xm(a,b){var c=Um(a,b,1);if(null!=c[0]||null!=c[2]){var d=Km(a,c);a.Z((b?b+": ":"")+Mm(c)+" (%"+p(d,a.Le)+")");d=Qm(a,c,!0);if(d.length){var e,f;d[0]&&(f="",(e=c[0]-d[1])&&(f=" + "+s(e)),a.Z(d[0]+" ("+ea(d[1],c[1])+")"+f));4<d.length&&d[4]&&(f="",(e=d[5]-c[0])&&(f=" - "+s(e)),a.Z(d[4]+" ("+ea(d[5],c[1])+")"+f))}else a.Z("no symbols")}}
function Ym(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.Z("\nlist/load commands:"),a.Z("\tl [address] [drive #] [sector #] [# sectors]"),a.Z("\tln [address] lists symbol(s) nearest to address");else if("ln"==b[0])Xm(a,b[1]);else{var c="json"==b[1],d,e=0,f=0,g=c?[]:Um(a,b[1],2);d=Am(a,b[2],"drive #");if(void 0!==d){if(!c){e=Am(a,b[3],"sector #");if(void 0===e)return;f=Am(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Vm;2<=d&&a.Rk&&(d-=2,h=a.Rk);if(h){var n=h.Ck(d);if(n)if(n.za)if(c)a.Z(n.za.toJSON());
else if(h.qm(n,e,f)){for(var m=0,t=!1,c=Mm(g);!t&&0<n.kb--;)(function(a,b){h.yc(n,function(c){0>c?(a.Z("out of data at address "+Mm(b)),t=!0):(a.Qd(b,c,1),m++)})})(a,g);a.Z(m+" bytes read at "+c)}else a.Z("sector "+e+" request out of range");else a.Z("drive "+d+" not loaded");else a.Z("invalid drive: "+d)}else a.Z("disk controller not present")}}}
function Gm(a,b,c){if(b&&"?"==b[1])a.Z("\nregister commands:"),a.Z("\tr\t\tdisplay all registers"),a.Z("\tr [target=#]\tmodify target register"),a.Z("supported targets:"),a.Z("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1<b.length){var e=b[1];if("p"==e)d=void 0!==a.T.Ec;else{c=null;var f=e.indexOf("=");if(0<f)c=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)c=b[2];else{a.Z("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.Z("invalid value: "+c);return}e=e.toUpperCase();
switch(e){case "AL":a.T.H=a.T.H&65280|b&255;break;case "AH":a.T.H=a.T.H&255|b<<8&255;break;case "AX":a.T.H=b&65535;break;case "BL":a.T.C=a.T.C&65280|b&255;break;case "BH":a.T.C=a.T.C&255|b<<8&255;break;case "BX":a.T.C=b&65535;break;case "CL":a.T.J=a.T.J&65280|b&255;break;case "CH":a.T.J=a.T.J&255|b<<8&255;break;case "CX":a.T.J=b&65535;break;case "DL":a.T.K=a.T.K&65280|b&255;break;case "DH":a.T.K=a.T.K&255|b<<8&255;break;case "DX":a.T.K=b&65535;break;case "SP":a.T.Y=b&65535;break;case "BP":a.T.I=b&
65535;break;case "SI":a.T.G=b&65535;break;case "DI":a.T.F=b&65535;break;case "DS":vd(a.T,b);break;case "ES":xd(a.T,b);break;case "SS":wd(a.T,b);break;case "CS":ud(a.T,b);a.Nc=[a.T.wa,a.T.ua.ta,void 0];break;case "IP":H(a.T,b);a.Nc=[a.T.wa,a.T.ua.ta,void 0];break;case "PC":case "PS":Ac(a.T,b);break;case "C":b?Kd(a.T):Fd(a.T);break;case "P":b?(e=a.T,Ad(e)||(e.la^=1)):(e=a.T,Ad(e)&&(e.la^=1));break;case "A":b?Ld(a.T):Gd(a.T);break;case "Z":b?Md(a.T):Hd(a.T);break;case "S":b?Nd(a.T):Id(a.T);break;case "I":b?
(e=a.T,e.Ba|=512):(e=a.T,e.Ba&=-513);break;case "D":b?(e=a.T,e.Ba|=1024):(e=a.T,e.Ba&=-1025);break;case "V":b?Od(a.T):Jd(a.T);break;default:c=!0;if(80286<=a.T.Ka)switch(c=!1,e){case "MS":lf.call(a.T,b);break;case "TR":a.T.gb.load(b);break;default:c=!0}if(c){a.Z("unknown register: "+e);return}}Vb(a.T);a.Z("\nupdated registers:");c=!0}}e=d;void 0===e&&(e=!!(a.T.fc&1));d="AX="+v(a.T.H)+" BX="+v(a.T.C)+" CX="+v(a.T.J)+" DX="+v(a.T.K)+" SP="+v(a.T.Y)+" BP="+v(a.T.I)+" SI="+v(a.T.G)+" DI="+v(a.T.F)+"\n";
d+=Rm(a,a.T.fb,e)+" "+Rm(a,a.T.La,e)+" "+Rm(a,a.T.Za,e);d=d+(e?"\n":" ")+(Rm(a,a.T.ua,e)+" IP="+v(a.T.wa)+Qm(a,"V")+Qm(a,"D")+Qm(a,"I")+Qm(a,"T")+Qm(a,"S")+Qm(a,"Z")+Qm(a,"A")+Qm(a,"P")+Qm(a,"C")+" PS="+v(zc(a.T)));e&&(e=a.sa,d+=" MS="+v(a.T.fc)+"\n"+Sm(a,"LD",a.T.Xc.ta,a.T.Xc.Ga,a.T.Xc.Ga+a.T.Xc.oc)+" "+Sm(a,"GD",null,a.T.Ec,a.T.Be)+" "+Sm(a,"ID",null,a.T.Qc,a.T.Ce)+" TR="+v(a.T.gb.ta)+" A20="+(e.Wf==e.md?"ON":"OFF"));a.Z((c?"":"\n")+d);a.Nc=[a.T.wa,a.T.ua.ta,void 0];Gm(a,Lm(a.Nc))}}
function Ym(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Da(b,function(){return db(a,!0)&&a.Nf(e,d,!1)},function(){Vb(a.T);db(a,!1)})}
function Gm(a,b,c,d){b=Tm(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.sa.Wf];if(void 0!==c){e=Tm(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.Z("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Nc[0];d&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){d--;var f=a.yb(b),g=eb(a,!1)||a.tc?a.hd:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=Pm(a,b);if(h[0]){var n=h[0]+":";c=!1;h[2]&&(n+=" "+h[2]);a.Z(n)}c&&a.Z();h[3]&&(f=h[3],g=
null);c=Om(a,b,f,g);a.Z(c);a.Nc=b;c=!1}d&&a.Z("end of memory")}}function Dm(a,b,c){if(c)if(b){0>a.Tc&&a.Oc.length&&(a.Tc=0);if(0>a.Tc||b!=a.Oc[a.Tc])a.Oc.splice(0,0,b),a.Tc=0;a.Tc--}else b=a.Oc[a.Tc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ma(a[d]);return a}
function om(a,b){var c=!0;try{if(b.length||(a.qf?(a.Z("ended assemble @"+Lm(a.ye)),a.Nc=a.ye,a.qf=!1):b="?"),b=b.toLowerCase(),fb(a)&&0<b.length){if(a.qf)b="a "+Lm(a.ye)+" "+b;else{var d,e,f;switch(b){case "reset":return a.Ma&&a.Ma.reset(),!0;case "ver":return a.Z("PCjs version 1.16.2 (release,noprefetch,eatests,dwordarrays)"),!0;default:for(e=b.charAt(0),f=1;f<b.length;f++){d=b.charAt(f);if(" "==d)break;if("r"==e||"a">d||"z"<d){b=b.substring(0,f)+" "+b.substring(f);break}}}}var g=b.split(" ");switch(g[0].charAt(0)){case "a":var h=
Tm(a,g[1],1);if(null!=h[0])if(a.ye=h,void 0===g[2])a.Z("begin assemble @"+Lm(h)),a.qf=!0,Vb(a.T);else{var n;a.Z("not supported yet");n=[];if(n.length){for(var m=0;m<n.length;m++)a.Sd(h,n[m],1);a.Z(Om(a,a.ye))}}break;case "b":a:{var s=g[1],r=g[0].charAt(1);if(r&&"?"!=r)if("l"==r)m=0,m+=Nm(a,a.zc),m+=Nm(a,a.Xd),(m+=Nm(a,a.Zc))||a.Z("no breakpoints");else if(void 0===s)a.Z("missing breakpoint address");else{m=[];if("*"!=s&&(m=Tm(a,s,1),null==m[0]))break a;s=null==m[0]?s:v(m[0]);"c"==r?null==m[0]?(lm(a),
a.Z("all breakpoints cleared")):Mm(a,a.zc,m,!0)||Mm(a,a.Xd,m,!0)||Mm(a,a.Zc,m,!0)||a.Z("breakpoint missing: "+Lm(m)):"i"==r?a.Z("breakpoint "+(wb(a.sa,m[0])?"enabled":"cleared")+": port "+s+" (input)"):"o"==r?a.Z("breakpoint "+(Ab(a.sa,m[0])?"enabled":"cleared")+": port "+s+" (output)"):null!=m[0]&&("p"==r?a.ae(a.zc,m):"r"==r?a.ae(a.Xd,m):"w"==r?a.ae(a.Zc,m):a.Z("unknown breakpoint command: "+r))}else a.Z("\nbreakpoint commands:"),a.Z("\tbi [p]\ttoggle break on input port [p]"),a.Z("\tbo [p]\ttoggle break on output port [p]"),
a.Z("\tbp [a]\tset exec breakpoint at addr [a]"),a.Z("\tbr [a]\tset read breakpoint at addr [a]"),a.Z("\tbw [a]\tset write breakpoint at addr [a]"),a.Z("\tbc [a]\tclear breakpoint at addr [a]"),a.Z("\tbl\tlist all breakpoints")}break;case "c":a.gg&&(a.gg.value="");break;case "d":a:{var t=g[0],m=g[1],w=g[2],u;if("?"==m){m="";for(u in tm)a.li[u]&&(m&&(m+=","),m+=u);m+=",state,symbols";a.Z("\ndump commands:");a.Z("\tdb [a] [#] dump # bytes at address a");a.Z("\tdw [a] [#] dump # words at address a");
m.length&&a.Z("dump extensions:\n\t"+m)}else if("state"==m)a.Z(Zm(a.Ma,!0));else if("symbols"==m)for(m=0;m<a.Cc.length;m++){var C=a.Cc[m][0],R=a.Cc[m][2],O;for(O in R)if("."!=O.charAt(0)){var ya=R[O],Fa=ya.o;if(void 0!==Fa){var Za=ya.s;void 0===Za&&(Za=C>>>4);var Tb=R[O].l;Tb&&(O=Tb);a.Z(fa(Fa,Za)+" "+O)}}}else{for(u in tm)if(m==u){var Hc=a.li[u];Hc?Hc(w):a.Z("no dump registered for "+m);break a}var E=Tm(a,m,2);if(null!=E[0]){var S=0,K="dw"==t;void 0!==w&&("l"==w.charAt(0)&&(w=w.substr(1)),(S=parseInt(w,
10))&&(S=K?S+7>>3:S+15>>4));var na="";S||(S=8);for(g=0;g<S;g++){for(var za=w="",m=Lm(E),ia=0,aa=0;16>aa;aa++){var X=a.yb(E,1);K?aa&1&&(w+=v(ia|X<<8)+(7==aa?" - ":" ")):w+=q(X)+(7==aa?"-":" ");za+=32<=X&&128>X?String.fromCharCode(X):".";ia=X}na&&(na+="\n");na+=m+" "+w+" "+za}na&&a.Z(na);a.lk=E}}}break;case "e":var Ic=g[1];if(void 0===Ic)a.Z("missing address");else{var nc=Tm(a,Ic,2);if(null!=nc[0])for(m=2;m<g.length;m++){var Jc=parseInt(g[m],16);a.Z("setting "+Lm(nc)+" to "+q(Jc));a.Sd(nc,Jc,1)}}break;
case "f":Vm(a,g[1]);break;case "g":a:{var Fk=g[1];if(void 0!==Fk){var Gk=Tm(a,Fk,1);if(null==Gk[0])break a;a.ae(a.zc,Gk,!0)}a.Ze(!0)||a.Z('cpu not available, "g" command ignored')}break;case "h":za=g[1];if(a.na.Fb&&void 0===za)a.Z("halting"),a.T.Jb();else{m="";E=10;ia=a.xf;aa=a.$d;if(aa.length){var Sa=void 0===za?a.dm:parseInt(za,10);isNaN(Sa)?Sa=E:m="more ";Sa>aa.length&&(a.Z("note: only "+aa.length+" available"),Sa=aa.length);ia-=Sa;0>ia&&(null!=aa[aa.length-1][1]?ia+=aa.length:(Sa=ia+Sa,ia=0));
for(void 0!==za&&a.Z(Sa+" instructions earlier:");E&&ia!=a.xf;){var qc=aa[ia];if(null==qc[1])break;qc=[qc[0],qc[1],qc[2]];a.Z(Om(a,qc,"history",-Sa));++ia==aa.length&&(ia=0);a.dm=--Sa;E--}}10==E&&(a.Z("no "+m+"history available"),a.dm=void 0)}break;case "i":var ef=g[1];if(ef&&"?"!=ef){var ff=zm(a,ef);if(void 0!==ff){var pn=yb(a.sa,ff);a.Z(v(ff)+": "+q(pn))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "l":Xm(a,g);break;
case "m":a:{m=null;K=g[1];"?"==K&&(K=void 0);if(void 0!==K){E=0;if("all"==K)E=4294967295&~(qf|268435456),K=null;else if("on"==K)m=!0,K=null;else if("off"==K)m=!1,K=null;else{for(S in tm)if(K==S){E=tm[S];m=!!(a.Yb&E);break}if(!E){a.Z("unknown message category: "+K);break a}}E&&("on"==g[2]?(a.Yb|=E,m=!0):"off"==g[2]&&(a.Yb&=~E,m=!1))}E=0;X="";for(S in tm)if(!K||K==S)if(na=!!(a.Yb&tm[S]),null===m||m==na)X&&(X+=","),++E%10||(X+="\n\t"),X+=S;void 0===K&&a.Z("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");
a.Z((null!==m?m?"messages on: ":"messages off: ":"message categories:\n\t")+(X||"none"))}break;case "o":var gf=g[1],qn=g[2];if(gf&&"?"!=gf){var Hk=zm(a,gf,"port #"),Ik=zm(a,qn);void 0!==Hk&&void 0!==Ik&&Cb(a.sa,Hk,Ik)}else a.Z("\noutput commands:"),a.Z("\to [p] [d]\twrite data [d] to port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "p":case "pr":var Jk="pr"==g[0]?1:0,m=1+Jk;if(a.tc)a.Z("step in progress");else{var Qd,E=!1,Ta=[a.T.wa,a.T.ua.ta,void 0];do switch(Qd=!1,
a.yb(Ta)){case 38:case 46:case 54:case 62:case 240:Km(Ta,1);Qd=!0;break;case 204:case 206:a.tc=m;Km(Ta,1);break;case 205:case 224:case 225:case 226:a.tc=m;Km(Ta,2);break;case 232:a.tc=m;Km(Ta,3);break;case 154:a.tc=m;Km(Ta,5);break;case 255:a.tc=0<=Om(a,Ta).indexOf("CALL")?m:0;break;case 243:case 242:Km(Ta,1);E=Qd=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:E&&(a.tc=m,Km(Ta,1))}while(Qd);a.tc?(a.ae(a.zc,Ta,
!0),a.Ze()||(a.T.Yc(),a.tc=0)):Ym(a,Jk?"tr":"t")}break;case "r":Fm(a,g);break;case "t":case "tr":Ym(a,g[0],g[1]);break;case "u":Gm(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.Z("\nexecution options:"),a.Z("\tcs int #\tset checksum cycle interval to #"),a.Z("\tcs start #\tset checksum cycle start count to #"),a.Z("\tcs stop #\tset checksum cycle stop count to #"),a.Z("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Oc;void 0!==g[3]&&(Oc=parseInt(g[3],10));switch(g[2]){case "int":a.T.da.Bf=
Oc;break;case "start":a.T.da.qg=Oc;break;case "stop":a.T.da.Df=Oc;break;default:a.Z("unknown cs option");break a}void 0!==Oc&&Rb(a.T);a.Z("checksums "+(a.T.na.rf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Yb(a.T,parseInt(g[2],10));a.Z("target speed: "+(a.T.da.Te.toFixed(2)+"Mhz")+" ("+a.T.da.Pd+"x)");break;default:a.Z("unknown option: "+g[1])}break;case "?":var m="commands:",Rd;for(Rd in qm)m+="\n"+Rd+" ".substr(0,7-Rd.length)+qm[Rd];Pd(a)||(m+="\nnote: frequency/history disabled if no exec breakpoints");
a.Z(m);break;default:a.Z("unknown command: "+b),c=!1}}}catch(rn){a.Z("debugger sad: "+rn.message),c=!1}return c}Ka(function(){for(var a=A(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new km(d);bb(d,c)}});function sd(a,b,c){this.id=a.id;this.key=$m(a,b,c);this.ka=a.ka;an(this,a.mp)}function $m(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}
sd.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Ji=!0):this.Ji?!0:xa()&&(a=Aa(this.key))?(this[this.id]=a,this.Ji=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){x(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){an(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}},va:function(a){return this.ka?this.ka.va(null==a?8388608:a|8388608):!1},qb:function(a){this.ka&&this.ka.message(a)}};function an(a,b){a[a.id]={};b&&a.set("parms",b);a.Ji=!1}
function bn(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);Ba(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function cn(a,b,c){y.call(this,"Computer",a,cn,33554432);this.na.Tb=!1;this.Af=a.buswidth;this.Vc=dn;this.Mg=null;this.Ah=!1;this.url=b?b.url:null;this.wp=(Math.random()+0.1).toString(36).substr(2,12);this.Wc=en(this);if(this.T=ab("CPU",this.id)){this.ka=ab("Debugger",this.id);this.sa=new kb({id:this.Tk+".bus",buswidth:this.Af},this.T,this.ka);var d,e=Ya(this.id);if((this.Hg=ab("Panel",this.id))&&this.Hg.gg)for(b=0;b<e.length;b++)d=e[b],d.Ia=this.Hg.Ia,d.Z=this.Hg.Z,d.gg=this.Hg.gg;for(b=0;b<e.length;b++)d=
e[b],d.vc&&d.vc(this,this.sa,this.T,this.ka);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Zh=d:this.Vc=parseInt(d,10));var f;if(a=Qa&&Qa.state||(f=!0,a.state))b=this.pm=a,f||(this.Ah=!0,this.Vc=dn),this.Vc&&(this.bi=new sd(this,"1.16.2"),this.bi.load()?b=null:delete this.bi);!b&&this.Vc&&(f=null,this.Wc&&(f=ua()+"/api/v1/user?req=load&user="+this.Wc+"&state="+$m(this,"1.16.2")),b=f)&&(this.Ah=!0);b?ta(b,!0,null,this,this.oo):this.Wa();c||fn(this,this.Sh)}else x("Unable to find CPU component")}
Xa(y,cn);var dn=0;k=cn.prototype;k.vf=function(){return this.wp};k.me=function(){return this.Wc?this.Wc:""};k.oo=function(a,b,c){c?(this.Zh=null,this.Ah=!1,this.Ia("Unable to load machine state from server (error "+c+(b?": "+ma(b):"")+")")):this.Mg=b;this.Wa()};function fn(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!fb(f)){fb(f,function(){fn(a,b,c)});return}}b.call(a,c)}
function gn(a,b){var c=new sd(a,"1.16.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Sh=function(a){void 0===a&&(a=this.Vc||(this.Mg?1:dn));var b=!1,c=!1;this.Mk=!1;var d=this.bi||new sd(this,"1.16.2");if(-1==a)b=!0;else if(a>dn){if(d.load(this.Mg)){this.cf=new sd(this,"1.16.2","failsafe");this.cf.load()&&(hn(this,d),a=2,an(this.cf));this.cf.set("timestamp",ra());bn(this.cf);var e=this.Vc&&!this.Ah;if(1==a||va("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Ia("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.Wc=null)):this.Z(f+": "+g),an(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&gn(this,c?d:null)}else 2==a&&d.clear()}else gn(this);delete this.Mg;delete this.bi}e=Ya(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.T&&(c=jn(this,g,d,b,c));b=[d,a,c];-1!=a?fn(this,this.Ek,b):this.Ek(b)};
function jn(a,b,c,d,e){if(!b.na.Tb){b.na.Tb=!0;if(b.ec){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.ec(f,d)&&f&&(x("Unable to restore state for "+b.type),a.pm&&!a.Mg?(c.clear(),a.Vc=dn,window&&window.location.reload()):a.Mk=!0,b.ec(null),e=!1)}if(!d&&b.Ak)for(a=b.Ak.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Ek=function(a){var b=a[0],c=0>a[1];a=a[2];this.na.Tb=!0;this.Jk||(this.Z("PCjs v1.16.2\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Jk=!0);this.T&&jn(this,this.T,b,c,a);this.Mk&&(hn(this,b),b.clear());!c&&this.cf&&(this.cf.clear(),delete this.cf)};
function hn(a,b){if(va("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.me(),d=b.toString(),e={app:"PCjs",ver:"1.16.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ta("http://www.pcjs.org/api/v1/report",!0,e)}}
function Zm(a,b,c){var d,e="none",f=new sd(a,"1.16.2"),g=new sd(a,"1.16.2","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.dc&&(c&&a.T.Jb(),d=a.T.dc(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.na.Tb=!1,!1===d&&(e=null)));for(var h=Ya(a.id),n=0;n<h.length;n++){var m=h[n];m.na.Tb&&(m.dc&&(d=m.dc(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.na.Tb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Wc&&kn(a,a.Wc,f.toString()),bn(g)&&bn(f)||(e=null,d=h=!0)):a.Vc&&(d=!0,h=3==a.Vc),d&&f.clear(h)):e=f.toString());c&&(a.na.Tb=!1);return e}k.reset=function(){this.sa&&this.sa.reset&&(this.qb("Resetting "+this.sa.type),this.sa.reset());for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.sa&&c.reset&&(this.qb("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Ib=function(a,b,c){var d=this;switch(b){case "save":return this.xa[b]=c,c.onclick=function(){var a=en(d,!0);if(a){var b=!(!d.Vc||d.Zh),c=Zm(d,b);b?kn(d,a,c):d.Ia("Resume disabled, machine state not saved")}},!0;case "reset":return this.xa[b]=c,c.onclick=function(){Xb(d)},!0}return!1};
function en(a,b){var c=a.Wc;c||(c=Aa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=ln(a,c))||a.Ia("Your user ID has not been approved."))):b&&a.Ia("Browser local storage is not available"));return c}
function ln(a,b){a.Wc=null;var c=ta(ua()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ba("user",c.data),a.Wc=c.data)}catch(e){x(e.message+" ("+d+")")}return a.Wc}
function kn(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=$m(a,"1.16.2");d.data=c;b=ta(ua()+"/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.Ia("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.Ia(c),Ba("user",""),a.Wc=null)}}
function Xb(a){if(a.Vc&&!a.Zh){var b=va("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Zm(a,b,!0);!b&&a.pm?window&&window.location.reload():(b||(a.Ki=!0),a.Sh(dn),a.Ki=!1)}else a.reset(),a.T&&Sb(a.T)}function ib(a,b,c){a=Ya(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}
Ka(function(){for(var a=A(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new cn(g,d,!0);bb(g,f);fn(g,g.Sh)}});Ga.show.push(function(){for(var a=A(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=ab("Computer",c.id))&&c.Jk&&!c.na.Tb&&c.Sh(-1)}});
Ga.exit.push(function(){for(var a=A(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=ab("Computer",c.id))&&c.na.Tb&&Zm(c,!(!c.Vc||c.Zh),!0)}});var mn=0;function nn(a,b,c,d,e,f){e("Loading "+a+"...");ta(a,!0,null,null,function(g,h,n){n?(h||(h="unable to load "+a+" ("+n+")"),f(h,null)):on(h,a,b,c,d,e,f)})}
function on(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){h=
null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?sn(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function sn(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ta(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var n=h[0],m,s=/( [a-z]+=)(['"])(.*?)\2/g;m=s.exec(f);)n=0>n.indexOf(m[1])?n.replace(">",m[0]+">"):n.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=n&&(g=g.replace(h[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);sn(a,b,c)}})}else c(a,null)}
function tn(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ka(a))}function f(a){e("Error: "+a);n&&(--mn||Ma(!0));n=!1}var g,h,n=!0;mn++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.2/components.xsl");var m=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--mn||Ma(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--mn||Ma(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?nn(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?nn(b,a,d,!0,e,m):on(b,null,a,d,!1,e,m)}else f("failed to find machine element: "+a)}catch(s){f(s.message)}return n}
window.embedPC=function(a,b,c,d){Ma(!1);return tn(a,b,c,d)};window.enableEvents=Ma;window.sendEvent=Na;})();
65535;break;case "SI":a.T.G=b&65535;break;case "DI":a.T.F=b&65535;break;case "DS":vd(a.T,b);break;case "ES":xd(a.T,b);break;case "SS":wd(a.T,b);break;case "CS":ud(a.T,b);a.Nc=[a.T.wa,a.T.va.ta,void 0];break;case "IP":H(a.T,b);a.Nc=[a.T.wa,a.T.va.ta,void 0];break;case "PC":case "PS":Ac(a.T,b);break;case "C":b?Kd(a.T):Fd(a.T);break;case "P":b?(e=a.T,Ad(e)||(e.la^=1)):(e=a.T,Ad(e)&&(e.la^=1));break;case "A":b?Ld(a.T):Gd(a.T);break;case "Z":b?Md(a.T):Hd(a.T);break;case "S":b?Nd(a.T):Id(a.T);break;case "I":b?
(e=a.T,e.Ba|=512):(e=a.T,e.Ba&=-513);break;case "D":b?(e=a.T,e.Ba|=1024):(e=a.T,e.Ba&=-1025);break;case "V":b?Od(a.T):Jd(a.T);break;default:c=!0;if(80286<=a.T.Ka)switch(c=!1,e){case "MS":lf.call(a.T,b);break;case "TR":a.T.gb.load(b);break;default:c=!0}if(c){a.Z("unknown register: "+e);return}}Ub(a.T);a.Z("\nupdated registers:");c=!0}}e=d;void 0===e&&(e=!!(a.T.fc&1));d="AX="+s(a.T.H)+" BX="+s(a.T.C)+" CX="+s(a.T.J)+" DX="+s(a.T.K)+" SP="+s(a.T.Y)+" BP="+s(a.T.I)+" SI="+s(a.T.G)+" DI="+s(a.T.F)+"\n";
d+=Sm(a,a.T.fb,e)+" "+Sm(a,a.T.La,e)+" "+Sm(a,a.T.Ya,e);d=d+(e?"\n":" ")+(Sm(a,a.T.va,e)+" IP="+s(a.T.wa)+Rm(a,"V")+Rm(a,"D")+Rm(a,"I")+Rm(a,"T")+Rm(a,"S")+Rm(a,"Z")+Rm(a,"A")+Rm(a,"P")+Rm(a,"C")+" PS="+s(zc(a.T)));e&&(e=a.sa,d+=" MS="+s(a.T.fc)+"\n"+Tm(a,"LD",a.T.Xc.ta,a.T.Xc.Ga,a.T.Xc.Ga+a.T.Xc.oc)+" "+Tm(a,"GD",null,a.T.Ec,a.T.Be)+" "+Tm(a,"ID",null,a.T.Qc,a.T.Ce)+" TR="+s(a.T.gb.ta)+" A20="+(e.Wf==e.ld?"ON":"OFF"));a.Z((c?"":"\n")+d);a.Nc=[a.T.wa,a.T.va.ta,void 0];Hm(a,Mm(a.Nc))}}
function Zm(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Ca(b,function(){return db(a,!0)&&a.Nf(e,d,!1)},function(){Ub(a.T);db(a,!1)})}
function Hm(a,b,c,d){b=Um(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.sa.Wf];if(void 0!==c){e=Um(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.Z("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Nc[0];d&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){d--;var f=a.yb(b),g=eb(a,!1)||a.tc?a.hd:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=Qm(a,b);if(h[0]){var n=h[0]+":";c=!1;h[2]&&(n+=" "+h[2]);a.Z(n)}c&&a.Z();h[3]&&(f=h[3],g=
null);c=Pm(a,b,f,g);a.Z(c);a.Nc=b;c=!1}d&&a.Z("end of memory")}}function Em(a,b,c){if(c)if(b){0>a.Tc&&a.Oc.length&&(a.Tc=0);if(0>a.Tc||b!=a.Oc[a.Tc])a.Oc.splice(0,0,b),a.Tc=0;a.Tc--}else b=a.Oc[a.Tc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a}
function pm(a,b){var c=!0;try{if(b.length||(a.pf?(a.Z("ended assemble @"+Mm(a.ye)),a.Nc=a.ye,a.pf=!1):b="?"),b=b.toLowerCase(),fb(a)&&0<b.length){if(a.pf)b="a "+Mm(a.ye)+" "+b;else{var d,e,f;switch(b){case "reset":return a.Ma&&a.Ma.reset(),!0;case "ver":return a.Z("PCjs version 1.16.3 (release,noprefetch,eatests,dwordarrays)"),!0;default:for(e=b.charAt(0),f=1;f<b.length;f++){d=b.charAt(f);if(" "==d)break;if("r"==e||"a">d||"z"<d){b=b.substring(0,f)+" "+b.substring(f);break}}}}var g=b.split(" ");switch(g[0].charAt(0)){case "a":var h=
Um(a,g[1],1);if(null!=h[0])if(a.ye=h,void 0===g[2])a.Z("begin assemble @"+Mm(h)),a.pf=!0,Ub(a.T);else{var n;a.Z("not supported yet");n=[];if(n.length){for(var m=0;m<n.length;m++)a.Qd(h,n[m],1);a.Z(Pm(a,a.ye))}}break;case "b":a:{var t=g[1],r=g[0].charAt(1);if(r&&"?"!=r)if("l"==r)m=0,m+=Om(a,a.zc),m+=Om(a,a.Vd),(m+=Om(a,a.Zc))||a.Z("no breakpoints");else if(void 0===t)a.Z("missing breakpoint address");else{m=[];if("*"!=t&&(m=Um(a,t,1),null==m[0]))break a;t=null==m[0]?t:s(m[0]);"c"==r?null==m[0]?(mm(a),
a.Z("all breakpoints cleared")):Nm(a,a.zc,m,!0)||Nm(a,a.Vd,m,!0)||Nm(a,a.Zc,m,!0)||a.Z("breakpoint missing: "+Mm(m)):"i"==r?a.Z("breakpoint "+(wb(a.sa,m[0])?"enabled":"cleared")+": port "+t+" (input)"):"o"==r?a.Z("breakpoint "+(Ab(a.sa,m[0])?"enabled":"cleared")+": port "+t+" (output)"):null!=m[0]&&("p"==r?a.Zd(a.zc,m):"r"==r?a.Zd(a.Vd,m):"w"==r?a.Zd(a.Zc,m):a.Z("unknown breakpoint command: "+r))}else a.Z("\nbreakpoint commands:"),a.Z("\tbi [p]\ttoggle break on input port [p]"),a.Z("\tbo [p]\ttoggle break on output port [p]"),
a.Z("\tbp [a]\tset exec breakpoint at addr [a]"),a.Z("\tbr [a]\tset read breakpoint at addr [a]"),a.Z("\tbw [a]\tset write breakpoint at addr [a]"),a.Z("\tbc [a]\tclear breakpoint at addr [a]"),a.Z("\tbl\tlist all breakpoints")}break;case "c":a.gg&&(a.gg.value="");break;case "d":a:{var u=g[0],m=g[1],x=g[2],v;if("?"==m){m="";for(v in um)a.li[v]&&(m&&(m+=","),m+=v);m+=",state,symbols";a.Z("\ndump commands:");a.Z("\tdb [a] [#] dump # bytes at address a");a.Z("\tdw [a] [#] dump # words at address a");
m.length&&a.Z("dump extensions:\n\t"+m)}else if("state"==m)a.Z($m(a.Ma,!0));else if("symbols"==m)for(m=0;m<a.Dc.length;m++){var C=a.Dc[m][0],U=a.Dc[m][2],Q;for(Q in U)if("."!=Q.charAt(0)){var Aa=U[Q],Ha=Aa.o;if(void 0!==Ha){var ab=Aa.s;void 0===ab&&(ab=C>>>4);var Vb=U[Q].l;Vb&&(Q=Vb);a.Z(ea(Ha,ab)+" "+Q)}}}else{for(v in um)if(m==v){var Kc=a.li[v];Kc?Kc(x):a.Z("no dump registered for "+m);break a}var E=Um(a,m,2);if(null!=E[0]){var R=0,I="dw"==u;void 0!==x&&("l"==x.charAt(0)&&(x=x.substr(1)),(R=parseInt(x,
10))&&(R=I?R+7>>3:R+15>>4));var pa="";R||(R=8);for(g=0;g<R;g++){for(var Ba=x="",m=Mm(E),ka=0,ca=0;16>ca;ca++){var Z=a.yb(E,1);I?ca&1&&(x+=s(ka|Z<<8)+(7==ca?" - ":" ")):x+=q(Z)+(7==ca?"-":" ");Ba+=32<=Z&&128>Z?String.fromCharCode(Z):".";ka=Z}pa&&(pa+="\n");pa+=m+" "+x+" "+Ba}pa&&a.Z(pa);a.mk=E}}}break;case "e":var Lc=g[1];if(void 0===Lc)a.Z("missing address");else{var pc=Um(a,Lc,2);if(null!=pc[0])for(m=2;m<g.length;m++){var Mc=parseInt(g[m],16);a.Z("setting "+Mm(pc)+" to "+q(Mc));a.Qd(pc,Mc,1)}}break;
case "f":Wm(a,g[1]);break;case "g":a:{var Hk=g[1];if(void 0!==Hk){var Ik=Um(a,Hk,1);if(null==Ik[0])break a;a.Zd(a.zc,Ik,!0)}a.Ye(!0)||a.Z('cpu not available, "g" command ignored')}break;case "h":Ba=g[1];if(a.na.mb&&void 0===Ba)a.Z("halting"),a.T.Ib();else{m="";E=10;ka=a.wf;ca=a.Yd;if(ca.length){var Ua=void 0===Ba?a.em:parseInt(Ba,10);isNaN(Ua)?Ua=E:m="more ";Ua>ca.length&&(a.Z("note: only "+ca.length+" available"),Ua=ca.length);ka-=Ua;0>ka&&(null!=ca[ca.length-1][1]?ka+=ca.length:(Ua=ka+Ua,ka=0));
for(void 0!==Ba&&a.Z(Ua+" instructions earlier:");E&&ka!=a.wf;){var sc=ca[ka];if(null==sc[1])break;sc=[sc[0],sc[1],sc[2]];a.Z(Pm(a,sc,"history",-Ua));++ka==ca.length&&(ka=0);a.em=--Ua;E--}}10==E&&(a.Z("no "+m+"history available"),a.em=void 0)}break;case "i":var ef=g[1];if(ef&&"?"!=ef){var ff=Am(a,ef);if(void 0!==ff){var qn=yb(a.sa,ff);a.Z(s(ff)+": "+q(qn))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "l":Ym(a,g);break;
case "m":a:{m=null;I=g[1];"?"==I&&(I=void 0);if(void 0!==I){E=0;if("all"==I)E=4294967295&~(qf|268435456),I=null;else if("on"==I)m=!0,I=null;else if("off"==I)m=!1,I=null;else{"keys"==I&&(I="key");"kbd"==I&&(I="keyboard");for(R in um)if(I==R){E=um[R];m=!!(a.Yb&E);break}if(!E){a.Z("unknown message category: "+I);break a}}E&&("on"==g[2]?(a.Yb|=E,m=!0):"off"==g[2]&&(a.Yb&=~E,m=!1))}E=0;Z="";for(R in um)if(!I||I==R)if(pa=!!(a.Yb&um[R]),null===m||m==pa)Z&&(Z+=","),++E%10||(Z+="\n\t"),"key"==R&&(R="keys"),
Z+=R;void 0===I&&a.Z("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.Z((null!==m?m?"messages on: ":"messages off: ":"message categories:\n\t")+(Z||"none"))}break;case "o":var gf=g[1],rn=g[2];if(gf&&"?"!=gf){var Jk=Am(a,gf,"port #"),Kk=Am(a,rn);void 0!==Jk&&void 0!==Kk&&Cb(a.sa,Jk,Kk)}else a.Z("\noutput commands:"),a.Z("\to [p] [d]\twrite data [d] to port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "p":case "pr":var Lk="pr"==g[0]?1:0,m=1+Lk;if(a.tc)a.Z("step in progress");
else{var Sd,E=!1,Va=[a.T.wa,a.T.va.ta,void 0];do switch(Sd=!1,a.yb(Va)){case 38:case 46:case 54:case 62:case 240:Lm(Va,1);Sd=!0;break;case 204:case 206:a.tc=m;Lm(Va,1);break;case 205:case 224:case 225:case 226:a.tc=m;Lm(Va,2);break;case 232:a.tc=m;Lm(Va,3);break;case 154:a.tc=m;Lm(Va,5);break;case 255:a.tc=0<=Pm(a,Va).indexOf("CALL")?m:0;break;case 243:case 242:Lm(Va,1);E=Sd=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:E&&
(a.tc=m,Lm(Va,1))}while(Sd);a.tc?(a.Zd(a.zc,Va,!0),a.Ye()||(a.T.Yc(),a.tc=0)):Zm(a,Lk?"tr":"t")}break;case "r":Gm(a,g);break;case "t":case "tr":Zm(a,g[0],g[1]);break;case "u":Hm(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.Z("\nexecution options:"),a.Z("\tcs int #\tset checksum cycle interval to #"),a.Z("\tcs start #\tset checksum cycle start count to #"),a.Z("\tcs stop #\tset checksum cycle stop count to #"),a.Z("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Rc;
void 0!==g[3]&&(Rc=parseInt(g[3],10));switch(g[2]){case "int":a.T.da.Af=Rc;break;case "start":a.T.da.qg=Rc;break;case "stop":a.T.da.Cf=Rc;break;default:a.Z("unknown cs option");break a}void 0!==Rc&&Rb(a.T);a.Z("checksums "+(a.T.na.qf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Yb(a.T,parseInt(g[2],10));a.Z("target speed: "+(a.T.da.Te.toFixed(2)+"Mhz")+" ("+a.T.da.Nd+"x)");break;default:a.Z("unknown option: "+g[1])}break;case "?":var m="commands:",Td;for(Td in rm)m+="\n"+Td+" ".substr(0,
7-Td.length)+rm[Td];Pd(a)||(m+="\nnote: frequency/history disabled if no exec breakpoints");a.Z(m);break;default:a.Z("unknown command: "+b),c=!1}}}catch(sn){a.Z("debugger sad: "+sn.message),c=!1}return c}Ja(function(){for(var a=z(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new lm(d);bb(d,c)}});function sd(a,b,c){this.id=a.id;this.key=an(a,b,c);this.ka=a.ka;bn(this,a.op)}
function an(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}
sd.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Ji=!0):this.Ji?!0:wa()&&(a=xa(this.key))?(this[this.id]=a,this.Ji=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){w(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){bn(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}},ua:function(a){return this.ka?this.ka.ua(null==a?8388608:a|8388608):!1},cb:function(a){this.ka&&this.ka.message(a)}};function bn(a,b){a[a.id]={};b&&a.set("parms",b);a.Ji=!1}
function cn(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function dn(a,b,c){y.call(this,"Computer",a,dn,33554432);this.na.Sb=!1;this.zf=a.buswidth;this.Vc=en;this.Mg=null;this.Bh=!1;this.url=b?b.url:null;this.xp=(Math.random()+0.1).toString(36).substr(2,12);this.Wc=fn(this);if(this.T=Za("CPU",this.id)){this.ka=Za("Debugger",this.id);this.sa=new kb({id:this.Uk+".bus",buswidth:this.zf},this.T,this.ka);var d,e=Xa(this.id);if((this.Hg=Za("Panel",this.id))&&this.Hg.gg)for(b=0;b<e.length;b++)d=e[b],d.Ia=this.Hg.Ia,d.Z=this.Hg.Z,d.gg=this.Hg.gg;for(b=0;b<e.length;b++)d=
e[b],d.vc&&d.vc(this,this.sa,this.T,this.ka);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.$h=d:this.Vc=parseInt(d,10));var f;if(a=Pa&&Pa.state||(f=!0,a.state))b=this.pm=a,f||(this.Bh=!0,this.Vc=en),this.Vc&&(this.ci=new sd(this,"1.16.3"),this.ci.load()?b=null:delete this.ci);!b&&this.Vc&&(f=null,this.Wc&&(f=ta()+"/api/v1/user?req=load&user="+this.Wc+"&state="+an(this,"1.16.3")),b=f)&&(this.Bh=!0);b?sa(b,!0,null,this,this.qo):B(this);c||gn(this,this.Th)}else w("Unable to find CPU component")}
Wa(y,dn);var en=0;k=dn.prototype;k.uf=function(){return this.xp};k.ke=function(){return this.Wc?this.Wc:""};k.qo=function(a,b,c){c?(this.$h=null,this.Bh=!1,this.Ia("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):this.Mg=b;B(this)};function gn(a,b,c){for(var d=Xa(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!fb(f)){fb(f,function(){gn(a,b,c)});return}}b.call(a,c)}
function hn(a,b){var c=new sd(a,"1.16.3","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Th=function(a){void 0===a&&(a=this.Vc||(this.Mg?1:en));var b=!1,c=!1;this.Nk=!1;var d=this.ci||new sd(this,"1.16.3");if(-1==a)b=!0;else if(a>en){if(d.load(this.Mg)){this.bf=new sd(this,"1.16.3","failsafe");this.bf.load()&&(jn(this,d),a=2,bn(this.bf));this.bf.set("timestamp",qa());cn(this.bf);var e=this.Vc&&!this.Bh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Ia("Error: "+g),"unable to verify user"==g&&(ya("user",""),this.Wc=null)):this.Z(f+": "+g),bn(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&hn(this,c?d:null)}else 2==a&&d.clear()}else hn(this);delete this.Mg;delete this.ci}e=Xa(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.T&&(c=kn(this,g,d,b,c));b=[d,a,c];-1!=a?gn(this,this.Fk,b):this.Fk(b)};
function kn(a,b,c,d,e){if(!b.na.Sb){b.na.Sb=!0;if(b.ec){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.ec(f,d)&&f&&(w("Unable to restore state for "+b.type),a.pm&&!a.Mg?(c.clear(),a.Vc=en,window&&window.location.reload()):a.Nk=!0,b.ec(null),e=!1)}if(!d&&b.Bk)for(a=b.Bk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Fk=function(a){var b=a[0],c=0>a[1];a=a[2];this.na.Sb=!0;this.Kk||(this.Z("PCjs v1.16.3\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Kk=!0);this.T&&kn(this,this.T,b,c,a);this.Nk&&(jn(this,b),b.clear());!c&&this.bf&&(this.bf.clear(),delete this.bf)};
function jn(a,b){if(ua("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ke(),d=b.toString(),e={app:"PCjs",ver:"1.16.3"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}}
function $m(a,b,c){var d,e="none",f=new sd(a,"1.16.3"),g=new sd(a,"1.16.3","validate"),h=qa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.dc&&(c&&a.T.Ib(),d=a.T.dc(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.na.Sb=!1,!1===d&&(e=null)));for(var h=Xa(a.id),n=0;n<h.length;n++){var m=h[n];m.na.Sb&&(m.dc&&(d=m.dc(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.na.Sb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Wc&&ln(a,a.Wc,f.toString()),cn(g)&&cn(f)||(e=null,d=h=!0)):a.Vc&&(d=!0,h=3==a.Vc),d&&f.clear(h)):e=f.toString());c&&(a.na.Sb=!1);return e}k.reset=function(){this.sa&&this.sa.reset&&(this.cb("Resetting "+this.sa.type),this.sa.reset());for(var a=Xa(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.sa&&c.reset&&(this.cb("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Xa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Xa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Hb=function(a,b,c){var d=this;switch(b){case "save":return this.xa[b]=c,c.onclick=function(){var a=fn(d,!0);if(a){var b=!(!d.Vc||d.$h),c=$m(d,b);b?ln(d,a,c):d.Ia("Resume disabled, machine state not saved")}},!0;case "reset":return this.xa[b]=c,c.onclick=function(){Xb(d)},!0}return!1};
function fn(a,b){var c=a.Wc;c||(c=xa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=mn(a,c))||a.Ia("Your user ID has not been approved."))):b&&a.Ia("Browser local storage is not available"));return c}
function mn(a,b){a.Wc=null;var c=sa(ta()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ya("user",c.data),a.Wc=c.data)}catch(e){w(e.message+" ("+d+")")}return a.Wc}
function ln(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=an(a,"1.16.3");d.data=c;b=sa(ta()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ia("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.Ia(c),ya("user",""),a.Wc=null)}}
function Xb(a){if(a.Vc&&!a.$h){var b=ua("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");$m(a,b,!0);!b&&a.pm?window&&window.location.reload():(b||(a.Ki=!0),a.Th(en),a.Ki=!1)}else a.reset(),a.T&&Sb(a.T)}function ib(a,b,c){a=Xa(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}
Ja(function(){for(var a=z(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=$a(c),c=z(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=$a(f),g=new dn(g,d,!0);bb(g,f);gn(g,g.Th)}});Ea.show.push(function(){for(var a=z(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=$a(a[b]);(c=Za("Computer",c.id))&&c.Kk&&!c.na.Sb&&c.Th(-1)}});
Ea.exit.push(function(){for(var a=z(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=$a(a[b]);(c=Za("Computer",c.id))&&c.na.Sb&&$m(c,!(!c.Vc||c.$h),!0)}});var nn=0;function on(a,b,c,d,e,f){e("Loading "+a+"...");sa(a,!0,null,null,function(g,h,n){n?(h||(h="unable to load "+a+" ("+n+")"),f(h,null)):pn(h,a,b,c,d,e,f)})}
function pn(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){h=
null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?tn(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function tn(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var n=h[0],m,t=/( [a-z]+=)(['"])(.*?)\2/g;m=t.exec(f);)n=0>n.indexOf(m[1])?n.replace(">",m[0]+">"):n.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=n&&(g=g.replace(h[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);tn(a,b,c)}})}else c(a,null)}
function un(a,b,c,d){function e(a){if(void 0===h){var b=g&&z(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ia(a))}function f(a){e("Error: "+a);n&&(--nn||La(!0));n=!1}var g,h,n=!0;nn++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.3/components.xsl");var m=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--nn||La(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--nn||La(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?on(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?on(b,a,d,!0,e,m):pn(b,null,a,d,!1,e,m)}else f("failed to find machine element: "+a)}catch(t){f(t.message)}return n}
window.embedPC=function(a,b,c,d){La(!1);return un(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})();

View file

@ -1,120 +1,120 @@
(function(){var k,aa,l,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36]};function ca(a,b){return b&&10!=b?16==b?null!==a.match(/^[0-9a-f]+$/i):!0:null!==a.match(/^[0-9]+$/)}function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||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 da(a,b){return void 0!==b?p(b,4)+":"+p(a,4):p(a)}
function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ga={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}function ia(){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 la(a,b,c,d,e,f){b=!!b;var g=0,h=null,m=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(h=n.responseText,200==n.status||!n.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=n.status||-1),e&&(d?e.call(d,m,h,g,f):e(m,h,g,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||(h=n.responseText,200!=n.status&&(g=n.status||-1),e&&(d?e.call(d,m,h,g,f):e(m,h,g,f)),a=[g,h]);return a}function ma(){return"http://"+(window?window.location.host:"www.pcjs.org")}function r(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}var oa=null;
function pa(){if(null==oa){var a;try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"===window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}oa=a}return oa}function qa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function sa(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 ta={init:[],show:[],exit:[]},ua=!1,xa=!0;function ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function za(a){ta.init.push(a)}
function Aa(a){if(xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Ba(a){!xa&&a?(xa=!0,ua&&Ca("init")):xa=a}function Ca(a){ta[a]&&Aa(ta[a])}ya("onload",function(){ua=!0;Aa(ta.init)});ya("onpageshow",function(){Aa(ta.show)});ya(sa("Opera")||sa("iOS")?"onunload":"onbeforeunload",function(){Aa(ta.exit)});
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Hj=b.comment;this.lo=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Zj=this.id.substr(0,b),this.ai=this.id.substr(b+1)):this.ai=this.id;this[a]=c;this.na={Gg:!1,zc:!1,Mh:!1,Lb:!1,Uc:!1};this.Wh=null;this.na.Uc=!1;this.ra={};this.Ta=null;Da[Da.length]=this}var Ea=void 0,Fa={};
if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ha=/\+/g,Ia=/([^&=]+)=?([^&]*)/g;Ga=Ia.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ha," "))]=decodeURIComponent(Ga[2].replace(Ha," "))}function Ja(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 v(a,b){b.prototype=Ja(a.prototype)}var Da=[];
function Ka(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Da.length;b++){var d=Da[b];a&&d.id.indexOf(a)||c.push(d)}return c}function La(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Da.length;c++)if(Da[c].id===a)return Da[c]}return null}
function Ma(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<Da.length;d++)if(c)c==Da[d]&&(c=null);else if(!(a!=Da[d].type||b&&Da[d].id.indexOf(b)))return Da[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){r(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function Na(a,b){for(var c=y(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h)for(var m=h.split(" "),n=0;n<m.length;n++)switch(h=m[n],h){case "pcjs-binding":(h=w(g))&&h.binding&&a.Fb(h.type,h.binding,g),n=m.length}}}}
(function(){var k,aa,l,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36]};function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||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 ca(a,b){return void 0!==b?p(b,4)+":"+p(a,4):p(a)}
function da(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 ea(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(){return Date.now()||+new Date}
function ia(){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 ja=[31,28,31,30,31,30,31,31,30,31,30,31];
function ka(a,b,c,d,e,f){b=!!b;var h=0,g=null,m=da(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(g=n.responseText,200==n.status||!n.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(h=n.status||-1),e&&(d?e.call(d,m,g,h,f):e(m,g,h,f)))});if(c){var r="",t;for(t in c)c.hasOwnProperty(t)&&(r&&(r+="&"),r+=t+"="+encodeURIComponent(c[t]));r=r.replace(/%20/g,"+");n.open("POST",
a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send(r)}else n.open("GET",a,b),n.send();a=[];b||(g=n.responseText,200!=n.status&&(h=n.status||-1),e&&(d?e.call(d,m,g,h,f):e(m,g,h,f)),a=[h,g]);return a}function la(){return"http://"+(window?window.location.host:"www.pcjs.org")}function q(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}var na=null;
function oa(){if(null==na){var a;try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"===window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}na=a}return na}function pa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function ra(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 sa={init:[],show:[],exit:[]},ta=!1,ua=!0;function va(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function wa(a){sa.init.push(a)}
function za(a){if(ua)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Aa(a){!ua&&a?(ua=!0,ta&&Ba("init")):ua=a}function Ba(a){sa[a]&&za(sa[a])}va("onload",function(){ta=!0;za(sa.init)});va("onpageshow",function(){za(sa.show)});va(ra("Opera")||ra("iOS")?"onunload":"onbeforeunload",function(){za(sa.exit)});
function s(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Ij=b.comment;this.no=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.$j=this.id.substr(0,b),this.bi=this.id.substr(b+1)):this.bi=this.id;this[a]=c;this.ma={Hg:!1,zc:!1,Mh:!1,Mb:!1,Sc:!1};this.Xh=null;this.ma.Sc=!1;this.ra={};this.Sa=null;Ca[Ca.length]=this}var Da=void 0,Ea={};
if(window){Da||(Da=window.location.search.substr(1));for(var Fa,Ga=/\+/g,Ha=/([^&=]+)=?([^&]*)/g;Fa=Ha.exec(Da);)Ea[decodeURIComponent(Fa[1].replace(Ga," "))]=decodeURIComponent(Fa[2].replace(Ga," "))}function Ia(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 v(a,b){b.prototype=Ia(a.prototype)}var Ca=[];
function Ja(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ca.length;b++){var d=Ca[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ka(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ca.length;c++)if(Ca[c].id===a)return Ca[c]}return null}
function La(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<Ca.length;d++)if(c)c==Ca[d]&&(c=null);else if(!(a!=Ca[d].type||b&&Ca[d].id.indexOf(b)))return Ca[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){q(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function Ma(a,b){for(var c=y(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(h.nodeType===window.document.ELEMENT_NODE){var g=h.getAttribute("class");if(g)for(var m=g.split(" "),n=0;n<m.length;n++)switch(g=m[n],g){case "pcjs-binding":(g=w(h))&&g.binding&&a.Eb(g.type,g.binding,h),n=m.length}}}}
function y(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}
u.prototype={toString:function(){return this.name?this.name:this.id||this.type},Fb:function(a,b,c){switch(b){case "clear":return this.ra[b]||(this.ra[b]=c,c.onclick=function(a){return function(){a.ra.print&&(a.ra.print.value="")}}(this)),!0;case "print":return this.ra[b]||(this.Gh=this.ra[b]=c,c.value="",this.fc=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}}(c),this.Aa=function(a,
b,c){this.fc(a,"notice",c)}),!0;default:return!1}},log:function(){},fc:function(){},status:function(a){this.fc(this.ai+": "+a)},Aa:function(a,b){b||r(a)},Ra:function(a){this.na.Uc||(this.na.Gg=!1!==a,this.na.Gg&&(this.name&&this.log("ready"),a=this.Wh,this.Wh=null,a&&a()))},Xb:function(){return this.na.Lb=!0},Wb:function(a,b){b&&(this.na.Lb=!1);return!0},cc:function(){return!1}};
function Oa(a,b){if(a.na.Mh)return a.na.zc&&(a.na.zc=!1),a.na.Mh=!1;if(a.na.Uc)return a.fc(a.toString()+" error"),!1;a.na.zc=b;return a.na.zc}function Pa(a,b){b&&(a.na.Gg?b():a.Wh=b);return a.na.Gg}function Qa(a,b){a.na.Uc=!0;a.Aa("Fatal error: "+b)}function Ra(a){u.call(this,"Panel",a,Ra)}v(u,Ra);Ra.prototype.Fb=function(a,b,c){return this.Oa&&this.Oa.Fb(a,b,c)||this.la&&this.la.Fb(a,b,c)||this.Na&&this.Na.Fb(a,b,c)?!0:u.prototype.Fb.call(this,a,b,c)};
Ra.prototype.sc=function(a,b,c,d){this.Oa=a;this.la=c;this.Ta=d;this.Na=z(a,"Keyboard")};Ra.prototype.Xb=function(a,b){b||Sa();return!0};Ra.prototype.Wb=function(){return!0};function Sa(){for(var a=!1,b=y(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=w(d),f=La(e.id);f||(a=!0,f=new Ra(e));Na(f,d);a&&f.Ra()}}za(Sa);
function Ta(a,b,c){u.call(this,"Bus",a,Ta);this.la=b;this.Ta=c;this.xf=a.buswidth||20;this.vh=this.dd=(1<<this.xf)-1;this.Tb=20>=this.xf?12:14;this.xc=1<<this.Tb;this.Fj=this.xc>>2;this.tb=this.xc-1;this.tg=(this.vh+this.xc)/this.xc|0;this.be=this.tg-1;this.eg=[];this.fg=[];this.ci();this.Ra()}v(u,Ta);Ta.prototype.ci=function(){this.Da=Array(this.tg);for(var a=0;a<this.tg;a++)this.Da[a]=new Ua(a*this.xc);this.la.ci(this.Da,this.vh,this.Tb,this.tb,this.be);this.la.Xd=this.dd};
Ta.prototype.reset=function(){Xa(this,!0)};Ta.prototype.Xb=function(a,b){b||this.reset();return!0};function Ya(a,b,c,d,e){if(!(b&a.tb||!c||c&a.tb)){for(var f=b>>a.Tb;0<c&&f<a.Da.length;){var g=a.Da[f];if(void 0!==g&&g.size)return Za(1,b,c);b=f*a.xc;a.Da[f++]=new Ua(b,a.xc,d,e);c-=a.xc}return!0}return Za(2,b,c)}function Xa(a,b){if(void 0!==b&&20<a.xf){var c=a.dd&-1048577|(b?1048576:0);c!=a.dd&&(a.dd=c,a.la&&(a.la.Xd=c))}}
Ta.prototype.jh=function(a,b,c){if(!(a&this.tb||!b||b&this.tb)){for(var d=a>>this.Tb;0<b;){var e=this.Da[d];if(!e.ea)return Za(5,a,b);e.ve(c);b-=this.xc;d++}return!0}return Za(3,a,b)};function $a(a,b,c){if(!(b&a.tb||!c||c&a.tb)){for(var d=b>>a.Tb;0<c;)b=d*a.xc,a.Da[d++]=new Ua(b),c-=a.xc;return!0}return Za(4,b,c)}function ab(a,b){return a.Da[(b&a.dd)>>a.Tb].ej(b&a.tb)}function bb(a,b){var c=b&a.tb,d=(b&a.dd)>>a.Tb;return c!=a.tb?a.Da[d].oo(c):a.Da[d++].ej(c)|a.Da[d&a.be].ej(0)<<8}
function cb(a,b,c){a.Da[(b&a.dd)>>a.Tb].mj(b&a.tb,c&255)}function db(a,b,c){var d=b&a.tb;b=(b&a.dd)>>a.Tb;d!=a.tb?a.Da[b].Ao(d,c&65535):(a.Da[b++].mj(d,c&255),a.Da[b&a.be].mj(0,c>>8&255))}function eb(a){for(var b=0,c=[],d=0;d<a.tg;d++){var e=a.Da[d];if(e.kb||e.Lj){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,m=0,n=[];h<e.length;){for(var q=e[h],s=h+1;s<e.length&&e[s]===q;)s++;n[m++]=s-h;n[m++]=q;h=s}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.vh==a.dd;return c}
function fb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=g;n++)void 0!==f.eg[n]?r("Input port "+p(n,4)+" registered by "+f.eg[n][0].id+", ignoring "+h.id):f.eg[n]=[h,m,!1,!1]}}function gb(a,b,c){var d=255;a=a.eg[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function hb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=g;n++)void 0!==f.fg[n]?r("Output port "+p(n,4)+" registered by "+f.fg[n][0].id+", ignoring "+h.id):f.fg[n]=[h,m,!1,!1]}}function ib(a,b,c,d){a=a.fg[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Za(a,b,c){r("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function Ua(a,b,c,d){this.Il=b||0;this.pa=null;this.offset=0;this.Rj=c;this.ea=null;this.kb=this.Lj=!1;if(b)if(d)this.ea=d,a=[d.Yd,a-d.Wa],this.pa=a[0],this.offset=a[1],this.ve(d.jf);else{this.pa=Array(b>>2);for(d=0;d<this.pa.length;d++)this.pa[d]=0;this.ve(jb)}else this.ve()}
Ua.prototype={ah:function(){return 0},nh:function(){},mo:function(a){return this.pa[a>>2]>>>((a&3)<<3)&255},po:function(a){var b=a>>2;a=(a&3)<<3;var c=this.pa[b]>>>a;return 24>a?c&65535:c&255|(this.pa[b+1]&255)<<8},yo:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<<d)|b<<d;this.kb=!0},Bo:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.pa[c]=this.pa[c]&~(65535<<d)|b<<d:(this.pa[c]=this.pa[c]&16777215|b<<24,c++,this.pa[c]=this.pa[c]&4294967040|b>>8);this.kb=!0},save:function(){return this.ea?
null:this.pa},restore:function(a){return this.ea?null==a:a&&this.Il==a.length<<2?(this.pa=a,this.kb=!0):!1},ve:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cc=c[0]?c[0]:this.ah;this.no=c[1]?c[1]:this.ah;b&&(this.ej=c[0]?c[0]:this.ah,this.oo=c[1]?c[1]:this.ah);c=a;this.Fc=c[2]&&!this.Rj?c[2]:this.nh;this.zo=c[3]&&!this.Rj?c[3]:this.nh;b&&(this.mj=c[2]?c[2]:this.nh,this.Ao=c[3]?c[3]:this.nh)}};var jb=[Ua.prototype.mo,Ua.prototype.po,Ua.prototype.yo,Ua.prototype.Bo];
function kb(a,b){u.call(this,"CPU",a,kb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.Yc=c;this.ba.Jd=d;this.ba.Mg=Math.round(this.ba.Yc/1E4)/100;this.ba.Ve=this.ba.Mg*this.ba.Jd;this.na.Lb=!1;this.na.bc=!1;this.na.Uj=!1;this.na.Lh=a.autoStart;this.na.Mj=!1;c=Fa.autostart;void 0!==c&&(this.na.Lh="true"==c?!0:"false"==c?!1:null);this.na.Cg=!1;this.ba.Qg=this.ba.Xe=0;this.ba.Rg=a.csStart;this.ba.yf=a.csInterval;this.ba.zf=a.csStop;var e=this;this.mn=function(){lb(e)};this.Ra()}v(u,kb);k=kb.prototype;
k.sc=function(a,b,c,d){this.qa=b;this.Ta=d;this.Oa=a;var e=z(a,"Video");e&&(this.tf=function(){mb(e)},this.pd=function(){e.pd()});this.ka=z(a,"ChipSet");this.Ra()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Xb=function(a,b){if(!b){if(a&&this.restore){nb(this);if(!this.restore(a))return!1;ob(this)}else this.reset();this.fc("No debugger detected")}this.na.Lb=!0;!pb(this)&&this.Ta&&this.Ta.Up();this.tf();this.Le();return!0};
k.Wb=function(a){this.na.Lb=!1;return a&&this.save?this.save():!0};function pb(a){return!0===a.na.Lh||null===a.na.Lh&&void 0===a.ra.run?(lb(a),!0):!1}k.pd=function(){};k.Wj=function(){return 0};function ob(a){void 0===a.ba.Rg&&(a.ba.Rg=0);void 0===a.ba.yf&&(a.ba.yf=-1);void 0===a.ba.zf&&(a.ba.zf=-1);a.na.Cg=0<=a.ba.Rg&&0<a.ba.yf;a.na.Cg&&(a.ba.Qg=0,a.ba.Xe=a.ba.Rg-a.re)}
function A(a,b,c,d){a.ra[b]&&(void 0===d&&(d=4),void 0===c&&(Qa(a,"Register "+b+" is invalid"),qb(a)),c=!a.na.bc||a.na.Mj?p(c,d):"----".substr(0,d),a.ra[b].textContent!=c&&(a.ra[b].textContent=c))}k.Le=function(){};k.tf=function(){};
k.Fb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ra[b]=c;c.onclick=function(){d.na.bc?qb(d,!0):lb(d,!0)};a=!0;break;case "reset":this.ra[b]=c;c.onclick=function(){d.Oa&&rb(d.Oa)};a=!0;break;case "speed":this.ra[b]=c;a=!0;break;case "setSpeed":this.ra[b]=c,c.onclick=function(){sb(d,d.ba.Jd<<1,!0)},c.textContent=this.ba.Ve.toFixed(2)+"Mhz",a=!0}return a};function tb(a,b){if(a.na.bc){var c=a.A-b;a.A-=c;a.Xc-=c}}function ub(a,b,c){a.re+=b;c&&(a.Xc=a.A=0)}
function vb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ba.Jd&&a.ba.Wc&&(d=a.ba.Wc/a.ba.Mg);a.ba.ck=Math.round(1E3/30);a.ba.fn=Math.floor(a.ba.Yc/c*d);a.ba.ji=Math.floor(a.ba.Yc/30*d);a.ba.gk=Math.floor(a.ba.Yc/60*d);a.ba.fk=Math.floor(a.ba.Yc/2*d);b||(a.ba.Cf=a.ba.ji,a.ba.Bf=a.ba.gk,a.ba.Af=a.ba.fk);a.ba.ki=0}function B(a,b){var c=a.re+a.Nd+a.Xc-a.A;b&&1<a.ba.Jd&&a.ba.Wc>a.ba.Mg&&(c=Math.round(c/a.ba.Jd));return c}function nb(a){a.ba.Wc=0;a.re=a.Nd=a.Xc=a.A=0;ob(a);sb(a,1)}
function sb(a,b,c){if(void 0!==b){0.8>a.ba.Wc/a.ba.Ve&&(b=1);a.ba.Jd=b;b=a.ba.Mg*a.ba.Jd;if(a.ba.Ve!=b){a.ba.Ve=b;b=a.ba.Ve.toFixed(2)+"Mhz";var d=a.ra.setSpeed;d&&(d.textContent=b);a.fc("target speed: "+b)}c&&a.pd()}ub(a,a.Nd);a.Nd=0;a.ba.We=ia();a.ba.oe=0;vb(a)}
function lb(a,b){if(Oa(a,!0)){if(!a.na.bc){sb(a);a.Oa&&a.Oa.start(a.ba.We,B(a));a.na.bc=!0;a.na.Uj=!0;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Halt");a.Le(!0);b&&a.pd()}a.ba.ki>=a.ba.Yc&&vb(a,!0);a.ba.Df=0;a.ba.Og=ia();a.ba.oe&&(c=a.ba.Og-a.ba.oe,c>a.ba.ck&&(a.ba.We+=c,a.ba.We>a.ba.Og&&(a.ba.We=a.ba.Og)));try{do{var d=a.na.Cg?1:a.ba.fn;if(a.ka){xb(a.ka);var e=a.ka,c=d,f=e.Ib[0];if(f.le){var g=(B(e.la,e.Fd)-f.nd)/e.Yg|0,h=yb(e,0)-g;6==f.mode&&(h-=g);var m=h*e.Yg|0;6==f.mode&&(m>>=1);c>m&&(c=
m)}var d=c,n=a.ka,c=d;if(n.ja&&n.ja[11]&64){var q=n.Ze-B(n.la,n.Fd);0<q&&c>q&&(c=q)}d=c}a.wl(d);var s=a.Xc-a.A;a.Nd+=s;a.ba.Df+=s;ub(a,0,!0);var c=a,t=s;if(c.na.Cg){var x=!1;c.ba.Qg=c.ba.Qg+c.Wj()|0;c.ba.Xe-=t;0>=c.ba.Xe&&(c.ba.Xe+=c.ba.yf,x=!0);0<=c.ba.zf&&c.ba.zf<=B(c)&&(c.ba.yf=c.ba.zf=-1,ob(c),qb(c),x=!0);x&&c.fc(B(c)+" cycles: checksum="+p(c.ba.Qg))}a.ba.Bf-=s;0>=a.ba.Bf&&(a.ba.Bf+=a.ba.gk,a.tf());a.ba.Af-=s;0>=a.ba.Af&&(a.ba.Af+=a.ba.fk,a.Le());a.ba.Cf-=s;if(0>=a.ba.Cf){a.ba.Cf+=a.ba.ji;break}}while(a.na.bc)}catch(E){qb(a);
a.tf();a.Le();a.Oa&&a.Oa.stop(ia(),B(a));Oa(a,!1);Qa(a,E.message);return}d=setTimeout;e=a.mn;a.ba.oe=ia();f=a.ba.ck;a.ba.Df&&(f=Math.round(f*a.ba.Df/a.ba.ji));f-=a.ba.oe-a.ba.Og;if(g=a.ba.oe-a.ba.We)a.ba.Wc=Math.round(a.Nd/(10*g))/100,864E5<=g&&(a.re=0,a.ka&&xb(a.ka,!0),sb(a));if(0>f||a.ba.Wc<a.ba.Ve)f=0;a.ba.ki+=a.ba.Df;a.ba.oe+=f;d(e,f)}else a.tf(),a.Le(),a.Oa&&a.Oa.stop(ia(),B(a))}k.wl=function(){return 0};
function qb(a,b){a.na.zc&&(a.na.Mh=!0);a.Xc-=a.A;a.A=0;ub(a,a.Nd);a.Nd=0;if(a.na.bc){a.na.bc=!1;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Run")}a.na.uf=b}
s.prototype={toString:function(){return this.name?this.name:this.id||this.type},Eb:function(a,b,c){switch(b){case "clear":return this.ra[b]||(this.ra[b]=c,c.onclick=function(a){return function(){a.ra.print&&(a.ra.print.value="")}}(this)),!0;case "print":return this.ra[b]||(this.Gh=this.ra[b]=c,c.value="",this.fc=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}}(c),this.Aa=function(a,
b,c){this.fc(a,"notice",c)}),!0;default:return!1}},log:function(){},fc:function(){},status:function(a){this.fc(this.bi+": "+a)},Aa:function(a,b){b||q(a)},Yb:function(){return this.ma.Mb=!0},Xb:function(a,b){b&&(this.ma.Mb=!1);return!0},cc:function(){return!1}};function Na(a,b){if(a.ma.Mh)return a.ma.zc&&(a.ma.zc=!1),a.ma.Mh=!1;if(a.ma.Sc)return a.fc(a.toString()+" error"),!1;a.ma.zc=b;return a.ma.zc}
function z(a,b){if(!a.ma.Sc&&(a.ma.Hg=!1!==b,a.ma.Hg)){a.name&&a.log("ready");var c=a.Xh;a.Xh=null;c&&c()}}function Oa(a,b){b&&(a.ma.Hg?b():a.Xh=b);return a.ma.Hg}function Pa(a,b){a.ma.Sc=!0;a.Aa("Fatal error: "+b)}function Qa(a){s.call(this,"Panel",a,Qa)}v(s,Qa);Qa.prototype.Eb=function(a,b,c){return this.Oa&&this.Oa.Eb(a,b,c)||this.la&&this.la.Eb(a,b,c)||this.Ka&&this.Ka.Eb(a,b,c)?!0:s.prototype.Eb.call(this,a,b,c)};Qa.prototype.sc=function(a,b,c,d){this.Oa=a;this.la=c;this.Sa=d;this.Ka=Ra(a,"Keyboard")};
Qa.prototype.Yb=function(a,b){b||Sa();return!0};Qa.prototype.Xb=function(){return!0};function Sa(){for(var a=!1,b=y(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=w(d),f=Ka(e.id);f||(a=!0,f=new Qa(e));Ma(f,d);a&&z(f)}}wa(Sa);
function Ta(a,b,c){s.call(this,"Bus",a,Ta);this.la=b;this.Sa=c;this.xf=a.buswidth||20;this.vh=this.ad=(1<<this.xf)-1;this.Ub=20>=this.xf?12:14;this.xc=1<<this.Ub;this.Gj=this.xc>>2;this.sb=this.xc-1;this.tg=(this.vh+this.xc)/this.xc|0;this.be=this.tg-1;this.eg=[];this.fg=[];this.di();z(this)}v(s,Ta);Ta.prototype.di=function(){this.Da=Array(this.tg);for(var a=0;a<this.tg;a++)this.Da[a]=new Ua(a*this.xc);this.la.di(this.Da,this.vh,this.Ub,this.sb,this.be);this.la.Xd=this.ad};
Ta.prototype.reset=function(){Va(this,!0)};Ta.prototype.Yb=function(a,b){b||this.reset();return!0};function Wa(a,b,c,d,e){if(!(b&a.sb||!c||c&a.sb)){for(var f=b>>a.Ub;0<c&&f<a.Da.length;){var h=a.Da[f];if(void 0!==h&&h.size)return Za(1,b,c);b=f*a.xc;a.Da[f++]=new Ua(b,a.xc,d,e);c-=a.xc}return!0}return Za(2,b,c)}function Va(a,b){if(void 0!==b&&20<a.xf){var c=a.ad&-1048577|(b?1048576:0);c!=a.ad&&(a.ad=c,a.la&&(a.la.Xd=c))}}
Ta.prototype.kh=function(a,b,c){if(!(a&this.sb||!b||b&this.sb)){for(var d=a>>this.Ub;0<b;){var e=this.Da[d];if(!e.ea)return Za(5,a,b);e.ue(c);b-=this.xc;d++}return!0}return Za(3,a,b)};function $a(a,b,c){if(!(b&a.sb||!c||c&a.sb)){for(var d=b>>a.Ub;0<c;)b=d*a.xc,a.Da[d++]=new Ua(b),c-=a.xc;return!0}return Za(4,b,c)}function ab(a,b){return a.Da[(b&a.ad)>>a.Ub].fj(b&a.sb)}function bb(a,b){var c=b&a.sb,d=(b&a.ad)>>a.Ub;return c!=a.sb?a.Da[d].qo(c):a.Da[d++].fj(c)|a.Da[d&a.be].fj(0)<<8}
function cb(a,b,c){a.Da[(b&a.ad)>>a.Ub].nj(b&a.sb,c&255)}function db(a,b,c){var d=b&a.sb;b=(b&a.ad)>>a.Ub;d!=a.sb?a.Da[b].Co(d,c&65535):(a.Da[b++].nj(d,c&255),a.Da[b&a.be].nj(0,c>>8&255))}function eb(a){for(var b=0,c=[],d=0;d<a.tg;d++){var e=a.Da[d];if(e.kb||e.Mj){c[b++]=d;var f=c,h=b++;a:if(e=e.save()){for(var g=0,m=0,n=[];g<e.length;){for(var r=e[g],t=g+1;t<e.length&&e[t]===r;)t++;n[m++]=t-g;n[m++]=r;g=t}if(n.length<e.length){e=n;break a}}f[h]=e}}c[b]=a.vh==a.ad;return c}
function fb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,h=e+d,g=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=h;n++)void 0!==f.eg[n]?q("Input port "+p(n,4)+" registered by "+f.eg[n][0].id+", ignoring "+g.id):f.eg[n]=[g,m,!1,!1]}}function gb(a,b,c){var d=255;a=a.eg[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function hb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,h=e+d,g=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=h;n++)void 0!==f.fg[n]?q("Output port "+p(n,4)+" registered by "+f.fg[n][0].id+", ignoring "+g.id):f.fg[n]=[g,m,!1,!1]}}function ib(a,b,c,d){a=a.fg[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Za(a,b,c){q("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function Ua(a,b,c,d){this.Jl=b||0;this.pa=null;this.offset=0;this.Sj=c;this.ea=null;this.kb=this.Mj=!1;if(b)if(d)this.ea=d,a=[d.Yd,a-d.Va],this.pa=a[0],this.offset=a[1],this.ue(d.jf);else{this.pa=Array(b>>2);for(d=0;d<this.pa.length;d++)this.pa[d]=0;this.ue(jb)}else this.ue()}
Ua.prototype={bh:function(){return 0},oh:function(){},oo:function(a){return this.pa[a>>2]>>>((a&3)<<3)&255},ro:function(a){var b=a>>2;a=(a&3)<<3;var c=this.pa[b]>>>a;return 24>a?c&65535:c&255|(this.pa[b+1]&255)<<8},Ao:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<<d)|b<<d;this.kb=!0},Do:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.pa[c]=this.pa[c]&~(65535<<d)|b<<d:(this.pa[c]=this.pa[c]&16777215|b<<24,c++,this.pa[c]=this.pa[c]&4294967040|b>>8);this.kb=!0},save:function(){return this.ea?
null:this.pa},restore:function(a){return this.ea?null==a:a&&this.Jl==a.length<<2?(this.pa=a,this.kb=!0):!1},ue:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cc=c[0]?c[0]:this.bh;this.po=c[1]?c[1]:this.bh;b&&(this.fj=c[0]?c[0]:this.bh,this.qo=c[1]?c[1]:this.bh);c=a;this.Fc=c[2]&&!this.Sj?c[2]:this.oh;this.Bo=c[3]&&!this.Sj?c[3]:this.oh;b&&(this.nj=c[2]?c[2]:this.oh,this.Co=c[3]?c[3]:this.oh)}};var jb=[Ua.prototype.oo,Ua.prototype.ro,Ua.prototype.Ao,Ua.prototype.Do];
function kb(a,b){s.call(this,"CPU",a,kb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.Vc=c;this.ba.Id=d;this.ba.Ng=Math.round(this.ba.Vc/1E4)/100;this.ba.Ue=this.ba.Ng*this.ba.Id;this.ma.Mb=!1;this.ma.Fb=!1;this.ma.Vj=!1;this.ma.Lh=a.autoStart;this.ma.Nj=!1;c=Ea.autostart;void 0!==c&&(this.ma.Lh="true"==c?!0:"false"==c?!1:null);this.ma.Cg=!1;this.ba.Rg=this.ba.We=0;this.ba.Sg=a.csStart;this.ba.yf=a.csInterval;this.ba.zf=a.csStop;var e=this;this.on=function(){lb(e)};z(this)}v(s,kb);k=kb.prototype;
k.sc=function(a,b,c,d){this.qa=b;this.Sa=d;this.Oa=a;var e=Ra(a,"Video");e&&(this.tf=function(){mb(e)},this.nd=function(){e.nd()});this.ka=Ra(a,"ChipSet");z(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Yb=function(a,b){if(!b){if(a&&this.restore){nb(this);if(!this.restore(a))return!1;ob(this)}else this.reset();this.fc("No debugger detected")}this.ma.Mb=!0;!pb(this)&&this.Sa&&this.Sa.Wp();this.tf();this.Ke();return!0};
k.Xb=function(a){this.ma.Mb=!1;return a&&this.save?this.save():!0};function pb(a){return!0===a.ma.Lh||null===a.ma.Lh&&void 0===a.ra.run?(lb(a),!0):!1}k.nd=function(){};k.Xj=function(){return 0};function ob(a){void 0===a.ba.Sg&&(a.ba.Sg=0);void 0===a.ba.yf&&(a.ba.yf=-1);void 0===a.ba.zf&&(a.ba.zf=-1);a.ma.Cg=0<=a.ba.Sg&&0<a.ba.yf;a.ma.Cg&&(a.ba.Rg=0,a.ba.We=a.ba.Sg-a.re)}
function A(a,b,c,d){a.ra[b]&&(void 0===d&&(d=4),void 0===c&&(Pa(a,"Register "+b+" is invalid"),qb(a)),c=!a.ma.Fb||a.ma.Nj?p(c,d):"----".substr(0,d),a.ra[b].textContent!=c&&(a.ra[b].textContent=c))}k.Ke=function(){};k.tf=function(){};
k.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ra[b]=c;c.onclick=function(){d.ma.Fb?qb(d,!0):lb(d,!0)};a=!0;break;case "reset":this.ra[b]=c;c.onclick=function(){d.Oa&&rb(d.Oa)};a=!0;break;case "speed":this.ra[b]=c;a=!0;break;case "setSpeed":this.ra[b]=c,c.onclick=function(){sb(d,d.ba.Id<<1,!0)},c.textContent=this.ba.Ue.toFixed(2)+"Mhz",a=!0}return a};function tb(a,b){if(a.ma.Fb){var c=a.A-b;a.A-=c;a.Uc-=c}}function ub(a,b,c){a.re+=b;c&&(a.Uc=a.A=0)}
function vb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ba.Id&&a.ba.Gd&&(d=a.ba.Gd/a.ba.Ng);a.ba.dk=Math.round(1E3/30);a.ba.hn=Math.floor(a.ba.Vc/c*d);a.ba.ki=Math.floor(a.ba.Vc/30*d);a.ba.hk=Math.floor(a.ba.Vc/60*d);a.ba.gk=Math.floor(a.ba.Vc/2*d);b||(a.ba.Cf=a.ba.ki,a.ba.Bf=a.ba.hk,a.ba.Af=a.ba.gk);a.ba.li=0}function B(a,b){var c=a.re+a.Md+a.Uc-a.A;b&&1<a.ba.Id&&a.ba.Gd>a.ba.Ng&&(c=Math.round(c/a.ba.Id));return c}function nb(a){a.ba.Gd=0;a.re=a.Md=a.Uc=a.A=0;ob(a);sb(a,1)}
function sb(a,b,c){if(void 0!==b){0.8>a.ba.Gd/a.ba.Ue&&(b=1);a.ba.Id=b;b=a.ba.Ng*a.ba.Id;if(a.ba.Ue!=b){a.ba.Ue=b;b=a.ba.Ue.toFixed(2)+"Mhz";var d=a.ra.setSpeed;d&&(d.textContent=b);a.fc("target speed: "+b)}c&&a.nd()}ub(a,a.Md);a.Md=0;a.ba.Ve=ha();a.ba.oe=0;vb(a)}
function lb(a,b){if(Na(a,!0)){if(!a.ma.Fb){sb(a);a.Oa&&a.Oa.start(a.ba.Ve,B(a));a.ma.Fb=!0;a.ma.Vj=!0;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Halt");a.Ke(!0);b&&a.nd()}a.ba.li>=a.ba.Vc&&vb(a,!0);a.ba.Df=0;a.ba.Pg=ha();a.ba.oe&&(c=a.ba.Pg-a.ba.oe,c>a.ba.dk&&(a.ba.Ve+=c,a.ba.Ve>a.ba.Pg&&(a.ba.Ve=a.ba.Pg)));try{do{var d=a.ma.Cg?1:a.ba.hn;if(a.ka){xb(a.ka);var e=a.ka,c=d,f=e.Ib[0];if(f.le){var h=(B(e.la,e.Dd)-f.ld)/e.Zg|0,g=yb(e,0)-h;6==f.mode&&(g-=h);var m=g*e.Zg|0;6==f.mode&&(m>>=1);c>m&&(c=
m)}var d=c,n=a.ka,c=d;if(n.ja&&n.ja[11]&64){var r=n.Ye-B(n.la,n.Dd);0<r&&c>r&&(c=r)}d=c}a.wl(d);var t=a.Uc-a.A;a.Md+=t;a.ba.Df+=t;ub(a,0,!0);var c=a,u=t;if(c.ma.Cg){var x=!1;c.ba.Rg=c.ba.Rg+c.Xj()|0;c.ba.We-=u;0>=c.ba.We&&(c.ba.We+=c.ba.yf,x=!0);0<=c.ba.zf&&c.ba.zf<=B(c)&&(c.ba.yf=c.ba.zf=-1,ob(c),qb(c),x=!0);x&&c.fc(B(c)+" cycles: checksum="+p(c.ba.Rg))}a.ba.Bf-=t;0>=a.ba.Bf&&(a.ba.Bf+=a.ba.hk,a.tf());a.ba.Af-=t;0>=a.ba.Af&&(a.ba.Af+=a.ba.gk,a.Ke());a.ba.Cf-=t;if(0>=a.ba.Cf){a.ba.Cf+=a.ba.ki;break}}while(a.ma.Fb)}catch(E){qb(a);
a.tf();a.Ke();a.Oa&&a.Oa.stop(ha(),B(a));Na(a,!1);Pa(a,E.message);return}d=setTimeout;e=a.on;a.ba.oe=ha();f=a.ba.dk;a.ba.Df&&(f=Math.round(f*a.ba.Df/a.ba.ki));f-=a.ba.oe-a.ba.Pg;if(h=a.ba.oe-a.ba.Ve)a.ba.Gd=Math.round(a.Md/(10*h))/100,864E5<=h&&(a.re=0,a.ka&&xb(a.ka,!0),sb(a));if(0>f||a.ba.Gd<a.ba.Ue)f=0;a.ba.li+=a.ba.Df;a.ba.oe+=f;d(e,f)}else a.tf(),a.Ke(),a.Oa&&a.Oa.stop(ha(),B(a))}k.wl=function(){return 0};
function qb(a,b){a.ma.zc&&(a.ma.Mh=!0);a.Uc-=a.A;a.A=0;ub(a,a.Md);a.Md=0;if(a.ma.Fb){a.ma.Fb=!1;a.ka&&wb(a.ka);var c=a.ra.run;c&&(c.textContent="Run")}a.ma.uf=b}
var zb=[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 Bb(a,b,c,d){this.la=a;this.Ta=a.Ta;this.id=b;this.hh=c||"";this.Ja=this.ya=0;this.Oc=65535;this.jb=0;this.ud=-4;this.kc=this.Za=0;this.zj=this.id==Cb?Array(32):[];this.Nh=null;this.Ig=!1;Db(this,d)}var Cb=1;function Eb(a){this.ya=a;return this.Ja=a<<4}function Fb(a,b){var c,d,e=this.la;a&4?(c=e.Sd.Ja,d=c+e.Sd.Oc):(c=e.Hc,d=e.Fe);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Gb(this,c,a,b);b||C.call(e,13,a)}return-4}
function Hb(a){var b=this.la;a=b.Ic+(a<<2);b.ta=D(b,a);this.ya=D(b,a+2);b.Ca&=-769;return this.Ja=this.ya<<4}function Ib(a){var b=this.la;a<<=3;var c=b.Ic+a;if(c+7<=b.Ge)return Gb(this,c,a);C.call(b,13,a|3,!0);return-4}function Jb(a){return this.Ja+a}function Kb(a){return this.Ja+a}function Lb(a,b,c){return a+b<=this.Oc?this.Ja+a:Mb.call(this,0,0,c)}function Nb(a,b,c){return a+b>this.Oc?this.Ja+a:Mb.call(this,0,0,c)}function Mb(a,b,c){c||C.call(this.la,13,0);return-4}
function Ob(a,b,c){return a+b<=this.Oc?this.Ja+a:Pb.call(this,0,0,c)}function Rb(a,b,c){return a+b>this.Oc?this.Ja+a:Pb.call(this,0,0,c)}function Pb(a,b,c){c||C.call(this.la,13,0);return-4}
function Sb(a,b){var c=this.la,d=c.ib.Ja,e=this.Za,f=c.ib.ya;if(!b){if(768!=c.ib.type)return C.call(c,10,a,!0),!1;F(c,c.ib.ud+4,c.ib.jb&-769|256)}if(-4==c.ib.load(a))return!1;var g=c.ib.Ja;if(b){if(768==c.ib.type)return C.call(c,13,a,!0),!1;F(c,c.ib.ud+4,c.ib.jb|=768);c.ib.type=768}F(c,d+14,c.ta);F(c,d+16,Tb(c));F(c,d+18,c.H);F(c,d+20,c.J);F(c,d+22,c.K);F(c,d+24,c.C);F(c,d+26,c.X);F(c,d+28,c.I);F(c,d+30,c.G);F(c,d+32,c.F);F(c,d+34,c.Qa.ya);F(c,d+36,c.xa.ya);F(c,d+38,c.qb.ya);F(c,d+40,c.wb.ya);var d=
38,h=26;Ub(c,D(c,g+16)|(b?16384:0));c.H=D(c,g+18);c.J=D(c,g+20);c.K=D(c,g+22);c.C=D(c,g+24);c.I=D(c,g+28);c.G=D(c,g+30);c.F=D(c,g+32);c.Qa.load(D(c,g+34));c.wb.load(D(c,g+40));Vb(c,D(c,g+14),D(c,g+36));this.Za<e&&(h=(this.Za<<2)+2,d=h+2);c.X=D(c,g+h);c.qb.load(D(c,g+d));c.Sd.load(D(c,g+42));b&&F(c,g+0,f);c.gc|=8;return!0}function Wb(a,b,c){var d=a.la,e=D(d,b+2),f=D(d,b+0)|(e&255)<<16,d=D(d,b+4);a.ya=c;a.Ja=f;a.Oc=d;a.jb=e&65280;a.ud=b;Db(a)}
function Gb(a,b,c,d){for(var e=a.la,f=D(e,b+0),g=D(e,b+4),h=g&7936,m=D(e,b+2)|(g&255)<<16,n=c&65528;;){var q;if(a.id==Cb){a.Ig=!1;var n=a.Nh,s,t,x=c&3,E=(g&24576)>>13;if(6144<=h){x=c&3;if(x>a.Za){if(!1!==n&&!(E==a.Za||g&1024&&E<=a.Za)){m=-4;break}s=e.Ha();e.qb.load(e.Ha());e.X=s;a.Ig=!0}s=!1}else if(1024==h)s=!0,t=-1,q=c,x<a.Za&&(x=a.Za);else if(1536==h)s=!0,t=-17153,q=c|1;else if(1792==h)s=!0,t=-16641,q=c|1;else if(1280==h){if(!Sb.call(a,m&65535,!0)){m=-4;break}return a.Ja}if(s){b=m&65535;if(x<=
E){d=a.Za;if(-4==a.load(b,!0)){m=-4;break}e.ta=f;if(a.Za<d){if(!0!==n){m=-4;break}s=e.X;f=0;for(g&=31;g--;)a.zj[f++]=D(e,e.qb.yc(s,1)),s+=2;g=e.ib.Ja;d=(a.Za<<2)+2;n=d+2;q=e.X;b=e.qb.ya;e.X=D(e,g+d);e.qb.load(D(e,g+n));G(e,b);for(G(e,q);f;)G(e,a.zj[--f]);a.Ig=!0}e.Ca&=t;return a.Ja}d||C.call(e,13,q,!0);m=-4;break}else if(!1!==s){d||C.call(e,13,c,!0);m=-4;break}}else if(2==a.id){if(n&&(4096>h||2048==(h&2560))){d||C.call(e,13,c,!!g);m=-4;break}}else if(3==a.id){if(!n||4096>h||2048==(h&2560)){d||C.call(e,
13,c,!0);m=-4;break}}else if(4==a.id){if(!n||256!=h&&768!=h){d||C.call(e,10,c,!0);m=-4;break}}else if(6==a.id&&!(g&4096)&&768<h){m=-4;break}a.ya=c;a.Ja=m;a.Oc=f;a.jb=g;a.type=h;a.ud=b;Db(a);break}return m}Bb.prototype.save=function(){return[this.ya,this.Ja,this.Oc,this.jb,this.id,this.hh,this.Za,this.kc,this.ud]};Bb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ya=a[0],this.Ja=a[1],this.Oc=a[2],this.jb=a[3],this.id=a[4],this.hh=a[5],this.Za=a[6],this.kc=a[7],this.ud=a[8])};
function Db(a,b){void 0===b&&(b=!!(a.la.gc&1));if(b){a.load=Fb;a.bk=Ib;a.yc=Lb;a.Ub=Ob;if(a.jb&4096){6144==(a.jb&6656)&&(a.Ub=Mb);if(a.jb&2048||!(a.jb&512))a.Ub=Pb;1024==(a.jb&3072)&&(a.yc==Lb&&(a.yc=Nb),a.Ub==Ob&&(a.Ub=Rb))}a.Za=a.ya&3;a.kc=(a.jb&24576)>>13}else a.load=Eb,a.bk=Hb,a.yc=Jb,a.Ub=Kb,a.Oc=65535,a.Za=a.kc=0,a.ud=-4}
function Xb(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}kb.call(this,a,b);this.sj=61442;this.bg=1792;this.ag=4;this.$e=255;this.B=80286<=this.Ga?Yb:Zb;this.Sa=$b.slice();this.El=ac.slice();this.Fl=bc.slice();this.vj=cc;80186<=this.Ga&&(this.$e=31,this.Sa[15]=H,this.Sa[96]=dc,this.Sa[97]=ec,this.Sa[98]=fc,this.Sa[99]=H,this.Sa[100]=H,this.Sa[101]=H,this.Sa[102]=H,this.Sa[103]=H,this.Sa[104]=gc,this.Sa[105]=hc,this.Sa[106]=ic,this.Sa[107]=jc,this.Sa[108]=
kc,this.Sa[109]=lc,this.Sa[110]=mc,this.Sa[111]=nc,this.Sa[192]=oc,this.Sa[193]=pc,this.Sa[200]=qc,this.Sa[201]=rc,this.Sa[241]=sc,this.El[7]=tc,this.Fl[7]=tc,80286<=this.Ga&&(this.sj=2,this.bg|=28672,this.ag=0,this.Sa[15]=uc,this.Sa[99]=vc,this.Sa[84]=wc));this.dg=[];this.uj=[];this.Xc=this.Ch=0;this.na.uf=this.na.Rl=!1;this.Da=[];this.Xd=this.Tb=this.tb=this.be=0;this.T=this.Xl;this.U=this.Yl;this.O=this.$m;this.P=this.an;this.R=this.vo;this.S=this.wo;xc(this)}v(kb,Xb);
var Zb={$i:4,aa:5,sa:6,fa:7,ga:8,Q:9,V:11,W:12,pe:4,ik:60,jk:83,Nb:3,ub:9,dc:16,Vg:1,nk:19,pk:28,rk:16,qk:21,ok:37,lk:2,ti:9,mk:5,kk:33,vi:10,ui:8,Jf:3,If:15,Fk:51,Gk:1,Hk:2,Ik:4,Ek:32,wi:15,Kk:15,Ob:16,Pb:4,Mk:11,Lk:18,Jk:24,Db:4,Nk:2,xi:16,Ok:17,Ci:18,Pk:19,Bi:5,Di:6,Uk:2,Tk:8,Rk:9,Sk:10,Qk:10,Ei:10,Fi:10,tk:80,vk:144,sk:86,uk:154,xk:101,zk:165,wk:107,yk:171,Wk:70,Yk:113,Vk:76,Xk:124,Bk:80,Dk:128,Ak:86,Ck:134,Lf:3,Kf:16,Ki:10,Ji:8,Zk:51,ec:8,$k:17,al:36,lc:11,bl:16,Mf:10,Md:2,qi:18,ri:7,si:15,yi:12,
zi:7,Ai:11,Gi:18,Hi:7,Ii:15,Li:15,Mi:7,Ni:13,Ri:11,Si:7,Ti:8,cl:8,fl:12,dl:18,el:17,gl:15,Pi:8,Oi:20,Qi:2,Wi:3,Nf:9,Vi:5,Ui:11,Yi:4,Xi:17,hl:11},Yb={$i:0,aa:0,sa:0,fa:0,ga:0,Q:0,V:1,W:1,pe:3,ik:14,jk:16,Nb:2,ub:7,dc:7,Vg:0,nk:7,pk:13,rk:7,qk:11,ok:16,lk:3,ti:6,mk:2,kk:13,vi:5,ui:5,Jf:2,If:7,Fk:23,Gk:0,Hk:1,Ik:3,Ek:17,wi:7,Kk:11,Ob:7,Pb:3,Mk:7,Lk:11,Jk:15,Db:2,Nk:3,xi:7,Ok:8,Ci:8,Pk:8,Bi:4,Di:4,Uk:2,Tk:3,Rk:5,Sk:2,Qk:3,Ei:5,Fi:3,tk:14,vk:22,sk:17,uk:25,xk:17,zk:25,wk:20,yk:28,Wk:13,Yk:21,Vk:16,Xk:24,
Bk:13,Dk:21,Ak:16,Ck:24,Lf:2,Kf:7,Ki:5,Ji:5,Zk:19,ec:5,$k:5,al:17,lc:3,bl:5,Mf:3,Md:0,qi:8,ri:5,si:9,yi:5,zi:5,Ai:4,Gi:5,Hi:5,Ii:4,Li:7,Mi:5,Ni:8,Ri:3,Si:4,Ti:3,cl:11,fl:11,dl:15,el:15,gl:7,Pi:5,Oi:8,Qi:0,Wi:2,Nf:6,Vi:3,Ui:6,Yi:3,Xi:5,hl:5};k=Xb.prototype;k.ci=function(a,b,c,d,e){this.Da=a;this.Xd=b;this.Tb=c;this.tb=d;this.be=e};k.reset=function(){this.na.bc&&qb(this);xc(this);nb(this);this.na.Uc=!1};
function xc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.X=0;a.I=0;a.G=0;a.F=0;a.gc=65520;a.Ic=0;a.Ge=1023;a.Ye=0;a.Ug=-1;a.xa=new Bb(a,Cb,"CS");a.wb=new Bb(a,2,"DS");a.Qa=new Bb(a,2,"ES");a.qb=new Bb(a,3,"SS");a.ul=new Bb(a,0,"NULL");Vb(a,0,65535);80286<=a.Ga&&(a.Hc=0,a.Fe=65535,a.Sd=new Bb(a,5,"LDT",!0),a.ib=new Bb(a,4,"TSS",!0),a.Gb=new Bb(a,6,"VER",!0),Vb(a,65520,61440),a.xa.Ja=16711680);Ub(a,0);yc(a);a.lb=0;a.Eb=a.Uf=-1;a.og=0;a.ha=a.Ia=-4;a.D=a.wb;a.N=a.qb;a.Z=a.va=0}
k.Wj=function(){var a=this.H+this.C+this.J+this.K+this.X+this.I+this.G+this.F|0;return a=a+this.ta+this.xa.ya+this.wb.ya+this.qb.ya+this.Qa.ya+Tb(this)|0};function Bc(a,b,c,d){void 0!==d&&(void 0===a.dg[b]&&(a.dg[b]=[]),a.dg[b].push([c,d]))}function Cc(a,b){var c=a.uj[b];null!=c&&(c(--a.Ch),delete a.uj[b])}function yc(a,b){void 0===b&&(b=!!(a.gc&1));b||a.cc("returning to real-mode");a.vj=b?Dc:cc;Db(a.xa,b);Db(a.wb,b);Db(a.qb,b);Db(a.Qa,b)}
k.save=function(){var a=new I(this);a.set(0,[this.H,this.C,this.J,this.K,this.X,this.I,this.G,this.F,this.Ye]);a.set(1,[this.ta,this.xa.save(),this.wb.save(),this.qb.save(),this.Qa.save(),null!=this.Hc?[this.gc,this.Hc,this.Fe,this.Ic,this.Ge,this.Sd.save(),this.ib.save(),this.Ye]:null,Tb(this)]);a.set(2,[this.D.hh,this.N.hh,this.Z,this.va,this.lb,this.ha,this.Ia]);a.set(3,[0,this.re,this.ba.Jd]);a.set(4,eb(this.qa));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.X=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Ye=b[8]||0;b=a[1];this.xa.restore(b[1]);this.wb.restore(b[2]);this.qb.restore(b[3]);this.Qa.restore(b[4]);var c=b[5];c&&c.length&&(this.gc=c[0],this.Hc=c[1],this.Fe=c[2],this.Ic=c[3],this.Ge=c[4],this.Sd.restore(c[5]),this.ib.restore(c[6]),this.Ye=c[7],yc(this));Ub(this,b[6]);J(this,b[0]);b=a[2];this.D=Ec(this,b[0]);this.N=Ec(this,b[1]);this.Z=b[2];this.va=b[3];this.lb=
b[4];this.ha=b[5];this.Ia=b[6];b=a[3];this.re=b[1];sb(this,b[2]);a:{b=this.qa;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.Fj){for(var f=0,g=Array(b.Fj),h=0;h<e.length-1;)for(var m=e[h++],n=e[h++];m--;)g[f++]=n;e=g}f=b.Da[d];if(!f||!f.restore(e)){r("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Xa(b,a[c]);b=!0}return b};
function Ec(a,b){switch(b){case "CS":return a.xa;case "DS":return a.wb;case "SS":return a.qb;case "ES":return a.Qa;case "NULL":return a.ul;default:return[0,b,0,0,""]}}function Fc(a,b){a.Ba=a.xa.load(b)+a.ta;a.Z|=a.ag}function Gc(a,b){a.wb.load(b);a.Z|=a.ag}function Hc(a,b){a.qb.load(b);a.Z|=4}function Ic(a,b){a.Qa.load(b);a.Z|=a.ag}function J(a,b){a.Ba=a.xa.Ja+(a.ta=b&65535)}function Vb(a,b,c,d){a.xa.Nh=d;a.ta=b;b=a.xa.load(c);return-4!=b?(a.Ba=b+a.ta,a.xa.Ig):null}
function K(a,b){a.Ba=a.xa.Ja+(a.ta=a.ta+b&65535)}function Jc(a){return a.Y&a.ca?1:0}function Kc(a){return zb[a.ia&255]?4:0}function Lc(a){return(a.ia^a.ma)&16?16:0}function Mc(a){return a.Y&a.ca-1?0:64}function Nc(a){return a.ia&a.ca>>1?128:0}function Oc(a){return(a.ia^a.ma^a.ia>>1)&a.ca>>1?2048:0}function Pc(a){a.Y&=~a.ca}function Qc(a){a.ma=a.ia&16|a.ma&-17}function Rc(a){a.Y|=a.ca-1}function Sc(a){a.ia&=~a.ca;a.ma=a.ia&32896|a.ma&-32897}function Tc(a){a.Y|=a.ca}
function Uc(a){a.ma=~(a.ia&16)&16|a.ma&-17}function Vc(a){a.Y&=~(a.ca-1)}function Wc(a){Nc(a)||(a.ia^=a.ca>>1|a.ca>>2,a.ma^=32896)}function Xc(a){a.ia|=a.ca;a.ma=a.ia&32896|a.ma&-32897}function Tb(a){return a.Ca&-2262|Jc(a)|Kc(a)|Lc(a)|Mc(a)|Nc(a)|Oc(a)}
function Ub(a,b,c){a.ca=256;a.Y=a.ia=a.ma=0;b&1&&Tc(a);b&4||(a.ia|=1);b&16&&(a.ma|=16);b&64||Rc(a);b&128&&Wc(a);b&2048&&Xc(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.xa.Za);c?b=b&-12289|a.Ca&12288:a.Ye=(b&12288)>>12;c>a.Ye&&(b=b&-513|a.Ca&512);a.Ca=a.Ca&~a.bg|b&a.bg|a.sj;a.Ca&256&&(a.lb|=2,a.Z|=4)}
k.Fb=function(a,b,c){var d=!1;switch(b){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 "V":this.ra[b]=c;d=!0;break;default:d=kb.prototype.Fb.call(this,a,b,c)}return d};function Yc(a,b){return a.Da[(b&a.Xd)>>a.Tb].Cc(b&a.tb)}
function D(a,b){var c=b&a.tb,d=(b&a.Xd)>>a.Tb;a.A-=a.B.$i;return c!=a.tb?a.Da[d].no(c):a.Da[d++].Cc(c)|a.Da[d&a.be].Cc(0)<<8}function Zc(a,b,c){a.Da[(b&a.Xd)>>a.Tb].Fc(b&a.tb,c&255)}function F(a,b,c){var d=b&a.tb;b=(b&a.Xd)>>a.Tb;a.A-=a.B.$i;d!=a.tb?a.Da[b].zo(d,c&65535):(a.Da[b++].Fc(d,c&255),a.Da[b&a.be].Fc(0,c>>8&255))}k.Xl=function(a,b){this.Xf=a;this.ha=a.yc(this.Qf=b,0);return this.Z&1?0:Yc(this,this.ha)};k.Yl=function(a,b){this.Xf=a;this.ha=a.yc(this.Qf=b,1);return this.Z&1?0:D(this,this.ha)};
k.$m=function(a,b){this.Xf=a;this.Ia=this.ha=a.yc(this.Qf=b,0);return this.Z&1?0:Yc(this,this.ha)};k.an=function(a,b){this.Xf=a;this.Ia=this.ha=a.yc(this.Qf=b,1);return this.Z&1?0:D(this,this.ha)};k.vo=function(a){this.Z&2||Zc(this,this.Xf.Ub(this.Qf,0),a)};k.wo=function(a){this.Z&2||F(this,this.Xf.Ub(this.Qf,1),a)};k.da=function(){var a=Yc(this,this.Ba);this.Ba=this.xa.Ja+(this.ta=this.ta+1&65535);return a};
k.M=function(){var a=Yc(this,this.Ba)<<24>>24;this.Ba=this.xa.Ja+(this.ta=this.ta+1&65535);return a&65535};k.L=function(){var a=D(this,this.Ba);this.Ba=this.xa.Ja+(this.ta=this.ta+2&65535);return a};k.Ha=function(){var a=this.X;this.X=this.X+2&65535;return D(this,this.qb.yc(a,1))};function G(a,b){var c=a.X=a.X-2&65535;F(a,a.qb.Ub(c,1),b)}
k.Le=function(a){if(a||!this.na.bc||this.na.Mj)A(this,"AX",this.H),A(this,"BX",this.C),A(this,"CX",this.J),A(this,"DX",this.K),A(this,"SP",this.X),A(this,"BP",this.I),A(this,"SI",this.G),A(this,"DI",this.F),A(this,"CS",this.xa.ya),A(this,"DS",this.wb.ya),A(this,"SS",this.qb.ya),A(this,"ES",this.Qa.ya),A(this,"IP",this.ta),a=Tb(this),A(this,"PS",a),A(this,"C",a&1?1:0,1),A(this,"P",a&4?1:0,1),A(this,"A",a&16?1:0,1),A(this,"Z",a&64?1:0,1),A(this,"S",a&128?1:0,1),A(this,"T",a&256?1:0,1),A(this,"I",a&
512?1:0,1),A(this,"D",a&1024?1:0,1),A(this,"V",a&2048?1:0,1);if(a=this.ra.speed)a.textContent=this.na.bc&&this.ba.Wc?this.ba.Wc.toFixed(2)+"Mhz":"Stopped"};
k.wl=function(a){this.na.uf=!0;this.na.Rl=!1;this.na.Uj=!1;this.Xc=this.A=a;this.ka&&!a&&xb(this.ka);a||(this.Z|=4);do{if(a=this.Z&240)this.va|=a;else if(this.Rf=this.Ba,this.ha=this.Ia=-4,this.D=this.wb,this.N=this.qb,this.va=this.Z&256,this.lb){a:{if(!(this.Z&4))if(this.lb&1&&this.Ca&512){if(a=$c(this.ka),-1<=a&&(this.lb&=-2,0<=a)){this.lb&=-5;ad.call(this,a,null,11);break a}}else if(this.lb&2){this.lb&=-3;ad.call(this,1,null,11);break a}if(a=this.lb&8){a=this.ka;for(var b=!1,c=0;c<a.ab;c++)for(var d=
a.ab[c],e=0;e<d.yb.length;e++){var f=d.yb[e];f.md||(bd(a,f),f.md||(b=!0))}a=!b}a&&(this.lb&=-9)}if(this.lb&4){this.Z=this.A=0;break}}this.Z=0;this.Sa[this.da()].call(this)}while(0<this.A);return this.na.uf?this.Xc-this.A:void 0===this.na.uf?0:-1};za(function(){for(var a=y(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Xb(d);Na(d,c)}});function cd(a,b){this.ma=a^b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=a+b)&255}
function dd(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=this.ma=a|b)&255}function ed(a,b){this.ma=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return this.Y&255}function fd(a,b){this.ma=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return this.Y&255}
function gd(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=this.ma=a&b)&255}function hd(a,b){this.ma=a^b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=a-b)&255}function id(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=this.ma=a^b)&255}
function jd(a,b){this.ma=a^b;this.ca=256;this.Y=this.ia=a-b;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ti:this.B.ub;this.Z|=2;return a}function kd(a,b){this.ma=a^b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=a+b)&65535}function ld(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=this.ma=a|b)&65535}
function md(a,b){this.ma=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return this.Y&65535}function nd(a,b){this.ma=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return this.Y&65535}function od(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=this.ma=a&b)&65535}
function pd(a,b){this.ma=a^b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=a-b)&65535}function qd(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ub:this.B.dc;return(this.Y=this.ia=this.ma=a^b)&65535}function rd(a,b){this.ma=a^b;this.ca=65536;this.Y=this.ia=a-b;this.A-=0>this.Ia?0>this.ha?this.B.Nb:this.B.ti:this.B.ub;this.Z|=2;return a}function sd(a,b){this.Y=this.Y&this.ca-1|(a&b?this.ca:0);(a^a>>1)&b>>1?Xc(this):Sc(this)}
function td(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;sd.call(this,d,256)}return c}function ud(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;sd.call(this,d,65536)}return c}function vd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);sd.call(this,d,256)}return c}function wd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);sd.call(this,d,65536)}return c}
function zd(a,b){var c=a;if(b){var d;(d=(b&this.$e)%9)?(d=a<<d|(this.Y&this.ca?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.Y&this.ca?1:0)<<8;sd.call(this,d,256)}return c}function Ad(a,b){var c=a;if(b){var d;(d=(b&this.$e)%17)?(d=a<<d|(this.Y&this.ca?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.Y&this.ca?1:0)<<16;sd.call(this,d,65536)}return c}function Bd(a,b){var c=a;b&&(c=(b&this.$e)%9,c=a>>c|(this.Y&this.ca?1:0)<<8-c|a<<9-c,sd.call(this,c,256),c&=255);return c}
function Cd(a,b){var c=a;b&&(c=(b&this.$e)%17,c=a>>c|(this.Y&this.ca?1:0)<<16-c|a<<17-c,sd.call(this,c,65536),c&=65535);return c}function Dd(a,b){var c=a;b&&(c=8<b?this.Y=this.ia=0:(this.Y=this.ia=a<<b)&255,this.ma=0,this.ca=256);return c}function Ed(a,b){var c=a;b&&(c=16<b?this.Y=this.ia=0:(this.Y=this.ia=a<<b)&65535,this.ma=0,this.ca=65536);return c}
function Fd(a,b){if(b){var c=8<b?0:a>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.ma=a^this.Y;this.ca=256;a=this.Y}return a&255}function Gd(a,b){if(b){var c=16<b?0:a>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.ma=a^this.Y;this.ca=65536;a=this.Y}return a&65535}function Hd(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.ma=a^this.Y;this.ca=256;a=this.Y}return a&255}
function Id(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.ma=a^this.Y;this.ca=65536;a=this.Y}return a&65535}function Jd(){this.A-=0>this.ha?2:this.B.gl;return 1}function Kd(){var a=this.J&this.$e;this.A-=(0>this.ha?this.B.Pi:this.B.Oi)+(a<<this.B.Qi);return a}function Ld(){var a=this.da();this.A-=(0>this.ha?this.B.Pi:this.B.Oi)+(a<<this.B.Qi);return a}function Md(){return null}function Nd(a){C.call(this,13,0);return a}
function tc(a){H.call(this);return a}function L(a){N.call(this);return a}
var Od=[cd,dd,ed,fd,gd,hd,id,jd],Pd=[kd,ld,md,nd,od,pd,qd,rd],Qd=[function(a,b){this.A-=0>this.Ia?this.B.ec:this.B.$k;return b},Nd,Nd,Nd,Nd,Nd,Nd,Nd],Rd=[function(a,b){this.A-=0>this.Ia?this.B.Sk:this.B.Qk;return b},L,L,L,L,L,L,L],Sd=[td,vd,zd,Bd,Dd,Fd,L,Hd],Td=[ud,wd,Ad,Cd,Ed,Gd,L,Id],Vd=[function(a,b){b=this.da();this.Y=this.ia=this.ma=a&b;this.ca=256;this.A-=0>this.ha?this.B.Vi:this.B.Ui;this.Z|=2;return a},L,function(a){this.A-=0>this.ha?this.B.Lf:this.B.Kf;return a^255},function(a,b){b=0;this.ma=
a^b;this.ca=256;this.A-=0>this.ha?this.B.Lf:this.B.Kf;return(this.Y=this.ia=b-a)&255},function(a){this.H=this.Eb=(this.Y=(this.H&255)*a)&65535;this.ma=this.ia=this.Y;this.ca=256;this.H&65280?(Tc(this),Xc(this)):(Pc(this),Sc(this));this.A-=0>this.ha?this.B.Wk:this.B.Vk;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Eb=b&65535;this.Y=this.ma=this.ia=b;this.ca=256;127<b||-128>b?(Tc(this),Xc(this)):(Pc(this),Sc(this));this.A-=0>this.ha?this.B.Bk:this.B.Ak;this.Z|=2;return a},
function(a){if(!a)return Ud.call(this),a;var b=this.H/a;if(255<b)return Ud.call(this),a;this.Eb=this.H=b&255|(this.H%a&255)<<8;this.ia=this.ma=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.tk:this.B.sk;this.Z|=2;return a},function(a){if(!a)return Ud.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Ud.call(this),a;this.Eb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ia=this.ma=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.xk:this.B.wk;this.Z|=2;return a}],
Wd=[function(a,b){b=this.L();this.Y=this.ia=this.ma=a&b;this.ca=65536;this.A-=0>this.ha?this.B.Vi:this.B.Ui;this.Z|=2;return a},L,function(a){this.A-=0>this.ha?this.B.Lf:this.B.Kf;return a^65535},function(a,b){b=0;this.ma=a^b;this.ca=65536;this.A-=0>this.ha?this.B.Lf:this.B.Kf;return(this.Y=this.ia=b-a)&65535},function(a){this.Eb=this.H=(this.Y=this.H*a)&65535;this.Uf=this.K=this.Y>>16&65535;this.ma=this.ia=this.Y;this.ca=65536;this.K?(Tc(this),Xc(this)):(Pc(this),Sc(this));this.A-=0>this.ha?this.B.Yk:
this.B.Xk;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Eb=b&65535;this.K=this.Uf=b>>16&65535;this.Y=this.ma=this.ia=b;this.ca=65536;32767<b||-32768>b?(Tc(this),Xc(this)):(Pc(this),Sc(this));this.A-=0>this.ha?this.B.Dk:this.B.Ck;this.Z|=2;return a},function(a,b){if(!a)return Ud.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Ud.call(this),a;this.Eb=this.H=c&65535;this.Uf=this.K=b%a&65535;this.ia=this.ma=this.Y=c|65536;this.ca=65536;this.A-=
0>this.ha?this.B.vk:this.B.uk;this.Z|=2;return a},function(a,b){if(!a)return Ud.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Ud.call(this),a;this.Eb=this.H=d&65535;this.Uf=this.K=b%c&65535;this.ia=this.ma=this.Y=d|65536;this.ca=65536;this.A-=0>this.ha?this.B.zk:this.B.yk;this.Z|=2;return a}],ac=[function(a){this.ma=a;a=(this.ia=a+1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Jf:this.B.If;return a},function(a){this.ma=
a;a=(this.ia=a-1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Jf:this.B.If;return a},L,L,L,L,L,L],bc=[function(a){this.ma=a;a=(this.ia=a+1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Jf:this.B.If;return a},function(a){this.ma=a;a=(this.ia=a-1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Jf:this.B.If;return a},function(a){G(this,this.ta);J(this,a);this.A-=0>this.ha?this.B.rk:this.B.qk;this.Z|=2;return a},
function(a){if(0>this.ha)return L.call(this,a);Xd.call(this,a,D(this,this.ha+2));this.A-=this.B.ok;this.Z|=2;return a},function(a){J(this,a);this.A-=0>this.ha?this.B.Mk:this.B.Lk;this.Z|=2;return a},function(a){if(0>this.ha)return L.call(this,a);Vb(this,a,D(this,this.ha+2));this.A-=this.B.Jk;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Ga&&(b=a));G(this,b);this.A-=0>this.ha?this.B.lc:this.B.bl;this.Z|=2;return a},Nd],Yd=[td,vd,zd,Bd,Dd,Fd,L,Hd],Zd=[ud,wd,Ad,Cd,Ed,Gd,
L,Id];function $d(a,b){this.A-=0>this.Ia?0>this.ha?this.B.Uk:this.B.Tk:this.B.Rk;return b}function ae(){return $d.call(this,0,this.Eb)}function be(a,b){this.Y=this.ia=this.ma=a&b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Wi:this.B.Nf:this.B.Nf;this.Z|=2;return a}function ce(a,b){this.Y=this.ia=this.ma=a&b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Wi:this.B.Nf:this.B.Nf;this.Z|=2;return a}
function de(a,b){var c=(b<<16>>16)*(this.da()<<24>>24);this.Y=this.ma=this.ia=c;this.ca=256;32767<c||-32768>c?(Tc(this),Xc(this)):(Pc(this),Sc(this));this.A-=0>this.ha?21:24;return c&65535}function ee(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Y=this.ma=this.ia=c;this.ca=65536;32767<c||-32768>c?(Tc(this),Xc(this)):(Pc(this),Sc(this));this.A-=0>this.ha?21:24;return c&65535}function fe(a){return a}function ge(a){if(0>this.ha)return N.call(this),a;this.A-=this.B.Nk;return this.ha}
function he(a,b){if(0>this.ha)return N.call(this),a;Gc(this,D(this,this.ha+2));this.A-=this.B.xi;return b}function ie(a,b){if(0>this.ha)return N.call(this),a;Ic(this,D(this,this.ha+2));this.A-=this.B.xi;return b}function je(a){if(0>this.ha)return H.call(this),a;var b=a<<16>>16,c=D(this,this.ha)<<16>>16,d=D(this,this.ha+2)<<16>>16;this.A-=this.B.kk;if(b<c||b>d)J(this,this.Rf-this.xa.Ja),ad.call(this,5,null,0);this.Z|=2;return a}
function ke(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Vc(this),a;Rc(this);return a}function le(a,b){this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(b,!0)&&this.Gb.kc>=this.xa.Za&&this.Gb.kc>=(b&3))return Vc(this),this.Gb.jb&65280;Rc(this);return a}function me(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&-4!=this.Gb.load(b,!0)&&(7168==(this.Gb.jb&7168)||this.Gb.kc>=this.xa.Za)&&this.Gb.kc>=(b&3))return Vc(this),this.Gb.Oc;Rc(this);return a}
function ne(a,b){if(0>this.ha){switch(this.og&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Yi}else this.Ia=this.ha,this.R(a),this.A-=this.B.Xi;return b}
function oe(a,b){if(0>this.ha){switch(this.og&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.X=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Yi}else this.Ia=this.ha,this.S(a),this.A-=this.B.Xi;return b}function pe(a){a|=this.gc&1;this.gc=this.gc&65520|a&-65521;this.gc&1&&yc(this,!0)}function Xd(a,b){var c=this.xa.ya,d=this.ta;null!=Vb(this,a,b,!0)&&(G(this,c),G(this,d))}
function qe(a){var b=this.Ha(),c=this.Ha();a&&(this.X=this.X+a&65535);Vb(this,b,c,!1)&&(a&&(this.X=this.X+a&65535),this.wb.ya&65528&&this.wb.kc<this.xa.Za&&7168!=(this.wb.jb&7168)&&this.wb.load(0),this.Qa.ya&65528&&this.Qa.kc<this.xa.Za&&7168!=(this.Qa.jb&7168)&&this.Qa.load(0));2==a&&this.Ch&&Cc(this,this.Ba)}
function ad(a,b,c){this.A-=this.B.Fk+c;this.xa.Nh=!0;c=Tb(this);var d=this.xa.ya,e=this.ta;a=this.xa.bk(a);-4!=a&&(this.Ba=a+this.ta,G(this,c),G(this,d),G(this,e),null!=b&&G(this,b),this.Ug=-1)}function Ud(){J(this,this.Rf-this.xa.Ja);ad.call(this,0,null,2)}
function C(a,b,c){if(this.na.uf){var d=!1;if(80186<=this.Ga)if(0>this.Ug)J(this,this.Rf-this.xa.Ja),d=!0;else if(8!=this.Ug)b=0,a=8,d=!0;else{re.call(this,-1,0,c);xc(this);return}re.call(this,a,b,c)&&(d=!1);d&&ad.call(this,this.Ug=a,b,0);this.Z&=-4}else this.cc("Fault "+p(a,2)+" blocked by Debugger",se),J(this,this.Rf-this.xa.Ja)}
function re(a,b,c){var d=te,e=ab(this.qa,this.Ba);204==e&&(c=!1,d|=ue);983040<=this.Ba&&1048575>=this.Ba&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+p(a,2)+(null!=b?" ("+p(b,4)+")":"")+" on opcode 0x"+p(e,2)+" at "+da(this.ta,this.xa.ya)+" (%"+p(this.Ba,6)+")",b=this.na.bc,this.cc(a,d)?c&&(c=b,qb(this.Ta)):(this.Aa(a),qb(this)));return c}function ve(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function we(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}
function xe(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function ye(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function ze(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function Ae(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function Be(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function Ce(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}
function De(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Ee(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Fe(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function Ge(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function He(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function Ie(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}
function Je(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Ke(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Le(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function Me(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Ne(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function Oe(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}
function Pe(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function Qe(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function Re(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}function Se(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}function Te(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function Ue(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}
function Ve(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function We(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function Xe(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a}function Ye(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}function Ze(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function $e(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}
function af(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function bf(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function cf(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8}function df(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}function ef(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function ff(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}
function gf(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function hf(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function jf(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8}function kf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function lf(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function mf(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}
function nf(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function of(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function pf(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8}function qf(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}function rf(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function sf(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}
function tf(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function uf(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function vf(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8}function wf(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}function xf(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function yf(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}
function zf(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function Af(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function Bf(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8}function Cf(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}function Df(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function Ef(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}
function Ff(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function Gf(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function Hf(a){this.H=a.call(this,this.H,this.H)}function If(a){this.H=a.call(this,this.H,this.J)}function Jf(a){this.H=a.call(this,this.H,this.K)}function Kf(a){this.H=a.call(this,this.H,this.C)}function Lf(a){this.H=a.call(this,this.H,this.X)}function Mf(a){this.H=a.call(this,this.H,this.I)}function Nf(a){this.H=a.call(this,this.H,this.G)}
function Of(a){this.H=a.call(this,this.H,this.F)}function Pf(a){this.J=a.call(this,this.J,this.H)}function Qf(a){this.J=a.call(this,this.J,this.J)}function Rf(a){this.J=a.call(this,this.J,this.K)}function Sf(a){this.J=a.call(this,this.J,this.C)}function Tf(a){this.J=a.call(this,this.J,this.X)}function Uf(a){this.J=a.call(this,this.J,this.I)}function Vf(a){this.J=a.call(this,this.J,this.G)}function Wf(a){this.J=a.call(this,this.J,this.F)}function Xf(a){this.K=a.call(this,this.K,this.H)}
function Yf(a){this.K=a.call(this,this.K,this.J)}function Zf(a){this.K=a.call(this,this.K,this.K)}function $f(a){this.K=a.call(this,this.K,this.C)}function ag(a){this.K=a.call(this,this.K,this.X)}function bg(a){this.K=a.call(this,this.K,this.I)}function cg(a){this.K=a.call(this,this.K,this.G)}function dg(a){this.K=a.call(this,this.K,this.F)}function eg(a){this.C=a.call(this,this.C,this.H)}function fg(a){this.C=a.call(this,this.C,this.J)}function gg(a){this.C=a.call(this,this.C,this.K)}
function hg(a){this.C=a.call(this,this.C,this.C)}function ig(a){this.C=a.call(this,this.C,this.X)}function jg(a){this.C=a.call(this,this.C,this.I)}function kg(a){this.C=a.call(this,this.C,this.G)}function lg(a){this.C=a.call(this,this.C,this.F)}function mg(a){this.X=a.call(this,this.X,this.H)}function ng(a){this.X=a.call(this,this.X,this.J)}function og(a){this.X=a.call(this,this.X,this.K)}function pg(a){this.X=a.call(this,this.X,this.C)}function qg(a){this.X=a.call(this,this.X,this.X)}
function rg(a){this.X=a.call(this,this.X,this.I)}function sg(a){this.X=a.call(this,this.X,this.G)}function tg(a){this.X=a.call(this,this.X,this.F)}function ug(a){this.I=a.call(this,this.I,this.H)}function vg(a){this.I=a.call(this,this.I,this.J)}function wg(a){this.I=a.call(this,this.I,this.K)}function xg(a){this.I=a.call(this,this.I,this.C)}function yg(a){this.I=a.call(this,this.I,this.X)}function zg(a){this.I=a.call(this,this.I,this.I)}function Ag(a){this.I=a.call(this,this.I,this.G)}
function Bg(a){this.I=a.call(this,this.I,this.F)}function Cg(a){this.G=a.call(this,this.G,this.H)}function Dg(a){this.G=a.call(this,this.G,this.J)}function Eg(a){this.G=a.call(this,this.G,this.K)}function Fg(a){this.G=a.call(this,this.G,this.C)}function Gg(a){this.G=a.call(this,this.G,this.X)}function Hg(a){this.G=a.call(this,this.G,this.I)}function Ig(a){this.G=a.call(this,this.G,this.G)}function Jg(a){this.G=a.call(this,this.G,this.F)}function Kg(a){this.F=a.call(this,this.F,this.H)}
function Lg(a){this.F=a.call(this,this.F,this.J)}function Mg(a){this.F=a.call(this,this.F,this.K)}function Ng(a){this.F=a.call(this,this.F,this.C)}function Og(a){this.F=a.call(this,this.F,this.X)}function Pg(a){this.F=a.call(this,this.F,this.I)}function Qg(a){this.F=a.call(this,this.F,this.G)}function Rg(a){this.F=a.call(this,this.F,this.F)}
var Sg=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.aa},
0,0,1,1,0,1,0,0,1];function Ab(a,b,c,d){this.la=a;this.Sa=a.Sa;this.id=b;this.ih=c||"";this.Ja=this.ya=0;this.Oc=65535;this.ib=0;this.sd=-4;this.kc=this.Ya=0;this.Aj=this.id==Bb?Array(32):[];this.Nh=null;this.Jg=!1;Db(this,d)}var Bb=1;function Eb(a){this.ya=a;return this.Ja=a<<4}function Fb(a,b){var c,d,e=this.la;a&4?(c=e.Rd.Ja,d=c+e.Rd.Oc):(c=e.Hc,d=e.Ee);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Gb(this,c,a,b);b||C.call(e,13,a)}return-4}
function Hb(a){var b=this.la;a=b.Ic+(a<<2);b.ta=D(b,a);this.ya=D(b,a+2);b.Ca&=-769;return this.Ja=this.ya<<4}function Ib(a){var b=this.la;a<<=3;var c=b.Ic+a;if(c+7<=b.Fe)return Gb(this,c,a);C.call(b,13,a|3,!0);return-4}function Jb(a){return this.Ja+a}function Kb(a){return this.Ja+a}function Lb(a,b,c){return a+b<=this.Oc?this.Ja+a:Mb.call(this,0,0,c)}function Nb(a,b,c){return a+b>this.Oc?this.Ja+a:Mb.call(this,0,0,c)}function Mb(a,b,c){c||C.call(this.la,13,0);return-4}
function Ob(a,b,c){return a+b<=this.Oc?this.Ja+a:Pb.call(this,0,0,c)}function Qb(a,b,c){return a+b>this.Oc?this.Ja+a:Pb.call(this,0,0,c)}function Pb(a,b,c){c||C.call(this.la,13,0);return-4}
function Rb(a,b){var c=this.la,d=c.hb.Ja,e=this.Ya,f=c.hb.ya;if(!b){if(768!=c.hb.type)return C.call(c,10,a,!0),!1;F(c,c.hb.sd+4,c.hb.ib&-769|256)}if(-4==c.hb.load(a))return!1;var h=c.hb.Ja;if(b){if(768==c.hb.type)return C.call(c,13,a,!0),!1;F(c,c.hb.sd+4,c.hb.ib|=768);c.hb.type=768}F(c,d+14,c.ta);F(c,d+16,Sb(c));F(c,d+18,c.H);F(c,d+20,c.J);F(c,d+22,c.K);F(c,d+24,c.C);F(c,d+26,c.X);F(c,d+28,c.I);F(c,d+30,c.G);F(c,d+32,c.F);F(c,d+34,c.Qa.ya);F(c,d+36,c.xa.ya);F(c,d+38,c.qb.ya);F(c,d+40,c.vb.ya);var d=
38,g=26;Ub(c,D(c,h+16)|(b?16384:0));c.H=D(c,h+18);c.J=D(c,h+20);c.K=D(c,h+22);c.C=D(c,h+24);c.I=D(c,h+28);c.G=D(c,h+30);c.F=D(c,h+32);c.Qa.load(D(c,h+34));c.vb.load(D(c,h+40));Vb(c,D(c,h+14),D(c,h+36));this.Ya<e&&(g=(this.Ya<<2)+2,d=g+2);c.X=D(c,h+g);c.qb.load(D(c,h+d));c.Rd.load(D(c,h+42));b&&F(c,h+0,f);c.gc|=8;return!0}function Wb(a,b,c){var d=a.la,e=D(d,b+2),f=D(d,b+0)|(e&255)<<16,d=D(d,b+4);a.ya=c;a.Ja=f;a.Oc=d;a.ib=e&65280;a.sd=b;Db(a)}
function Gb(a,b,c,d){for(var e=a.la,f=D(e,b+0),h=D(e,b+4),g=h&7936,m=D(e,b+2)|(h&255)<<16,n=c&65528;;){var r;if(a.id==Bb){a.Jg=!1;var n=a.Nh,t,u,x=c&3,E=(h&24576)>>13;if(6144<=g){x=c&3;if(x>a.Ya){if(!1!==n&&!(E==a.Ya||h&1024&&E<=a.Ya)){m=-4;break}t=e.Ha();e.qb.load(e.Ha());e.X=t;a.Jg=!0}t=!1}else if(1024==g)t=!0,u=-1,r=c,x<a.Ya&&(x=a.Ya);else if(1536==g)t=!0,u=-17153,r=c|1;else if(1792==g)t=!0,u=-16641,r=c|1;else if(1280==g){if(!Rb.call(a,m&65535,!0)){m=-4;break}return a.Ja}if(t){b=m&65535;if(x<=
E){d=a.Ya;if(-4==a.load(b,!0)){m=-4;break}e.ta=f;if(a.Ya<d){if(!0!==n){m=-4;break}t=e.X;f=0;for(h&=31;h--;)a.Aj[f++]=D(e,e.qb.yc(t,1)),t+=2;h=e.hb.Ja;d=(a.Ya<<2)+2;n=d+2;r=e.X;b=e.qb.ya;e.X=D(e,h+d);e.qb.load(D(e,h+n));G(e,b);for(G(e,r);f;)G(e,a.Aj[--f]);a.Jg=!0}e.Ca&=u;return a.Ja}d||C.call(e,13,r,!0);m=-4;break}else if(!1!==t){d||C.call(e,13,c,!0);m=-4;break}}else if(2==a.id){if(n&&(4096>g||2048==(g&2560))){d||C.call(e,13,c,!!h);m=-4;break}}else if(3==a.id){if(!n||4096>g||2048==(g&2560)){d||C.call(e,
13,c,!0);m=-4;break}}else if(4==a.id){if(!n||256!=g&&768!=g){d||C.call(e,10,c,!0);m=-4;break}}else if(6==a.id&&!(h&4096)&&768<g){m=-4;break}a.ya=c;a.Ja=m;a.Oc=f;a.ib=h;a.type=g;a.sd=b;Db(a);break}return m}Ab.prototype.save=function(){return[this.ya,this.Ja,this.Oc,this.ib,this.id,this.ih,this.Ya,this.kc,this.sd]};Ab.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ya=a[0],this.Ja=a[1],this.Oc=a[2],this.ib=a[3],this.id=a[4],this.ih=a[5],this.Ya=a[6],this.kc=a[7],this.sd=a[8])};
function Db(a,b){void 0===b&&(b=!!(a.la.gc&1));if(b){a.load=Fb;a.ck=Ib;a.yc=Lb;a.Vb=Ob;if(a.ib&4096){6144==(a.ib&6656)&&(a.Vb=Mb);if(a.ib&2048||!(a.ib&512))a.Vb=Pb;1024==(a.ib&3072)&&(a.yc==Lb&&(a.yc=Nb),a.Vb==Ob&&(a.Vb=Qb))}a.Ya=a.ya&3;a.kc=(a.ib&24576)>>13}else a.load=Eb,a.ck=Hb,a.yc=Jb,a.Vb=Kb,a.Oc=65535,a.Ya=a.kc=0,a.sd=-4}
function Xb(a){this.Ga=a.model||8088;var b=0;switch(this.Ga){default:case 8088:b=4772727;break;case 80286:b=6E6}kb.call(this,a,b);this.tj=61442;this.bg=1792;this.ag=4;this.$e=255;this.B=80286<=this.Ga?Yb:Zb;this.Ra=$b.slice();this.Fl=ac.slice();this.Gl=bc.slice();this.wj=cc;80186<=this.Ga&&(this.$e=31,this.Ra[15]=H,this.Ra[96]=dc,this.Ra[97]=ec,this.Ra[98]=fc,this.Ra[99]=H,this.Ra[100]=H,this.Ra[101]=H,this.Ra[102]=H,this.Ra[103]=H,this.Ra[104]=gc,this.Ra[105]=hc,this.Ra[106]=ic,this.Ra[107]=jc,this.Ra[108]=
kc,this.Ra[109]=lc,this.Ra[110]=mc,this.Ra[111]=nc,this.Ra[192]=oc,this.Ra[193]=pc,this.Ra[200]=qc,this.Ra[201]=rc,this.Ra[241]=sc,this.Fl[7]=tc,this.Gl[7]=tc,80286<=this.Ga&&(this.tj=2,this.bg|=28672,this.ag=0,this.Ra[15]=uc,this.Ra[99]=vc,this.Ra[84]=wc));this.dg=[];this.vj=[];this.Uc=this.Ch=0;this.ma.uf=this.ma.Sl=!1;this.Da=[];this.Xd=this.Ub=this.sb=this.be=0;this.T=this.Yl;this.U=this.Zl;this.O=this.an;this.P=this.bn;this.R=this.xo;this.S=this.yo;xc(this)}v(kb,Xb);
var Zb={aj:4,aa:5,sa:6,fa:7,ga:8,Q:9,V:11,W:12,pe:4,jk:60,kk:83,Ob:3,tb:9,dc:16,Wg:1,ok:19,qk:28,sk:16,rk:21,pk:37,mk:2,ui:9,nk:5,lk:33,wi:10,vi:8,Jf:3,If:15,Gk:51,Hk:1,Ik:2,Jk:4,Fk:32,xi:15,Lk:15,Pb:16,Qb:4,Nk:11,Mk:18,Kk:24,Cb:4,Ok:2,yi:16,Pk:17,Di:18,Qk:19,Ci:5,Ei:6,Vk:2,Uk:8,Sk:9,Tk:10,Rk:10,Fi:10,Gi:10,uk:80,wk:144,tk:86,vk:154,yk:101,Ak:165,xk:107,zk:171,Xk:70,Zk:113,Wk:76,Yk:124,Ck:80,Ek:128,Bk:86,Dk:134,Lf:3,Kf:16,Li:10,Ki:8,$k:51,ec:8,al:17,bl:36,lc:11,cl:16,Mf:10,Ld:2,ri:18,si:7,ti:15,zi:12,
Ai:7,Bi:11,Hi:18,Ii:7,Ji:15,Mi:15,Ni:7,Oi:13,Si:11,Ti:7,Ui:8,dl:8,gl:12,el:18,fl:17,hl:15,Qi:8,Pi:20,Ri:2,Xi:3,Nf:9,Wi:5,Vi:11,Zi:4,Yi:17,il:11},Yb={aj:0,aa:0,sa:0,fa:0,ga:0,Q:0,V:1,W:1,pe:3,jk:14,kk:16,Ob:2,tb:7,dc:7,Wg:0,ok:7,qk:13,sk:7,rk:11,pk:16,mk:3,ui:6,nk:2,lk:13,wi:5,vi:5,Jf:2,If:7,Gk:23,Hk:0,Ik:1,Jk:3,Fk:17,xi:7,Lk:11,Pb:7,Qb:3,Nk:7,Mk:11,Kk:15,Cb:2,Ok:3,yi:7,Pk:8,Di:8,Qk:8,Ci:4,Ei:4,Vk:2,Uk:3,Sk:5,Tk:2,Rk:3,Fi:5,Gi:3,uk:14,wk:22,tk:17,vk:25,yk:17,Ak:25,xk:20,zk:28,Xk:13,Zk:21,Wk:16,Yk:24,
Ck:13,Ek:21,Bk:16,Dk:24,Lf:2,Kf:7,Li:5,Ki:5,$k:19,ec:5,al:5,bl:17,lc:3,cl:5,Mf:3,Ld:0,ri:8,si:5,ti:9,zi:5,Ai:5,Bi:4,Hi:5,Ii:5,Ji:4,Mi:7,Ni:5,Oi:8,Si:3,Ti:4,Ui:3,dl:11,gl:11,el:15,fl:15,hl:7,Qi:5,Pi:8,Ri:0,Xi:2,Nf:6,Wi:3,Vi:6,Zi:3,Yi:5,il:5};k=Xb.prototype;k.di=function(a,b,c,d,e){this.Da=a;this.Xd=b;this.Ub=c;this.sb=d;this.be=e};k.reset=function(){this.ma.Fb&&qb(this);xc(this);nb(this);this.ma.Sc=!1};
function xc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.X=0;a.I=0;a.G=0;a.F=0;a.gc=65520;a.Ic=0;a.Fe=1023;a.Xe=0;a.Vg=-1;a.xa=new Ab(a,Bb,"CS");a.vb=new Ab(a,2,"DS");a.Qa=new Ab(a,2,"ES");a.qb=new Ab(a,3,"SS");a.ul=new Ab(a,0,"NULL");Vb(a,0,65535);80286<=a.Ga&&(a.Hc=0,a.Ee=65535,a.Rd=new Ab(a,5,"LDT",!0),a.hb=new Ab(a,4,"TSS",!0),a.Gb=new Ab(a,6,"VER",!0),Vb(a,65520,61440),a.xa.Ja=16711680);Ub(a,0);yc(a);a.lb=0;a.Db=a.Uf=-1;a.og=0;a.ha=a.Ia=-4;a.D=a.vb;a.N=a.qb;a.Z=a.va=0}
k.Xj=function(){var a=this.H+this.C+this.J+this.K+this.X+this.I+this.G+this.F|0;return a=a+this.ta+this.xa.ya+this.vb.ya+this.qb.ya+this.Qa.ya+Sb(this)|0};function zc(a,b,c,d){void 0!==d&&(void 0===a.dg[b]&&(a.dg[b]=[]),a.dg[b].push([c,d]))}function Ac(a,b){var c=a.vj[b];null!=c&&(c(--a.Ch),delete a.vj[b])}function yc(a,b){void 0===b&&(b=!!(a.gc&1));b||a.cc("returning to real-mode");a.wj=b?Dc:cc;Db(a.xa,b);Db(a.vb,b);Db(a.qb,b);Db(a.Qa,b)}
k.save=function(){var a=new I(this);a.set(0,[this.H,this.C,this.J,this.K,this.X,this.I,this.G,this.F,this.Xe]);a.set(1,[this.ta,this.xa.save(),this.vb.save(),this.qb.save(),this.Qa.save(),null!=this.Hc?[this.gc,this.Hc,this.Ee,this.Ic,this.Fe,this.Rd.save(),this.hb.save(),this.Xe]:null,Sb(this)]);a.set(2,[this.D.ih,this.N.ih,this.Z,this.va,this.lb,this.ha,this.Ia]);a.set(3,[0,this.re,this.ba.Id]);a.set(4,eb(this.qa));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.X=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Xe=b[8]||0;b=a[1];this.xa.restore(b[1]);this.vb.restore(b[2]);this.qb.restore(b[3]);this.Qa.restore(b[4]);var c=b[5];c&&c.length&&(this.gc=c[0],this.Hc=c[1],this.Ee=c[2],this.Ic=c[3],this.Fe=c[4],this.Rd.restore(c[5]),this.hb.restore(c[6]),this.Xe=c[7],yc(this));Ub(this,b[6]);J(this,b[0]);b=a[2];this.D=Ec(this,b[0]);this.N=Ec(this,b[1]);this.Z=b[2];this.va=b[3];this.lb=
b[4];this.ha=b[5];this.Ia=b[6];b=a[3];this.re=b[1];sb(this,b[2]);a:{b=this.qa;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.Gj){for(var f=0,h=Array(b.Gj),g=0;g<e.length-1;)for(var m=e[g++],n=e[g++];m--;)h[f++]=n;e=h}f=b.Da[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Va(b,a[c]);b=!0}return b};
function Ec(a,b){switch(b){case "CS":return a.xa;case "DS":return a.vb;case "SS":return a.qb;case "ES":return a.Qa;case "NULL":return a.ul;default:return[0,b,0,0,""]}}function Fc(a,b){a.Ba=a.xa.load(b)+a.ta;a.Z|=a.ag}function Gc(a,b){a.vb.load(b);a.Z|=a.ag}function Hc(a,b){a.qb.load(b);a.Z|=4}function Ic(a,b){a.Qa.load(b);a.Z|=a.ag}function J(a,b){a.Ba=a.xa.Ja+(a.ta=b&65535)}function Vb(a,b,c,d){a.xa.Nh=d;a.ta=b;b=a.xa.load(c);return-4!=b?(a.Ba=b+a.ta,a.xa.Jg):null}
function Jc(a,b){a.Ba=a.xa.Ja+(a.ta=a.ta+b&65535)}function Kc(a){return a.Y&a.ca?1:0}function Lc(a){return zb[a.ia&255]?4:0}function Mc(a){return(a.ia^a.na)&16?16:0}function Nc(a){return a.Y&a.ca-1?0:64}function Oc(a){return a.ia&a.ca>>1?128:0}function Pc(a){return(a.ia^a.na^a.ia>>1)&a.ca>>1?2048:0}function Qc(a){a.Y&=~a.ca}function Rc(a){a.na=a.ia&16|a.na&-17}function Sc(a){a.Y|=a.ca-1}function Tc(a){a.ia&=~a.ca;a.na=a.ia&32896|a.na&-32897}function Uc(a){a.Y|=a.ca}
function Vc(a){a.na=~(a.ia&16)&16|a.na&-17}function Wc(a){a.Y&=~(a.ca-1)}function Xc(a){Oc(a)||(a.ia^=a.ca>>1|a.ca>>2,a.na^=32896)}function Yc(a){a.ia|=a.ca;a.na=a.ia&32896|a.na&-32897}function Sb(a){return a.Ca&-2262|Kc(a)|Lc(a)|Mc(a)|Nc(a)|Oc(a)|Pc(a)}
function Ub(a,b,c){a.ca=256;a.Y=a.ia=a.na=0;b&1&&Uc(a);b&4||(a.ia|=1);b&16&&(a.na|=16);b&64||Sc(a);b&128&&Xc(a);b&2048&&Yc(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.xa.Ya);c?b=b&-12289|a.Ca&12288:a.Xe=(b&12288)>>12;c>a.Xe&&(b=b&-513|a.Ca&512);a.Ca=a.Ca&~a.bg|b&a.bg|a.tj;a.Ca&256&&(a.lb|=2,a.Z|=4)}
k.Eb=function(a,b,c){var d=!1;switch(b){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 "V":this.ra[b]=c;d=!0;break;default:d=kb.prototype.Eb.call(this,a,b,c)}return d};function Zc(a,b){return a.Da[(b&a.Xd)>>a.Ub].Cc(b&a.sb)}
function D(a,b){var c=b&a.sb,d=(b&a.Xd)>>a.Ub;a.A-=a.B.aj;return c!=a.sb?a.Da[d].po(c):a.Da[d++].Cc(c)|a.Da[d&a.be].Cc(0)<<8}function $c(a,b,c){a.Da[(b&a.Xd)>>a.Ub].Fc(b&a.sb,c&255)}function F(a,b,c){var d=b&a.sb;b=(b&a.Xd)>>a.Ub;a.A-=a.B.aj;d!=a.sb?a.Da[b].Bo(d,c&65535):(a.Da[b++].Fc(d,c&255),a.Da[b&a.be].Fc(0,c>>8&255))}k.Yl=function(a,b){this.Xf=a;this.ha=a.yc(this.Qf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.Zl=function(a,b){this.Xf=a;this.ha=a.yc(this.Qf=b,1);return this.Z&1?0:D(this,this.ha)};
k.an=function(a,b){this.Xf=a;this.Ia=this.ha=a.yc(this.Qf=b,0);return this.Z&1?0:Zc(this,this.ha)};k.bn=function(a,b){this.Xf=a;this.Ia=this.ha=a.yc(this.Qf=b,1);return this.Z&1?0:D(this,this.ha)};k.xo=function(a){this.Z&2||$c(this,this.Xf.Vb(this.Qf,0),a)};k.yo=function(a){this.Z&2||F(this,this.Xf.Vb(this.Qf,1),a)};k.da=function(){var a=Zc(this,this.Ba);this.Ba=this.xa.Ja+(this.ta=this.ta+1&65535);return a};
k.M=function(){var a=Zc(this,this.Ba)<<24>>24;this.Ba=this.xa.Ja+(this.ta=this.ta+1&65535);return a&65535};k.L=function(){var a=D(this,this.Ba);this.Ba=this.xa.Ja+(this.ta=this.ta+2&65535);return a};k.Ha=function(){var a=this.X;this.X=this.X+2&65535;return D(this,this.qb.yc(a,1))};function G(a,b){var c=a.X=a.X-2&65535;F(a,a.qb.Vb(c,1),b)}
k.Ke=function(a){if(a||!this.ma.Fb||this.ma.Nj)A(this,"AX",this.H),A(this,"BX",this.C),A(this,"CX",this.J),A(this,"DX",this.K),A(this,"SP",this.X),A(this,"BP",this.I),A(this,"SI",this.G),A(this,"DI",this.F),A(this,"CS",this.xa.ya),A(this,"DS",this.vb.ya),A(this,"SS",this.qb.ya),A(this,"ES",this.Qa.ya),A(this,"IP",this.ta),a=Sb(this),A(this,"PS",a),A(this,"C",a&1?1:0,1),A(this,"P",a&4?1:0,1),A(this,"A",a&16?1:0,1),A(this,"Z",a&64?1:0,1),A(this,"S",a&128?1:0,1),A(this,"T",a&256?1:0,1),A(this,"I",a&
512?1:0,1),A(this,"D",a&1024?1:0,1),A(this,"V",a&2048?1:0,1);if(a=this.ra.speed)a.textContent=this.ma.Fb&&this.ba.Gd?this.ba.Gd.toFixed(2)+"Mhz":"Stopped"};
k.wl=function(a){this.ma.uf=!0;this.ma.Sl=!1;this.ma.Vj=!1;this.Uc=this.A=a;this.ka&&!a&&xb(this.ka);a||(this.Z|=4);do{if(a=this.Z&240)this.va|=a;else if(this.Rf=this.Ba,this.ha=this.Ia=-4,this.D=this.vb,this.N=this.qb,this.va=this.Z&256,this.lb){a:{if(!(this.Z&4))if(this.lb&1&&this.Ca&512){if(a=ad(this.ka),-1<=a&&(this.lb&=-2,0<=a)){this.lb&=-5;bd.call(this,a,null,11);break a}}else if(this.lb&2){this.lb&=-3;bd.call(this,1,null,11);break a}if(a=this.lb&8){a=this.ka;for(var b=!1,c=0;c<a.$a;c++)for(var d=
a.$a[c],e=0;e<d.xb.length;e++){var f=d.xb[e];f.kd||(cd(a,f),f.kd||(b=!0))}a=!b}a&&(this.lb&=-9)}if(this.lb&4){this.Z=this.A=0;break}}this.Z=0;this.Ra[this.da()].call(this)}while(0<this.A);return this.ma.uf?this.Uc-this.A:void 0===this.ma.uf?0:-1};wa(function(){for(var a=y(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Xb(d);Ma(d,c)}});function dd(a,b){this.na=a^b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=a+b)&255}
function ed(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a|b)&255}function fd(a,b){this.na=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return this.Y&255}function gd(a,b){this.na=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return this.Y&255}
function hd(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a&b)&255}function id(a,b){this.na=a^b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=a-b)&255}function jd(a,b){this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a^b)&255}
function kd(a,b){this.na=a^b;this.ca=256;this.Y=this.ia=a-b;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.ui:this.B.tb;this.Z|=2;return a}function ld(a,b){this.na=a^b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=a+b)&65535}function md(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a|b)&65535}
function nd(a,b){this.na=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return this.Y&65535}function od(a,b){this.na=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return this.Y&65535}function pd(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a&b)&65535}
function qd(a,b){this.na=a^b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=a-b)&65535}function rd(a,b){this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.tb:this.B.dc;return(this.Y=this.ia=this.na=a^b)&65535}function sd(a,b){this.na=a^b;this.ca=65536;this.Y=this.ia=a-b;this.A-=0>this.Ia?0>this.ha?this.B.Ob:this.B.ui:this.B.tb;this.Z|=2;return a}function td(a,b){this.Y=this.Y&this.ca-1|(a&b?this.ca:0);(a^a>>1)&b>>1?Yc(this):Tc(this)}
function ud(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;td.call(this,d,256)}return c}function vd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;td.call(this,d,65536)}return c}function wd(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);td.call(this,d,256)}return c}function zd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);td.call(this,d,65536)}return c}
function Ad(a,b){var c=a;if(b){var d;(d=(b&this.$e)%9)?(d=a<<d|(this.Y&this.ca?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.Y&this.ca?1:0)<<8;td.call(this,d,256)}return c}function Bd(a,b){var c=a;if(b){var d;(d=(b&this.$e)%17)?(d=a<<d|(this.Y&this.ca?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.Y&this.ca?1:0)<<16;td.call(this,d,65536)}return c}function Cd(a,b){var c=a;b&&(c=(b&this.$e)%9,c=a>>c|(this.Y&this.ca?1:0)<<8-c|a<<9-c,td.call(this,c,256),c&=255);return c}
function Dd(a,b){var c=a;b&&(c=(b&this.$e)%17,c=a>>c|(this.Y&this.ca?1:0)<<16-c|a<<17-c,td.call(this,c,65536),c&=65535);return c}function Ed(a,b){var c=a;b&&(c=8<b?this.Y=this.ia=0:(this.Y=this.ia=a<<b)&255,this.na=0,this.ca=256);return c}function Fd(a,b){var c=a;b&&(c=16<b?this.Y=this.ia=0:(this.Y=this.ia=a<<b)&65535,this.na=0,this.ca=65536);return c}
function Gd(a,b){if(b){var c=8<b?0:a>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.na=a^this.Y;this.ca=256;a=this.Y}return a&255}function Hd(a,b){if(b){var c=16<b?0:a>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.na=a^this.Y;this.ca=65536;a=this.Y}return a&65535}function Id(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.na=a^this.Y;this.ca=256;a=this.Y}return a&255}
function Jd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.na=a^this.Y;this.ca=65536;a=this.Y}return a&65535}function Kd(){this.A-=0>this.ha?2:this.B.hl;return 1}function Ld(){var a=this.J&this.$e;this.A-=(0>this.ha?this.B.Qi:this.B.Pi)+(a<<this.B.Ri);return a}function Md(){var a=this.da();this.A-=(0>this.ha?this.B.Qi:this.B.Pi)+(a<<this.B.Ri);return a}function Nd(){return null}function Od(a){C.call(this,13,0);return a}
function tc(a){H.call(this);return a}function K(a){L.call(this);return a}
var Pd=[dd,ed,fd,gd,hd,id,jd,kd],Qd=[ld,md,nd,od,pd,qd,rd,sd],Rd=[function(a,b){this.A-=0>this.Ia?this.B.ec:this.B.al;return b},Od,Od,Od,Od,Od,Od,Od],Sd=[function(a,b){this.A-=0>this.Ia?this.B.Tk:this.B.Rk;return b},K,K,K,K,K,K,K],Td=[ud,wd,Ad,Cd,Ed,Gd,K,Id],Ud=[vd,zd,Bd,Dd,Fd,Hd,K,Jd],Wd=[function(a,b){b=this.da();this.Y=this.ia=this.na=a&b;this.ca=256;this.A-=0>this.ha?this.B.Wi:this.B.Vi;this.Z|=2;return a},K,function(a){this.A-=0>this.ha?this.B.Lf:this.B.Kf;return a^255},function(a,b){b=0;this.na=
a^b;this.ca=256;this.A-=0>this.ha?this.B.Lf:this.B.Kf;return(this.Y=this.ia=b-a)&255},function(a){this.H=this.Db=(this.Y=(this.H&255)*a)&65535;this.na=this.ia=this.Y;this.ca=256;this.H&65280?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Xk:this.B.Wk;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Db=b&65535;this.Y=this.na=this.ia=b;this.ca=256;127<b||-128>b?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Ck:this.B.Bk;this.Z|=2;return a},
function(a){if(!a)return Vd.call(this),a;var b=this.H/a;if(255<b)return Vd.call(this),a;this.Db=this.H=b&255|(this.H%a&255)<<8;this.ia=this.na=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.uk:this.B.tk;this.Z|=2;return a},function(a){if(!a)return Vd.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Vd.call(this),a;this.Db=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ia=this.na=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.yk:this.B.xk;this.Z|=2;return a}],
Xd=[function(a,b){b=this.L();this.Y=this.ia=this.na=a&b;this.ca=65536;this.A-=0>this.ha?this.B.Wi:this.B.Vi;this.Z|=2;return a},K,function(a){this.A-=0>this.ha?this.B.Lf:this.B.Kf;return a^65535},function(a,b){b=0;this.na=a^b;this.ca=65536;this.A-=0>this.ha?this.B.Lf:this.B.Kf;return(this.Y=this.ia=b-a)&65535},function(a){this.Db=this.H=(this.Y=this.H*a)&65535;this.Uf=this.K=this.Y>>16&65535;this.na=this.ia=this.Y;this.ca=65536;this.K?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Zk:
this.B.Yk;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Db=b&65535;this.K=this.Uf=b>>16&65535;this.Y=this.na=this.ia=b;this.ca=65536;32767<b||-32768>b?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Ek:this.B.Dk;this.Z|=2;return a},function(a,b){if(!a)return Vd.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Vd.call(this),a;this.Db=this.H=c&65535;this.Uf=this.K=b%a&65535;this.ia=this.na=this.Y=c|65536;this.ca=65536;this.A-=
0>this.ha?this.B.wk:this.B.vk;this.Z|=2;return a},function(a,b){if(!a)return Vd.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Vd.call(this),a;this.Db=this.H=d&65535;this.Uf=this.K=b%c&65535;this.ia=this.na=this.Y=d|65536;this.ca=65536;this.A-=0>this.ha?this.B.Ak:this.B.zk;this.Z|=2;return a}],ac=[function(a){this.na=a;a=(this.ia=a+1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Jf:this.B.If;return a},function(a){this.na=
a;a=(this.ia=a-1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Jf:this.B.If;return a},K,K,K,K,K,K],bc=[function(a){this.na=a;a=(this.ia=a+1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Jf:this.B.If;return a},function(a){this.na=a;a=(this.ia=a-1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Jf:this.B.If;return a},function(a){G(this,this.ta);J(this,a);this.A-=0>this.ha?this.B.sk:this.B.rk;this.Z|=2;return a},
function(a){if(0>this.ha)return K.call(this,a);Yd.call(this,a,D(this,this.ha+2));this.A-=this.B.pk;this.Z|=2;return a},function(a){J(this,a);this.A-=0>this.ha?this.B.Nk:this.B.Mk;this.Z|=2;return a},function(a){if(0>this.ha)return K.call(this,a);Vb(this,a,D(this,this.ha+2));this.A-=this.B.Kk;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Ga&&(b=a));G(this,b);this.A-=0>this.ha?this.B.lc:this.B.cl;this.Z|=2;return a},Od],Zd=[ud,wd,Ad,Cd,Ed,Gd,K,Id],$d=[vd,zd,Bd,Dd,Fd,Hd,
K,Jd];function ae(a,b){this.A-=0>this.Ia?0>this.ha?this.B.Vk:this.B.Uk:this.B.Sk;return b}function be(){return ae.call(this,0,this.Db)}function ce(a,b){this.Y=this.ia=this.na=a&b;this.ca=256;this.A-=0>this.Ia?0>this.ha?this.B.Xi:this.B.Nf:this.B.Nf;this.Z|=2;return a}function de(a,b){this.Y=this.ia=this.na=a&b;this.ca=65536;this.A-=0>this.Ia?0>this.ha?this.B.Xi:this.B.Nf:this.B.Nf;this.Z|=2;return a}
function ee(a,b){var c=(b<<16>>16)*(this.da()<<24>>24);this.Y=this.na=this.ia=c;this.ca=256;32767<c||-32768>c?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?21:24;return c&65535}function fe(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Y=this.na=this.ia=c;this.ca=65536;32767<c||-32768>c?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?21:24;return c&65535}function ge(a){return a}function he(a){if(0>this.ha)return L.call(this),a;this.A-=this.B.Ok;return this.ha}
function ie(a,b){if(0>this.ha)return L.call(this),a;Gc(this,D(this,this.ha+2));this.A-=this.B.yi;return b}function je(a,b){if(0>this.ha)return L.call(this),a;Ic(this,D(this,this.ha+2));this.A-=this.B.yi;return b}function ke(a){if(0>this.ha)return H.call(this),a;var b=a<<16>>16,c=D(this,this.ha)<<16>>16,d=D(this,this.ha+2)<<16>>16;this.A-=this.B.lk;if(b<c||b>d)J(this,this.Rf-this.xa.Ja),bd.call(this,5,null,0);this.Z|=2;return a}
function le(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Wc(this),a;Sc(this);return a}function me(a,b){this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(b,!0)&&this.Gb.kc>=this.xa.Ya&&this.Gb.kc>=(b&3))return Wc(this),this.Gb.ib&65280;Sc(this);return a}function ne(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&-4!=this.Gb.load(b,!0)&&(7168==(this.Gb.ib&7168)||this.Gb.kc>=this.xa.Ya)&&this.Gb.kc>=(b&3))return Wc(this),this.Gb.Oc;Sc(this);return a}
function oe(a,b){if(0>this.ha){switch(this.og&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Zi}else this.Ia=this.ha,this.R(a),this.A-=this.B.Yi;return b}
function pe(a,b){if(0>this.ha){switch(this.og&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.X=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Zi}else this.Ia=this.ha,this.S(a),this.A-=this.B.Yi;return b}function qe(a){a|=this.gc&1;this.gc=this.gc&65520|a&-65521;this.gc&1&&yc(this,!0)}function Yd(a,b){var c=this.xa.ya,d=this.ta;null!=Vb(this,a,b,!0)&&(G(this,c),G(this,d))}
function re(a){var b=this.Ha(),c=this.Ha();a&&(this.X=this.X+a&65535);Vb(this,b,c,!1)&&(a&&(this.X=this.X+a&65535),this.vb.ya&65528&&this.vb.kc<this.xa.Ya&&7168!=(this.vb.ib&7168)&&this.vb.load(0),this.Qa.ya&65528&&this.Qa.kc<this.xa.Ya&&7168!=(this.Qa.ib&7168)&&this.Qa.load(0));2==a&&this.Ch&&Ac(this,this.Ba)}
function bd(a,b,c){this.A-=this.B.Gk+c;this.xa.Nh=!0;c=Sb(this);var d=this.xa.ya,e=this.ta;a=this.xa.ck(a);-4!=a&&(this.Ba=a+this.ta,G(this,c),G(this,d),G(this,e),null!=b&&G(this,b),this.Vg=-1)}function Vd(){J(this,this.Rf-this.xa.Ja);bd.call(this,0,null,2)}
function C(a,b,c){if(this.ma.uf){var d=!1;if(80186<=this.Ga)if(0>this.Vg)J(this,this.Rf-this.xa.Ja),d=!0;else if(8!=this.Vg)b=0,a=8,d=!0;else{se.call(this,-1,0,c);xc(this);return}se.call(this,a,b,c)&&(d=!1);d&&bd.call(this,this.Vg=a,b,0);this.Z&=-4}else this.cc("Fault "+p(a,2)+" blocked by Debugger",te),J(this,this.Rf-this.xa.Ja)}
function se(a,b,c){var d=ue,e=ab(this.qa,this.Ba);204==e&&(c=!1,d|=ve);983040<=this.Ba&&1048575>=this.Ba&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+p(a,2)+(null!=b?" ("+p(b,4)+")":"")+" on opcode 0x"+p(e,2)+" at "+ca(this.ta,this.xa.ya)+" (%"+p(this.Ba,6)+")",b=this.ma.Fb,this.cc(a,d)?c&&(c=b,qb(this.Sa)):(this.Aa(a),qb(this)));return c}function we(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function xe(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}
function ye(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function ze(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function Ae(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function Be(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function Ce(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function De(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}
function Ee(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Fe(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Ge(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function He(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function Ie(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function Je(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}
function Ke(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Le(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Me(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function Ne(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Oe(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function Pe(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}
function Qe(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function Re(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function Se(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}function Te(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}function Ue(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function Ve(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}
function We(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function Xe(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function Ye(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a}function Ze(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}function $e(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function af(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}
function bf(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function cf(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function df(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8}function ef(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}function ff(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function gf(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}
function hf(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function jf(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function kf(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8}function lf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function mf(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function nf(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}
function of(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function pf(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function qf(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8}function rf(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}function sf(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function tf(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}
function uf(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function vf(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function wf(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8}function xf(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}function yf(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function zf(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}
function Af(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function Bf(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function Cf(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8}function Df(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}function Ef(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function Ff(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}
function Gf(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function Hf(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function If(a){this.H=a.call(this,this.H,this.H)}function Jf(a){this.H=a.call(this,this.H,this.J)}function Kf(a){this.H=a.call(this,this.H,this.K)}function Lf(a){this.H=a.call(this,this.H,this.C)}function Mf(a){this.H=a.call(this,this.H,this.X)}function Nf(a){this.H=a.call(this,this.H,this.I)}function Of(a){this.H=a.call(this,this.H,this.G)}
function Pf(a){this.H=a.call(this,this.H,this.F)}function Qf(a){this.J=a.call(this,this.J,this.H)}function Rf(a){this.J=a.call(this,this.J,this.J)}function Sf(a){this.J=a.call(this,this.J,this.K)}function Tf(a){this.J=a.call(this,this.J,this.C)}function Uf(a){this.J=a.call(this,this.J,this.X)}function Vf(a){this.J=a.call(this,this.J,this.I)}function Wf(a){this.J=a.call(this,this.J,this.G)}function Xf(a){this.J=a.call(this,this.J,this.F)}function Yf(a){this.K=a.call(this,this.K,this.H)}
function Zf(a){this.K=a.call(this,this.K,this.J)}function $f(a){this.K=a.call(this,this.K,this.K)}function ag(a){this.K=a.call(this,this.K,this.C)}function bg(a){this.K=a.call(this,this.K,this.X)}function cg(a){this.K=a.call(this,this.K,this.I)}function dg(a){this.K=a.call(this,this.K,this.G)}function eg(a){this.K=a.call(this,this.K,this.F)}function fg(a){this.C=a.call(this,this.C,this.H)}function gg(a){this.C=a.call(this,this.C,this.J)}function hg(a){this.C=a.call(this,this.C,this.K)}
function ig(a){this.C=a.call(this,this.C,this.C)}function jg(a){this.C=a.call(this,this.C,this.X)}function kg(a){this.C=a.call(this,this.C,this.I)}function lg(a){this.C=a.call(this,this.C,this.G)}function mg(a){this.C=a.call(this,this.C,this.F)}function ng(a){this.X=a.call(this,this.X,this.H)}function og(a){this.X=a.call(this,this.X,this.J)}function pg(a){this.X=a.call(this,this.X,this.K)}function qg(a){this.X=a.call(this,this.X,this.C)}function rg(a){this.X=a.call(this,this.X,this.X)}
function sg(a){this.X=a.call(this,this.X,this.I)}function tg(a){this.X=a.call(this,this.X,this.G)}function ug(a){this.X=a.call(this,this.X,this.F)}function vg(a){this.I=a.call(this,this.I,this.H)}function wg(a){this.I=a.call(this,this.I,this.J)}function xg(a){this.I=a.call(this,this.I,this.K)}function yg(a){this.I=a.call(this,this.I,this.C)}function zg(a){this.I=a.call(this,this.I,this.X)}function Ag(a){this.I=a.call(this,this.I,this.I)}function Bg(a){this.I=a.call(this,this.I,this.G)}
function Cg(a){this.I=a.call(this,this.I,this.F)}function Dg(a){this.G=a.call(this,this.G,this.H)}function Eg(a){this.G=a.call(this,this.G,this.J)}function Fg(a){this.G=a.call(this,this.G,this.K)}function Gg(a){this.G=a.call(this,this.G,this.C)}function Hg(a){this.G=a.call(this,this.G,this.X)}function Ig(a){this.G=a.call(this,this.G,this.I)}function Jg(a){this.G=a.call(this,this.G,this.G)}function Kg(a){this.G=a.call(this,this.G,this.F)}function Lg(a){this.F=a.call(this,this.F,this.H)}
function Mg(a){this.F=a.call(this,this.F,this.J)}function Ng(a){this.F=a.call(this,this.F,this.K)}function Og(a){this.F=a.call(this,this.F,this.C)}function Pg(a){this.F=a.call(this,this.F,this.X)}function Qg(a){this.F=a.call(this,this.F,this.I)}function Rg(a){this.F=a.call(this,this.F,this.G)}function Sg(a){this.F=a.call(this,this.F,this.F)}
var Tg=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.aa},
function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.sa},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,
this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.sa},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a);
this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-=
@ -152,8 +152,8 @@ this.C+this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.V},function(a)
a.call(this,this.O(this.D,this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},
function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K>>8);this.R(a);
this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+
this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},ve,De,Le,Te,af,jf,rf,zf,we,Ee,Me,Ue,bf,
kf,sf,Af,xe,Fe,Ne,Ve,cf,lf,tf,Bf,ye,Ge,Oe,We,df,mf,uf,Cf,ze,He,Pe,Xe,ef,nf,vf,Df,Ae,Ie,Qe,Ye,ff,of,wf,Ef,Be,Je,Re,Ze,gf,pf,xf,Ff,Ce,Ke,Se,$e,hf,qf,yf,Gf],Tg=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&
this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},we,Ee,Me,Ue,bf,kf,sf,Af,xe,Fe,Ne,Ve,cf,
lf,tf,Bf,ye,Ge,Oe,We,df,mf,uf,Cf,ze,He,Pe,Xe,ef,nf,vf,Df,Ae,Ie,Qe,Ye,ff,of,wf,Ef,Be,Je,Re,Ze,gf,pf,xf,Ff,Ce,Ke,Se,$e,hf,qf,yf,Gf,De,Le,Te,af,jf,rf,zf,Hf],Ug=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&
65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.sa},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,
this.P(this.D,this.C+this.F&65535),this.J);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a);
this.A-=this.B.sa},function(a){a=a.call(this,this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.fa},function(a){a=
@ -190,8 +190,8 @@ function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.I);th
this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.G);this.S(a);
this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.G);this.S(a);
this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),
this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},Hf,Pf,Xf,eg,mg,ug,Cg,Kg,If,Qf,Yf,fg,ng,vg,Dg,Lg,Jf,Rf,Zf,gg,og,wg,Eg,
Mg,Kf,Sf,$f,hg,pg,xg,Fg,Ng,Lf,Tf,ag,ig,qg,yg,Gg,Og,Mf,Uf,bg,jg,rg,zg,Hg,Pg,Nf,Vf,cg,kg,sg,Ag,Ig,Qg,Of,Wf,dg,lg,tg,Bg,Jg,Rg],Ug=[function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255,
this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},If,Qf,Yf,fg,ng,vg,Dg,Lg,Jf,Rf,Zf,gg,og,wg,Eg,Mg,Kf,Sf,$f,hg,pg,xg,Fg,
Ng,Lf,Tf,ag,ig,qg,yg,Gg,Og,Mf,Uf,bg,jg,rg,zg,Hg,Pg,Nf,Vf,cg,kg,sg,Ag,Ig,Qg,Of,Wf,dg,lg,tg,Bg,Jg,Rg,Pf,Xf,eg,mg,ug,Cg,Kg,Sg],Vg=[function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255,
this.T(this.N,this.I+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.sa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,
this.J&255,this.T(this.D,this.C+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.G));this.J=this.J&-256|
a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.sa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.F&
@ -234,8 +234,8 @@ this.I+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.V},function
255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=
this.B.V},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>
8,this.T(this.D,this.C+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>>8,this.T(this.D,
this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},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,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf],O=[function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,
this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},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,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf],M=[function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,
this.H,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.L()));this.A-=this.B.sa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.J=a.call(this,
this.J,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.L()));this.A-=this.B.sa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.K=a.call(this,
this.K,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.F));this.A-=this.B.aa},
@ -270,8 +270,8 @@ this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.cal
this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.F+this.L()&65535));
this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},
function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.F=
a.call(this,this.F,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},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,zg,Ag,Bg,
Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg],Vg=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},
a.call(this,this.F,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},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,zg,Ag,Bg,Cg,
Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg],Wg=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},
function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.sa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=
this.B.fa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.F),
b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.sa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[2].call(this,
@ -324,7 +324,7 @@ this.K=this.K&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this)
this.H&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.K>>8,b.call(this));this.K=this.K&255|
c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,
b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=
a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Wg=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=
a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Xg=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=
this.B.fa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.F),
b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.sa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,
this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.sa},function(a,
@ -375,292 +375,294 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio
this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.X=a[4].call(this,this.X,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C=
a[5].call(this,this.C,b.call(this))},function(a,b){this.X=a[5].call(this,this.X,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},
function(a,b){this.Z|=512;this.X=a[6].call(this,this.X,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.X=a[7].call(this,
this.X,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function uc(){Xg[this.da()].call(this)}function wc(){G(this,this.X);this.A-=this.B.lc}function dc(){var a=this.X;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.al}
function ec(){this.F=this.Ha();this.G=this.Ha();this.I=this.Ha();this.X+=2;this.C=this.Ha();this.K=this.Ha();this.J=this.Ha();this.H=this.Ha();this.A-=this.B.Zk}function fc(){O[this.da()].call(this,je)}function vc(){Tg[this.da()].call(this,ke)}function gc(){G(this,this.L());this.A-=this.B.lc}function hc(){O[this.da()].call(this,ee)}function ic(){G(this,this.da());this.A-=this.B.lc}function jc(){O[this.da()].call(this,de)}
function kc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=gb(this.qa,this.K,this.Ba-b-1);Zc(this,this.Qa.Ub(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(K(this,-2),this.Z|=256)}}
function lc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=this.Ba-b-1,d=gb(this.qa,this.K,d)|gb(this.qa,this.K,d)<<8;F(this,this.Qa.Ub(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(K(this,-2),this.Z|=256)}}
function mc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=Yc(this,this.wb.yc(this.G,0));this.G=this.G+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;ib(this.qa,this.K,d,this.Ba-b-1);a&&(K(this,-2),this.Z|=256)}}
function nc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=D(this,this.wb.yc(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ba-b-1;ib(this.qa,this.K,d&255,b);ib(this.qa,this.K,d>>8,b);a&&(K(this,-2),this.Z|=256)}}function Yg(){var a=this.M();Oc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}function Zg(){var a=this.M();Oc(this)?this.A-=this.B.Pb:(J(this,this.ta+a),this.A-=this.B.Ob)}
function $g(){var a=this.M();Jc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}function ah(){var a=this.M();Jc(this)?this.A-=this.B.Pb:(J(this,this.ta+a),this.A-=this.B.Ob)}function bh(){var a=this.M();Mc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}function ch(){var a=this.M();Mc(this)?this.A-=this.B.Pb:(J(this,this.ta+a),this.A-=this.B.Ob)}function dh(){var a=this.M();Jc(this)||Mc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}
function eh(){var a=this.M();Jc(this)||Mc(this)?this.A-=this.B.Pb:(J(this,this.ta+a),this.A-=this.B.Ob)}function fh(){var a=this.M();Nc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}function gh(){var a=this.M();Nc(this)?this.A-=this.B.Pb:(J(this,this.ta+a),this.A-=this.B.Ob)}function hh(){var a=this.M();Kc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}function ih(){var a=this.M();Kc(this)?this.A-=this.B.Pb:(J(this,this.ta+a),this.A-=this.B.Ob)}
function jh(){var a=this.M();!Nc(this)!=!Oc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}function kh(){var a=this.M();!Nc(this)==!Oc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}function lh(){var a=this.M();Mc(this)||!Nc(this)!=!Oc(this)?(J(this,this.ta+a),this.A-=this.B.Ob):this.A-=this.B.Pb}function mh(){var a=this.M();Mc(this)||!Nc(this)!=!Oc(this)?this.A-=this.B.Pb:(J(this,this.ta+a),this.A-=this.B.Ob)}
function nh(){Vg[this.da()].call(this,Od,this.da);this.A-=0>this.Ia?1:this.B.Vg}function oc(){Vg[this.da()].call(this,Yd,Ld)}function pc(){Wg[this.da()].call(this,Zd,Ld)}function oh(){var a=this.L();J(this,this.Ha());this.X=this.X+a&65535;this.A-=this.B.fl}function ph(){J(this,this.Ha());this.A-=this.B.cl}
function qc(){var a=this.L(),b=this.da()&31;this.A-=11;G(this,this.I);var c=this.X;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,G(this,D(this,this.qb.yc(this.I,1)));G(this,c)}this.I=c;this.X=this.X-a&65535}function rc(){this.X=this.I;this.I=this.Ha();this.A-=5}function qh(){qe.call(this,this.L());this.A-=this.B.el}function rh(){qe.call(this,0);this.A-=this.B.dl}function sh(){O[this.da()].call(this,fe);this.A-=8}function th(){this.Z|=36;this.A-=this.B.Md}
function sc(){N.call(this)}function H(){C.call(this,6);qb(this)}function N(){J(this,this.Rf-this.xa.Ja);var a=ab(this.qa,this.Ba);Qa(this,"Undefined opcode 0x"+p(a,2)+" at "+da(this.ta,this.xa.ya));qb(this)}
var $b=[function(){var a=this.da();Sg[a].call(this,cd)},function(){Tg[this.da()].call(this,kd)},function(){Ug[this.da()].call(this,cd)},function(){O[this.da()].call(this,kd)},function(){this.H=this.H&-256|cd.call(this,this.H&255,this.da());this.A--},function(){this.H=kd.call(this,this.H,this.L());this.A--},function(){G(this,this.Qa.ya);this.A-=this.B.Mf},function(){Ic(this,this.Ha());this.A-=this.B.ec},function(){Sg[this.da()].call(this,dd)},function(){Tg[this.da()].call(this,ld)},function(){Ug[this.da()].call(this,
dd)},function(){O[this.da()].call(this,ld)},function(){this.H=this.H&-256|dd.call(this,this.H&255,this.da());this.A--},function(){this.H=ld.call(this,this.H,this.L());this.A--},function(){G(this,this.xa.ya);this.A-=this.B.Mf},function(){Fc(this,this.Ha());this.A-=this.B.ec},function(){Sg[this.da()].call(this,ed)},function(){Tg[this.da()].call(this,md)},function(){Ug[this.da()].call(this,ed)},function(){O[this.da()].call(this,md)},function(){this.H=this.H&-256|ed.call(this,this.H&255,this.da());this.A--},
function(){this.H=md.call(this,this.H,this.L());this.A--},function(){G(this,this.qb.ya);this.A-=this.B.Mf},function(){Hc(this,this.Ha());this.A-=this.B.ec},function(){Sg[this.da()].call(this,fd)},function(){Tg[this.da()].call(this,nd)},function(){Ug[this.da()].call(this,fd)},function(){O[this.da()].call(this,nd)},function(){this.H=this.H&-256|fd.call(this,this.H&255,this.da());this.A--},function(){this.H=nd.call(this,this.H,this.L());this.A--},function(){G(this,this.wb.ya);this.A-=this.B.Mf},function(){Gc(this,
this.Ha());this.A-=this.B.ec},function(){Sg[this.da()].call(this,gd)},function(){Tg[this.da()].call(this,od)},function(){Ug[this.da()].call(this,gd)},function(){O[this.da()].call(this,od)},function(){this.H=this.H&-256|gd.call(this,this.H&255,this.da());this.A--},function(){this.H=od.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.Qa;this.A-=this.B.Md},function(){var a=this.H&255,b=Lc(this),c=this.Y&this.ca;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.Y=this.ia=a&255);this.ca=65536;c&&(this.Y|=this.ca);b?Uc(this):Qc(this);this.A-=this.B.pe},function(){Sg[this.da()].call(this,hd)},function(){Tg[this.da()].call(this,pd)},function(){Ug[this.da()].call(this,hd)},function(){O[this.da()].call(this,pd)},function(){this.H=this.H&-256|hd.call(this,this.H&255,this.da());this.A--},function(){this.H=pd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.xa;this.A-=this.B.Md},function(){var a=this.H&255,b=Lc(this),c=this.Y&
this.ca;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.Y=this.ia=a&255);this.ca=65536;c&&(this.Y|=this.ca);b?Uc(this):Qc(this);this.A-=this.B.pe},function(){Sg[this.da()].call(this,id)},function(){Tg[this.da()].call(this,qd)},function(){Ug[this.da()].call(this,id)},function(){O[this.da()].call(this,qd)},function(){this.H=this.H&-256|id.call(this,this.H&255,this.da());this.A--},function(){this.H=qd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.qb;
this.A-=this.B.Md},function(){var a=this.H&255,b=this.H>>8,c,d=Lc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Uc(this):Qc(this);this.A-=this.B.pe},function(){Sg[this.da()].call(this,jd)},function(){Tg[this.da()].call(this,rd)},function(){Ug[this.da()].call(this,jd)},function(){O[this.da()].call(this,rd)},function(){this.H=this.H&-256|jd.call(this,this.H&255,this.da());this.A--},function(){this.H=rd.call(this,this.H,this.L());this.A--},
function(){this.Z|=20;this.D=this.N=this.wb;this.A-=this.B.Md},function(){var a=this.H&255,b=this.H>>8,c,d=Lc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Uc(this):Qc(this);this.A-=this.B.pe},function(){this.ma=this.H;this.H=(this.ia=this.H+1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.J;this.J=(this.ia=this.J+1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=
2},function(){this.ma=this.K;this.K=(this.ia=this.K+1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.C;this.C=(this.ia=this.C+1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.X;this.X=(this.ia=this.X+1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.I;this.I=(this.ia=this.I+1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=
this.G;this.G=(this.ia=this.G+1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.F;this.F=(this.ia=this.F+1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.H;this.H=(this.ia=this.H-1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.J;this.J=(this.ia=this.J-1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.K;this.K=
(this.ia=this.K-1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.C;this.C=(this.ia=this.C-1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.X;this.X=(this.ia=this.X-1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.I;this.I=(this.ia=this.I-1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.G;this.G=(this.ia=this.G-
1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ma=this.F;this.F=(this.ia=this.F-1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){G(this,this.H);this.A-=this.B.lc},function(){G(this,this.J);this.A-=this.B.lc},function(){G(this,this.K);this.A-=this.B.lc},function(){G(this,this.C);this.A-=this.B.lc},function(){G(this,this.X-2&65535);this.A-=this.B.lc},function(){G(this,this.I);this.A-=this.B.lc},function(){G(this,this.G);this.A-=
this.B.lc},function(){G(this,this.F);this.A-=this.B.lc},function(){this.H=this.Ha();this.A-=this.B.ec},function(){this.J=this.Ha();this.A-=this.B.ec},function(){this.K=this.Ha();this.A-=this.B.ec},function(){this.C=this.Ha();this.A-=this.B.ec},function(){this.X=this.Ha();this.A-=this.B.ec},function(){this.I=this.Ha();this.A-=this.B.ec},function(){this.G=this.Ha();this.A-=this.B.ec},function(){this.F=this.Ha();this.A-=this.B.ec},Yg,Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,Yg,Zg,$g,ah,bh,ch,dh,
eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,function(){Wg[this.da()].call(this,Pd,this.L);this.A-=0>this.Ia?1:this.B.Vg},nh,function(){Wg[this.da()].call(this,Pd,this.M);this.A-=0>this.Ia?1:this.B.Vg},function(){Sg[this.da()].call(this,be)},function(){Tg[this.da()].call(this,ce)},function(){Ug[this.og=this.da()].call(this,ne)},function(){O[this.og=this.da()].call(this,oe)},function(){this.Z|=1;Sg[this.da()].call(this,$d)},function(){this.Z|=1;Tg[this.da()].call(this,$d)},function(){Ug[this.da()].call(this,$d)},
function(){O[this.da()].call(this,$d)},function(){var a=this.da();switch((a&56)>>3){case 0:this.Eb=this.Qa.ya;break;case 1:this.Eb=this.xa.ya;break;case 2:this.Eb=this.qb.ya;break;case 3:this.Eb=this.wb.ya;break;default:N.call(this);return}this.Z|=1;Tg[a].call(this,ae)},function(){this.Z|=1;this.D=this.N=this.ul;O[this.da()].call(this,ge)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ga){H.call(this);return}switch(c){case 1:a=
this.J;break;case 4:a=this.X;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}O[b].call(this,$d);switch(c){case 0:Ic(this,this.H);this.H=a;break;case 1:Fc(this,this.J);this.J=a;break;case 2:Hc(this,this.K);this.K=a;break;case 3:Gc(this,this.C);this.C=a;break;case 4:Ic(this,this.X);this.X=a;break;case 5:Fc(this,this.I);this.I=a;break;case 6:Hc(this,this.G);this.G=a;break;case 7:Gc(this,this.F),this.F=a}},function(){this.Z|=1;Wg[this.da()].call(this,Qd,this.Ha)},function(){this.A-=
this.X,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function uc(){Yg[this.da()].call(this)}function wc(){G(this,this.X);this.A-=this.B.lc}function dc(){var a=this.X;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.bl}
function ec(){this.F=this.Ha();this.G=this.Ha();this.I=this.Ha();this.X+=2;this.C=this.Ha();this.K=this.Ha();this.J=this.Ha();this.H=this.Ha();this.A-=this.B.$k}function fc(){M[this.da()].call(this,ke)}function vc(){Ug[this.da()].call(this,le)}function gc(){G(this,this.L());this.A-=this.B.lc}function hc(){M[this.da()].call(this,fe)}function ic(){G(this,this.da());this.A-=this.B.lc}function jc(){M[this.da()].call(this,ee)}
function kc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=gb(this.qa,this.K,this.Ba-b-1);$c(this,this.Qa.Vb(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}}
function lc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=this.Ba-b-1,d=gb(this.qa,this.K,d)|gb(this.qa,this.K,d)<<8;F(this,this.Qa.Vb(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}}
function mc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=Zc(this,this.vb.yc(this.G,0));this.G=this.G+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;ib(this.qa,this.K,d,this.Ba-b-1);a&&(Jc(this,-2),this.Z|=256)}}
function nc(){var a=1,b=0,c=5;this.va&192&&(a=this.J,b=1,this.va&256&&(c=4));if(a--){var d=D(this,this.vb.yc(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ba-b-1;ib(this.qa,this.K,d&255,b);ib(this.qa,this.K,d>>8,b);a&&(Jc(this,-2),this.Z|=256)}}function Zg(){var a=this.M();Pc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function $g(){var a=this.M();Pc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}
function ah(){var a=this.M();Kc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function bh(){var a=this.M();Kc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}function ch(){var a=this.M();Nc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function dh(){var a=this.M();Nc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}function eh(){var a=this.M();Kc(this)||Nc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}
function fh(){var a=this.M();Kc(this)||Nc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}function gh(){var a=this.M();Oc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function hh(){var a=this.M();Oc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}function ih(){var a=this.M();Lc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function jh(){var a=this.M();Lc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}
function kh(){var a=this.M();!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function lh(){var a=this.M();!Oc(this)==!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function mh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?(J(this,this.ta+a),this.A-=this.B.Pb):this.A-=this.B.Qb}function nh(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?this.A-=this.B.Qb:(J(this,this.ta+a),this.A-=this.B.Pb)}
function oh(){Wg[this.da()].call(this,Pd,this.da);this.A-=0>this.Ia?1:this.B.Wg}function oc(){Wg[this.da()].call(this,Zd,Md)}function pc(){Xg[this.da()].call(this,$d,Md)}function ph(){var a=this.L();J(this,this.Ha());this.X=this.X+a&65535;this.A-=this.B.gl}function qh(){J(this,this.Ha());this.A-=this.B.dl}
function qc(){var a=this.L(),b=this.da()&31;this.A-=11;G(this,this.I);var c=this.X;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,G(this,D(this,this.qb.yc(this.I,1)));G(this,c)}this.I=c;this.X=this.X-a&65535}function rc(){this.X=this.I;this.I=this.Ha();this.A-=5}function rh(){re.call(this,this.L());this.A-=this.B.fl}function sh(){re.call(this,0);this.A-=this.B.el}function th(){M[this.da()].call(this,ge);this.A-=8}function uh(){this.Z|=36;this.A-=this.B.Ld}
function sc(){L.call(this)}function H(){C.call(this,6);qb(this)}function L(){J(this,this.Rf-this.xa.Ja);var a=ab(this.qa,this.Ba);Pa(this,"Undefined opcode 0x"+p(a,2)+" at "+ca(this.ta,this.xa.ya));qb(this)}
var $b=[function(){var a=this.da();Tg[a].call(this,dd)},function(){Ug[this.da()].call(this,ld)},function(){Vg[this.da()].call(this,dd)},function(){M[this.da()].call(this,ld)},function(){this.H=this.H&-256|dd.call(this,this.H&255,this.da());this.A--},function(){this.H=ld.call(this,this.H,this.L());this.A--},function(){G(this,this.Qa.ya);this.A-=this.B.Mf},function(){Ic(this,this.Ha());this.A-=this.B.ec},function(){Tg[this.da()].call(this,ed)},function(){Ug[this.da()].call(this,md)},function(){Vg[this.da()].call(this,
ed)},function(){M[this.da()].call(this,md)},function(){this.H=this.H&-256|ed.call(this,this.H&255,this.da());this.A--},function(){this.H=md.call(this,this.H,this.L());this.A--},function(){G(this,this.xa.ya);this.A-=this.B.Mf},function(){Fc(this,this.Ha());this.A-=this.B.ec},function(){Tg[this.da()].call(this,fd)},function(){Ug[this.da()].call(this,nd)},function(){Vg[this.da()].call(this,fd)},function(){M[this.da()].call(this,nd)},function(){this.H=this.H&-256|fd.call(this,this.H&255,this.da());this.A--},
function(){this.H=nd.call(this,this.H,this.L());this.A--},function(){G(this,this.qb.ya);this.A-=this.B.Mf},function(){Hc(this,this.Ha());this.A-=this.B.ec},function(){Tg[this.da()].call(this,gd)},function(){Ug[this.da()].call(this,od)},function(){Vg[this.da()].call(this,gd)},function(){M[this.da()].call(this,od)},function(){this.H=this.H&-256|gd.call(this,this.H&255,this.da());this.A--},function(){this.H=od.call(this,this.H,this.L());this.A--},function(){G(this,this.vb.ya);this.A-=this.B.Mf},function(){Gc(this,
this.Ha());this.A-=this.B.ec},function(){Tg[this.da()].call(this,hd)},function(){Ug[this.da()].call(this,pd)},function(){Vg[this.da()].call(this,hd)},function(){M[this.da()].call(this,pd)},function(){this.H=this.H&-256|hd.call(this,this.H&255,this.da());this.A--},function(){this.H=pd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.Qa;this.A-=this.B.Ld},function(){var a=this.H&255,b=Mc(this),c=this.Y&this.ca;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.Y=this.ia=a&255);this.ca=65536;c&&(this.Y|=this.ca);b?Vc(this):Rc(this);this.A-=this.B.pe},function(){Tg[this.da()].call(this,id)},function(){Ug[this.da()].call(this,qd)},function(){Vg[this.da()].call(this,id)},function(){M[this.da()].call(this,qd)},function(){this.H=this.H&-256|id.call(this,this.H&255,this.da());this.A--},function(){this.H=qd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.xa;this.A-=this.B.Ld},function(){var a=this.H&255,b=Mc(this),c=this.Y&
this.ca;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.Y=this.ia=a&255);this.ca=65536;c&&(this.Y|=this.ca);b?Vc(this):Rc(this);this.A-=this.B.pe},function(){Tg[this.da()].call(this,jd)},function(){Ug[this.da()].call(this,rd)},function(){Vg[this.da()].call(this,jd)},function(){M[this.da()].call(this,rd)},function(){this.H=this.H&-256|jd.call(this,this.H&255,this.da());this.A--},function(){this.H=rd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.qb;
this.A-=this.B.Ld},function(){var a=this.H&255,b=this.H>>8,c,d=Mc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.pe},function(){Tg[this.da()].call(this,kd)},function(){Ug[this.da()].call(this,sd)},function(){Vg[this.da()].call(this,kd)},function(){M[this.da()].call(this,sd)},function(){this.H=this.H&-256|kd.call(this,this.H&255,this.da());this.A--},function(){this.H=sd.call(this,this.H,this.L());this.A--},
function(){this.Z|=20;this.D=this.N=this.vb;this.A-=this.B.Ld},function(){var a=this.H&255,b=this.H>>8,c,d=Mc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.pe},function(){this.na=this.H;this.H=(this.ia=this.H+1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J+1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=
2},function(){this.na=this.K;this.K=(this.ia=this.K+1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ia=this.C+1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.X;this.X=(this.ia=this.X+1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ia=this.I+1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=
this.G;this.G=(this.ia=this.G+1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F+1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.H;this.H=(this.ia=this.H-1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J-1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.K;this.K=
(this.ia=this.K-1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ia=this.C-1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.X;this.X=(this.ia=this.X-1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ia=this.I-1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.G;this.G=(this.ia=this.G-
1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F-1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){G(this,this.H);this.A-=this.B.lc},function(){G(this,this.J);this.A-=this.B.lc},function(){G(this,this.K);this.A-=this.B.lc},function(){G(this,this.C);this.A-=this.B.lc},function(){G(this,this.X-2&65535);this.A-=this.B.lc},function(){G(this,this.I);this.A-=this.B.lc},function(){G(this,this.G);this.A-=
this.B.lc},function(){G(this,this.F);this.A-=this.B.lc},function(){this.H=this.Ha();this.A-=this.B.ec},function(){this.J=this.Ha();this.A-=this.B.ec},function(){this.K=this.Ha();this.A-=this.B.ec},function(){this.C=this.Ha();this.A-=this.B.ec},function(){this.X=this.Ha();this.A-=this.B.ec},function(){this.I=this.Ha();this.A-=this.B.ec},function(){this.G=this.Ha();this.A-=this.B.ec},function(){this.F=this.Ha();this.A-=this.B.ec},Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,Zg,$g,ah,bh,ch,dh,eh,
fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,function(){Xg[this.da()].call(this,Qd,this.L);this.A-=0>this.Ia?1:this.B.Wg},oh,function(){Xg[this.da()].call(this,Qd,this.M);this.A-=0>this.Ia?1:this.B.Wg},function(){Tg[this.da()].call(this,ce)},function(){Ug[this.da()].call(this,de)},function(){Vg[this.og=this.da()].call(this,oe)},function(){M[this.og=this.da()].call(this,pe)},function(){this.Z|=1;Tg[this.da()].call(this,ae)},function(){this.Z|=1;Ug[this.da()].call(this,ae)},function(){Vg[this.da()].call(this,ae)},
function(){M[this.da()].call(this,ae)},function(){var a=this.da();switch((a&56)>>3){case 0:this.Db=this.Qa.ya;break;case 1:this.Db=this.xa.ya;break;case 2:this.Db=this.qb.ya;break;case 3:this.Db=this.vb.ya;break;default:L.call(this);return}this.Z|=1;Ug[a].call(this,be)},function(){this.Z|=1;this.D=this.N=this.ul;M[this.da()].call(this,he)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ga){H.call(this);return}switch(c){case 1:a=
this.J;break;case 4:a=this.X;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}M[b].call(this,ae);switch(c){case 0:Ic(this,this.H);this.H=a;break;case 1:Fc(this,this.J);this.J=a;break;case 2:Hc(this,this.K);this.K=a;break;case 3:Gc(this,this.C);this.C=a;break;case 4:Ic(this,this.X);this.X=a;break;case 5:Fc(this,this.I);this.I=a;break;case 6:Hc(this,this.G);this.G=a;break;case 7:Gc(this,this.F),this.F=a}},function(){this.Z|=1;Xg[this.da()].call(this,Rd,this.Ha)},function(){this.A-=
3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.X;this.X=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=
this.B.mk},function(){Xd.call(this,this.L(),this.L());this.A-=this.B.pk},function(){this.cc("WAIT not implemented",ue);this.A--},function(){G(this,Tb(this));this.A-=this.B.lc},function(){Ub(this,this.Ha());this.A-=this.B.ec},function(){var a=this.H>>8;a&1?Tc(this):Pc(this);a&4?Kc(this)||(this.ia^=1):Kc(this)&&(this.ia^=1);a&16?Uc(this):Qc(this);a&64?Vc(this):Rc(this);a&128?Wc(this):Nc(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.ma^=32896);this.A-=this.B.Db},function(){this.H=this.H&255|(Tb(this)&
213)<<8;this.A-=this.B.Db},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.Ei},function(){this.H=this.U(this.D,this.L());this.A-=this.B.Ei},function(){var a=this.L(),b=this.H;Zc(this,this.D.Ub(a,0),b);this.A-=this.B.Fi},function(){var a=this.L(),b=this.H;F(this,this.D.Ub(a,1),b);this.A-=this.B.Fi},function(){var a=1,b=0,c=this.B.Gi;this.va&192&&(a=this.J,b=1,c=this.B.Ii,this.va&256||(this.A-=this.B.Hi));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G);Zc(this,this.Qa.Ub(this.F,
0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(K(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Gi;this.va&192&&(a=this.J,b=1,c=this.B.Ii,this.va&256||(this.A-=this.B.Hi));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G);F(this,this.Qa.Ub(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(K(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.qi;this.va&192&&(a=this.J,b=1,c=this.B.si,this.va&256||
(this.A-=this.B.ri));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.Qa,this.F);jd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.ub;this.J-=b;a&&Mc(this)==(this.va&64)&&(K(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.qi;this.va&192&&(a=this.J,b=1,c=this.B.si,this.va&256||(this.A-=this.B.ri));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.Qa,this.F);rd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+
d&65535;this.A-=c-this.B.ub;this.J-=b;a&&Mc(this)==(this.va&64)&&(K(this,this.va&16?-3:-2),this.Z|=256)}},function(){this.Y=this.ia=this.ma=this.H&255&this.da();this.ca=256;this.A-=this.B.pe},function(){this.Y=this.ia=this.ma=this.H&this.L();this.ca=65536;this.A-=this.B.pe},function(){var a=1,b=0,c=this.B.Ri;this.va&192&&(a=this.J,b=1,c=this.B.Ti,this.va&256||(this.A-=this.B.Si));if(a--){var d=this.H;Zc(this,this.Qa.Ub(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(K(this,
-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ri;this.va&192&&(a=this.J,b=1,c=this.B.Ti,this.va&256||(this.A-=this.B.Si));if(a--){var d=this.H;F(this,this.Qa.Ub(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(K(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.yi;this.va&192&&(a=this.J,b=1,c=this.B.Ai,this.va&256||(this.A-=this.B.zi));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Ca&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(K(this,this.va&
16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.yi;this.va&192&&(a=this.J,b=1,c=this.B.Ai,this.va&256||(this.A-=this.B.zi));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Ca&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(K(this,this.va&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Li;this.va&192&&(a=this.J,b=1,c=this.B.Ni,this.va&256||(this.A-=this.B.Mi));a--&&(jd.call(this,this.H&255,this.O(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-1:1)&65535,this.A-=c-this.B.ub,this.J-=
b,a&&Mc(this)==(this.va&64)&&(K(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Li;this.va&192&&(a=this.J,b=1,c=this.B.Ni,this.va&256||(this.A-=this.B.Mi));a--&&(rd.call(this,this.H,this.P(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.ub,this.J-=b,a&&Mc(this)==(this.va&64)&&(K(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.da();this.A-=this.B.Db},function(){this.J=this.J&-256|this.da();this.A-=this.B.Db},function(){this.K=this.K&-256|this.da();this.A-=
this.B.Db},function(){this.C=this.C&-256|this.da();this.A-=this.B.Db},function(){this.H=this.H&255|this.da()<<8;this.A-=this.B.Db},function(){this.J=this.J&255|this.da()<<8;this.A-=this.B.Db},function(){this.K=this.K&255|this.da()<<8;this.A-=this.B.Db},function(){this.C=this.C&255|this.da()<<8;this.A-=this.B.Db},function(){this.H=this.L();this.A-=this.B.Db},function(){this.J=this.L();this.A-=this.B.Db},function(){this.K=this.L();this.A-=this.B.Db},function(){this.C=this.L();this.A-=this.B.Db},function(){this.X=
this.L();this.A-=this.B.Db},function(){this.I=this.L();this.A-=this.B.Db},function(){this.G=this.L();this.A-=this.B.Db},function(){this.F=this.L();this.A-=this.B.Db},oh,ph,oh,ph,function(){O[this.da()].call(this,ie)},function(){O[this.da()].call(this,he)},function(){this.Z|=1;Vg[this.da()].call(this,Rd,this.da)},function(){this.Z|=1;Wg[this.da()].call(this,Rd,this.L)},qh,rh,qh,rh,function(){ad.call(this,3,null,this.B.Gk)},function(){var a=this.da(),b;a:{b=this.dg[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?ad.call(this,a,null,0):this.A--},function(){Oc(this)?ad.call(this,4,null,this.B.Hk):this.A-=this.B.Ik},function(){this.A-=this.B.Ek;if(this.gc&1&&this.Ca&16384){var a=D(this,this.ib.Ja+0);Sb.call(this.xa,a,!1)}else{var a=this.xa.Za,b=this.Ha(),c=this.Ha(),d=this.Ha();null!=Vb(this,b,c,!1)&&(Ub(this,d,a),this.Ch&&Cc(this,this.Ba))}},function(){Vg[this.da()].call(this,Sd,Jd)},function(){Wg[this.da()].call(this,Td,Jd)},function(){Vg[this.da()].call(this,Sd,Kd)},function(){Wg[this.da()].call(this,
Td,Kd)},function(){var a=this.da(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ca=256;this.Y=this.ia=b;this.A-=this.B.jk},function(){var a=this.da();this.Y=this.ia=this.H=(this.H>>8)*a+this.H&255;this.ca=256;this.A-=this.B.ik},function(){this.H=this.H&-256|(Jc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.hl},sh,sh,sh,sh,sh,sh,sh,sh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.Y&this.ca-1?(J(this,this.ta+a),this.A-=this.B.Pk):
this.A-=this.B.Bi},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Y&this.ca-1?this.A-=this.B.Di:(J(this,this.ta+a),this.A-=this.B.Ci)},function(){var a=this.M();(this.J=this.J-1&65535)?(J(this,this.ta+a),this.A-=this.B.Ok):this.A-=this.B.Bi},function(){var a=this.M();this.J?this.A-=this.B.Di:(J(this,this.ta+a),this.A-=this.B.Ci)},function(){var a=this.da();this.H=this.H&-256|gb(this.qa,a,this.Ba-2);this.A-=this.B.vi},function(){var a=this.da();this.H=gb(this.qa,a,this.Ba-1)|gb(this.qa,a+
1&65535,this.Ba-2)<<8;this.A-=this.B.vi},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);this.A-=this.B.Ki},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);ib(this.qa,a+1&65535,this.H>>8,this.Ba-2);this.A-=this.B.Ki},function(){var a=this.L();G(this,this.ta);J(this,this.ta+a);this.A-=this.B.nk},function(){var a=this.L();J(this,this.ta+a);this.A-=this.B.wi},function(){Vb(this,this.L(),this.L());this.A-=this.B.Kk},function(){var a=this.M();J(this,this.ta+a);this.A-=this.B.wi},
function(){this.H=this.H&-256|gb(this.qa,this.K,this.Ba-1);this.A-=this.B.ui},function(){this.H=gb(this.qa,this.K,this.Ba-1)|gb(this.qa,this.K+1&65535,this.Ba-1)<<8;this.A-=this.B.ui},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);this.A-=this.B.Ji},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);ib(this.qa,this.K+1&65535,this.H>>8,this.Ba-1);this.A-=this.B.Ji},th,th,function(){this.Z|=132;this.A-=this.B.Md},function(){this.Z|=68;this.A-=this.B.Md},function(){this.lb|=4;this.A-=2;this.Ca&512||
qb(this)},function(){Jc(this)?Pc(this):Tc(this);this.A-=2},function(){this.Eb=-1;Vg[this.da()].call(this,Vd,Md);0<=this.Eb&&(this.H=this.Eb)},function(){this.Eb=-1;Wg[this.da()].call(this,Wd,Md);0<=this.Eb&&(this.H=this.Eb,this.K=this.Uf)},function(){this.Y&=~this.ca;this.A-=2},function(){this.Y|=this.ca;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.lk},function(){this.Ca|=512;this.Z|=4;this.A-=2},function(){this.Ca&=-1025;this.A-=2},function(){this.Ca|=1024;this.A-=2},function(){Vg[this.da()].call(this,
ac,Md)},function(){Wg[this.da()].call(this,bc,Md)}],Xg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Wg[a].call(this,this.vj,Md)},function(){var a=this.da();a&16||(this.Z|=1);Wg[a].call(this,uh,Md)},function(){O[this.da()].call(this,le)},function(){O[this.da()].call(this,me)},N,function(){this.xa.Za?C.call(this,13,0,!0):(pe.call(this,D(this,2054)),this.F=D(this,2086),this.G=D(this,2088),this.I=D(this,2090),this.X=D(this,2092),this.C=D(this,2094),this.K=D(this,2096),this.J=D(this,2098),this.H=
D(this,2100),Wb(this.Qa,2102,D(this,2084)),Wb(this.xa,2108,D(this,2082)),Wb(this.qb,2114,D(this,2080)),Wb(this.wb,2120,D(this,2078)),Ub(this,D(this,2072)),J(this,D(this,2074)),this.Hc=D(this,2126)|D(this,2128)<<16,this.Fe=this.Hc+D(this,2130),Wb(this.Sd,2132,D(this,2076)),this.Ic=D(this,2138)|D(this,2140)<<16,this.Ge=this.Ic+D(this,2142),Wb(this.ib,2144,D(this,2070)),this.A-=195)},function(){this.xa.Za?C.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},N,N,N,N,H,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],Dc=[function(){this.A-=2+(0>this.ha?0:1);return this.Sd.ya},
function(){this.A-=2+(0>this.ha?0:1);return this.ib.ya},function(a){this.Z|=2;this.Sd.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;-4!=this.ib.load(a)&&(F(this,this.ib.ud+4,this.ib.jb|=512),this.ib.type=768);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&2048!=(this.Gb.jb&2560)&&(this.Gb.kc>=this.xa.Za&&this.Gb.kc>=(a&3)||7168==(this.Gb.jb&7168)))return Vc(this),a;Rc(this);return a},function(a){this.Z|=2;this.A-=
14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&512==(this.Gb.jb&2560)&&this.Gb.kc>=this.xa.Za&&this.Gb.kc>=(a&3))return Vc(this),a;Rc(this);return a},L,L],cc=[tc,tc,tc,tc,tc,tc,L,L],uh=[function(a){0>this.ha?H.call(this):(a=this.Fe-this.Hc,F(this,this.ha+2,this.Hc),F(this,this.ha+4,65280|this.Hc>>16),this.A-=11);return a},function(a){0>this.ha?H.call(this):(a=this.Ge-this.Ic,F(this,this.ha+2,this.Ic),F(this,this.ha+4,65280|this.Ic>>16),this.A-=12);return a},function(a){0>this.ha?H.call(this):(this.Hc=
D(this,this.ha+2)|Yc(this,this.ha+4)<<16,this.Fe=this.Hc+a,this.Z|=2,this.A-=11);return a},function(a){0>this.ha?H.call(this):(this.Ic=D(this,this.ha+2)|Yc(this,this.ha+4)<<16,this.Ge=this.Ic+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.gc},L,function(a){pe.call(this,a);this.A-=0>this.ha?3:6;this.Z|=2;return a},L];
function P(a){u.call(this,"ChipSet",a,P);this.Ga=(this.Ga=a.model)?parseInt(this.Ga,10):vh;this.Qb=0;var b=a.sw1;if(b)this.Qb=wh(b,xh|yh.Cl);else{this.sd=[360,360];(b=a.floppies)&&b.length&&(this.sd=b);if(b=this.sd.length)this.Qb|=zh.oh,b--,this.Qb|=(b&3)<<zh.ef;if(b=a.monitor||(this.Ga<Ah?"mono":"ega"),void 0!==Bh[b])this.Qb|=Bh[b]<<yh.ef}this.Td=wh(a.sw2||"11110000",0);this.Zm=this.Ga==vh?16:64;this.ug=this.nf=1;this.Ga>=Ah&&(this.ug=this.nf=2);this.Fd=a.scaleTimers||!1;this.uo=a.rtcDate;this.Tj=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Fh=new window.webkitAudioContext);this.reset(!0);this.Ra()}v(u,P);var vh=5150,Ah=5170,Bh={none:0,tv:1,color:2,mono:3,ega:0},zh={oh:1,ONE:0,np:64,lp:128,Lo:192,df:192,ef:6},xh=12,yh={mp:16,Eo:32,Cl:48,df:48,ef:4};k=P.prototype;
k.Fb=function(a,b,c){switch(b){case "sw1":return this.ra[b]=c,Ch(this,b,c,this.Qb,{0:this.Ga==vh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==vh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==vh)return this.ra[b]=c,Ch(this,b,c,this.Td,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[b]=c,!0}return!1};
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Ta=d;this.Oa=a;this.Na=z(a,"Keyboard");this.Yg=c.ba.Yc/1193181;fb(b,this,Dh);hb(b,this,Eh);this.Ga<Ah?(fb(b,this,Fh),hb(b,this,Gh)):(fb(b,this,Hh),hb(b,this,Ih))};k.Xb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Pc=this.Qb;this.xe=this.Td;Jh(this);this.ab=Array(this.ug);for(b=0;b<this.ug;b++)Kh(this,b);this.Rb=Array(this.nf);Lh(this,0,32);1<this.nf&&Lh(this,1,160);this.Bh=null;this.Ib=Array(3);for(b=0;b<this.Ib.length;b++)Mh(this,b);this.mf=this.zh=this.pc=this.qg=null;this.pg=0;if(this.Ga>=Ah){this.rb=16;this.ed=0;this.Rc=16;this.kg=0;this.Zd=160;512<=Nh(this)&&(this.Zd|=16);3==Oh(this)&&(this.Zd|=64);this.wh=3;this.ng=0;this.Sb=Array(7);this.He=0;a&&(this.ja=Array(64));Ph(this,
this.uo);for(a=21;24>=a;a++)this.ja[a]=0;for(a=14;46>a;a++)void 0===this.ja[a]&&(this.ja[a]=0);this.ja[20]=this.Pc&(yh.df|2|zh.oh|zh.df);this.ja[16]=Qh(this,0)<<4|Qh(this,1);Rh(this)}};
function Ph(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.fc("CMOS date invalid ("+b+"), using "+c)):b&&a.fc("CMOS date: "+c);a.ja[0]=c.getSeconds();a.ja[1]=0;a.ja[2]=c.getMinutes();a.ja[3]=0;a.ja[4]=c.getHours();a.ja[5]=0;a.ja[6]=c.getDay()+1;a.ja[7]=c.getDate();a.ja[8]=c.getMonth()+1;c=c.getFullYear();a.ja[9]=c%100;c/=100;a.ja[50]=c%10|c/10<<4;a.ja[10]=38;a.ja[11]=2;a.ja[12]=0;a.ja[13]=128;a.Of=a.Ze=0;a.il=a.Wg=null}
function Sh(a){var b;void 0===b&&(b=a.Wg);a.Ze=B(a.la,a.Fd)+b;a.ja[11]&64&&tb(a.la,b)}function Rh(a){for(var b=0,c=16;46>c;c++)b+=a.ja[c];a.ja[47]=b&255;a.ja[46]=b>>8}
k.save=function(){var a=new I(this);a.set(0,[this.Qb,this.Td,this.Pc,this.xe]);for(var b=[],c=0;c<this.ab;c++){for(var d=this.ab[c],e=d,f=[],g=0;g<e.yb.length;g++){var h=e.yb[g];f[g]=[h.md,h.ig,h.Vb,h.Xa,h.Ya,h.mode,h.rg,h.qo,h.ro]}b[c]=[d.yd,d.xh,d.Cj,d.Ab,f]}a.set(1,[b]);b=[];for(c=0;c<this.Rb.length;c++)d=this.Rb[c],b[c]=[d.Ef,d.Gc,d.od,d.Sc,d.Jb,d.vc,d.$d,d.lf];a.set(2,[b]);b=[];for(c=0;c<this.Ib.length;c++)d=this.Ib[c],b[c]=[d.Vb,d.rc,d.Ya,d.he,d.Ej,d.mode,d.gh,d.Bd,d.ge,d.Vc,d.vf,d.le,d.nd];
a.set(3,[this.Bh,b]);a.set(4,[this.qg,this.pc,this.zh,this.mf,this.pg]);this.Ga>=Ah&&(a.set(5,[this.rb,this.ed,this.Rc,this.kg,this.Zd,this.wh]),a.set(6,[this.ng,this.Sb,this.He,this.ja,this.Of,this.Ze]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Qb=b[0];this.Td=b[1];this.Pc=b[2];this.xe=b[3];b=a[1];for(c=0;c<this.ug;c++)Kh(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.nf;c++)Lh(this,c,0===c?32:160,b[0][c]);b=a[3];this.Bh=b[0];for(c=0;c<this.Ib.length;c++)Mh(this,c,b[1][c]);b=a[4];this.qg=b[0];this.pc=b[1];this.zh=b[2];this.mf=b[3];this.pg=b[4];if(b=a[5])this.rb=b[0],this.ed=b[1],this.Rc=b[2],this.kg=b[3],this.Zd=b[4],this.wh=b[5];if(b=a[6])this.ng=b[0],this.Sb=b[1],this.He=b[2],this.ja=b[3],
this.Of=b[4],this.Ze=b[5],Ph(this);return!0};var Th=[0,null,null,0,Array(4)];function Kh(a,b,c){var d=a.ab[b];d||(d={yb:Array(4)});c=c&&5==c.length?c:Th;d.yd=c[0];d.xh=c[1];d.Cj=c[2];d.Ab=c[3];d.dn=b<<2;for(var e=0;e<d.yb.length;e++)Uh(d,e,c[4][e]);a.ab[b]=d}var Vh=[!0,[0,0],[0,0],[0,0],[0,0]];
function Uh(a,b,c){var d=a.yb[b];d||(d={ig:[0,0],Vb:[0,0],Xa:[0,0],Ya:[0,0]});c=c&&8==c.length?c:Vh;d.md=c[0];d.ig[0]=c[1][0];d.ig[1]=c[1][1];d.Vb[0]=c[2][0];d.Vb[1]=c[2][1];d.Xa[0]=c[3][0];d.Xa[1]=c[3][1];d.Ya[0]=c[4][0];d.Ya[1]=c[4][1];d.mode=c[5];d.rg=c[6];d.ea=a;d.Yj=b;Wh(d,c[8],c[9]);a.yb[b]=d}function Wh(a,b,c,d){"string"==typeof b&&(b=La(b));b&&(a.yg=null,a.qo=b.id,a.ro=c,a.xg=b,a.Xh=b[c],a.Zg=d)}var Xh=[0,Array(4)];
function Lh(a,b,c,d){var e=a.Rb[b];e||(e={Gc:[null,null,null,null]});d=d&&8==d.length?d:Xh;e.port=c;e.Mp=b<<3;e.Ef=d[0];e.Gc[0]=d[1][0];e.Gc[1]=d[1][1];e.Gc[2]=d[1][2];e.Gc[3]=d[1][3];e.od=d[2];e.Sc=d[3];e.Jb=d[4];e.vc=d[5];e.$d=d[6];e.lf=d[7];a.Rb[b]=e}var Yh=[[0,0],[0,0],[0,0],[0,0]];
function Mh(a,b,c){var d=a.Ib[b];d||(d={Vb:[0,0],rc:[0,0],Ya:[0,0],he:[0,0]});c=c&&13==c.length?c:Yh;d.Vb[0]=c[0][0];d.Vb[1]=c[0][1];d.rc[0]=c[1][0];d.rc[1]=c[1][1];d.Ya[0]=c[2][0];d.Ya[1]=c[2][1];d.he[0]=c[3][0];d.he[1]=c[3][1];d.Ej=c[4];d.mode=c[5];d.gh=c[6];d.Bd=c[7];d.ge=c[8];d.Vc=c[9];d.vf=c[10];d.le=c[11];d.nd=c[12];a.Ib[b]=d}function Nh(a,b){return((((b?a.Qb:a.Pc)&12)>>2)+1)*a.Zm+32*((b?a.Td:a.xe)&15)}function Zh(a,b){var c=b?a.Qb:a.Pc;return a.Ga!=vh||c&zh.oh?((c&zh.df)>>zh.ef)+1:0}
function Qh(a,b){if(b<Zh(a)){if(!a.sd)return 1;if(b<a.sd.length)switch(a.sd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Oh(a,b){return((b?a.Qb:a.Pc)&yh.df)>>yh.ef}
function Ch(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=y(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)null!=e&&null!=e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),$h(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");$h(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Qb=
a.Qb&~e|(c?0:e);break;case "sw2":a.Td=a.Td&~e|(c?0:e)}Jh(a)}}(a,b[g])}function $h(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Jh(a){var b=a.ra.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Nh(a,!0)+"Kb");d+=", "+c[Oh(a,!0)]+" Monitor";d+=", "+Zh(a,!0)+" Floppy Drives";if(null!=a.Pc&&a.Pc!=a.Qb||null!=a.xe&&a.xe!=a.Td)d+=" (Reset required)";b.textContent=d}}
function ai(a,b,c){a=a.ab[b];var d=a.yb[c],e=d.Xa[a.Ab];a.Ab^=1;b||0!=c||a.Ab||(d.Xa[0]++,255<d.Xa[0]&&(d.Xa[0]=0,d.Xa[1]++,255<d.Xa[1]&&(d.Xa[1]=0)));return e}function bi(a,b,c,d){a=a.ab[b];c=a.yb[c];c.Xa[a.Ab]=c.ig[a.Ab]=d;a.Ab^=1}function ci(a,b,c){a=a.ab[b];var d=a.yb[c],e=d.Ya[a.Ab];a.Ab^=1;b||0!=c||a.Ab||(d.Ya[0]--,0>d.Ya[0]&&(d.Ya[0]=255,d.Ya[1]--,0>d.Ya[1]&&(d.Ya[1]=255)));return e}function di(a,b,c,d){a=a.ab[b];c=a.yb[c];c.Ya[a.Ab]=c.Vb[a.Ab]=d;a.Ab^=1}
function ei(a,b){var c=a.ab[b],d=c.yd|1;c.yd&=-16;return d}function fi(a,b,c){a=a.ab[b];b=c&3;a.yd=a.yd&~(16<<b)|(c&4)<<b+2;a.Cj=c}function gi(a,b,c){b=a.ab[b];var d=c&3,e=b.yb[d];e.md=!!(c&4);e.md||hi(a,b.dn+d)}function ii(a,b){for(var c=a.ab[b],d=0;d<c.yb.length;d++)Uh(c,d)}function ji(a,b,c){return a.ab[b].yb[c].rg}function ki(a,b,c,d){a.ab[b].yb[c].rg=d}function li(a,b,c,d,e){Wh(a.ab[b>>2].yb[b&3],c,d,e)}
function hi(a,b,c){b=a.ab[b>>2].yb[b&3];b.xg&&b.Xh&&b.Zg?(c&&(b.yg=c),b.md||bd(a,b,!0)):c&&c(!0)}function bd(a,b,c){c&&(b.count=b.Ya[1]<<8|b.Ya[0],b.yl=b.mode&12,b.Vj=b.Uc=!1);for(var d=!1;0<=b.count&&(c=b.rg<<16|b.Xa[1]<<8|b.Xa[0],4==b.yl?(d=!0,function(c){b.Xh.call(b.xg,b.Zg,-1,function(f,g){0>f&&(b.Vj||(b.Vj=!0),f=255);b.md||cb(a.qa,c,f);(d=g)&&setTimeout(function(){mi(b)||bd(a,b)},0)})}(c)):8==b.yl?(c=ab(a.qa,c),0>b.Xh.call(b.xg,b.Zg,c)&&(b.Uc=!0)):b.Uc=!0),!d&&!mi(b););}
function mi(a){if(!a.Uc&&0<=--a.count&&(a.mode&32?(a.Xa[0]--,0>a.Xa[0]&&(a.Xa[0]=255,a.Xa[1]--,0>a.Xa[1]&&(a.Xa[1]=255))):(a.Xa[0]++,255<a.Xa[0]&&(a.Xa[0]=0,a.Xa[1]++,255<a.Xa[1]&&(a.Xa[1]=0))),!a.md))return!1;var b=a.ea;b.yd=b.yd&~(16<<a.Yj)|1<<a.Yj;a.mode&16||(a.md=!0,a.xg=a.Zg=null);a.yg&&(a.yg(!a.Uc),a.yg=null);return!0}function ni(a,b){var c=0,d=a.Rb[b];if(null!=d.lf)switch(d.lf&3){case 2:c=d.Jb;break;case 3:c=d.vc}return c}
function oi(a,b,c){b=a.Rb[b];if(c&16)b.od=0,b.Gc[b.od++]=c,b.Sc=0,b.$d=7,b.Jb=b.vc=0,b.lf=10;else if(c&8)b.lf=c;else{var d=c&224;if(d&32){var e=0;if(96==(d&96))e=1<<(c&7);else for(c=b.$d+1;;){c&=7;d=1<<c;if(b.vc&d){e=d;break}if(c++==b.$d)break}b.vc&e&&(b.vc&=~e,pi(a))}else 192==d&&(b.$d=c&7)}}function ui(a,b,c){var d=a.Rb[b];d.od<d.Gc.length?(d.Gc[d.od++]=c,2==d.od&&d.Gc[0]&2&&d.od++,3!=d.od||d.Gc[0]&1||d.od++):(d.Sc=c,d=a.la,d.Z|=4,pi(a,b||253!=c?0:6))}
function vi(a,b,c){var d=a.Rb[b>>3];b=1<<(b&7);d.Jb&b||(d.Jb|=b,d.Ef=c||0,pi(a))}function wi(a,b){var c=a.Rb[b>>3],d=1<<(b&7);c.Jb&d&&(c.Jb&=~d,pi(a))}function pi(a,b){var c,d=-1;1<a.nf&&(c=a.Rb[1],d=~(c.vc|c.Sc)&c.Jb);c=a.Rb[0];0<=d&&(c.Jb=d?c.Jb|4:c.Jb&-5);var d=~(c.vc|c.Sc)&c.Jb,e=a.la;e.ka&&(e.lb=d?e.lb|1:e.lb&-2);d&&b&&(c.Ef=b)}
function $c(a,b){void 0===b&&(b=0);var c=-1,d=a.Rb[b];if(d.Ef)c=-2,d.Ef--;else for(var e=d.Jb&((d.vc|d.Sc)^255),f=d.$d+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Gc[1]+f:$c(a,1);0<=c&&(d.vc|=g,d.Jb&=~g);break}if(f++==d.$d)break}return c}function xi(a,b){var c=a.Ib[b];c.Bd==c.ge&&yi(a,b);if(c.vf)return c.he[c.Bd++];zi(a,b);return c.Ya[c.Bd++]}
function Ai(a,b,c){var d=a.Ib[b];d.Bd==d.ge&&yi(a,b);d.Vb[d.Bd++]=c;d.Bd==d.ge&&(d.le&&0!=d.mode&&8!=d.mode||(d.vf=!1,d.Ya[0]=d.rc[0]=d.Vb[0],d.Ya[1]=d.rc[1]=d.Vb[1],d.nd=B(a.la,a.Fd),d.le=!0,d.Vc=0!=d.mode,0==b&&(wi(a,0),c=Bi(a,0)*a.Yg|0,6==d.mode&&(c>>=1),tb(a.la,c))),2==b&&wb(a))}k=P.prototype;k.Tm=function(){return null};
k.fo=function(a,b){this.Bh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Ib[c];g.gh=f;g.mode=e;g.Ej=d;g.Vb=[0,0];g.Ya=[0,0];g.he=[0,0];g.Vc=!1;g.vf=!1;g.le=!1;yi(this,c);0==c&&wi(this,0);2==c&&255==this.Rb[0].Sc&&77==this.pc&&(c=this.Ib[0],c.rc[0]=c.Vb[0],c.rc[1]=c.Vb[1],c.nd=B(this.la,this.Fd))}else zi(this,c),d=this.Ib[c],d.he[0]=d.Ya[0],d.he[1]=d.Ya[1],d.vf=!0,yi(this,c)}};function Bi(a,b){var c=a.Ib[b],d=c.Vb[1]<<8|c.Vb[0];d||(d=1==c.ge?256:65536);return d}
function yb(a,b){var c=a.Ib[b],d=c.rc[1]<<8|c.rc[0];d||(d=1==c.ge?256:65536);return d}function yi(a,b){var c=a.Ib[b];c.Bd=32==c.gh?1:0;c.ge=48==c.gh?2:1}
function zi(a,b,c){var d=a.Ib[b];if(d.le&&(2!=b||a.pc&1)){var e=B(a.la,a.Fd),f=(e-d.nd)/a.Yg|0;0>f&&(d.nd=e,f=0);var g=Bi(a,b),h=yb(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Vc=!0,d.le=!1,b||vi(a,0))):4==d.mode?(d.Vc=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.rc[0]=h&255,d.rc[1]=h>>8,d.nd=e,!b&&d.Vc&&vi(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Vc=!d.Vc,h=g+h,0>=h&&(h=g),d.rc[0]=h&255,d.rc[1]=h>>8,d.nd=e,!b&&d.Vc&&vi(a,0)));d.Ya[0]=h&255;d.Ya[1]=h>>8;c&&(a.nd=0)}return d}
function xb(a,b){for(var c=0;c<a.Ib.length;c++)zi(a,c,b);if(a.Ga>=Ah){var c=a.la.ba.Yc,d=B(a.la,a.Fd);null==a.Wg&&(a.Of=B(a.la,a.Fd),a.il=1024,a.Wg=Math.floor(a.la.ba.Yc/a.il),Sh(a));d>=a.Ze&&(a.ja[12]|=64,a.ja[11]&64&&(a.ja[12]|=128,vi(a,8)),a.Ze=d+a.Wg);a.ja[0]==a.ja[1]&&a.ja[2]==a.ja[3]&&a.ja[4]==a.ja[5]&&(a.ja[12]|=32,a.ja[11]&32&&(a.ja[12]|=128,vi(a,8)));var e=d-a.Of,f=Math.floor(e/c);if(f&&!(a.ja[11]&128)){for(;f--;)if(60<=++a.ja[0]&&(a.ja[0]=0,60<=++a.ja[2]&&(a.ja[2]=0,24<=++a.ja[4]))){a.ja[4]=
0;a.ja[6]=a.ja[6]%7+1;var g;g=a.ja[9];var h=ka[a.ja[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ja[7]>g&&(a.ja[7]=1,12<++a.ja[8]&&(a.ja[8]=1,a.ja[9]=(a.ja[9]+1)%100))}a.ja[12]|=16;a.ja[11]&16&&(a.ja[12]|=128,vi(a,8))}a.Of=d-e%c}}k.Lm=function(){var a=this.qg;this.mf&16&&(this.pc&128?a=this.Pc:this.Na&&(a=Ci(this.Na)));return a};k.Yn=function(a,b){this.qg=b};k.Mm=function(){return this.pc};k.Zn=function(a,b){Di(this,b);this.Na&&Ei(this.Na,b&128?!1:!0,b&64?!0:!1)};
function Di(a,b){var c=!!(b&2),d=!!(a.pc&2);a.pc=b;c!=d&&wb(a,c)}k.Nm=function(){var a=0,a=this.Ga==vh?this.pc&4?a|this.xe&15:a|this.xe>>4&1:this.pc&8?a|this.Pc>>4:a|this.Pc&15;this.pc&1&&zi(this,2).Vc&&(a=this.pc&2?a|32:a|16);return a};k.$n=function(a,b){this.zh=b};k.Om=function(){return this.mf};k.ao=function(a,b){this.mf=b};k.bm=function(){var a=this.kg;this.rb&=-258;var b=this.Na&&Ci(this.Na,!0);b&&Fi(this,b);return a};
k.pn=function(a,b){if(this.rb&8)switch(this.ed){case 96:Gi(this,b);break;case 209:Hi(this,b);break;default:if(Gi(this,this.Rc&-17),this.Na){var c=-1;switch(b){case 255:c=250,Ii(this.Na)}Fi(this,c)}}this.ed=b;this.rb&=-9};k.cm=function(){return this.pc&-209|(B(this.la)&64?16:0)};k.qn=function(a,b){Di(this,b)};k.dm=function(){var a=this.rb&255;this.rb&256&&(this.rb|=1,this.rb&=-257);return a};
k.on=function(a,b){this.ed=b;this.rb|=8;var c=0;240<=this.ed&&(c=this.ed^15,this.ed=240);switch(this.ed){case 192:Fi(this,this.Zd);break;case 173:Gi(this,this.Rc|16);break;case 174:Gi(this,this.Rc&-17);break;case 170:this.Na&&Ji(this.Na,!0);Gi(this,this.Rc|16);Fi(this,85);Hi(this,3);break;case 224:Fi(this,this.Rc&16?0:1);break;case 240:c&1&&xc(this.la)}};function Gi(a,b){var c=!(a.Rc&16);a.Rc=b;a.rb=a.rb&-5|b&4;if(a.Na){var d=!(b&16);Ei(a.Na,!!(b&8),d)&&Fi(a,Ci(a.Na,!0));!c&&d&&Ci(a.Na)&&Ki(a)}}
function Fi(a,b){0<=b&&(a.kg=b,a.rb&=-2,a.rb|=256)}function Hi(a,b){a.wh=b;Xa(a.qa,!!(b&2));b&1||xc(a.la)}function Ki(a){a.Ga<Ah?vi(a,1,4):a.Rc&16||vi(a,1,120)}k.rm=function(){return this.He};k.En=function(a,b){this.He=b;this.pg=b&128?0:128};
k.sm=function(a,b){var c=this.He&63,d;if(13>=c)if(d=this.ja[c],10>c){var e=!1;4!=c&&5!=c||this.ja[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ja[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.ja[c]^=128);else d=this.ja[c];null!=b&&12==c&&(this.ja[c]&=15,d&128&&wi(this,8),d&64&&this.ja[11]&64&&Sh(this));return d};
k.Fn=function(a,b){var c=this.He&63,d=b^this.ja[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.ja[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.ja[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ja[c]=e;11==c&&d&64&&b&64&&Sh(this)};k.Jm=function(){return this.ng};k.Vn=function(a,b){this.ng=b};k.Xn=function(a,b){this.pg=b};k.Gn=function(){};k.Hn=function(){};
function wh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function wb(a,b){if(a.Fh){void 0!==b?a.Tj=b:b=a.Tj&&a.la&&a.la.na.bc;var c=Math.round(1193181/Bi(a,2));if(20>c||2E4<c)b=!1;b?a.bd?a.bd.frequency.value=c:(a.bd=a.Fh.createOscillator(),a.bd.type=1,a.bd.connect(a.Fh.destination),a.bd.frequency.value=c,a.bd.noteOn(0)):a.bd&&(a.bd.noteOff(0),a.bd.disconnect(),delete a.bd)}else b&&a.cc("BEEP",Li)}
var Dh={0:function(){return ai(this,0,0)},1:function(){return ci(this,0,0)},2:function(){return ai(this,0,1)},3:function(){return ci(this,0,1)},4:function(){return ai(this,0,2)},5:function(){return ci(this,0,2)},6:function(){return ai(this,0,3)},7:function(){return ci(this,0,3)},8:function(){return ei(this,0)},32:function(){return ni(this,0)},33:function(){return this.Rb[0].Sc},64:function(){return xi(this,0)},65:function(){return xi(this,1)},66:function(){return xi(this,2)},67:P.prototype.Tm,129:function(){return ji(this,
0,2)},130:function(){return ji(this,0,3)},131:function(){return ji(this,0,1)},135:function(){return ji(this,0,0)}},Fh={96:P.prototype.Lm,97:P.prototype.Mm,98:P.prototype.Nm,99:P.prototype.Om},Hh={96:P.prototype.bm,97:P.prototype.cm,100:P.prototype.dm,112:P.prototype.rm,113:P.prototype.sm,128:P.prototype.Jm,132:function(){return this.Sb[0]},133:function(){return this.Sb[1]},134:function(){return this.Sb[2]},136:function(){return this.Sb[3]},137:function(){return ji(this,1,2)},138:function(){return ji(this,
1,3)},139:function(){return ji(this,1,1)},140:function(){return this.Sb[4]},141:function(){return this.Sb[5]},142:function(){return this.Sb[6]},143:function(){return ji(this,1,0)},160:function(){return ni(this,1)},161:function(){return this.Rb[1].Sc},192:function(){return ai(this,1,0)},194:function(){return ci(this,1,0)},196:function(){return ai(this,1,1)},198:function(){return ci(this,1,1)},200:function(){return ai(this,1,2)},202:function(){return ci(this,1,2)},204:function(){return ai(this,1,3)},
206:function(){return ci(this,1,3)},208:function(){return ei(this,1)}},Eh={0:function(a,b){bi(this,0,0,b)},1:function(a,b){di(this,0,0,b)},2:function(a,b){bi(this,0,1,b)},3:function(a,b){di(this,0,1,b)},4:function(a,b){bi(this,0,2,b)},5:function(a,b){di(this,0,2,b)},6:function(a,b){bi(this,0,3,b)},7:function(a,b){di(this,0,3,b)},8:function(a,b){this.ab[0].xh=b},9:function(a,b){fi(this,0,b)},10:function(a,b){gi(this,0,b)},11:function(a,b){this.ab[0].yb[b&3].mode=b},12:function(){this.ab[0].Ab=0},13:function(){ii(this,
0)},32:function(a,b){oi(this,0,b)},33:function(a,b){ui(this,0,b)},64:function(a,b){Ai(this,0,b)},65:function(a,b){Ai(this,1,b)},66:function(a,b){Ai(this,2,b)},67:P.prototype.fo,129:function(a,b){ki(this,0,2,b)},130:function(a,b){ki(this,0,3,b)},131:function(a,b){ki(this,0,1,b)},135:function(a,b){ki(this,0,0,b)}},Gh={96:P.prototype.Yn,97:P.prototype.Zn,98:P.prototype.$n,99:P.prototype.ao,160:P.prototype.Xn},Ih={96:P.prototype.pn,97:P.prototype.qn,100:P.prototype.on,112:P.prototype.En,113:P.prototype.Fn,
128:P.prototype.Vn,132:function(a,b){this.Sb[0]=b},133:function(a,b){this.Sb[1]=b},134:function(a,b){this.Sb[2]=b},136:function(a,b){this.Sb[3]=b},137:function(a,b){ki(this,1,2,b)},138:function(a,b){ki(this,1,3,b)},139:function(a,b){ki(this,1,1,b)},140:function(a,b){this.Sb[4]=b},141:function(a,b){this.Sb[5]=b},142:function(a,b){this.Sb[6]=b},143:function(a,b){ki(this,1,0,b)},160:function(a,b){oi(this,1,b)},161:function(a,b){ui(this,1,b)},192:function(a,b){bi(this,1,0,b)},194:function(a,b){di(this,
1,0,b)},196:function(a,b){bi(this,1,1,b)},198:function(a,b){di(this,1,1,b)},200:function(a,b){bi(this,1,2,b)},202:function(a,b){di(this,1,2,b)},204:function(a,b){bi(this,1,3,b)},206:function(a,b){di(this,1,3,b)},208:function(a,b){this.ab[1].xh=b},210:function(a,b){fi(this,1,b)},212:function(a,b){gi(this,1,b)},214:function(a,b){this.ab[1].yb[b&3].mode=b},216:function(){this.ab[1].Ab=0},218:function(){ii(this,1)},240:P.prototype.Gn,241:P.prototype.Hn};
za(function(){for(var a=y(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new P(d);Na(d,c);Jh(d)}});function Mi(a){u.call(this,"ROM",a,Mi);this.zb=null;this.xj=a.addr;this.kh=a.size;this.Gl=a.alias;this.Vf=a.file;this.$j=a.notify;if(this.Vf){a=this.Vf;var b=fa(this.Vf);"json"!=b&&"hex"!=b&&(a=ma()+"/api/v1/dump?file="+this.Vf+"&format=bytes&decimal=true");la(a,!0,null,this,Mi.prototype.jn)}}v(u,Mi);Mi.prototype.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Ta=d;Ni(this)};
Mi.prototype.Xb=function(){this.uh&&(this.Ta&&this.Ta.xp(this.xj,this.kh,this.uh),delete this.uh);return!0};Mi.prototype.Wb=function(){return!0};
Mi.prototype.jn=function(a,b,c){if(c)this.Aa("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.zb=e;else if(f)for(this.zb=Array(4*f.length),c=b=0;b<f.length;b++)this.zb[c++]=f[b]&255,this.zb[c++]=f[b]>>8&255,this.zb[c++]=f[b]>>16&255,this.zb[c++]=f[b]>>24&255;else this.zb=d;this.uh=d.symbols;if(!this.zb.length){r("Empty ROM: "+a);return}if(1==this.zb.length){r(this.zb[0]);return}}catch(g){this.Aa("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.zb=Array(a.length),d=0;d<a.length;d++)this.zb[d]=parseInt(a[d],16);Ni(this)}};function Ni(a){if(!Pa(a))if(!a.Vf)a.Ra();else if(a.zb&&a.qa){if(a.zb.length!=a.kh)Qa(a,"ROM size (0x"+p(a.zb.length)+") does not match specified size (0x"+p(a.kh)+")");else if(Oi(a,a.xj)&&Oi(a,a.Gl)){if(a.$j){var b=La(a.$j,a.id);b&&("ega"==b.Ga&&Pi(b,a.zb,[8752,12640],8),b.Ra())}delete a.zb}a.Ra()}}
function Oi(a,b){if(null==b)return!0;if(Ya(a.qa,b,a.kh,!0)){for(var c=0;c<a.zb.length;c++)cb(a.qa,b+c,a.zb[c]);return!0}return!1}za(function(){for(var a=y(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Mi(d);Na(d,c)}});function Qi(a){u.call(this,"RAM",a,Qi);this.jg=a.addr;this.qd=a.size;this.Vl=a.test;this.Tl=!!this.qd;this.zg=!1}v(u,Qi);Qi.prototype.sc=function(a,b,c){this.qa=b;this.la=c;this.ka=z(a,"ChipSet");this.Ra()};Qi.prototype.Xb=function(a,b){b||this.reset();return!0};
Qi.prototype.Wb=function(){return!0};Qi.prototype.reset=function(){if(!this.jg&&!this.Tl&&this.ka){var a=1024*Nh(this.ka);this.qd&&a!=this.qd&&($a(this.qa,this.jg,this.qd),this.zg=!1);this.qd=a}!this.zg&&this.qd&&Ya(this.qa,this.jg,this.qd)&&(this.zg=!0,this.status(Math.floor(this.qd/1024)+"Kb"));if(this.zg){if(this.Vl||db(this.qa,1138,4660),this.ka&&(a=this.ka,a.ja)){var b=1048576>this.jg?21:23,c=a.ja[b]|a.ja[b+1]<<8,c=c+(this.qd>>10);a.ja[b]=c&255;a.ja[b+1]=c>>8;Rh(a)}}else r("No RAM allocated")};
za(function(){for(var a=y(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Qi(d);Na(d,c)}});function Ri(a){u.call(this,"Keyboard",a,Ri);this.Nj=!1;this.th={};this.bn=250;this.cn=100;this.Qc=[];this.Ra()}v(u,Ri);
var Q={Fo:1,Go:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Co:65,Do:66,qj:67,Al:68,E:69,Jo:70,Mo:71,rj:72,Oo:73,Po:74,Qo:75,Ro:76,So:77,ph:78,Uo:79,Vo:80,Xo:81,tj:82,ap:83,kp:84,op:85,pp:86,qp:87,sp:88,tp:89,vp:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,wp:97,yp:98,Ap:99,Bp:100,Cp:101,Dp:102,Ep:103,Fp:104,Gp:105,Hp:106,Ip:107,Jp:108,
Kp:109,Lp:110,Np:111,Op:112,Pp:113,Qp:114,Rp:115,Sp:116,Tp:117,Vp:118,Wp:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Si={16:2,17:8,18:32,20:256,144:512,145:1024},Ti={"caps-lock":256,"num-lock":512,"scroll-lock":1024},Ui={tab:1009,esc:1027,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},Vi={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,
bs: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,quote:40,"`":41,shift:42,"\\":43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,"right-shift":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,"num-home":71,"num-up":72,"num-pgup":73,"num-sub":74,"num-left":75,"num-center":76,"num-right":77,"num-add":78,"num-end":79,
"num-down":80,"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},T={1027:1};T[Q["1"]]=2;T[Q["!"]]=10754;T[Q["2"]]=3;T[Q["@"]]=10755;T[Q["3"]]=4;T[Q["#"]]=10756;T[Q["4"]]=5;T[Q.$]=10757;T[Q["5"]]=6;T[Q["%"]]=10758;T[Q["6"]]=7;T[Q["^"]]=10759;
T[Q["7"]]=8;T[Q["&"]]=10760;T[Q["8"]]=9;T[Q["*"]]=10761;T[Q["9"]]=10;T[Q["("]]=10762;T[Q["0"]]=11;T[Q[")"]]=10763;T[Q["-"]]=12;T[Q._]=10764;T[Q["="]]=13;T[Q["+"]]=10765;T[1008]=14;T[1009]=15;T[113]=16;T[81]=10768;T[119]=17;T[87]=10769;T[101]=18;T[69]=10770;T[114]=19;T[82]=10771;T[116]=20;T[84]=10772;T[121]=21;T[89]=10773;T[117]=22;T[85]=10774;T[105]=23;T[73]=10775;T[111]=24;T[79]=10776;T[112]=25;T[80]=10777;T[Q["["]]=26;T[Q["{"]]=10778;T[Q["]"]]=27;T[Q["}"]]=10779;T[13]=28;T[1017]=29;T[97]=30;
T[65]=10782;T[115]=31;T[83]=10783;T[100]=32;T[68]=10784;T[102]=33;T[70]=10785;T[103]=34;T[71]=10786;T[104]=35;T[72]=10787;T[106]=36;T[74]=10788;T[107]=37;T[75]=10789;T[108]=38;T[76]=10790;T[Q[";"]]=39;T[Q[":"]]=10791;T[Q["'"]]=40;T[Q['"']]=10792;T[Q["`"]]=41;T[Q["~"]]=10793;T[1016]=42;T[Q["\\"]]=43;T[Q["|"]]=10795;T[122]=44;T[90]=10796;T[120]=45;T[88]=10797;T[99]=46;T[67]=10798;T[118]=47;T[86]=10799;T[98]=48;T[66]=10800;T[110]=49;T[78]=10801;T[109]=50;T[77]=10802;T[Q[","]]=51;T[Q["<"]]=10803;
T[Q["."]]=52;T[Q[">"]]=10804;T[Q["/"]]=53;T[Q["?"]]=10805;T[3016]=54;T[1018]=56;T[Q[" "]]=57;T[1020]=58;T[1112]=59;T[1113]=60;T[1114]=61;T[1115]=62;T[1116]=63;T[1117]=64;T[1118]=65;T[1119]=66;T[1120]=67;T[1121]=68;T[1144]=69;T[1145]=70;T[1036]=71;T[1038]=72;T[1033]=73;T[1037]=75;T[1039]=77;T[1035]=79;T[1040]=80;T[1034]=81;T[1045]=82;T[1046]=83;T[1122]=87;T[1123]=88;T[4003]=7470;T[4063]=7494;T[4081]=3677523;k=Ri.prototype;
k.Fb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ra[e])switch(b){case "kbd":return this.ra[e]=c,c.onkeydown=function(a){return Wi(d,a,!0)},c.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:d.Va&64?d.Va&=-65:d.Va&40?b=!1:(d.Nj&&a==Q["`"]&&(a=27),b=!Xi(d,a));return b},c.onkeyup=function(a){return Wi(d,a,!1)},!0;case "caps-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.pd();Xi(d,1020,!0)},!0;case "num-lock":return this.ra[e]=c,c.onclick=function(){d.la&&
d.la.pd();Xi(d,1144,!0)},!0;case "scroll-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.pd();Xi(d,1145,!0)},!0;default:if(void 0!==Ui[b]&&"button"==a)return this.ra[e]=c,c.onclick=function(a,b,c){return function(){a.la&&a.la.pd();Yi(a,c);return!Xi(a,c)}}(this,b,Ui[b]),!0;if(void 0!==Vi[b])return this.ra[e]=c,a=function(a,b,c){return function(){Zi(a,c)}}(this,b,Vi[b]),b=function(a,b,c){return function(){Zi(a,c)}}(this,b,Vi[b]|128),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):
(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Ta=d;this.ka=z(a,"ChipSet")};k.Ra=function(){sa("iOS");this.Qj=sa("Mobi");this.cc("mobile keyboard support: "+(this.Qj?"true":"false"));return u.prototype.Ra.call(this)};function Ii(a){a.cc("keyboard reset",$i|aj);a.oc=[170];a.ka&&Ki(a.ka)}function Ei(a,b,c){var d=!1;a.Ph!==c&&(a.Ph=a.Th=c);a.Dg!==b&&(a.Dg=b)&&!a.Th&&Ji(a);a.Dg&&a.Th&&(Ii(a),a.Th=!1,d=!0);return d}
function Ci(a,b){var c=0;a.oc.length&&(c=a.oc[0],b&&Ji(a));return c}function Ji(a,b){0<a.oc.length&&(b?a.oc=[]:(a.oc.shift(),0<a.oc.length&&a.ka&&Ki(a.ka)))}k.Xb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Hd();this.Va=0;this.oc=[];for(var a in this.Qc)!ca(a)&&this.Qc[a]&&(clearTimeout(this.Qc[a]),this.Qc[a]=null);this.ll=this.se=0};
k.save=function(){var a=new I(this);a.set(0,this.kj());return a.data()};k.restore=function(a){return this.Hd(a[0])};k.Hd=function(a){var b=0;void 0===a&&(a=[]);this.Ph=a[b++];this.Dg=a[b];return!0};k.kj=function(){var a=0,b=[];b[a++]=this.Ph;b[a]=this.Dg;return b};
function Zi(a,b){var c=b&127,d=c==b;if(a.oc)if(20>a.oc.length){if(!(!d&&!a.th[c]||d&&a.th[c])){a.th[c]=d;a.oc.push(b);1==a.oc.length&&a.ka&&Ki(a.ka);for(var e in Vi)if(Vi[e]==c){(c=a.ra["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.oc.length&&a.oc.push(255),a.cc("scan code buffer overflow")}function bj(a,b){var c=b?a.cn:a.bn;a.la&&a.la.ba.Wc&&(c/=a.la.ba.Wc);return c}
function cj(a,b){!a.se||void 0!==b&&b==a.se||(clearTimeout(a.Qc[a.se]),dj(a,a.se,!1))}function ej(a,b){var c,d;for(d in Ti){var e="led-"+d,f=Ti[d];b&&b!=f||!(c=a.ra[e])||(c.style.backgroundColor=a.Va&f?"#00ff00":"#000000")}}function Yi(a,b){var c;if(T[b]){var d=Math.floor(b/1E3)&2,e=Si[Math.floor(b%1E3)]||0;e&&(d&&(e>>=1),e&1792&&(c=!(a.Va&e)),a.Va&=~e,c&&(a.Va|=e),ej(a,e))}}
function Wi(a,b,c){var d,e=!c,f=b.keyCode,g=f;c&&(a.ll=f);if(T[f+1E3]){var g=g+1E3,h=Si[f]||0;if(h)2==b.location&&(h>>=1,g+=2E3),a.Va&=~h,c&&(a.Va|=h),ej(a,h),20==f||144==f||145==f?d=Xi(a,g):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.Va&40)&&(g=4063),d=c?!Xi(a,g):!1}else 91==f?(a.Va&=-65,c&&(a.Va|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(g+=32):d=!0;e&&(a.Va&=-65,a.Qj||f!=a.ll||cj(a));void 0===d&&(d=!dj(a,g,c));return d}
function Xi(a,b,c){var d=!1;cj(a,b);c&&Yi(a,b);dj(a,b,!0)&&(c=!1,a.Qc[b]&&(clearTimeout(a.Qc[b]),a.Qc[b]=null,c=!0),c=bj(a,c),a.Qc[a.se=b]=setTimeout(function(a){return function(){dj(a,b,!1)}}(a),c),d=!0);return d}
function dj(a,b,c){var d=!1;c||(a.Qc[b]=null,a.se==b&&(a.se=0));var e=T[b]||T[b+1E3];if(void 0!==e){14==e&&40==(a.Va&40)&&(e=83);var d=[],f=e&255;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.Va&3||a.Va&256&&b||(g=h):29==h?a.Va&12||(g=h):56==h?a.Va&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)Zi(a,d[c]);d=!0}return d}
za(function(){for(var a=y(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ri(d);Na(d,c)}});
function U(a,b,c,d){u.call(this,"Video",a,U);this.Ga=a.model;this.Kc=0;"ega"==this.Ga&&(this.sl=a.switches,this.Kc=a.memory||0);this.$c=a.mode;if(void 0===this.$c||void 0===V[this.$c])this.$c=fj;this.Sg=a.charCols;this.li=a.charRows;if(void 0===this.Sg||void 0===this.li)this.Sg=V[this.$c][0],this.li=V[this.$c][1];this.gd=a.screenWidth;this.Dd=a.screenHeight;this.Ul=a.scale;this.Sl=12<=Math.round(this.gd/this.Sg);this.Wl=a.touchScreen;this.of=b;this.Lc=c;this.Fa=(this.xo=d)||b||null;this.Id=null;this.Ql=
a.autoLock;this.Wa=this.Hb=0;this.td=[];this.cd=Array(16);this.Qh=!1;var e=this;this.Fa&&(this.Fa.onfocus=function(){e.Qh=!0},this.Fa.onblur=function(){e.Qh=!1},this.Fa.Ue=this.Fa.requestPointerLock||this.Fa.mozRequestPointerLock||this.Fa.webkitRequestPointerLock,this.Fa.xl=this.Fa.exitPointerLock||this.Fa.mozExitPointerLock||this.Fa.webkitExitPointerLock,b=function(){e.Pf(document.pointerLockElement===e.Fa||document.mozPointerLockElement===e.Fa||document.webkitPointerLockElement===e.Fa)},"onpointerlockchange"in
document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=fa(a)&&(a=ma()+"/api/v1/dump?file="+a+"&format=bytes"),la(a,!0,null,this,this.kn)}v(u,U);
var gj={2:{oi:15700,ni:208,bj:85,cj:96},3:{oi:18432,ni:364,bj:85,cj:96},4:{oi:21850,ni:364,bj:85,cj:96}},hj={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},fj=7,V=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];V[fj]=[80,25,1,0,1];V[13]=[320,200,16];V[14]=[640,200,16];V[15]=[640,350,16];V[16]=[640,350,16];V[0]=V[1];V[2]=V[3];V[5]=V[4];var ij=Array(5);ij[0]=[0,0,0,255];ij[1]=[127,192,127,255];
ij[2]=[127,192,127,255];ij[3]=[127,255,127,255];ij[4]=[127,255,127,255];var jj=[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 kj=[2,4,6],lj=[3,5,7],mj=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],nj=[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 oj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=pj[b],f=a.Ld||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(qj)];this.Kg=b;this.Wa=e[2];this.Hb=e[3];this.Kc=d||e[4];65536<=this.Kc&&720896<=this.Wa&&(this.Hb=Math.min(this.Kc>>2,32768));this.Mc=c[0];this.tc=c[1];this.pf=c[2];this.Yf=c[3];this.Ac=c[4]&255;this.Jg=c[4]>>8&255;this.hc=c[5];this.ei=qj;if(5==b){this.ei=rj;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.Wa,this.Hb,this.Kc],Array(this.Kc>>
2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Ed=b[0];this.ne=b[1];this.Vd=b[2];this.lj=b[3];this.Ng=b[4];this.Vh=b[5];this.Te=b[6];this.gg=b[7];this.Yh=b[8];this.Zh=b[9];this.Se=b[10];this.Ce=b[11];this.Bb=b[12];d=b[13];"number"==typeof d&&(d=[this.Wa,this.Hb,d]);this.Wa=d[0];this.Hb=d[1];d=this.Kc>>2;if((this.Yd=b[14])&&this.Yd.length<d){for(var e=this.Yd,g=0,h=Array(d),m=0;m<e.length-1;){for(var n=e[m++],q=e[m++];n--;)h[g]=q,g+=2;g==d&&(g=1)}this.Yd=h}this.jh(b[15]);this.Zi=b[16];
this.gb=b[17];this.Zc=b[18];this.mb=b[19];this.Xg=b[20];this.Od=b[21];this.qe=b[22];this.gi=b[23];this.hi=b[24]}f=gj[f]||gj[3];this.ii=a.la.ba.Yc/f.oi|0;this.en=this.ii*f.bj/100|0;this.hk=this.ii*f.ni;this.gn=this.hk*f.cj/100|0;this.pi=null==c[7]?0:c[7]}}var qj=18,rj=25;function sj(a){return this.Cc(a)|this.Cc(a+1)<<8}function tj(a,b){this.Fc(a,b&255);this.Fc(a+1,b>>8&255)}
var Y=[,,function(a){a+=this.offset;return(this.ea.Bb=this.pa[a])>>this.ea.Zi&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.pa[b]>>8:this.pa[b])&255}];Y[16]=function(a){a+=this.offset;a=this.pa[a];for(var b=this.ea.gi&this.ea.hi,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.pa[c]&~this.ea.gb|(b|b<<8|b<<16|b<<24)&this.ea.gb;d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Zc|b<<8-this.ea.Zc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.qe;d=d&this.ea.gb|this.pa[c]&~this.ea.gb;d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Zc|b<<8-this.ea.Zc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.qe;d&=this.ea.Bb;d=d&this.ea.gb|this.pa[c]&~this.ea.gb;d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Zc|b<<8-this.ea.Zc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.qe;d|=this.ea.Bb;d=d&this.ea.gb|this.pa[c]&~this.ea.gb;d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Zc|b<<8-this.ea.Zc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Od|this.ea.qe;d^=this.ea.Bb;d=d&this.ea.gb|this.pa[c]&~this.ea.gb;d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.gb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.pa[d]&~c;c=c&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[d]!=c&&(this.pa[d]=c,this.kb=!0)};
Y[4096]=function(a){a+=this.offset;var b=this.pa[a]&~this.ea.gb|this.ea.Bb&this.ea.gb;this.pa[a]!=b&&(this.pa[a]=b,this.kb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=nj[b&15],d=d&this.ea.gb|this.pa[c]&~this.ea.gb,d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=nj[b&15],d=d&this.ea.Bb,d=d&this.ea.gb|this.pa[c]&~this.ea.gb,d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[40960]=function(a,b){var c=a+this.offset,d=nj[b&15],d=d|this.ea.Bb,d=d&this.ea.gb|this.pa[c]&~this.ea.gb,d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=nj[b&15],d=d^this.ea.Bb,d=d&this.ea.gb|this.pa[c]&~this.ea.gb,d=d&this.ea.mb|this.ea.Bb&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
function uj(a){var b=[];if(void 0!==a.Kg){b[0]=a.Mc;b[1]=a.tc;b[2]=a.pf;b[3]=a.Yf;b[4]=a.Ac|a.Jg<<8;b[5]=a.hc;if(5==a.Kg){var c=[];c[0]=a.Ed;c[1]=a.ne;c[2]=a.Vd;c[3]=a.lj;c[4]=a.Ng;c[5]=a.Vh;c[6]=a.Te;c[7]=a.gg;c[8]=a.Yh;c[9]=a.Zh;c[10]=a.Se;c[11]=a.Ce;c[12]=a.Bb;c[13]=[a.Wa,a.Hb,a.Kc];var d;a:if(d=a.Yd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var m=d[h],n=h+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-h>>1;f[e++]=m;h=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.di;c[16]=a.Zi;c[17]=a.gb;c[18]=a.Zc;c[19]=a.mb;c[20]=a.Xg;c[21]=a.Od;c[22]=a.qe;c[23]=a.gi;c[24]=a.hi;b[6]=c}b[7]=a.pi}return b}oj.prototype.jh=function(a){if(null!=a&&a!=this.di){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.jf||(this.jf=[null,sj,null,tj]);this.jf[0]=c;this.jf[2]=d;this.di=a}};var pj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=U.prototype;
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Ta=d;fb(b,this,vj);hb(b,this,wj);"ega"==this.Ga&&(fb(b,this,xj),hb(b,this,yj));if((this.Na=z(a,"Keyboard"))&&this.of){for(var e in this.ra)0<e.indexOf("lock")&&this.Na.Fb("led",e,this.ra[e]);this.Na.Fb(this.xo?"textarea":"canvas","kbd",this.Fa)}this.lg=9;(this.ka=z(a,"ChipSet"))&&this.sl&&(this.lg=wh(this.sl,this.lg));this.Na&&this.Wl&&zj(this)};
k.Fb=function(a,b,c){var d=this;if(!this.ra[b])switch(this.ra[b]=c,b){case "lockPointer":return this.so=c.textContent,this.Fa&&this.Fa.Ue?c.onclick=function(){d.Ue(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){mb(d,!0)},!0}return!1};k.pd=function(){this.Fa&&this.Fa.focus()};k.Ue=function(a){if(this.Fa)if(a){if(this.Fa.Ue)return this.Fa.Ue(),this.Id.Pf(!0),!0}else if(this.Fa.xl)return this.Fa.xl(),this.Id.Pf(!1),!0;return!1};
k.Pf=function(a){this.Id&&(this.Id.Pf(a),this.Na&&(this.Na.Nj=a));var b=this.ra.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.so)};function zj(a){var b=a.Fa;b&&!a.Oh&&(b.addEventListener("touchstart",function(b){Aj(a,b)},!1),b.addEventListener("touchmove",function(b){Aj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Oh=!0)}
function Aj(a,b){a.Qh&&b.preventDefault();var c=0,d=0,e=a.of;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.gd/a.of.offsetWidth,e=a.Dd/a.of.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.gd/3)|0;d=(h-d)*e/(a.Dd/3)|0;1!=d?d?Xi(a.Na,1040,!0):Xi(a.Na,1038,!0):1!=c&&(c?Xi(a.Na,1039,!0):Xi(a.Na,1037,!0))}
k.Xb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ka&&(b=Oh(this.ka));var c=!1;if(this.Ga)switch(this.Ga){case "ega":var c=!0,d=hj[this.lg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.Ld!==b&&(this.Ld=b,a=!0);this.Ea=null;this.Jc=this.Dh=new oj(this,1);this.ac=this.wg=new oj(this,3);c?(this.oa=new oj(this,5,null,this.Kc),Bj(this)):this.oa=new oj;Cj(this);this.Kd=null;this.$c=3==b?fj:3;this.ee=this.Bc=-1;this.de=0;Dj(this,this.$c);if(this.Ea.Wa&&a){a=this.Ea.Wa+this.Eh;for(b=this.Ea.Wa;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.Ld?(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),db(this.qa,b,c|d<<8);mb(this,!0)}};function Bj(a){a.oa.Ng&1?(a.Jc=a.Dh,a.ac=a.oa):(a.Jc=a.oa,a.ac=a.wg)}k.save=function(){var a=new I(this);a.set(0,uj(this.Dh));a.set(1,uj(this.wg));a.set(2,[this.Ld,this.$c,this.Kd]);a.set(3,uj(this.oa));return a.data()};
k.restore=function(a){var b=a[2];this.Ld=b[0];this.$c=b[1];this.Kd=b[2];this.Ea=null;this.Jc=this.Dh=new oj(this,1,a[0]);this.ac=this.wg=new oj(this,3,a[1]);this.oa=new oj(this,5,a[3],this.Kc);this.oa.Mc&&Bj(this);Cj(this);if(!Ej(this))return!1;Fj(this);return!0};
k.kn=function(a,b,c){if(c)this.Aa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){r("Empty font ROM image: "+a);return}if(1==d.length){r(d[0]);return}if(8192==d.length)Pi(this,d,[0,6144]);else{this.Aa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Aa("Font ROM data error: "+e.message);return}this.Ra()}};
function Gj(a,b){if(1==b)return a.cd[0]=W[0],a.cd[1]=W[7],a.cd;if(2==b){var c=a.Ea.pf;if(a.Ea===a.oa){var d=a.oa.Vd[0],c=d&7;d&16&&(c|=8);18!=a.oa.Vd[1]&&(c|=32)}a.cd[0]=W[c&15];c=c&32?lj:kj;for(d=0;d<c.length;d++)a.cd[d+1]=W[c[d]];return a.cd}if(a.ac===a.wg)return W;c=null!=a.oa.Vd[15]?a.oa.Vd:mj;for(d=0;d<a.cd.length;d++){var e=c[d]||0;a.cd[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.cd}function Pi(a,b,c,d){a.hg=b;a.sh=c;a.ie=d}
function Cj(a){var b=!1;if(window&&a.hg){var c=a.ie?0:2048,d=a.ie?a.ie:9;Hj(a,1,a.sh[0],c,d,14,a.hg,ij,jj)&&(b=!0);c=Gj(a);d=a.ie?a.ie:8;Hj(a,3,a.sh[1],0,d,8,a.hg,c)&&(b=!0);a.ie&&Hj(a,5,a.sh[0],0,a.ie,14,a.hg,c)&&(b=!0)}return b}function Hj(a,b,c,d,e,f,g,h,m){var n=!1;Ij(a,b,c,d,e,f,g,h,m)&&(n=!0);a.Sl&&Ij(a,b<<1,c,d,e,f,g,h,m)&&(n=!0);return n}
function Ij(a,b,c,d,e,f,g,h,m){var n=!1,q=b&1?0:1,s=a.td[b];s||(s={ic:e<<q,jc:f<<q,Be:Array(h.length),wj:h.slice(),ff:m,qh:Array(h.length)});for(m=0;m<h.length;m++){var t=h[m],x=s.Be[m]?s.wj[m]:[];if(t[0]!==x[0]||t[1]!==x[1]||t[2]!==x[2]){var n=s,x=m,E=q,R=c,M=d,S=e,va=f,Va=g,Qb=[0,0,0,0],zc=window.document.createElement("canvas");zc.width=n.ic<<4;zc.height=n.jc<<4;for(var qi=zc.getContext("2d"),wa=void 0,Ab=void 0,Wa=void 0,Ac=8>va||!M?va:8,xd=qi.createImageData(n.ic,n.jc),wa=0;256>wa;wa++){for(Wa=
0;Wa<va;Wa++)for(var Jk=n.ff&&x&1&&Wa>=va-2,Kk=Va[Wa<Ac?R+wa*Ac+Wa:M+wa*Ac+Wa-Ac],yd=0;yd<=E;yd++)for(Ab=0;Ab<S;Ab++){var ri=Ab<<E,si=(Wa<<E)+yd,ti=Jk||Kk&128>>(8<=Ab&&176<=wa&&223>=wa?7:Ab)?t:Qb;Jj(xd,ri,si,ti);E&&Jj(xd,ri+1,si,ti)}qi.putImageData(xd,(wa&15)*n.ic,(wa>>4)*n.jc)}n.Be[x]="#"+p(t[0],2)+p(t[1],2)+p(t[2],2);n.wj[x]=t;n.qh[x]=zc;n=!0}}a.td[b]=s;return n}function Kj(a){0<a.de||0<=a.Bc?0>a.ee&&(a.ee=0):a.ee=-1}
function Fj(a){if(a.Mb){for(var b=10;15>=b;b++)if(null==a.Ea.hc[b])return;var c=a.Ea.hc[10],b=c&31,d=a.Ea.hc[11]&31,e=a.Ea.hc[9]&31,f=!1;a.Ea===a.oa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Lj(a);else{c=a.Ea.hc[15]+((a.Ea.hc[14]&63)<<8);a.Bc!=c&&(Lj(a),a.Bc=c);d=d-b+1;if(a.zl!=b||a.Ij!=d)a.zl=b,a.Ij=d;a.Cd=e+1;Kj(a)}}}
function Lj(a){if(0<=a.Bc){if(void 0!==a.$b){var b=a.$b[a.Bc];if(b&131072){var b=b&-131073,c=a.Bc%a.Cb,d=Math.floor(a.Bc/a.Cb);a.Mb&&a.td[a.Mb]&&(a.Ke&&Mj(a,c,d,b,a.Ke),Mj(a,c,d,b));a.$b[a.Bc]=b}}a.Bc=-1}}
function Nj(a){var b;a=a.Ea;var c=a.Ce[5];if(null!=c){b=2;var d=512,e=a.Ce[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.Zc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.ve=function(a){var b=this.Ea;null!=a&&b&&a!=b.di&&(b.jh(a),this.qa.jh(b.Wa,b.Hb,b.jf))};
function Ej(a,b){var c,d=a.Kd,e=a.Ea;if(e)if(1==e.Kg)d=fj;else if(5==e.Kg){var d=null,f=e.Kc>>2,g=32768<f?32768:f,h=e.Ce[6];if(null!=h){switch(h&12){case 0:e.Wa=655360;e.Hb=f;d=255;break;case 4:e.Wa=655360;e.Hb=f;d=3==a.Ld?15:16;break;case 8:e.Wa=720896;e.Hb=g;d=fj;break;case 12:e.Wa=753664,e.Hb=g,d=3==a.Ld?2:3}c=e.gg[1]&8;f=e.hc[6]|(e.hc[7]&1)<<8;255!=d&&(h&1?753664==e.Wa?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=Nj(a)}}else e.tc&8&&(e.tc&2?(d=e.tc&16?6:5,e.tc&4||(d-=1)):(d=e.tc&1?3:1,e.tc&4&&(d-=
1)));else a.Kd=null,null==d&&(d=a.$c);if(!Dj(a,d,b))return!1;a.ve(c);return!0}
function Dj(a,b,c){if(null!=b&&(b!=a.Kd||c)){a.Hl=0;a.Kd=b;b=a.Ea||(b==fj?a.Jc:a.ac);if(b!=a.Ea||b.Wa!=a.Wa||b.Hb!=a.Hb){Lj(a);if(a.Wa){if(!$a(a.qa,a.Wa,a.Hb))return!1;a.Ea&&(a.Ea.Mc=!1)}a.Ea=b;b.Mc=!0;a.Wa=b.Wa;a.Hb=b.Hb;if(!Ya(a.qa,b.Wa,b.Hb,!1,b===a.oa?b:null))return!1}a.Mb=0;a.Cb=a.Sg;a.mc=a.li;a.fi=V[fj][2];b=0;var d=V[a.Kd];d&&(a.Cb=d[0],a.mc=d[1],a.fi=d[2],b=d[3]||0,a.Mb=d[4],4==a.Ld&&a.Ea===a.oa&&3==a.Mb&&(7==a.oa.hc[9]?a.mc=43:a.Mb=5));a.ek=a.Cb*a.mc;a.Pg=a.ek/a.fi;a.Eh=(a.Pg<<1)+b;a.Gj=
b?a.Eh+b>>1:0;13<=a.Kd&&(a.Pg<<=1);a.td.length&&(a.hd=Math.floor(a.gd/a.Cb),a.jd=Math.floor(a.Dd/a.mc),a.Mb?(b=a.td[a.Mb],d=a.td[a.Mb<<1],a.Ul&&80==a.Cb?d&&a.hd>=3*d.ic>>2&&(a.Mb<<=1,b=d):(d&&a.hd>=d.ic&&(a.Mb<<=1,b=d),b&&(a.hd=b.ic,a.jd=b.jc)),a.rf=a.sf=0,b&&(a.rf=a.Cb*b.ic,a.sf=a.mc*b.jc)):(a.hd=a.jd=1,a.rf=a.Cb,a.sf=a.mc),a.Lg=a.Lc.createImageData(a.rf,a.sf),a.Ie=window.document.createElement("canvas"),a.Ie.width=a.rf,a.Ie.height=a.sf,a.Ke=a.Ie.getContext("2d"),a.oj=a.pj=0,a.Hh=a.gd,a.Ih=a.Dd,
b=a.gd-a.Cb*a.hd,d=a.Dd-a.mc*a.jd,0<b&&(a.oj=b>>1,a.Hh-=b),0<d&&(a.pj=d>>1,a.Ih-=d),b||d)&&(a.Lc.fillStyle=a.of.style.backgroundColor,a.Lc.fillRect(0,0,a.gd,a.Dd));!1!==c?mb(a,!0):Oj(a,!0)}return!0}function Jj(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 Oj(a,b){var c;if(b){if(c=a.Pg,void 0===a.$b||a.$b.length!=c)a.$b=Array(c)}else{if(void 0===a.$b)return;c=a.$b.length}for(var d=0;d<c;d++)a.$b[d]=-1;a.de=-1}
function Mj(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.td[a.Mb];h.ff&&(d=h.ff[d]);var m=g>>4&15;h.ff&&(m=h.ff[m]);e?(b*=h.ic,c*=h.jc,e.fillStyle=h.Be[m],e.fillRect(b,c,h.ic,h.jc)):(b=b*a.hd+a.oj,c=c*a.jd+a.pj,a.Lc.fillStyle=h.Be[m],a.Lc.fillRect(b,c,a.hd,a.jd));g&256&&(m=(f&15)*h.ic,f=(f>>4)*h.jc,e?e.drawImage(h.qh[d],m,f,h.ic,h.jc,b,c,h.ic,h.jc):a.Lc.drawImage(h.qh[d],m,f,h.ic,h.jc,b,c,a.hd,a.jd));g&512&&(f=a.zl,g=a.Ij,e?(a.Cd&&a.Cd!==h.jc&&(f=Math.floor(f*h.jc/a.Cd),g=Math.floor(g*h.jc/a.Cd)),
e.fillStyle=h.Be[d],e.fillRect(b,c+f,h.ic,g)):(a.Cd&&a.Cd!==a.jd&&(f=Math.floor(f*a.jd/a.Cd),g=Math.floor(g*a.jd/a.Cd)),a.Lc.fillStyle=h.Be[d],a.Lc.fillRect(b,c+f,a.hd,g)))}
function mb(a,b){if(a.na.Lb){var c=!1;a.Ea&&(a.Ea===a.oa?a.oa.ne&32&&(c=!0):a.Ea.tc&8&&(c=!0));if(c||b){if(b)Oj(a,!0);else if(void 0===a.$b)return;var d=!1;!(b||++a.Hl&15)&&0<=a.ee&&(a.ee++,d=!0);var e=0,f=a.ek,c=a.Ea.Wa,g=c+a.Ea.Hb,h=(a.Ea.hc[12]<<8)+a.Ea.hc[13];a.Mb&&(h<<=1);var c=c+h,m=a.Eh;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.qa,n=!0,q=c>>h.Tb;0<m&&q<h.Da.length;)h.Da[q].kb&&(h.Da[q].kb=n=!1,h.Da[q].Lj=!0),m-=h.xc,q++;h=n}if(h){if(!d)return;if(!a.de){if(0>a.Bc)return;e=a.Bc;f=
e+1}}if(a.Mb){if(a.td[a.Mb]){d=0;h=a.de=0;m=1048575;a.Ea.tc&32&&(h=32768,m&=~h,a.ee&2||(m&=-65537));for(c+=e<<1;c<g&&e<f;)n=bb(a.qa,c),n|=65536,n&h&&(a.de++,n&=m),e==a.Bc&&(n|=a.ee&1?131072:0),q=a.$b[e],q!=n&&(Mj(a,e%a.Cb,Math.floor(e/a.Cb),n,a.Ke),a.$b[e]=n,d++),c+=2,e++;d&&a.Ke&&a.Lc.drawImage(a.Ie,0,0,a.rf,a.sf,a.oj,a.pj,a.Hh,a.Ih);Kj(a)}}else if(a.Gj){for(var f=g,s,t,e=c,g=a.de=0,d=a.fi,h=16==d?65536:196608,m=16==d?1:2,n=Gj(a,m),x=q=0,E=a.Cb,R=0,M=a.mc,S=0;e<f;){s=bb(a.qa,e);t=a.$b[g];if(t===
s)q+=d;else{a.$b[g]=s;s=s>>8|(s&255)<<8;t=h;var va=16;q<E&&(E=q);for(var Va=0;Va<d;Va++){var Qb=(s&(t>>=m))>>(va-=m);Jj(a.Lg,q++,x,n[Qb])}q>R&&(R=q);x<M&&(M=x);x>=S&&(S=x+1)}e+=2;g++;if(q>=a.Cb){q=0;x+=2;if(x>a.mc)break;x==a.mc&&(x=1,e=c+a.Gj)}}E<a.Cb&&(a.Ke.putImageData(a.Lg,0,0,E,M,R-E,S-M),a.Lc.drawImage(a.Ie,0,0,a.Cb,a.mc,0,0,a.gd,a.Dd))}else{f=g;e=a.de=0;g=Gj(a);d=a.Ea.Yd;m=h=0;n=a.Cb;q=0;x=a.mc;for(E=0;c<f;){R=c++-a.Wa;R=d[R];M=a.$b[e];if(M===R)h+=8;else{a.$b[e]=R;h<n&&(n=h);for(M=0;8>M;M++)S=
R&2155905152,0>S&&(S+=4294967296),S=X[S]||0,Jj(a.Lg,h++,m,g[S]),R<<=1;h>q&&(q=h);m<x&&(x=m);m>=E&&(E=m+1)}e++;if(h>=a.Cb&&(h=0,++m>a.mc))break}n<a.Cb&&(a.Ke.putImageData(a.Lg,0,0,n,x,q-n,E-x),a.Lc.drawImage(a.Ie,0,0,a.Cb,a.mc,0,0,a.gd,a.Dd))}}}}k.Gm=function(){return this.Jc.Ac};k.Tn=function(a,b){var c=this.Jc;c.Jg=c.Ac;c.Ac=b&31};k.Fm=function(){return Pj(this.Jc)};k.Sn=function(a,b){Qj(this,this.Jc,b)};k.Hm=function(){return this.Jc.tc};k.Un=function(a,b){this.Jc.tc=b;Ej(this,!1)};
k.Im=function(){return Rj(this,this.Jc)};k.kl=function(a,b){this.oa.Vh=this.oa.Vh&-4|b&3};k.ak=function(){var a=this.oa.Ed?this.oa.Vd[this.oa.ne&31]:this.oa.ne;this.oa.Ed=!this.oa.Ed;return a};k.jl=function(a,b){var c=this.oa.ne&32;if(this.oa.Ed){var d=this.oa.ne&31;if(16<=d||!c)this.oa.Vd[d]=b;this.oa.Ed=!1}else this.oa.ne=b,this.oa.Ed=!0,b&32&&!c&&Cj(this)&&mb(this,!0)};k.Sm=function(){var a=3-((this.oa.Ng&12)>>2),a=this.oa.lj&-17|(this.lg&1<<a)<<4-a;return this.oa.lj=a};
k.Wn=function(a,b){this.oa.Ng=b;Bj(this)};k.Rm=function(){return this.oa.Te};k.co=function(a,b){this.oa.Te=b};k.Qm=function(){return this.oa.gg[this.oa.Te]};k.bo=function(a,b){this.oa.gg[this.oa.Te]=b;2==this.oa.Te&&(this.oa.gb=nj[b&15])};k.ym=function(){return this.oa.Yh};k.Nn=function(a,b){this.oa.Yh=b};k.zm=function(){return this.oa.Zh};k.On=function(a,b){this.oa.Zh=b};k.xm=function(){return this.oa.Se};k.Mn=function(a,b){this.oa.Se=b};k.wm=function(){return this.oa.Ce[this.oa.Se]};
k.Ln=function(a,b){this.oa.Ce[this.oa.Se]=b;switch(this.oa.Se){case 0:this.oa.Xg=nj[b&15];this.oa.qe=this.oa.Xg&~this.oa.Od;break;case 1:this.oa.Od=~nj[b&15];this.oa.qe=this.oa.Xg&~this.oa.Od;break;case 2:this.oa.gi=nj[b&15]&2155905152;break;case 3:case 5:this.ve(Nj(this));break;case 4:this.oa.Zi=(b&3)<<3;break;case 6:Ej(this,!1);break;case 7:this.oa.hi=nj[b&15^15]&2155905152;break;case 8:this.oa.mb=b|b<<8|b<<16|b<<24}};k.om=function(){return this.ac.Ac};
k.Cn=function(a,b){var c=this.ac;c.Jg=c.Ac;c.Ac=b&31};k.nm=function(){return Pj(this.ac)};k.Bn=function(a,b){Qj(this,this.ac,b)};k.pm=function(){return this.ac.tc};k.Dn=function(a,b){this.ac.tc=b;Ej(this,!1)};k.mm=function(){return this.ac.pf};k.An=function(a,b){this.ac.pf!==b&&(this.ac.pf=b,Oj(this,!1))};k.qm=function(){return Rj(this,this.ac)};function Pj(a){var b;a.Ac<a.ei&&(b=a.hc[a.Ac]);return b}function Qj(a,b,c){b.Ac<b.ei&&(b.hc[b.Ac]=c,9==b.Ac&&8!=b.Jg&&Ej(a,!0),Fj(a))}
function Rj(a,b){var c=0,d=B(a.la),e=d-b.pi;0>e&&(e=0);e%b.ii>b.en&&(c|=1);e%=b.hk;e>b.gn&&(c|=8);b.pi=d-e;b===a.oa?(c|=b.Yf&48^48,b.Ed=!1):c=(b.Yf^=9)|240;return b.Yf=c}
var vj={948:U.prototype.Gm,949:U.prototype.Fm,952:U.prototype.Hm,954:U.prototype.Im,980:U.prototype.om,981:U.prototype.nm,984:U.prototype.pm,985:U.prototype.mm,986:U.prototype.qm},wj={948:U.prototype.Tn,949:U.prototype.Sn,952:U.prototype.Un,980:U.prototype.Cn,981:U.prototype.Bn,984:U.prototype.Dn,985:U.prototype.An},xj={960:U.prototype.ak,961:U.prototype.ak,962:U.prototype.Sm,964:U.prototype.Rm,965:U.prototype.Qm,970:U.prototype.zm,972:U.prototype.ym,974:U.prototype.xm,975:U.prototype.wm},yj={954:U.prototype.kl,
960:U.prototype.jl,961:U.prototype.jl,962:U.prototype.Wn,964:U.prototype.co,965:U.prototype.bo,970:U.prototype.On,972:U.prototype.Nn,974:U.prototype.Mn,975:U.prototype.Ln,986:U.prototype.kl};
za(function(){for(var a=y(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=w(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.style.backgroundColor=d.screenColor;sa("iOS")&&(e.setAttribute("autocapitalize","off"),e.setAttribute("autocorrect","off"));e.style.height=c.style.height=
this.B.nk},function(){Yd.call(this,this.L(),this.L());this.A-=this.B.qk},function(){this.cc("WAIT not implemented",ve);this.A--},function(){G(this,Sb(this));this.A-=this.B.lc},function(){Ub(this,this.Ha());this.A-=this.B.ec},function(){var a=this.H>>8;a&1?Uc(this):Qc(this);a&4?Lc(this)||(this.ia^=1):Lc(this)&&(this.ia^=1);a&16?Vc(this):Rc(this);a&64?Wc(this):Sc(this);a&128?Xc(this):Oc(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.na^=32896);this.A-=this.B.Cb},function(){this.H=this.H&255|(Sb(this)&
213)<<8;this.A-=this.B.Cb},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.Fi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.Fi},function(){var a=this.L(),b=this.H;$c(this,this.D.Vb(a,0),b);this.A-=this.B.Gi},function(){var a=this.L(),b=this.H;F(this,this.D.Vb(a,1),b);this.A-=this.B.Gi},function(){var a=1,b=0,c=this.B.Hi;this.va&192&&(a=this.J,b=1,c=this.B.Ji,this.va&256||(this.A-=this.B.Ii));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G);$c(this,this.Qa.Vb(this.F,
0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Hi;this.va&192&&(a=this.J,b=1,c=this.B.Ji,this.va&256||(this.A-=this.B.Ii));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G);F(this,this.Qa.Vb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ri;this.va&192&&(a=this.J,b=1,c=this.B.ti,this.va&
256||(this.A-=this.B.si));if(a--){var d=this.Ca&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.Qa,this.F);kd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.tb;this.J-=b;a&&Nc(this)==(this.va&64)&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ri;this.va&192&&(a=this.J,b=1,c=this.B.ti,this.va&256||(this.A-=this.B.si));if(a--){var d=this.Ca&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.Qa,this.F);sd.call(this,e,f);this.G=this.G+d&65535;this.F=
this.F+d&65535;this.A-=c-this.B.tb;this.J-=b;a&&Nc(this)==(this.va&64)&&(Jc(this,this.va&16?-3:-2),this.Z|=256)}},function(){this.Y=this.ia=this.na=this.H&255&this.da();this.ca=256;this.A-=this.B.pe},function(){this.Y=this.ia=this.na=this.H&this.L();this.ca=65536;this.A-=this.B.pe},function(){var a=1,b=0,c=this.B.Si;this.va&192&&(a=this.J,b=1,c=this.B.Ui,this.va&256||(this.A-=this.B.Ti));if(a--){var d=this.H;$c(this,this.Qa.Vb(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=
b;a&&(Jc(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Si;this.va&192&&(a=this.J,b=1,c=this.B.Ui,this.va&256||(this.A-=this.B.Ti));if(a--){var d=this.H;F(this,this.Qa.Vb(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(Jc(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.zi;this.va&192&&(a=this.J,b=1,c=this.B.Bi,this.va&256||(this.A-=this.B.Ai));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Ca&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&
(Jc(this,this.va&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.zi;this.va&192&&(a=this.J,b=1,c=this.B.Bi,this.va&256||(this.A-=this.B.Ai));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Ca&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(Jc(this,this.va&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Mi;this.va&192&&(a=this.J,b=1,c=this.B.Oi,this.va&256||(this.A-=this.B.Ni));a--&&(kd.call(this,this.H&255,this.O(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-1:1)&65535,this.A-=c-
this.B.tb,this.J-=b,a&&Nc(this)==(this.va&64)&&(Jc(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Mi;this.va&192&&(a=this.J,b=1,c=this.B.Oi,this.va&256||(this.A-=this.B.Ni));a--&&(sd.call(this,this.H,this.P(this.Qa,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.tb,this.J-=b,a&&Nc(this)==(this.va&64)&&(Jc(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.da();this.A-=this.B.Cb},function(){this.J=this.J&-256|this.da();this.A-=this.B.Cb},function(){this.K=this.K&
-256|this.da();this.A-=this.B.Cb},function(){this.C=this.C&-256|this.da();this.A-=this.B.Cb},function(){this.H=this.H&255|this.da()<<8;this.A-=this.B.Cb},function(){this.J=this.J&255|this.da()<<8;this.A-=this.B.Cb},function(){this.K=this.K&255|this.da()<<8;this.A-=this.B.Cb},function(){this.C=this.C&255|this.da()<<8;this.A-=this.B.Cb},function(){this.H=this.L();this.A-=this.B.Cb},function(){this.J=this.L();this.A-=this.B.Cb},function(){this.K=this.L();this.A-=this.B.Cb},function(){this.C=this.L();
this.A-=this.B.Cb},function(){this.X=this.L();this.A-=this.B.Cb},function(){this.I=this.L();this.A-=this.B.Cb},function(){this.G=this.L();this.A-=this.B.Cb},function(){this.F=this.L();this.A-=this.B.Cb},ph,qh,ph,qh,function(){M[this.da()].call(this,je)},function(){M[this.da()].call(this,ie)},function(){this.Z|=1;Wg[this.da()].call(this,Sd,this.da)},function(){this.Z|=1;Xg[this.da()].call(this,Sd,this.L)},rh,sh,rh,sh,function(){bd.call(this,3,null,this.B.Hk)},function(){var a=this.da(),b;a:{b=this.dg[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?bd.call(this,a,null,0):this.A--},function(){Pc(this)?bd.call(this,4,null,this.B.Ik):this.A-=this.B.Jk},function(){this.A-=this.B.Fk;if(this.gc&1&&this.Ca&16384){var a=D(this,this.hb.Ja+0);Rb.call(this.xa,a,!1)}else{var a=this.xa.Ya,b=this.Ha(),c=this.Ha(),d=this.Ha();null!=Vb(this,b,c,!1)&&(Ub(this,d,a),this.Ch&&Ac(this,this.Ba))}},function(){Wg[this.da()].call(this,Td,Kd)},function(){Xg[this.da()].call(this,
Ud,Kd)},function(){Wg[this.da()].call(this,Td,Ld)},function(){Xg[this.da()].call(this,Ud,Ld)},function(){var a=this.da(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ca=256;this.Y=this.ia=b;this.A-=this.B.kk},function(){var a=this.da();this.Y=this.ia=this.H=(this.H>>8)*a+this.H&255;this.ca=256;this.A-=this.B.jk},function(){this.H=this.H&-256|(Kc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.il},th,th,th,th,th,th,th,th,function(){var a=this.M();
(this.J=this.J-1&65535)&&this.Y&this.ca-1?(J(this,this.ta+a),this.A-=this.B.Qk):this.A-=this.B.Ci},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Y&this.ca-1?this.A-=this.B.Ei:(J(this,this.ta+a),this.A-=this.B.Di)},function(){var a=this.M();(this.J=this.J-1&65535)?(J(this,this.ta+a),this.A-=this.B.Pk):this.A-=this.B.Ci},function(){var a=this.M();this.J?this.A-=this.B.Ei:(J(this,this.ta+a),this.A-=this.B.Di)},function(){var a=this.da();this.H=this.H&-256|gb(this.qa,a,this.Ba-2);this.A-=this.B.wi},
function(){var a=this.da();this.H=gb(this.qa,a,this.Ba-1)|gb(this.qa,a+1&65535,this.Ba-2)<<8;this.A-=this.B.wi},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);this.A-=this.B.Li},function(){var a=this.da();ib(this.qa,a,this.H&255,this.Ba-2);ib(this.qa,a+1&65535,this.H>>8,this.Ba-2);this.A-=this.B.Li},function(){var a=this.L();G(this,this.ta);J(this,this.ta+a);this.A-=this.B.ok},function(){var a=this.L();J(this,this.ta+a);this.A-=this.B.xi},function(){Vb(this,this.L(),this.L());this.A-=
this.B.Lk},function(){var a=this.M();J(this,this.ta+a);this.A-=this.B.xi},function(){this.H=this.H&-256|gb(this.qa,this.K,this.Ba-1);this.A-=this.B.vi},function(){this.H=gb(this.qa,this.K,this.Ba-1)|gb(this.qa,this.K+1&65535,this.Ba-1)<<8;this.A-=this.B.vi},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);this.A-=this.B.Ki},function(){ib(this.qa,this.K,this.H&255,this.Ba-1);ib(this.qa,this.K+1&65535,this.H>>8,this.Ba-1);this.A-=this.B.Ki},uh,uh,function(){this.Z|=132;this.A-=this.B.Ld},function(){this.Z|=
68;this.A-=this.B.Ld},function(){this.lb|=4;this.A-=2;this.Ca&512||qb(this)},function(){Kc(this)?Qc(this):Uc(this);this.A-=2},function(){this.Db=-1;Wg[this.da()].call(this,Wd,Nd);0<=this.Db&&(this.H=this.Db)},function(){this.Db=-1;Xg[this.da()].call(this,Xd,Nd);0<=this.Db&&(this.H=this.Db,this.K=this.Uf)},function(){this.Y&=~this.ca;this.A-=2},function(){this.Y|=this.ca;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.mk},function(){this.Ca|=512;this.Z|=4;this.A-=2},function(){this.Ca&=-1025;this.A-=
2},function(){this.Ca|=1024;this.A-=2},function(){Wg[this.da()].call(this,ac,Nd)},function(){Xg[this.da()].call(this,bc,Nd)}],Yg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Xg[a].call(this,this.wj,Nd)},function(){var a=this.da();a&16||(this.Z|=1);Xg[a].call(this,vh,Nd)},function(){M[this.da()].call(this,me)},function(){M[this.da()].call(this,ne)},L,function(){this.xa.Ya?C.call(this,13,0,!0):(qe.call(this,D(this,2054)),this.F=D(this,2086),this.G=D(this,2088),this.I=D(this,2090),this.X=D(this,
2092),this.C=D(this,2094),this.K=D(this,2096),this.J=D(this,2098),this.H=D(this,2100),Wb(this.Qa,2102,D(this,2084)),Wb(this.xa,2108,D(this,2082)),Wb(this.qb,2114,D(this,2080)),Wb(this.vb,2120,D(this,2078)),Ub(this,D(this,2072)),J(this,D(this,2074)),this.Hc=D(this,2126)|D(this,2128)<<16,this.Ee=this.Hc+D(this,2130),Wb(this.Rd,2132,D(this,2076)),this.Ic=D(this,2138)|D(this,2140)<<16,this.Fe=this.Ic+D(this,2142),Wb(this.hb,2144,D(this,2070)),this.A-=195)},function(){this.xa.Ya?C.call(this,13,0,!0):(this.gc&=
-9,this.A-=2)},L,L,L,L,H,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,
L,L,L,L,L,L],Dc=[function(){this.A-=2+(0>this.ha?0:1);return this.Rd.ya},function(){this.A-=2+(0>this.ha?0:1);return this.hb.ya},function(a){this.Z|=2;this.Rd.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;-4!=this.hb.load(a)&&(F(this,this.hb.sd+4,this.hb.ib|=512),this.hb.type=768);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&2048!=(this.Gb.ib&2560)&&(this.Gb.kc>=this.xa.Ya&&this.Gb.kc>=(a&3)||7168==(this.Gb.ib&
7168)))return Wc(this),a;Sc(this);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Gb.load(a,!0)&&512==(this.Gb.ib&2560)&&this.Gb.kc>=this.xa.Ya&&this.Gb.kc>=(a&3))return Wc(this),a;Sc(this);return a},K,K],cc=[tc,tc,tc,tc,tc,tc,K,K],vh=[function(a){0>this.ha?H.call(this):(a=this.Ee-this.Hc,F(this,this.ha+2,this.Hc),F(this,this.ha+4,65280|this.Hc>>16),this.A-=11);return a},function(a){0>this.ha?H.call(this):(a=this.Fe-this.Ic,F(this,this.ha+2,this.Ic),F(this,this.ha+4,65280|this.Ic>>
16),this.A-=12);return a},function(a){0>this.ha?H.call(this):(this.Hc=D(this,this.ha+2)|Zc(this,this.ha+4)<<16,this.Ee=this.Hc+a,this.Z|=2,this.A-=11);return a},function(a){0>this.ha?H.call(this):(this.Ic=D(this,this.ha+2)|Zc(this,this.ha+4)<<16,this.Fe=this.Ic+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.gc},K,function(a){qe.call(this,a);this.A-=0>this.ha?3:6;this.Z|=2;return a},K];
function N(a){s.call(this,"ChipSet",a,N);this.Ga=(this.Ga=a.model)?parseInt(this.Ga,10):wh;this.Rb=0;var b=a.sw1;if(b)this.Rb=xh(b,yh|zh.Dl);else{this.qd=[360,360];(b=a.floppies)&&b.length&&(this.qd=b);if(b=this.qd.length)this.Rb|=Ah.ph,b--,this.Rb|=(b&3)<<Ah.ef;if(b=a.monitor||(this.Ga<Bh?"mono":"ega"),void 0!==Ch[b])this.Rb|=Ch[b]<<zh.ef}this.Td=xh(a.sw2||"11110000",0);this.$m=this.Ga==wh?16:64;this.ug=this.nf=1;this.Ga>=Bh&&(this.ug=this.nf=2);this.Dd=a.scaleTimers||!1;this.wo=a.rtcDate;this.Uj=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Fh=new window.webkitAudioContext);this.reset(!0);z(this)}v(s,N);var wh=5150,Bh=5170,Ch={none:0,tv:1,color:2,mono:3,ega:0},Ah={ph:1,ONE:0,qp:64,op:128,Oo:192,df:192,ef:6},yh=12,zh={pp:16,Go:32,Dl:48,df:48,ef:4};k=N.prototype;
k.Eb=function(a,b,c){switch(b){case "sw1":return this.ra[b]=c,Dh(this,b,c,this.Rb,{0:this.Ga==wh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==wh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==wh)return this.ra[b]=c,Dh(this,b,c,this.Td,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[b]=c,!0}return!1};
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.Ka=Ra(a,"Keyboard");this.Zg=c.ba.Vc/1193181;fb(b,this,Eh);hb(b,this,Fh);this.Ga<Bh?(fb(b,this,Gh),hb(b,this,Hh)):(fb(b,this,Ih),hb(b,this,Jh))};k.Yb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Xb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Pc=this.Rb;this.we=this.Td;Kh(this);this.$a=Array(this.ug);for(b=0;b<this.ug;b++)Lh(this,b);this.Sb=Array(this.nf);Mh(this,0,32);1<this.nf&&Mh(this,1,160);this.Bh=null;this.Ib=Array(3);for(b=0;b<this.Ib.length;b++)Nh(this,b);this.mf=this.zh=this.pc=this.qg=null;this.pg=0;if(this.Ga>=Bh){this.jb=16;this.cd=0;this.bd=16;this.kg=0;this.Zd=160;512<=Oh(this)&&(this.Zd|=16);3==Ph(this)&&(this.Zd|=64);this.wh=3;this.ng=0;this.Tb=Array(7);this.Ge=0;a&&(this.ja=Array(64));Qh(this,
this.wo);for(a=21;24>=a;a++)this.ja[a]=0;for(a=14;46>a;a++)void 0===this.ja[a]&&(this.ja[a]=0);this.ja[20]=this.Pc&(zh.df|2|Ah.ph|Ah.df);this.ja[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.fc("CMOS date invalid ("+b+"), using "+c)):b&&a.fc("CMOS date: "+c);a.ja[0]=c.getSeconds();a.ja[1]=0;a.ja[2]=c.getMinutes();a.ja[3]=0;a.ja[4]=c.getHours();a.ja[5]=0;a.ja[6]=c.getDay()+1;a.ja[7]=c.getDate();a.ja[8]=c.getMonth()+1;c=c.getFullYear();a.ja[9]=c%100;c/=100;a.ja[50]=c%10|c/10<<4;a.ja[10]=38;a.ja[11]=2;a.ja[12]=0;a.ja[13]=128;a.Of=a.Ye=0;a.jl=a.Xg=null}
function Th(a){var b;void 0===b&&(b=a.Xg);a.Ye=B(a.la,a.Dd)+b;a.ja[11]&64&&tb(a.la,b)}function Sh(a){for(var b=0,c=16;46>c;c++)b+=a.ja[c];a.ja[47]=b&255;a.ja[46]=b>>8}
k.save=function(){var a=new I(this);a.set(0,[this.Rb,this.Td,this.Pc,this.we]);for(var b=[],c=0;c<this.$a;c++){for(var d=this.$a[c],e=d,f=[],h=0;h<e.xb.length;h++){var g=e.xb[h];f[h]=[g.kd,g.ig,g.Wb,g.Wa,g.Xa,g.mode,g.rg,g.so,g.to]}b[c]=[d.wd,d.xh,d.Dj,d.zb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Sb.length;c++)d=this.Sb[c],b[c]=[d.Ef,d.Gc,d.md,d.Qc,d.Kb,d.vc,d.$d,d.lf];a.set(2,[b]);b=[];for(c=0;c<this.Ib.length;c++)d=this.Ib[c],b[c]=[d.Wb,d.rc,d.Xa,d.he,d.Fj,d.mode,d.hh,d.zd,d.ge,d.Tc,d.vf,d.le,d.ld];
a.set(3,[this.Bh,b]);a.set(4,[this.qg,this.pc,this.zh,this.mf,this.pg]);this.Ga>=Bh&&(a.set(5,[this.jb,this.cd,this.bd,this.kg,this.Zd,this.wh]),a.set(6,[this.ng,this.Tb,this.Ge,this.ja,this.Of,this.Ye]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Rb=b[0];this.Td=b[1];this.Pc=b[2];this.we=b[3];b=a[1];for(c=0;c<this.ug;c++)Lh(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.nf;c++)Mh(this,c,0===c?32:160,b[0][c]);b=a[3];this.Bh=b[0];for(c=0;c<this.Ib.length;c++)Nh(this,c,b[1][c]);b=a[4];this.qg=b[0];this.pc=b[1];this.zh=b[2];this.mf=b[3];this.pg=b[4];if(b=a[5])this.jb=b[0],this.cd=b[1],this.bd=b[2],this.kg=b[3],this.Zd=b[4],this.wh=b[5];if(b=a[6])this.ng=b[0],this.Tb=b[1],this.Ge=b[2],this.ja=b[3],
this.Of=b[4],this.Ye=b[5],Qh(this);return!0};var Uh=[0,null,null,0,Array(4)];function Lh(a,b,c){var d=a.$a[b];d||(d={xb:Array(4)});c=c&&5==c.length?c:Uh;d.wd=c[0];d.xh=c[1];d.Dj=c[2];d.zb=c[3];d.fn=b<<2;for(var e=0;e<d.xb.length;e++)Vh(d,e,c[4][e]);a.$a[b]=d}var Wh=[!0,[0,0],[0,0],[0,0],[0,0]];
function Vh(a,b,c){var d=a.xb[b];d||(d={ig:[0,0],Wb:[0,0],Wa:[0,0],Xa:[0,0]});c=c&&8==c.length?c:Wh;d.kd=c[0];d.ig[0]=c[1][0];d.ig[1]=c[1][1];d.Wb[0]=c[2][0];d.Wb[1]=c[2][1];d.Wa[0]=c[3][0];d.Wa[1]=c[3][1];d.Xa[0]=c[4][0];d.Xa[1]=c[4][1];d.mode=c[5];d.rg=c[6];d.ea=a;d.Zj=b;Xh(d,c[8],c[9]);a.xb[b]=d}function Xh(a,b,c,d){"string"==typeof b&&(b=Ka(b));b&&(a.yg=null,a.so=b.id,a.to=c,a.xg=b,a.Yh=b[c],a.$g=d)}var Yh=[0,Array(4)];
function Mh(a,b,c,d){var e=a.Sb[b];e||(e={Gc:[null,null,null,null]});d=d&&8==d.length?d:Yh;e.port=c;e.Op=b<<3;e.Ef=d[0];e.Gc[0]=d[1][0];e.Gc[1]=d[1][1];e.Gc[2]=d[1][2];e.Gc[3]=d[1][3];e.md=d[2];e.Qc=d[3];e.Kb=d[4];e.vc=d[5];e.$d=d[6];e.lf=d[7];a.Sb[b]=e}var Zh=[[0,0],[0,0],[0,0],[0,0]];
function Nh(a,b,c){var d=a.Ib[b];d||(d={Wb:[0,0],rc:[0,0],Xa:[0,0],he:[0,0]});c=c&&13==c.length?c:Zh;d.Wb[0]=c[0][0];d.Wb[1]=c[0][1];d.rc[0]=c[1][0];d.rc[1]=c[1][1];d.Xa[0]=c[2][0];d.Xa[1]=c[2][1];d.he[0]=c[3][0];d.he[1]=c[3][1];d.Fj=c[4];d.mode=c[5];d.hh=c[6];d.zd=c[7];d.ge=c[8];d.Tc=c[9];d.vf=c[10];d.le=c[11];d.ld=c[12];a.Ib[b]=d}function Oh(a,b){return((((b?a.Rb:a.Pc)&12)>>2)+1)*a.$m+32*((b?a.Td:a.we)&15)}function $h(a,b){var c=b?a.Rb:a.Pc;return a.Ga!=wh||c&Ah.ph?((c&Ah.df)>>Ah.ef)+1:0}
function Rh(a,b){if(b<$h(a)){if(!a.qd)return 1;if(b<a.qd.length)switch(a.qd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Ph(a,b){return((b?a.Rb:a.Pc)&zh.df)>>zh.ef}
function Dh(a,b,c,d,e){for(var f="",h=1;8>=h;h++){var g="pcjs-bitCell";h||(g+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+h)+'" class="'+g+'" data-value="0">'+h+"</div>\n"}c.innerHTML=f;b=y(c,"pcjs-bitCell");c=null;for(h=0;h<b.length;h++)null!=e&&null!=e[h]&&(c=e[h]),c&&b[h].setAttribute("title",c),ai(b[h],d&1<<h?!1:!0),b[h].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");ai(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Rb=
a.Rb&~e|(c?0:e);break;case "sw2":a.Td=a.Td&~e|(c?0:e)}Kh(a)}}(a,b[h])}function ai(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.ra.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Oh(a,!0)+"Kb");d+=", "+c[Ph(a,!0)]+" Monitor";d+=", "+$h(a,!0)+" Floppy Drives";if(null!=a.Pc&&a.Pc!=a.Rb||null!=a.we&&a.we!=a.Td)d+=" (Reset required)";b.textContent=d}}
function bi(a,b,c){a=a.$a[b];var d=a.xb[c],e=d.Wa[a.zb];a.zb^=1;b||0!=c||a.zb||(d.Wa[0]++,255<d.Wa[0]&&(d.Wa[0]=0,d.Wa[1]++,255<d.Wa[1]&&(d.Wa[1]=0)));return e}function ci(a,b,c,d){a=a.$a[b];c=a.xb[c];c.Wa[a.zb]=c.ig[a.zb]=d;a.zb^=1}function di(a,b,c){a=a.$a[b];var d=a.xb[c],e=d.Xa[a.zb];a.zb^=1;b||0!=c||a.zb||(d.Xa[0]--,0>d.Xa[0]&&(d.Xa[0]=255,d.Xa[1]--,0>d.Xa[1]&&(d.Xa[1]=255)));return e}function ei(a,b,c,d){a=a.$a[b];c=a.xb[c];c.Xa[a.zb]=c.Wb[a.zb]=d;a.zb^=1}
function fi(a,b){var c=a.$a[b],d=c.wd|1;c.wd&=-16;return d}function gi(a,b,c){a=a.$a[b];b=c&3;a.wd=a.wd&~(16<<b)|(c&4)<<b+2;a.Dj=c}function hi(a,b,c){b=a.$a[b];var d=c&3,e=b.xb[d];e.kd=!!(c&4);e.kd||ii(a,b.fn+d)}function ji(a,b){for(var c=a.$a[b],d=0;d<c.xb.length;d++)Vh(c,d)}function ki(a,b,c){return a.$a[b].xb[c].rg}function li(a,b,c,d){a.$a[b].xb[c].rg=d}function mi(a,b,c,d,e){Xh(a.$a[b>>2].xb[b&3],c,d,e)}
function ii(a,b,c){b=a.$a[b>>2].xb[b&3];b.xg&&b.Yh&&b.$g?(c&&(b.yg=c),b.kd||cd(a,b,!0)):c&&c(!0)}function cd(a,b,c){c&&(b.count=b.Xa[1]<<8|b.Xa[0],b.zl=b.mode&12,b.Wj=b.Sc=!1);for(var d=!1;0<=b.count&&(c=b.rg<<16|b.Wa[1]<<8|b.Wa[0],4==b.zl?(d=!0,function(c){b.Yh.call(b.xg,b.$g,-1,function(f,h){0>f&&(b.Wj||(b.Wj=!0),f=255);b.kd||cb(a.qa,c,f);(d=h)&&setTimeout(function(){ni(b)||cd(a,b)},0)})}(c)):8==b.zl?(c=ab(a.qa,c),0>b.Yh.call(b.xg,b.$g,c)&&(b.Sc=!0)):b.Sc=!0),!d&&!ni(b););}
function ni(a){if(!a.Sc&&0<=--a.count&&(a.mode&32?(a.Wa[0]--,0>a.Wa[0]&&(a.Wa[0]=255,a.Wa[1]--,0>a.Wa[1]&&(a.Wa[1]=255))):(a.Wa[0]++,255<a.Wa[0]&&(a.Wa[0]=0,a.Wa[1]++,255<a.Wa[1]&&(a.Wa[1]=0))),!a.kd))return!1;var b=a.ea;b.wd=b.wd&~(16<<a.Zj)|1<<a.Zj;a.mode&16||(a.kd=!0,a.xg=a.$g=null);a.yg&&(a.yg(!a.Sc),a.yg=null);return!0}function oi(a,b){var c=0,d=a.Sb[b];if(null!=d.lf)switch(d.lf&3){case 2:c=d.Kb;break;case 3:c=d.vc}return c}
function pi(a,b,c){b=a.Sb[b];if(c&16)b.md=0,b.Gc[b.md++]=c,b.Qc=0,b.$d=7,b.Kb=b.vc=0,b.lf=10;else if(c&8)b.lf=c;else{var d=c&224;if(d&32){var e=0;if(96==(d&96))e=1<<(c&7);else for(c=b.$d+1;;){c&=7;d=1<<c;if(b.vc&d){e=d;break}if(c++==b.$d)break}b.vc&e&&(b.vc&=~e,qi(a))}else 192==d&&(b.$d=c&7)}}function ri(a,b,c){var d=a.Sb[b];d.md<d.Gc.length?(d.Gc[d.md++]=c,2==d.md&&d.Gc[0]&2&&d.md++,3!=d.md||d.Gc[0]&1||d.md++):(d.Qc=c,d=a.la,d.Z|=4,qi(a,b||253!=c?0:6))}
function wi(a,b,c){var d=a.Sb[b>>3];b=1<<(b&7);d.Kb&b||(d.Kb|=b,d.Ef=c||0,qi(a))}function xi(a,b){var c=a.Sb[b>>3],d=1<<(b&7);c.Kb&d&&(c.Kb&=~d,qi(a))}function qi(a,b){var c,d=-1;1<a.nf&&(c=a.Sb[1],d=~(c.vc|c.Qc)&c.Kb);c=a.Sb[0];0<=d&&(c.Kb=d?c.Kb|4:c.Kb&-5);var d=~(c.vc|c.Qc)&c.Kb,e=a.la;e.ka&&(e.lb=d?e.lb|1:e.lb&-2);d&&b&&(c.Ef=b)}
function ad(a,b){void 0===b&&(b=0);var c=-1,d=a.Sb[b];if(d.Ef)c=-2,d.Ef--;else for(var e=d.Kb&((d.vc|d.Qc)^255),f=d.$d+1;;){var f=f&7,h=1<<f;if(e&h){c=b||2!=f?d.Gc[1]+f:ad(a,1);0<=c&&(d.vc|=h,d.Kb&=~h);break}if(f++==d.$d)break}return c}function yi(a,b){var c=a.Ib[b];c.zd==c.ge&&zi(a,b);if(c.vf)return c.he[c.zd++];Ai(a,b);return c.Xa[c.zd++]}
function Bi(a,b,c){var d=a.Ib[b];d.zd==d.ge&&zi(a,b);d.Wb[d.zd++]=c;d.zd==d.ge&&(d.le&&0!=d.mode&&8!=d.mode||(d.vf=!1,d.Xa[0]=d.rc[0]=d.Wb[0],d.Xa[1]=d.rc[1]=d.Wb[1],d.ld=B(a.la,a.Dd),d.le=!0,d.Tc=0!=d.mode,0==b&&(xi(a,0),c=Ci(a,0)*a.Zg|0,6==d.mode&&(c>>=1),tb(a.la,c))),2==b&&wb(a))}k=N.prototype;k.Um=function(){return null};
k.io=function(a,b){this.Bh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var h=this.Ib[c];h.hh=f;h.mode=e;h.Fj=d;h.Wb=[0,0];h.Xa=[0,0];h.he=[0,0];h.Tc=!1;h.vf=!1;h.le=!1;zi(this,c);0==c&&xi(this,0);2==c&&255==this.Sb[0].Qc&&77==this.pc&&(c=this.Ib[0],c.rc[0]=c.Wb[0],c.rc[1]=c.Wb[1],c.ld=B(this.la,this.Dd))}else Ai(this,c),d=this.Ib[c],d.he[0]=d.Xa[0],d.he[1]=d.Xa[1],d.vf=!0,zi(this,c)}};function Ci(a,b){var c=a.Ib[b],d=c.Wb[1]<<8|c.Wb[0];d||(d=1==c.ge?256:65536);return d}
function yb(a,b){var c=a.Ib[b],d=c.rc[1]<<8|c.rc[0];d||(d=1==c.ge?256:65536);return d}function zi(a,b){var c=a.Ib[b];c.zd=32==c.hh?1:0;c.ge=48==c.hh?2:1}
function Ai(a,b,c){var d=a.Ib[b];if(d.le&&(2!=b||a.pc&1)){var e=B(a.la,a.Dd),f=(e-d.ld)/a.Zg|0;0>f&&(d.ld=e,f=0);var h=Ci(a,b),g=yb(a,b)-f;0==d.mode?(0>=g&&(g=0),g||(d.Tc=!0,d.le=!1,b||wi(a,0))):4==d.mode?(d.Tc=1!=g,0>=g&&(g=h+g,0>=g&&(g=h),d.rc[0]=g&255,d.rc[1]=g>>8,d.ld=e,!b&&d.Tc&&wi(a,0))):6==d.mode&&(g-=f,0>=g&&(d.Tc=!d.Tc,g=h+g,0>=g&&(g=h),d.rc[0]=g&255,d.rc[1]=g>>8,d.ld=e,!b&&d.Tc&&wi(a,0)));d.Xa[0]=g&255;d.Xa[1]=g>>8;c&&(a.ld=0)}return d}
function xb(a,b){for(var c=0;c<a.Ib.length;c++)Ai(a,c,b);if(a.Ga>=Bh){var c=a.la.ba.Vc,d=B(a.la,a.Dd);null==a.Xg&&(a.Of=B(a.la,a.Dd),a.jl=1024,a.Xg=Math.floor(a.la.ba.Vc/a.jl),Th(a));d>=a.Ye&&(a.ja[12]|=64,a.ja[11]&64&&(a.ja[12]|=128,wi(a,8)),a.Ye=d+a.Xg);a.ja[0]==a.ja[1]&&a.ja[2]==a.ja[3]&&a.ja[4]==a.ja[5]&&(a.ja[12]|=32,a.ja[11]&32&&(a.ja[12]|=128,wi(a,8)));var e=d-a.Of,f=Math.floor(e/c);if(f&&!(a.ja[11]&128)){for(;f--;)if(60<=++a.ja[0]&&(a.ja[0]=0,60<=++a.ja[2]&&(a.ja[2]=0,24<=++a.ja[4]))){a.ja[4]=
0;a.ja[6]=a.ja[6]%7+1;var h;h=a.ja[9];var g=ja[a.ja[8]-1];28==g&&0===h%4&&(h%100||0===h%400)&&g++;h=g;++a.ja[7]>h&&(a.ja[7]=1,12<++a.ja[8]&&(a.ja[8]=1,a.ja[9]=(a.ja[9]+1)%100))}a.ja[12]|=16;a.ja[11]&16&&(a.ja[12]|=128,wi(a,8))}a.Of=d-e%c}}k.Mm=function(){var a=this.qg;if(this.mf&16)if(this.pc&128)a=this.Pc;else if(this.Ka){var a=this.Ka,b=0;a.Jb.length&&(b=a.Jb[0]);a=b}return a};k.$n=function(a,b){this.qg=b};k.Nm=function(){return this.pc};
k.ao=function(a,b){Di(this,b);this.Ka&&Ei(this.Ka,b&128?!1:!0,b&64?!0:!1)};function Di(a,b){var c=!!(b&2),d=!!(a.pc&2);a.pc=b;c!=d&&wb(a,c)}k.Om=function(){var a=0,a=this.Ga==wh?this.pc&4?a|this.we&15:a|this.we>>4&1:this.pc&8?a|this.Pc>>4:a|this.Pc&15;this.pc&1&&Ai(this,2).Tc&&(a=this.pc&2?a|32:a|16);return a};k.bo=function(a,b){this.zh=b};k.Pm=function(){return this.mf};k.co=function(a,b){this.mf=b};k.cm=function(){var a=this.kg;this.jb&=-258;this.Ka&&Fi(this.Ka);return a};
k.rn=function(a,b){if(this.jb&8)switch(this.cd){case 96:Gi(this,b);break;case 209:Hi(this,b);break;default:if(Gi(this,this.bd&-17),this.Ka){var c=-1;switch(b){case 255:c=250,Ii(this.Ka)}Ji(this,c)}}this.cd=b;this.jb&=-9};k.dm=function(){return this.pc&-209|(B(this.la)&64?16:0)};k.sn=function(a,b){Di(this,b)};k.em=function(){var a=this.jb&255;this.jb&256&&(this.jb|=1,this.jb&=-257);return a};
k.qn=function(a,b){this.cd=b;this.jb|=8;var c=0;240<=this.cd&&(c=this.cd^15,this.cd=240);switch(this.cd){case 192:Ji(this,this.Zd);break;case 173:Gi(this,this.bd|16);break;case 174:Gi(this,this.bd&-17);this.Ka&&Fi(this.Ka);break;case 170:this.Ka&&(this.Ka.Jb=[]);Gi(this,this.bd|16);Ji(this,85);Hi(this,3);break;case 224:Ji(this,this.bd&16?0:1);break;case 240:c&1&&xc(this.la)}};function Gi(a,b){a.bd=b;a.jb=a.jb&-5|b&4;a.Ka&&Ei(a.Ka,!!(b&8),!(b&16))}
function Ji(a,b){0<=b&&(a.kg=b,a.jb&=-2,a.jb|=256)}function Hi(a,b){a.wh=b;Va(a.qa,!!(b&2));b&1||xc(a.la)}function Ki(a,b){a.Ga<Bh?wi(a,1,4):a.bd&16||a.jb&257||(Ji(a,b),Li(a.Ka),wi(a,1,120))}k.sm=function(){return this.Ge};k.Gn=function(a,b){this.Ge=b;this.pg=b&128?0:128};
k.tm=function(a,b){var c=this.Ge&63,d;if(13>=c)if(d=this.ja[c],10>c){var e=!1;4!=c&&5!=c||this.ja[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ja[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.ja[c]^=128);else d=this.ja[c];null!=b&&12==c&&(this.ja[c]&=15,d&128&&xi(this,8),d&64&&this.ja[11]&64&&Th(this));return d};
k.Hn=function(a,b){var c=this.Ge&63,d=b^this.ja[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.ja[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.ja[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ja[c]=e;11==c&&d&64&&b&64&&Th(this)};k.Km=function(){return this.ng};k.Xn=function(a,b){this.ng=b};k.Zn=function(a,b){this.pg=b};k.In=function(){};k.Jn=function(){};
function xh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function wb(a,b){if(a.Fh){void 0!==b?a.Uj=b:b=a.Uj&&a.la&&a.la.ma.Fb;var c=Math.round(1193181/Ci(a,2));if(20>c||2E4<c)b=!1;b?a.Zc?a.Zc.frequency.value=c:(a.Zc=a.Fh.createOscillator(),a.Zc.type=1,a.Zc.connect(a.Fh.destination),a.Zc.frequency.value=c,a.Zc.noteOn(0)):a.Zc&&(a.Zc.noteOff(0),a.Zc.disconnect(),delete a.Zc)}else b&&a.cc("BEEP",Mi)}
var Eh={0:function(){return bi(this,0,0)},1:function(){return di(this,0,0)},2:function(){return bi(this,0,1)},3:function(){return di(this,0,1)},4:function(){return bi(this,0,2)},5:function(){return di(this,0,2)},6:function(){return bi(this,0,3)},7:function(){return di(this,0,3)},8:function(){return fi(this,0)},32:function(){return oi(this,0)},33:function(){return this.Sb[0].Qc},64:function(){return yi(this,0)},65:function(){return yi(this,1)},66:function(){return yi(this,2)},67:N.prototype.Um,129:function(){return ki(this,
0,2)},130:function(){return ki(this,0,3)},131:function(){return ki(this,0,1)},135:function(){return ki(this,0,0)}},Gh={96:N.prototype.Mm,97:N.prototype.Nm,98:N.prototype.Om,99:N.prototype.Pm},Ih={96:N.prototype.cm,97:N.prototype.dm,100:N.prototype.em,112:N.prototype.sm,113:N.prototype.tm,128:N.prototype.Km,132:function(){return this.Tb[0]},133:function(){return this.Tb[1]},134:function(){return this.Tb[2]},136:function(){return this.Tb[3]},137:function(){return ki(this,1,2)},138:function(){return ki(this,
1,3)},139:function(){return ki(this,1,1)},140:function(){return this.Tb[4]},141:function(){return this.Tb[5]},142:function(){return this.Tb[6]},143:function(){return ki(this,1,0)},160:function(){return oi(this,1)},161:function(){return this.Sb[1].Qc},192:function(){return bi(this,1,0)},194:function(){return di(this,1,0)},196:function(){return bi(this,1,1)},198:function(){return di(this,1,1)},200:function(){return bi(this,1,2)},202:function(){return di(this,1,2)},204:function(){return bi(this,1,3)},
206:function(){return di(this,1,3)},208:function(){return fi(this,1)}},Fh={0:function(a,b){ci(this,0,0,b)},1:function(a,b){ei(this,0,0,b)},2:function(a,b){ci(this,0,1,b)},3:function(a,b){ei(this,0,1,b)},4:function(a,b){ci(this,0,2,b)},5:function(a,b){ei(this,0,2,b)},6:function(a,b){ci(this,0,3,b)},7:function(a,b){ei(this,0,3,b)},8:function(a,b){this.$a[0].xh=b},9:function(a,b){gi(this,0,b)},10:function(a,b){hi(this,0,b)},11:function(a,b){this.$a[0].xb[b&3].mode=b},12:function(){this.$a[0].zb=0},13:function(){ji(this,
0)},32:function(a,b){pi(this,0,b)},33:function(a,b){ri(this,0,b)},64:function(a,b){Bi(this,0,b)},65:function(a,b){Bi(this,1,b)},66:function(a,b){Bi(this,2,b)},67:N.prototype.io,129:function(a,b){li(this,0,2,b)},130:function(a,b){li(this,0,3,b)},131:function(a,b){li(this,0,1,b)},135:function(a,b){li(this,0,0,b)}},Hh={96:N.prototype.$n,97:N.prototype.ao,98:N.prototype.bo,99:N.prototype.co,160:N.prototype.Zn},Jh={96:N.prototype.rn,97:N.prototype.sn,100:N.prototype.qn,112:N.prototype.Gn,113:N.prototype.Hn,
128:N.prototype.Xn,132:function(a,b){this.Tb[0]=b},133:function(a,b){this.Tb[1]=b},134:function(a,b){this.Tb[2]=b},136:function(a,b){this.Tb[3]=b},137:function(a,b){li(this,1,2,b)},138:function(a,b){li(this,1,3,b)},139:function(a,b){li(this,1,1,b)},140:function(a,b){this.Tb[4]=b},141:function(a,b){this.Tb[5]=b},142:function(a,b){this.Tb[6]=b},143:function(a,b){li(this,1,0,b)},160:function(a,b){pi(this,1,b)},161:function(a,b){ri(this,1,b)},192:function(a,b){ci(this,1,0,b)},194:function(a,b){ei(this,
1,0,b)},196:function(a,b){ci(this,1,1,b)},198:function(a,b){ei(this,1,1,b)},200:function(a,b){ci(this,1,2,b)},202:function(a,b){ei(this,1,2,b)},204:function(a,b){ci(this,1,3,b)},206:function(a,b){ei(this,1,3,b)},208:function(a,b){this.$a[1].xh=b},210:function(a,b){gi(this,1,b)},212:function(a,b){hi(this,1,b)},214:function(a,b){this.$a[1].xb[b&3].mode=b},216:function(){this.$a[1].zb=0},218:function(){ji(this,1)},240:N.prototype.In,241:N.prototype.Jn};
wa(function(){for(var a=y(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new N(d);Ma(d,c);Kh(d)}});function Ni(a){s.call(this,"ROM",a,Ni);this.yb=null;this.yj=a.addr;this.lh=a.size;this.Hl=a.alias;this.Vf=a.file;this.ak=a.notify;if(this.Vf){a=this.Vf;var b=ea(this.Vf);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.Vf+"&format=bytes&decimal=true");ka(a,!0,null,this,Ni.prototype.ln)}}v(s,Ni);Ni.prototype.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;Oi(this)};
Ni.prototype.Yb=function(){this.uh&&(this.Sa&&this.Sa.zp(this.yj,this.lh,this.uh),delete this.uh);return!0};Ni.prototype.Xb=function(){return!0};
Ni.prototype.ln=function(a,b,c){if(c)this.Aa("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.yb=e;else if(f)for(this.yb=Array(4*f.length),c=b=0;b<f.length;b++)this.yb[c++]=f[b]&255,this.yb[c++]=f[b]>>8&255,this.yb[c++]=f[b]>>16&255,this.yb[c++]=f[b]>>24&255;else this.yb=d;this.uh=d.symbols;if(!this.yb.length){q("Empty ROM: "+a);return}if(1==this.yb.length){q(this.yb[0]);return}}catch(h){this.Aa("ROM data error: "+
h.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.yb=Array(a.length),d=0;d<a.length;d++)this.yb[d]=parseInt(a[d],16);Oi(this)}};function Oi(a){if(!Oa(a))if(!a.Vf)z(a);else if(a.yb&&a.qa){if(a.yb.length!=a.lh)Pa(a,"ROM size (0x"+p(a.yb.length)+") does not match specified size (0x"+p(a.lh)+")");else if(Pi(a,a.yj)&&Pi(a,a.Hl)){if(a.ak){var b=Ka(a.ak,a.id);b&&("ega"==b.Ga&&Qi(b,a.yb,[8752,12640],8),z(b))}delete a.yb}z(a)}}
function Pi(a,b){if(null==b)return!0;if(Wa(a.qa,b,a.lh,!0)){for(var c=0;c<a.yb.length;c++)cb(a.qa,b+c,a.yb[c]);return!0}return!1}wa(function(){for(var a=y(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ni(d);Ma(d,c)}});function Ri(a){s.call(this,"RAM",a,Ri);this.jg=a.addr;this.od=a.size;this.Wl=a.test;this.Ul=!!this.od;this.zg=!1}v(s,Ri);Ri.prototype.sc=function(a,b,c){this.qa=b;this.la=c;this.ka=Ra(a,"ChipSet");z(this)};Ri.prototype.Yb=function(a,b){b||this.reset();return!0};
Ri.prototype.Xb=function(){return!0};Ri.prototype.reset=function(){if(!this.jg&&!this.Ul&&this.ka){var a=1024*Oh(this.ka);this.od&&a!=this.od&&($a(this.qa,this.jg,this.od),this.zg=!1);this.od=a}!this.zg&&this.od&&Wa(this.qa,this.jg,this.od)&&(this.zg=!0,this.status(Math.floor(this.od/1024)+"Kb"));if(this.zg){if(this.Wl||db(this.qa,1138,4660),this.ka&&(a=this.ka,a.ja)){var b=1048576>this.jg?21:23,c=a.ja[b]|a.ja[b+1]<<8,c=c+(this.od>>10);a.ja[b]=c&255;a.ja[b+1]=c>>8;Sh(a)}}else q("No RAM allocated")};
wa(function(){for(var a=y(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ri(d);Ma(d,c)}});function Si(a){s.call(this,"Keyboard",a,Si);this.Rj=ra("Mobi");this.cc("mobile keyboard support: "+(this.Rj?"true":"false"));this.Uh=this.Oj=!1;this.oc=[];this.dn=500;this.en=100;this.cn=50;z(this)}v(s,Si);
var P={Ho:1,Io:3,Jo:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Eo:65,Fo:66,rj:67,Bl:68,E:69,Mo:70,Po:71,sj:72,Ro:73,So:74,To:75,Uo:76,Vo:77,qh:78,Xo:79,Yo:80,$o:81,uj:82,dp:83,np:84,rp:85,sp:86,tp:87,vp:88,wp:89,xp:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yp:97,Ap:98,Cp:99,Dp:100,Ep:101,Fp:102,Gp:103,Hp:104,Ip:105,Jp:106,Kp:107,
Lp:108,Mp:109,Np:110,Pp:111,Qp:112,Rp:113,Sp:114,Tp:115,Up:116,Vp:117,Xp:118,Yp:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Q={};Q[P["1"]]=P["!"];Q[P["2"]]=P["@"];Q[P["3"]]=P["#"];Q[P["4"]]=P.$;Q[P["5"]]=P["%"];Q[P["6"]]=P["^"];Q[P["7"]]=P["&"];Q[P["8"]]=P["*"];Q[P["9"]]=P["("];Q[P["0"]]=P[")"];Q[P["-"]]=P._;Q[P["="]]=P["+"];Q[P["["]]=P["{"];Q[P["]"]]=P["}"];Q[P[";"]]=P[":"];Q[P["'"]]=P['"'];Q[P["`"]]=P["~"];Q[P["\\"]]=P["|"];Q[P[","]]=P["<"];Q[P["."]]=P[">"];Q[P["/"]]=P["?"];var Ti={};
Ti[192]=P["`"];
var Ui={1016:2,1017:8,1018:32,1020:256,1144:512,1145:1024},Vi={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},Wi={esc:1027,1:P["1"],2:P["2"],3:P["3"],4:P["4"],5:P["5"],6:P["6"],7:P["7"],8:P["8"],9:P["9"],0:P["0"],"-":P["-"],"=":P["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":P["["],"]":P["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,
g:71,h:72,j:74,k:75,l:76,";":P[";"],quote:P["'"],"`":P["`"],shift:1016,"\\":P["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":P[","],".":P["."],"/":P["/"],"right-shift":3016,prtsc:1044,alt:1018,space:P[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,
"num-ins":1045,"num-del":1046},Xi={"caps-lock":256,"num-lock":512,"scroll-lock":1024},R={1027:1};R[P["1"]]=2;R[P["!"]]=10754;R[P["2"]]=3;R[P["@"]]=10755;R[P["3"]]=4;R[P["#"]]=10756;R[P["4"]]=5;R[P.$]=10757;R[P["5"]]=6;R[P["%"]]=10758;R[P["6"]]=7;R[P["^"]]=10759;R[P["7"]]=8;R[P["&"]]=10760;R[P["8"]]=9;R[P["*"]]=10761;R[P["9"]]=10;R[P["("]]=10762;R[P["0"]]=11;R[P[")"]]=10763;R[P["-"]]=12;R[P._]=10764;R[P["="]]=13;R[P["+"]]=10765;R[1008]=14;R[1009]=15;R[113]=16;R[81]=10768;R[119]=17;R[87]=10769;
R[101]=18;R[69]=10770;R[114]=19;R[82]=10771;R[116]=20;R[84]=10772;R[121]=21;R[89]=10773;R[117]=22;R[85]=10774;R[105]=23;R[73]=10775;R[111]=24;R[79]=10776;R[112]=25;R[80]=10777;R[P["["]]=26;R[P["{"]]=10778;R[P["]"]]=27;R[P["}"]]=10779;R[13]=28;R[1017]=29;R[97]=30;R[65]=10782;R[115]=31;R[83]=10783;R[100]=32;R[68]=10784;R[102]=33;R[70]=10785;R[103]=34;R[71]=10786;R[104]=35;R[72]=10787;R[106]=36;R[74]=10788;R[107]=37;R[75]=10789;R[108]=38;R[76]=10790;R[P[";"]]=39;R[P[":"]]=10791;R[P["'"]]=40;
R[P['"']]=10792;R[P["`"]]=41;R[P["~"]]=10793;R[1016]=42;R[P["\\"]]=43;R[P["|"]]=10795;R[122]=44;R[90]=10796;R[120]=45;R[88]=10797;R[99]=46;R[67]=10798;R[118]=47;R[86]=10799;R[98]=48;R[66]=10800;R[110]=49;R[78]=10801;R[109]=50;R[77]=10802;R[P[","]]=51;R[P["<"]]=10803;R[P["."]]=52;R[P[">"]]=10804;R[P["/"]]=53;R[P["?"]]=10805;R[3016]=54;R[1044]=55;R[1018]=56;R[P[" "]]=57;R[1020]=58;R[1112]=59;R[1113]=60;R[1114]=61;R[1115]=62;R[1116]=63;R[1117]=64;R[1118]=65;R[1119]=66;R[1120]=67;R[1121]=68;R[1144]=69;
R[1145]=70;R[1036]=71;R[1038]=72;R[1033]=73;R[1109]=74;R[1037]=75;R[1101]=76;R[1039]=77;R[1107]=78;R[1035]=79;R[1040]=80;R[1034]=81;R[1045]=82;R[1046]=83;R[1122]=87;R[1123]=88;R[4003]=7470;R[4008]=7494;R[4046]=3677523;k=Si.prototype;
k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ra[e])switch(b){case "kbd":return this.ra[e]=c,c.onkeydown=function(a){return Yi(d,a,!0)},c.onkeypress=function(a){var b=!1,c=!0;a=a||window.event;a=a.which||a.keyCode;var e=d.oc.length?d.oc[0].Sd:0;e&&(65<=e&&90>=e||97<=e&&122>=e)&&(65<=a&&90>=a||97<=a&&122>=a)&&e!=a&&(d.Uh=!0,a=e);8==a||9==a?c=!1:d.Ua&64?d.Ua&=-65:d.Ua&40?c=!1:(d.Oj&&a==P["`"]&&(a=27),c=!1,b=!0);b&&Zi(d,a,!0);return c},c.onkeyup=function(a){return Yi(d,a,!1)},!0;case "caps-lock":return this.ra[e]=
c,c.onclick=function(){d.la&&d.la.nd();$i(d,1020);Zi(d,1020,!0)},!0;case "num-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.nd();$i(d,1144);Zi(d,1144,!0)},!0;case "scroll-lock":return this.ra[e]=c,c.onclick=function(){d.la&&d.la.nd();$i(d,1145);Zi(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==Vi[f]&&"button"==a)return this.ra[e]=c,c.onclick=function(a,b,c){return function(){a.la&&a.la.nd();$i(a,c);Zi(a,c,!0)}}(this,f,Vi[f]),!0;if(void 0!==Wi[b])return this.ra[e]=
c,a=function(a,b,c){return function(){Zi(a,c)}}(this,b,Wi[b]),b=function(a,b,c){return function(){aj(a,c)}}(this,b,Wi[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function bj(a,b,c){for(var d in Wi){var e;(e=Wi[d]==b)||(e=b,97<=e&&122>=e&&(e-=32),e=Wi[d]==e);if(e){(a=a.ra["key-"+d])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet")};function Ii(a,b){a.cc("keyboard reset",cj|dj);a.Jb=[170];b&&a.ka&&Ki(a.ka,a.Jb[0])}function Ei(a,b,c){a.Ph!==c&&(a.Ph=a.Th=c);a.Dg!==b&&(a.Dg=b)&&!a.Th&&Li(a,!0);a.Dg&&a.Th&&(Ii(a,!0),a.Th=!1)}function Fi(a){var b=0;a.Jb.length&&(b=a.Jb[0],a.ka&&Ki(a.ka,b))}function Li(a,b){0<a.Jb.length&&(a.Jb.shift(),b&&a.Jb.length&&a.ka&&Ki(a.ka,a.Jb[0]))}
k.Yb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Xb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Fd();this.Ua=0;this.Jb=[]};k.save=function(){var a=new I(this);a.set(0,this.lj());return a.data()};k.restore=function(a){return this.Fd(a[0])};k.Fd=function(a){var b=0;void 0===a&&(a=[]);this.Ph=a[b++];this.Dg=a[b];return!0};k.lj=function(){var a=0,b=[];b[a++]=this.Ph;b[a]=this.Dg;return b};
function $i(a,b,c){if(R[b]){var d=Math.floor(b/1E3)&2;if(b=Ui[b]||0){d&&(b>>=1);void 0===c&&(c=!(a.Ua&b));a.Ua&=~b;c&&(a.Ua|=b);c=b;var e,f;for(f in Xi)d="led-"+f,b=Xi[f],c&&c!=b||!(e=a.ra[d])||(e.style.backgroundColor=a.Ua&b?"#00ff00":"#000000");return!0}}return!1}
function Zi(a,b,c){if(R[b]&&a.la&&a.la.ma.Fb){for(var d,e=0;e<a.oc.length;e++)if(d=a.oc[e],d.Sd==b){if(!c||0<=d.Ze){e=-1;break}0<e&&(a.oc[0].Ze=0,a.oc.splice(e,1));break}0>e||(e==a.oc.length&&(d={},d.Sd=b,d.Ua=a.Ua,bj(a,b,!0),e++),0<e&&a.oc.splice(0,0,d),d.Eg=!0,d.Ze=c?-1:Ui[b]?0:1,ej(a,d))}}
function aj(a,b,c){if(R[b]&&(c||a.la&&a.la.ma.Fb)){for(var d=0;d<a.oc.length;d++){var e=a.oc[d];if(e.Sd==b||e.Sd==Q[b]){a.oc[0].Ze=0;a.oc.splice(d,1);e.xl&&clearTimeout(e.xl);e.Eg&&!c&&fj(a,e.Sd,!1);bj(a,b,!1);break}}!a.oc.length&&a.Uh&&($i(a,1020),a.Uh=!1)}}function ej(a,b){if(a.la&&a.la.ma.Fb){if(fj(a,b.Sd,b.Eg),b.Ze){var c;if(0>b.Ze){if(!b.Eg){aj(a,b.Sd);return}b.Eg=!1;c=a.cn}else c=1==b.Ze++?a.dn:a.en;b.xl=setTimeout(function(a){return function(){ej(a,b)}}(a),c)}}else aj(a,b.Sd,!0)}
function Yi(a,b,c){var d=!0,e=!1,f=!c,h,g=b.keyCode,m=g;if(65<=g&&90>=g)a.Ua&259||(m=g+32);else if(a.Ua&3){if(h=Q[g])m=h}else if(h=Ti[g])m=h;if(R[g+1E3])if(m+=1E3,2==b.location&&(m+=2E3),$i(a,m,c)){if(20==g||144==g||145==g)c=e=!0;f=!1}else{if(8==g||9==g||27==g)8==g&&8==(a.Ua&40)&&(m=4008),d=!1}else 91==g&&(a.Ua&=-65,c&&(a.Ua|=64),f=!1);f&&(a.Ua&=-65);a.Rj&&d||(c?Zi(a,m,e):aj(a,m));return d}
function fj(a,b,c){var d=R[b]||R[b+1E3];if(void 0!==d){14==d&&40==(a.Ua&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var h=0,g=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==g?a.Ua&3||a.Ua&256&&b||(h=g):29==g?a.Ua&12||(h=g):56==g?a.Ua&48||(h=g):e.push(f|(c?0:128)),h&&(c?e.unshift(h):e.push(h|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Jb&&(20>d.Jb.length?(d.Jb.push(f),1==d.Jb.length&&d.ka&&Ki(d.ka,f)):(20==d.Jb.length&&d.Jb.push(255),d.cc("scan code buffer overflow")))}}
wa(function(){for(var a=y(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Si(d);Ma(d,c)}});
function S(a,b,c,d){s.call(this,"Video",a,S);this.Ga=a.model;this.Kc=0;"ega"==this.Ga&&(this.sl=a.switches,this.Kc=a.memory||0);this.Xc=a.mode;if(void 0===this.Xc||void 0===V[this.Xc])this.Xc=gj;this.Tg=a.charCols;this.mi=a.charRows;if(void 0===this.Tg||void 0===this.mi)this.Tg=V[this.Xc][0],this.mi=V[this.Xc][1];this.ed=a.screenWidth;this.Bd=a.screenHeight;this.Vl=a.scale;this.Tl=12<=Math.round(this.ed/this.Tg);this.Xl=a.touchScreen;this.of=b;this.Lc=c;this.Fa=(this.zo=d)||b||null;this.Hd=null;this.Rl=
a.autoLock;this.Va=this.Hb=0;this.rd=[];this.$c=Array(16);this.Qh=!1;var e=this;this.Fa&&(this.Fa.onfocus=function(){e.Qh=!0},this.Fa.onblur=function(){e.Qh=!1},this.Fa.Te=this.Fa.requestPointerLock||this.Fa.mozRequestPointerLock||this.Fa.webkitRequestPointerLock,this.Fa.yl=this.Fa.exitPointerLock||this.Fa.mozExitPointerLock||this.Fa.webkitExitPointerLock,b=function(){e.Pf(document.pointerLockElement===e.Fa||document.mozPointerLockElement===e.Fa||document.webkitPointerLockElement===e.Fa)},"onpointerlockchange"in
document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ea(a)&&(a=la()+"/api/v1/dump?file="+a+"&format=bytes"),ka(a,!0,null,this,this.mn)}v(s,S);
var hj={2:{pi:15700,oi:208,cj:85,dj:96},3:{pi:18432,oi:364,cj:85,dj:96},4:{pi:21850,oi:364,cj:85,dj:96}},ij={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},gj=7,V=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];V[gj]=[80,25,1,0,1];V[13]=[320,200,16];V[14]=[640,200,16];V[15]=[640,350,16];V[16]=[640,350,16];V[0]=V[1];V[2]=V[3];V[5]=V[4];var jj=Array(5);jj[0]=[0,0,0,255];jj[1]=[127,192,127,255];
jj[2]=[127,192,127,255];jj[3]=[127,255,127,255];jj[4]=[127,255,127,255];var kj=[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 lj=[2,4,6],mj=[3,5,7],nj=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],oj=[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 pj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=qj[b],f=a.Kd||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(rj)];this.Lg=b;this.Va=e[2];this.Hb=e[3];this.Kc=d||e[4];65536<=this.Kc&&720896<=this.Va&&(this.Hb=Math.min(this.Kc>>2,32768));this.Mc=c[0];this.tc=c[1];this.pf=c[2];this.Yf=c[3];this.Ac=c[4]&255;this.Kg=c[4]>>8&255;this.hc=c[5];this.fi=rj;if(5==b){this.fi=sj;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.Va,this.Hb,this.Kc],Array(this.Kc>>
2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Cd=b[0];this.ne=b[1];this.Vd=b[2];this.mj=b[3];this.Og=b[4];this.Wh=b[5];this.Se=b[6];this.gg=b[7];this.Zh=b[8];this.$h=b[9];this.Re=b[10];this.Be=b[11];this.Ab=b[12];d=b[13];"number"==typeof d&&(d=[this.Va,this.Hb,d]);this.Va=d[0];this.Hb=d[1];d=this.Kc>>2;if((this.Yd=b[14])&&this.Yd.length<d){for(var e=this.Yd,h=0,g=Array(d),m=0;m<e.length-1;){for(var n=e[m++],r=e[m++];n--;)g[h]=r,h+=2;h==d&&(h=1)}this.Yd=g}this.kh(b[15]);this.$i=b[16];
this.fb=b[17];this.Wc=b[18];this.mb=b[19];this.Yg=b[20];this.Nd=b[21];this.qe=b[22];this.hi=b[23];this.ii=b[24]}f=hj[f]||hj[3];this.ji=a.la.ba.Vc/f.pi|0;this.gn=this.ji*f.cj/100|0;this.ik=this.ji*f.oi;this.jn=this.ik*f.dj/100|0;this.qi=null==c[7]?0:c[7]}}var rj=18,sj=25;function tj(a){return this.Cc(a)|this.Cc(a+1)<<8}function uj(a,b){this.Fc(a,b&255);this.Fc(a+1,b>>8&255)}
var Y=[,,function(a){a+=this.offset;return(this.ea.Ab=this.pa[a])>>this.ea.$i&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.pa[b]>>8:this.pa[b])&255}];Y[16]=function(a){a+=this.offset;a=this.pa[a];for(var b=this.ea.hi&this.ea.ii,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.pa[c]&~this.ea.fb|(b|b<<8|b<<16|b<<24)&this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Nd|this.ea.qe;d=d&this.ea.fb|this.pa[c]&~this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Nd|this.ea.qe;d&=this.ea.Ab;d=d&this.ea.fb|this.pa[c]&~this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Nd|this.ea.qe;d|=this.ea.Ab;d=d&this.ea.fb|this.pa[c]&~this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Wc|b<<8-this.ea.Wc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Nd|this.ea.qe;d^=this.ea.Ab;d=d&this.ea.fb|this.pa[c]&~this.ea.fb;d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.fb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.pa[d]&~c;c=c&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[d]!=c&&(this.pa[d]=c,this.kb=!0)};
Y[4096]=function(a){a+=this.offset;var b=this.pa[a]&~this.ea.fb|this.ea.Ab&this.ea.fb;this.pa[a]!=b&&(this.pa[a]=b,this.kb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=oj[b&15],d=d&this.ea.fb|this.pa[c]&~this.ea.fb,d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=oj[b&15],d=d&this.ea.Ab,d=d&this.ea.fb|this.pa[c]&~this.ea.fb,d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
Y[40960]=function(a,b){var c=a+this.offset,d=oj[b&15],d=d|this.ea.Ab,d=d&this.ea.fb|this.pa[c]&~this.ea.fb,d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=oj[b&15],d=d^this.ea.Ab,d=d&this.ea.fb|this.pa[c]&~this.ea.fb,d=d&this.ea.mb|this.ea.Ab&~this.ea.mb;this.pa[c]!=d&&(this.pa[c]=d,this.kb=!0)};
function vj(a){var b=[];if(void 0!==a.Lg){b[0]=a.Mc;b[1]=a.tc;b[2]=a.pf;b[3]=a.Yf;b[4]=a.Ac|a.Kg<<8;b[5]=a.hc;if(5==a.Lg){var c=[];c[0]=a.Cd;c[1]=a.ne;c[2]=a.Vd;c[3]=a.mj;c[4]=a.Og;c[5]=a.Wh;c[6]=a.Se;c[7]=a.gg;c[8]=a.Zh;c[9]=a.$h;c[10]=a.Re;c[11]=a.Be;c[12]=a.Ab;c[13]=[a.Va,a.Hb,a.Kc];var d;a:if(d=a.Yd){var e=0,f=[];if(void 0!==d[0])for(var h=0;2>h;h++)for(var g=h;g<d.length;){for(var m=d[g],n=g+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-g>>1;f[e++]=m;g=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.ei;c[16]=a.$i;c[17]=a.fb;c[18]=a.Wc;c[19]=a.mb;c[20]=a.Yg;c[21]=a.Nd;c[22]=a.qe;c[23]=a.hi;c[24]=a.ii;b[6]=c}b[7]=a.qi}return b}pj.prototype.kh=function(a){if(null!=a&&a!=this.ei){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.jf||(this.jf=[null,tj,null,uj]);this.jf[0]=c;this.jf[2]=d;this.ei=a}};var qj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=S.prototype;
k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;fb(b,this,wj);hb(b,this,xj);"ega"==this.Ga&&(fb(b,this,yj),hb(b,this,zj));if((this.Ka=Ra(a,"Keyboard"))&&this.of){for(var e in this.ra)0<e.indexOf("lock")&&this.Ka.Eb("led",e,this.ra[e]);this.Ka.Eb(this.zo?"textarea":"canvas","kbd",this.Fa)}this.lg=9;(this.ka=Ra(a,"ChipSet"))&&this.sl&&(this.lg=xh(this.sl,this.lg));this.Ka&&this.Xl&&Aj(this)};
k.Eb=function(a,b,c){var d=this;if(!this.ra[b])switch(this.ra[b]=c,b){case "lockPointer":return this.uo=c.textContent,this.Fa&&this.Fa.Te?c.onclick=function(){d.Te(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){mb(d,!0)},!0}return!1};k.nd=function(){this.Fa&&this.Fa.focus()};k.Te=function(a){if(this.Fa)if(a){if(this.Fa.Te)return this.Fa.Te(),this.Hd.Pf(!0),!0}else if(this.Fa.yl)return this.Fa.yl(),this.Hd.Pf(!1),!0;return!1};
k.Pf=function(a){this.Hd&&(this.Hd.Pf(a),this.Ka&&(this.Ka.Oj=a));var b=this.ra.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uo)};function Aj(a){var b=a.Fa;b&&!a.Oh&&(b.addEventListener("touchstart",function(b){Bj(a,b)},!1),b.addEventListener("touchmove",function(b){Bj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Oh=!0)}
function Bj(a,b){a.Qh&&b.preventDefault();var c=0,d=0,e=a.of;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.ed/a.of.offsetWidth,e=a.Bd/a.of.offsetHeight,h,g;b.targetTouches?(h=b.targetTouches[0].pageX,g=b.targetTouches[0].pageY):(h=b.pageX,g=b.pageY);c=(h-c)*f/(a.ed/3)|0;d=(g-d)*e/(a.Bd/3)|0;1!=d?d?Zi(a.Ka,1040,!0):Zi(a.Ka,1038,!0):1!=c&&(c?Zi(a.Ka,1039,!0):Zi(a.Ka,1037,!0))}
k.Yb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Xb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ka&&(b=Ph(this.ka));var c=!1;if(this.Ga)switch(this.Ga){case "ega":var c=!0,d=ij[this.lg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.Kd!==b&&(this.Kd=b,a=!0);this.Ea=null;this.Jc=this.Dh=new pj(this,1);this.bc=this.wg=new pj(this,3);c?(this.oa=new pj(this,5,null,this.Kc),Cj(this)):this.oa=new pj;Dj(this);this.Jd=null;this.Xc=3==b?gj:3;this.ee=this.Bc=-1;this.de=0;Ej(this,this.Xc);if(this.Ea.Va&&a){a=this.Ea.Va+this.Eh;for(b=this.Ea.Va;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.Kd?(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),db(this.qa,b,c|d<<8);mb(this,!0)}};function Cj(a){a.oa.Og&1?(a.Jc=a.Dh,a.bc=a.oa):(a.Jc=a.oa,a.bc=a.wg)}k.save=function(){var a=new I(this);a.set(0,vj(this.Dh));a.set(1,vj(this.wg));a.set(2,[this.Kd,this.Xc,this.Jd]);a.set(3,vj(this.oa));return a.data()};
k.restore=function(a){var b=a[2];this.Kd=b[0];this.Xc=b[1];this.Jd=b[2];this.Ea=null;this.Jc=this.Dh=new pj(this,1,a[0]);this.bc=this.wg=new pj(this,3,a[1]);this.oa=new pj(this,5,a[3],this.Kc);this.oa.Mc&&Cj(this);Dj(this);if(!Fj(this))return!1;Gj(this);return!0};
k.mn=function(a,b,c){if(c)this.Aa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){q("Empty font ROM image: "+a);return}if(1==d.length){q(d[0]);return}if(8192==d.length)Qi(this,d,[0,6144]);else{this.Aa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Aa("Font ROM data error: "+e.message);return}z(this)}};
function Hj(a,b){if(1==b)return a.$c[0]=W[0],a.$c[1]=W[7],a.$c;if(2==b){var c=a.Ea.pf;if(a.Ea===a.oa){var d=a.oa.Vd[0],c=d&7;d&16&&(c|=8);18!=a.oa.Vd[1]&&(c|=32)}a.$c[0]=W[c&15];c=c&32?mj:lj;for(d=0;d<c.length;d++)a.$c[d+1]=W[c[d]];return a.$c}if(a.bc===a.wg)return W;c=null!=a.oa.Vd[15]?a.oa.Vd:nj;for(d=0;d<a.$c.length;d++){var e=c[d]||0;a.$c[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.$c}function Qi(a,b,c,d){a.hg=b;a.th=c;a.ie=d}
function Dj(a){var b=!1;if(window&&a.hg){var c=a.ie?0:2048,d=a.ie?a.ie:9;Ij(a,1,a.th[0],c,d,14,a.hg,jj,kj)&&(b=!0);c=Hj(a);d=a.ie?a.ie:8;Ij(a,3,a.th[1],0,d,8,a.hg,c)&&(b=!0);a.ie&&Ij(a,5,a.th[0],0,a.ie,14,a.hg,c)&&(b=!0)}return b}function Ij(a,b,c,d,e,f,h,g,m){var n=!1;Jj(a,b,c,d,e,f,h,g,m)&&(n=!0);a.Tl&&Jj(a,b<<1,c,d,e,f,h,g,m)&&(n=!0);return n}
function Jj(a,b,c,d,e,f,h,g,m){var n=!1,r=b&1?0:1,t=a.rd[b];t||(t={ic:e<<r,jc:f<<r,Ae:Array(g.length),xj:g.slice(),ff:m,rh:Array(g.length)});for(m=0;m<g.length;m++){var u=g[m],x=t.Ae[m]?t.xj[m]:[];if(u[0]!==x[0]||u[1]!==x[1]||u[2]!==x[2]){var n=t,x=m,E=r,T=c,O=d,U=e,xa=f,Xa=h,Tb=[0,0,0,0],Bc=window.document.createElement("canvas");Bc.width=n.ic<<4;Bc.height=n.jc<<4;for(var si=Bc.getContext("2d"),ya=void 0,Cb=void 0,Ya=void 0,Cc=8>xa||!O?xa:8,xd=si.createImageData(n.ic,n.jc),ya=0;256>ya;ya++){for(Ya=
0;Ya<xa;Ya++)for(var Kk=n.ff&&x&1&&Ya>=xa-2,Lk=Xa[Ya<Cc?T+ya*Cc+Ya:O+ya*Cc+Ya-Cc],yd=0;yd<=E;yd++)for(Cb=0;Cb<U;Cb++){var ti=Cb<<E,ui=(Ya<<E)+yd,vi=Kk||Lk&128>>(8<=Cb&&176<=ya&&223>=ya?7:Cb)?u:Tb;Kj(xd,ti,ui,vi);E&&Kj(xd,ti+1,ui,vi)}si.putImageData(xd,(ya&15)*n.ic,(ya>>4)*n.jc)}n.Ae[x]="#"+p(u[0],2)+p(u[1],2)+p(u[2],2);n.xj[x]=u;n.rh[x]=Bc;n=!0}}a.rd[b]=t;return n}function Lj(a){0<a.de||0<=a.Bc?0>a.ee&&(a.ee=0):a.ee=-1}
function Gj(a){if(a.Nb){for(var b=10;15>=b;b++)if(null==a.Ea.hc[b])return;var c=a.Ea.hc[10],b=c&31,d=a.Ea.hc[11]&31,e=a.Ea.hc[9]&31,f=!1;a.Ea===a.oa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Mj(a);else{c=a.Ea.hc[15]+((a.Ea.hc[14]&63)<<8);a.Bc!=c&&(Mj(a),a.Bc=c);d=d-b+1;if(a.Al!=b||a.Jj!=d)a.Al=b,a.Jj=d;a.Ad=e+1;Lj(a)}}}
function Mj(a){if(0<=a.Bc){if(void 0!==a.ac){var b=a.ac[a.Bc];if(b&131072){var b=b&-131073,c=a.Bc%a.Bb,d=Math.floor(a.Bc/a.Bb);a.Nb&&a.rd[a.Nb]&&(a.Je&&Nj(a,c,d,b,a.Je),Nj(a,c,d,b));a.ac[a.Bc]=b}}a.Bc=-1}}
function Oj(a){var b;a=a.Ea;var c=a.Be[5];if(null!=c){b=2;var d=512,e=a.Be[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.Wc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.ue=function(a){var b=this.Ea;null!=a&&b&&a!=b.ei&&(b.kh(a),this.qa.kh(b.Va,b.Hb,b.jf))};
function Fj(a,b){var c,d=a.Jd,e=a.Ea;if(e)if(1==e.Lg)d=gj;else if(5==e.Lg){var d=null,f=e.Kc>>2,h=32768<f?32768:f,g=e.Be[6];if(null!=g){switch(g&12){case 0:e.Va=655360;e.Hb=f;d=255;break;case 4:e.Va=655360;e.Hb=f;d=3==a.Kd?15:16;break;case 8:e.Va=720896;e.Hb=h;d=gj;break;case 12:e.Va=753664,e.Hb=h,d=3==a.Kd?2:3}c=e.gg[1]&8;f=e.hc[6]|(e.hc[7]&1)<<8;255!=d&&(g&1?753664==e.Va?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=Oj(a)}}else e.tc&8&&(e.tc&2?(d=e.tc&16?6:5,e.tc&4||(d-=1)):(d=e.tc&1?3:1,e.tc&4&&(d-=
1)));else a.Jd=null,null==d&&(d=a.Xc);if(!Ej(a,d,b))return!1;a.ue(c);return!0}
function Ej(a,b,c){if(null!=b&&(b!=a.Jd||c)){a.Il=0;a.Jd=b;b=a.Ea||(b==gj?a.Jc:a.bc);if(b!=a.Ea||b.Va!=a.Va||b.Hb!=a.Hb){Mj(a);if(a.Va){if(!$a(a.qa,a.Va,a.Hb))return!1;a.Ea&&(a.Ea.Mc=!1)}a.Ea=b;b.Mc=!0;a.Va=b.Va;a.Hb=b.Hb;if(!Wa(a.qa,b.Va,b.Hb,!1,b===a.oa?b:null))return!1}a.Nb=0;a.Bb=a.Tg;a.mc=a.mi;a.gi=V[gj][2];b=0;var d=V[a.Jd];d&&(a.Bb=d[0],a.mc=d[1],a.gi=d[2],b=d[3]||0,a.Nb=d[4],4==a.Kd&&a.Ea===a.oa&&3==a.Nb&&(7==a.oa.hc[9]?a.mc=43:a.Nb=5));a.fk=a.Bb*a.mc;a.Qg=a.fk/a.gi;a.Eh=(a.Qg<<1)+b;a.Hj=
b?a.Eh+b>>1:0;13<=a.Jd&&(a.Qg<<=1);a.rd.length&&(a.fd=Math.floor(a.ed/a.Bb),a.gd=Math.floor(a.Bd/a.mc),a.Nb?(b=a.rd[a.Nb],d=a.rd[a.Nb<<1],a.Vl&&80==a.Bb?d&&a.fd>=3*d.ic>>2&&(a.Nb<<=1,b=d):(d&&a.fd>=d.ic&&(a.Nb<<=1,b=d),b&&(a.fd=b.ic,a.gd=b.jc)),a.rf=a.sf=0,b&&(a.rf=a.Bb*b.ic,a.sf=a.mc*b.jc)):(a.fd=a.gd=1,a.rf=a.Bb,a.sf=a.mc),a.Mg=a.Lc.createImageData(a.rf,a.sf),a.He=window.document.createElement("canvas"),a.He.width=a.rf,a.He.height=a.sf,a.Je=a.He.getContext("2d"),a.pj=a.qj=0,a.Hh=a.ed,a.Ih=a.Bd,
b=a.ed-a.Bb*a.fd,d=a.Bd-a.mc*a.gd,0<b&&(a.pj=b>>1,a.Hh-=b),0<d&&(a.qj=d>>1,a.Ih-=d),b||d)&&(a.Lc.fillStyle=a.of.style.backgroundColor,a.Lc.fillRect(0,0,a.ed,a.Bd));!1!==c?mb(a,!0):Pj(a,!0)}return!0}function Kj(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 Pj(a,b){var c;if(b){if(c=a.Qg,void 0===a.ac||a.ac.length!=c)a.ac=Array(c)}else{if(void 0===a.ac)return;c=a.ac.length}for(var d=0;d<c;d++)a.ac[d]=-1;a.de=-1}
function Nj(a,b,c,d,e){var f=d&255,h=d>>8;d=h&15;var g=a.rd[a.Nb];g.ff&&(d=g.ff[d]);var m=h>>4&15;g.ff&&(m=g.ff[m]);e?(b*=g.ic,c*=g.jc,e.fillStyle=g.Ae[m],e.fillRect(b,c,g.ic,g.jc)):(b=b*a.fd+a.pj,c=c*a.gd+a.qj,a.Lc.fillStyle=g.Ae[m],a.Lc.fillRect(b,c,a.fd,a.gd));h&256&&(m=(f&15)*g.ic,f=(f>>4)*g.jc,e?e.drawImage(g.rh[d],m,f,g.ic,g.jc,b,c,g.ic,g.jc):a.Lc.drawImage(g.rh[d],m,f,g.ic,g.jc,b,c,a.fd,a.gd));h&512&&(f=a.Al,h=a.Jj,e?(a.Ad&&a.Ad!==g.jc&&(f=Math.floor(f*g.jc/a.Ad),h=Math.floor(h*g.jc/a.Ad)),
e.fillStyle=g.Ae[d],e.fillRect(b,c+f,g.ic,h)):(a.Ad&&a.Ad!==a.gd&&(f=Math.floor(f*a.gd/a.Ad),h=Math.floor(h*a.gd/a.Ad)),a.Lc.fillStyle=g.Ae[d],a.Lc.fillRect(b,c+f,a.fd,h)))}
function mb(a,b){if(a.ma.Mb){var c=!1;a.Ea&&(a.Ea===a.oa?a.oa.ne&32&&(c=!0):a.Ea.tc&8&&(c=!0));if(c||b){if(b)Pj(a,!0);else if(void 0===a.ac)return;var d=!1;!(b||++a.Il&15)&&0<=a.ee&&(a.ee++,d=!0);var e=0,f=a.fk,c=a.Ea.Va,h=c+a.Ea.Hb,g=(a.Ea.hc[12]<<8)+a.Ea.hc[13];a.Nb&&(g<<=1);var c=c+g,m=a.Eh;c+m>h&&(m=h-c,0>m&&(m=0));h=c+m;if(g=!b){for(var g=a.qa,n=!0,r=c>>g.Ub;0<m&&r<g.Da.length;)g.Da[r].kb&&(g.Da[r].kb=n=!1,g.Da[r].Mj=!0),m-=g.xc,r++;g=n}if(g){if(!d)return;if(!a.de){if(0>a.Bc)return;e=a.Bc;f=
e+1}}if(a.Nb){if(a.rd[a.Nb]){d=0;g=a.de=0;m=1048575;a.Ea.tc&32&&(g=32768,m&=~g,a.ee&2||(m&=-65537));for(c+=e<<1;c<h&&e<f;)n=bb(a.qa,c),n|=65536,n&g&&(a.de++,n&=m),e==a.Bc&&(n|=a.ee&1?131072:0),r=a.ac[e],r!=n&&(Nj(a,e%a.Bb,Math.floor(e/a.Bb),n,a.Je),a.ac[e]=n,d++),c+=2,e++;d&&a.Je&&a.Lc.drawImage(a.He,0,0,a.rf,a.sf,a.pj,a.qj,a.Hh,a.Ih);Lj(a)}}else if(a.Hj){for(var f=h,t,u,e=c,h=a.de=0,d=a.gi,g=16==d?65536:196608,m=16==d?1:2,n=Hj(a,m),x=r=0,E=a.Bb,T=0,O=a.mc,U=0;e<f;){t=bb(a.qa,e);u=a.ac[h];if(u===
t)r+=d;else{a.ac[h]=t;t=t>>8|(t&255)<<8;u=g;var xa=16;r<E&&(E=r);for(var Xa=0;Xa<d;Xa++){var Tb=(t&(u>>=m))>>(xa-=m);Kj(a.Mg,r++,x,n[Tb])}r>T&&(T=r);x<O&&(O=x);x>=U&&(U=x+1)}e+=2;h++;if(r>=a.Bb){r=0;x+=2;if(x>a.mc)break;x==a.mc&&(x=1,e=c+a.Hj)}}E<a.Bb&&(a.Je.putImageData(a.Mg,0,0,E,O,T-E,U-O),a.Lc.drawImage(a.He,0,0,a.Bb,a.mc,0,0,a.ed,a.Bd))}else{f=h;e=a.de=0;h=Hj(a);d=a.Ea.Yd;m=g=0;n=a.Bb;r=0;x=a.mc;for(E=0;c<f;){T=c++-a.Va;T=d[T];O=a.ac[e];if(O===T)g+=8;else{a.ac[e]=T;g<n&&(n=g);for(O=0;8>O;O++)U=
T&2155905152,0>U&&(U+=4294967296),U=X[U]||0,Kj(a.Mg,g++,m,h[U]),T<<=1;g>r&&(r=g);m<x&&(x=m);m>=E&&(E=m+1)}e++;if(g>=a.Bb&&(g=0,++m>a.mc))break}n<a.Bb&&(a.Je.putImageData(a.Mg,0,0,n,x,r-n,E-x),a.Lc.drawImage(a.He,0,0,a.Bb,a.mc,0,0,a.ed,a.Bd))}}}}k.Hm=function(){return this.Jc.Ac};k.Vn=function(a,b){var c=this.Jc;c.Kg=c.Ac;c.Ac=b&31};k.Gm=function(){return Qj(this.Jc)};k.Un=function(a,b){Rj(this,this.Jc,b)};k.Im=function(){return this.Jc.tc};k.Wn=function(a,b){this.Jc.tc=b;Fj(this,!1)};
k.Jm=function(){return Sj(this,this.Jc)};k.ll=function(a,b){this.oa.Wh=this.oa.Wh&-4|b&3};k.bk=function(){var a=this.oa.Cd?this.oa.Vd[this.oa.ne&31]:this.oa.ne;this.oa.Cd=!this.oa.Cd;return a};k.kl=function(a,b){var c=this.oa.ne&32;if(this.oa.Cd){var d=this.oa.ne&31;if(16<=d||!c)this.oa.Vd[d]=b;this.oa.Cd=!1}else this.oa.ne=b,this.oa.Cd=!0,b&32&&!c&&Dj(this)&&mb(this,!0)};k.Tm=function(){var a=3-((this.oa.Og&12)>>2),a=this.oa.mj&-17|(this.lg&1<<a)<<4-a;return this.oa.mj=a};
k.Yn=function(a,b){this.oa.Og=b;Cj(this)};k.Sm=function(){return this.oa.Se};k.fo=function(a,b){this.oa.Se=b};k.Rm=function(){return this.oa.gg[this.oa.Se]};k.eo=function(a,b){this.oa.gg[this.oa.Se]=b;2==this.oa.Se&&(this.oa.fb=oj[b&15])};k.zm=function(){return this.oa.Zh};k.Pn=function(a,b){this.oa.Zh=b};k.Am=function(){return this.oa.$h};k.Qn=function(a,b){this.oa.$h=b};k.ym=function(){return this.oa.Re};k.On=function(a,b){this.oa.Re=b};k.xm=function(){return this.oa.Be[this.oa.Re]};
k.Nn=function(a,b){this.oa.Be[this.oa.Re]=b;switch(this.oa.Re){case 0:this.oa.Yg=oj[b&15];this.oa.qe=this.oa.Yg&~this.oa.Nd;break;case 1:this.oa.Nd=~oj[b&15];this.oa.qe=this.oa.Yg&~this.oa.Nd;break;case 2:this.oa.hi=oj[b&15]&2155905152;break;case 3:case 5:this.ue(Oj(this));break;case 4:this.oa.$i=(b&3)<<3;break;case 6:Fj(this,!1);break;case 7:this.oa.ii=oj[b&15^15]&2155905152;break;case 8:this.oa.mb=b|b<<8|b<<16|b<<24}};k.pm=function(){return this.bc.Ac};
k.En=function(a,b){var c=this.bc;c.Kg=c.Ac;c.Ac=b&31};k.om=function(){return Qj(this.bc)};k.Dn=function(a,b){Rj(this,this.bc,b)};k.qm=function(){return this.bc.tc};k.Fn=function(a,b){this.bc.tc=b;Fj(this,!1)};k.nm=function(){return this.bc.pf};k.Cn=function(a,b){this.bc.pf!==b&&(this.bc.pf=b,Pj(this,!1))};k.rm=function(){return Sj(this,this.bc)};function Qj(a){var b;a.Ac<a.fi&&(b=a.hc[a.Ac]);return b}function Rj(a,b,c){b.Ac<b.fi&&(b.hc[b.Ac]=c,9==b.Ac&&8!=b.Kg&&Fj(a,!0),Gj(a))}
function Sj(a,b){var c=0,d=B(a.la),e=d-b.qi;0>e&&(e=0);e%b.ji>b.gn&&(c|=1);e%=b.ik;e>b.jn&&(c|=8);b.qi=d-e;b===a.oa?(c|=b.Yf&48^48,b.Cd=!1):c=(b.Yf^=9)|240;return b.Yf=c}
var wj={948:S.prototype.Hm,949:S.prototype.Gm,952:S.prototype.Im,954:S.prototype.Jm,980:S.prototype.pm,981:S.prototype.om,984:S.prototype.qm,985:S.prototype.nm,986:S.prototype.rm},xj={948:S.prototype.Vn,949:S.prototype.Un,952:S.prototype.Wn,980:S.prototype.En,981:S.prototype.Dn,984:S.prototype.Fn,985:S.prototype.Cn},yj={960:S.prototype.bk,961:S.prototype.bk,962:S.prototype.Tm,964:S.prototype.Sm,965:S.prototype.Rm,970:S.prototype.Am,972:S.prototype.zm,974:S.prototype.ym,975:S.prototype.xm},zj={954:S.prototype.ll,
960:S.prototype.kl,961:S.prototype.kl,962:S.prototype.Yn,964:S.prototype.fo,965:S.prototype.eo,970:S.prototype.Qn,972:S.prototype.Pn,974:S.prototype.On,975:S.prototype.Nn,986:S.prototype.ll};
wa(function(){for(var a=y(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=w(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.style.backgroundColor=d.screenColor;ra("iOS")&&(e.setAttribute("autocapitalize","off"),e.setAttribute("autocorrect","off"));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=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");c.style.clear="both";c.style.position="relative";
c.appendChild(f);var g=e.getContext("2d"),d=new U(d,e,g,f);Na(d,c)}});function Z(a){this.Xj=a.adapter;switch(this.Xj){case 1:this.dj=1016;this.Hf=4;break;case 2:this.dj=760;this.Hf=3;break;default:r("Unrecognized serial adapter #"+this.Xj);return}this.Ad=null;u.call(this,"SerialPort",a,Z);var b=a.binding,c;a=Sj;b&&(void 0===c&&(c="Panel"),(c=Ma(c,this.id))&&(b=c.ra[b])&&this.Fb(null,a,b))}v(u,Z);var Sj="buffer";k=Z.prototype;k.yj=function(a,b){return a==this.ai?(this.Id=b,this):null};
k.Fb=function(a,b,c){var d=this;switch(b){case Sj:return this.ra[b]=this.Ad=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Tj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Tj(d,[a.which||a.keyCode])},!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Ta=d;this.ka=z(a,"ChipSet");fb(b,this,Uj,this.dj);hb(b,this,Vj,this.dj);this.Ra()};
k.Xb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Hd()};k.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.Ah;c[b++]=this.Dj;c[b++]=this.ye;c[b++]=this.mg;c[b++]=this.wd;c[b++]=this.ae;c[b++]=this.Tc;c[b++]=this.wc;c[b++]=this.Bj;c[b]=this.gf;a.set(0,c);return a.data()};k.restore=function(a){return this.Hd(a[0])};
k.Hd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Ah=a[b++];this.Dj=a[b++];this.ye=a[b++];this.mg=a[b++];this.wd=a[b++];this.ae=a[b++];this.Tc=a[b++];this.wc=a[b++];this.Bj=a[b++];this.gf=a[b];return!0};function Tj(a,b){a.gf=a.gf.concat(b);Wj(a)}function Wj(a){0<a.gf.length&&!(a.wc&1)&&(a.Ah=a.gf.shift(),a.wc|=1);var b=-1;a.wc&1&&a.mg&1&&(b=4);0<=b?(a.wd&=-8,a.wd|=b,a.ka&&a.Hf&&vi(a.ka,a.Hf)):(a.wd|=1,a.ka&&a.Hf&&wi(a.ka,a.Hf))}
k.Pm=function(){var a=this.ae&128?this.ye&255:this.Ah;this.wc&=-2;Wj(this);return a};k.Am=function(){return this.ae&128?this.ye>>8:this.mg};k.Bm=function(){return this.wd};k.Cm=function(){return this.ae};k.Em=function(){return this.Tc};k.Dm=function(){return this.wc};k.Km=function(){return this.Bj};
k.eo=function(a,b){if(this.ae&128)this.ye=this.ye&-256|b;else{this.Dj=b;this.wc&=-97;var c;this.Ad?(13!=b&&(8==b?this.Ad.value=this.Ad.value.slice(0,-1):(this.Ad.value+=String.fromCharCode(b),this.Ad.scrollTop=this.Ad.scrollHeight)),c=!0):c=!1;c&&(this.wc|=96)}};k.Pn=function(a,b){this.ae&128?this.ye=this.ye&255|b<<8:this.mg=b};k.Qn=function(a,b){this.ae=b};
k.Rn=function(a,b){var c=this.Tc;this.Tc=b;if(this.Id&&(c^b)&3){var c=this.Id,d=this.Tc,e=3==(d&3);if(e){if(!c.Mc){var f=!1;c.Tc&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.Tc&1||(c.cc("serial mouse ID requested"),f=!0);f&&(Tj(c.qf,[77,77]),c.cc("serial mouse ID sent"));Xj(c,c.Fa);c.setActive(e)}}else c.Mc&&(c.cc("serial mouse inactive"),Yj(c.Fa),c.setActive(e));c.Tc=d}};
var Uj={0:Z.prototype.Pm,1:Z.prototype.Am,2:Z.prototype.Bm,3:Z.prototype.Cm,4:Z.prototype.Em,5:Z.prototype.Dm,6:Z.prototype.Km},Vj={0:Z.prototype.eo,1:Z.prototype.Pn,3:Z.prototype.Qn,4:Z.prototype.Rn};za(function(){for(var a=y(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Z(d);Na(d,c)}});function Zj(a){u.call(this,"Mouse",a,Zj);if(this.$h=a.serial)this.gj="SerialPort";this.setActive(!1);this.Eg=!1;this.Ra()}v(u,Zj);k=Zj.prototype;
k.sc=function(a,b,c,d){this.Oa=a;this.qa=b;this.la=c;this.Ta=d;this.mh=z(this.Oa,"Video")};k.setActive=function(a){this.Mc=a};k.Xb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.gj&&!this.qf){for(var c=null;(c=z(this.Oa,this.gj,c))&&(!c.yj||!(this.qf=c.yj(this.$h,this))););this.qf?this.mh&&(c=this.mh,c.Id=this,this.Fa=c.Fa):r(this.id+": "+this.gj+" "+this.$h+" unavailable")}this.Mc?Xj(this,this.Fa):Yj(this.Fa)}return!0};
k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Hd()};k.save=function(){var a=new I(this);a.set(0,this.kj());return a.data()};k.restore=function(a){return this.Hd(a[0])};k.Hd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Zf=a[b++];this.$f=a[b++];this.ze=a[b++];this.Ae=a[b++];this.Ag=a[b++];this.Bg=a[b++];this.Tc=a[b];return!0};
k.kj=function(){var a=0,b=[];b[a++]=this.Mc;b[a++]=this.Zf;b[a++]=this.$f;b[a++]=this.ze;b[a++]=this.Ae;b[a++]=this.Ag;b[a++]=this.Bg;b[a]=this.Tc;return b};k.Pf=function(a){this.Eg=a};
function Xj(a,b){b&&(a.Oh||(b.addEventListener("mousemove",function(b){if(a.Mc&&a.la&&a.la.na.bc){if(0>a.Zf||0>a.$f)a.Zf=b.clientX,a.$f=b.clientY;a.Eg?(a.ze=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.Ae=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ze=b.clientX-a.Zf,a.Ae=b.clientY-a.$f);(a.ze||a.Ae)&&ak(a);a.Zf=b.clientX;a.$f=b.clientY}},!1),b.addEventListener("mousedown",function(b){bk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){bk(a,b.button,!1)},!1),a.Oh=!0),b.style.cursor=
"none")}function Yj(a){a&&(a.style.cursor="auto")}function bk(a,b,c){if(a.Mc&&a.la&&a.la.na.bc){var d;!(d=!1!==a.Eg)&&(d=a.mh)&&(d=a.mh,d=d.Ql?d.Ue(!0):!1);d||(a.Eg=null);switch(b){case 0:a.Ag!=c&&(a.Ag=c,ak(a));break;case 2:a.Bg!=c&&(a.Bg=c,ak(a))}}}function ak(a){Tj(a.qf,[64|(a.Ag?32:0)|(a.Bg?16:0)|(a.Ae&192)>>4|(a.ze&192)>>6,a.ze&63,a.Ae&63]);a.ze=a.Ae=0}za(function(){for(var a=y(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Zj(d);Na(d,c)}});
function ck(a,b,c){u.call(this,"Disk",{id:a.Zj+".disk"+dk++},ck);this.ea=a;this.Oa=a.Oa;this.Ta=a.Ta;this.Ma=b;this.ad=b.name;this.Oe=b.Oe;this.Fg=this.kd=!1;this.create(c,b.ob,b.pb,b.vb,b.fb);this.Wd=[];this.cg=[];this.rd=null;this.dk=0;this.Uh=!1;this.Ra()}var dk=0;v(u,ck);k=ck.prototype;k.sc=function(a,b,c,d){this.Ta=d};k.Xb=function(a,b){b||!this.Fg||this.kd||(this.Ra(!1),this.load(this.ad,this.te,null,this.Pl,this));return!0};k.Pl=function(){this.Ra(!0)};
k.Wb=function(a,b){if(this.kd){var c,d=0;if(this.Uh&&!na("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=ek(this,!1);)if(d=c[0]){this.ea.Aa('Unable to save "'+this.ad+'" (error '+d+")");break}b&&this.kd&&(c="action=close&volume="+this.te,c+="&machine="+this.ea.Qe(),c+="&user="+this.ea.Gd(),la(ma()+"/api/v1/disk?"+c,!0),this.kd=!1);!d&&a&&this.ea.Aa(this.ad+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.ob=b;this.pb=c;this.vb=d;this.fb=e;this.bb=[];if("preload"!=this.mode){a=Array(this.ob);for(b=0;b<a.length;b++){c=Array(this.pb);for(d=0;d<c.length;d++){e=Array(this.vb);for(var f=1;f<=e.length;f++)e[f-1]=fk(null,b,d,f,this.fb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.bb=a}this.Me=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.me)if(this.ad=a,this.te=b,this.me=d,this.Jl=e||this.ea,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.ob=d[0];g.pb=d[1];g.vb=d[2];g.fb=512;b=g.fb>>2;var e=d=0,a=new DataView(a,0,c);g.bb=Array(g.ob);for(c=0;c<g.bb.length;c++)for(var f=g.bb[c]=Array(g.pb),E=0;E<f.length;E++)for(var R=f[E]=Array(g.vb),M=0;M<R.length;M++){for(var S=fk(null,c,E,M+1,g.fb,0),va=S.data,Va=0;Va<b;Va++,e+=4)var Qb=va[Va]=a.getInt32(e,
!0),d=d+Qb&4294967295;S.qc=b;R[M]=S}g.Me=d;b=g}else g.Aa("Unrecognized diskette format ("+c+" bytes)");g.me&&(g.me.call(g.ea,g.Ma,b,g.ad,g.te),g.me=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=gk(this,b),this.Fg=!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"),f=
ma()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Oe?"":d)+"&format=json")),la(f,!0,null,this,this.Nl,b)};
k.Nl=function(a,b,c,d){var e=null;this.Pe=!1;var f=0>c&&this.Oa&&!this.Oa.na.Lb;if(this.Fg)c?this.ea.Aa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.kd=!0,e=this);else if(c)this.ea.Aa('Unable to load disk "'+this.ad+'" (error '+c+")",f);else try{if(0<ea(a,!0).toLowerCase().indexOf("-readonly"))this.Pe=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.Pe=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.ad]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)r(h[0]);else{this.ob=h.length;this.pb=h[0].length;this.vb=h[0][0].length;var m=h[0][0][0];this.fb=m&&m.length||512;for(b=a=0;b<this.ob;b++)for(c=0;c<this.pb;c++)for(d=0;d<this.vb;d++)if(m=h[b][c][d]){var 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 t=m.bytes;if(void 0!==t&&t.length){for(var f=
n<<2,x=t.length;x<f;x++)t[x]=q;this.fill(m,t,0)}else s=[],q=m.pattern=q|q<<8|q<<16|q<<24,m.data=s;delete m.bytes}fk(m,b,c);for(f=0;f<s.length;f++)a=a+s[f]&4294967295}this.bb=h;this.Me=a;e=this}else r("Empty disk image: "+this.ad)}catch(E){r("Disk image error: "+E.message)}this.me&&(this.me.call(this.Jl,this.Ma,e,this.ad,this.te),this.me=null)};function fk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Zl=b;a.am=c;a.Nc=a.qc=0;a.kb=!1;return a}
k.hn=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var m=0;h--;){var n=this.seek(e,f,g,!0);if(!n)break;this.fill(n,b,m);m+=n.length;g++}}(d=d[5])&&d(c,a)};function gk(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.ob+":"+a.pb+":"+a.vb+":"+a.fb;c+="&machine="+a.ea.Qe();c+="&user="+a.ea.Gd();return ma()+"/api/v1/disk?"+c}
function hk(a,b,c,d,e,f){if(a.kd){var g;g="action=read&volume="+a.te;g+="&chs="+a.ob+":"+a.pb+":"+a.vb+":"+a.fb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.Qe());g+="&user="+a.ea.Gd();la(ma()+"/api/v1/disk?"+g,!0,null,a,a.hn,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function ik(a,b,c){b.kb=!0;var d=a.Wd.indexOf(b);0<=d&&(a.Wd.splice(d,1),a.cg.splice(d,1));a.Wd.push(b);a.cg.push(ia());c&&jk(a)}
function jk(a){if(a.Wd.length){var b=a.cg[0]+2E3;a.rd&&a.dk<b&&(clearTimeout(a.rd),a.rd=null);if(!a.rd){var c=ia(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.rd=setTimeout(function(){ek(a,!0)},b);a.dk=c+b}}else a.rd&&(clearTimeout(a.rd),a.rd=null)}
function ek(a,b){b&&(a.rd=null);var c=a.Wd[0];if(c){for(var d=c.Zl,e=c.am,c=c.sector,f=0,g=[],h=c-1;h<a.bb[d][e].length;h++){var m=a.bb[d][e][h];if(!m.kb)break;var n=a.Wd.indexOf(m);a.Wd.splice(n,1);a.cg.splice(n,1);g=g.concat(kk(m));m.kb=!1;f++}a.kd?(h={},a.Uh=!0,h.action="write",h.volume=a.te,h.chs=a.ob+":"+a.pb+":"+a.vb+":"+a.fb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ea.Qe(),h.user=a.ea.Gd(),h.data=JSON.stringify(g),d=la(ma()+"/api/v1/disk",b,h,a,a.nn,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.nn=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Uh=!1;if(0<=a&&a<this.bb.length&&0<=b&&b<this.bb[a].length)for(e-=1;0<f--&&0<=e&&e<this.bb[a][b].length;e++){var g=this.bb[a][b][e];c?ik(this,g,!1):g.kb||(g.Nc=g.qc=0)}d&&jk(this)};k.info=function(){return this.bb.length?[this.bb.length,this.bb[0].length,this.bb[0][0].length,this.bb[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,g=this.Ma,h=this.bb[a];if(h){var m=h[b];if(!m&&g.yh&&b<g.pb)for(m=h[b]=Array(g.xd),h=0;h<m.length;h++)m[h]=fk(null,a,b,h+1,g.nb,0);if(m){for(h=0;h<m.length;h++)if(m[h]&&m[h].sector==c){f=m[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<m.length;)null===m[h].pattern&&d++;hk(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.yh&&9==g.cb&&(f=m[h]=fk(null,a,b,g.cb,g.nb,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function kk(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function lk(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.Pe)return!1;if(b<a.length){if(c!=lk(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.qc?f<a.Nc?(a.qc+=a.Nc-f,a.Nc=f):f>=a.Nc+a.qc&&(a.qc+=f-(a.Nc+a.qc)+1):(a.Nc=f,a.qc=1);d[f]=d[f]&~(255<<b)|c<<b;this.kd&&ik(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.te,this.Me,this.ob,this.pb,this.vb,this.fb];if(!this.kd&&!this.Pe)for(var c=this.bb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.qc){for(var h=[],m=0,n=g.Nc,q=g.Nc+g.qc;n<q;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Nc,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.bb.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.Me&&e[1]!=this.Me&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Me+")",b=-1));for(this.bb.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],m=g[f++],n=g[f++];if(h>=this.bb.length||m>=this.bb[h].length||n>=this.bb[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+
b+" changes applied)";b=-1;break}if(this.Pe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.bb[h][m][n]){for(m=h.data.length;m<e;)h.data[m++]=h.pattern;m=0;h.Nc=e;for(h.qc=f.length;e<g;)h.data[e++]=f[m++];b++}}}0>b&&this.ea.Aa("unable to restore disk '"+this.ad+": "+c);return b};
function mk(a){u.call(this,"FDC",a,mk);this.dmaRead=this.Jh;this.dmaWrite=this.Kh;this.dmaFormat=this.Kl;this.fe=null;if(a.autoMount&&(this.fe=a.autoMount,"string"==typeof this.fe))try{this.fe=eval("("+a.autoMount+")")}catch(b){r("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.fe=null}this.nc=[];this.Pj=!sa("Mobi")&&window&&"FileReader"in window}v(u,mk);l={};aa={};
var nk={3:{fd:3,zd:0,name:aa.fp},4:{fd:2,zd:1,name:aa.dp},5:{fd:9,zd:7,name:aa.rp},6:{fd:9,zd:7,name:aa.Yo},7:{fd:2,zd:0,name:aa.$o},8:{fd:1,zd:2,name:aa.ep},10:{fd:2,zd:7,name:aa.Zo},13:{fd:6,zd:7,name:aa.Ko},15:{fd:3,zd:0,name:aa.cp}};k=mk.prototype;
k.Fb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ra[b]=c,c.onchange=function(){var a=d.ra.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){r("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ra[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;if(a){b||(b=16);
if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var m;ca(a,b)&&!isNaN(m=parseInt(a,b))&&(g=m)}a=g;null!=a&&ok(d,a)},!0;case "loadDrive":return this.ra[b]=c,c.onclick=function(){var a=d.ra.listDisks;a&&pk(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Pj?(this.ra[b]=c,c.addEventListener("change",function(){var a=
c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;pk(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Ta=d;this.Oa=a;this.ka=z(a,"ChipSet");this.ld();fb(b,this,qk);hb(b,this,rk);this.Pj&&sk(this,"Local Disk","?");sk(this,"Remote Disk","??");this.kf()||this.Ra()};
k.Xb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Oa.Sh){this.nc=[];for(var c=0;c<this.za.length;c++)tk(this,c,!0);this.kf(!0)}}else if(!this.restore(a))return!1;if(c=this.ra.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.mi;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.mi&&(c.value="0",ok(this,0))}}return!0};
k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ld()};k.save=function(){var a=new I(this);a.set(0,this.hj());return a.data()};k.restore=function(a){return this.ld(a[0])};
k.ld=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.eb=a[b++];b++;this.wa=a[b++];this.Zb=a[b++];this.xb=a[b++];this.hb=a[b++];this.bf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.nc=c);void 0===this.za&&(this.mi=4,this.ka&&(this.mi=Zh(this.ka)),this.za=Array(4));for(c=0;c<this.za.length;c++){var f=this.za[c];if(void 0===f){var f=this.za[c]={},g;if(this.ka)a:{g=this.ka;if(c<Zh(g)){if(!g.sd){g=360;break a}if(c<g.sd.length){g=g.sd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.pb=
1;default:f.ob=40;f.vb=9;break;case 720:f.ob=80;f.vb=9;break;case 1200:f.ob=80;f.vb=15;break;case 1440:f.ob=80,f.vb=18}}this.bi(f,c,e[c])||(d=!1)}this.Qd=a[b++]||0;this.ml=a[b]||0;return d};k.hj=function(){var a=0,b=[];b[a++]=this.eb;b[a++]=0;b[a++]=this.wa;b[a++]=this.Zb;b[a++]=this.xb;b[a++]=this.hb;b[a++]=this.bf;b[a++]=this.jj();for(var c=a++,d=0;d<this.za.length;d++){var e=this.za[d];e.ua&&uk(this,e.ue,e.ua)}b[c]=this.nc;b[a++]=this.Qd;b[a]=this.ml;return b};
k.bi=function(a,b,c){var d=0,e=!0;a.eb=b;a.zc=a.Ne=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.ob||40,a.pb||c[3],a.vb||9,a.fb||512,c[1],a.Tg,a.Ff,a.Gf]);a.$a=c[d++];var f=c[d++];a.name=f[0];a.ob=f[1];a.pb=f[2];a.vb=f[3];a.fb=f[4];a.Oe=f[5];(a.Tg=f[6])?(a.Ff=f[7],a.Gf=f[8]):(a.Tg=a.ob,a.Ff=a.pb,a.Gf=a.vb);a.La=c[d++];a.vd=c[d++];a.sb=c[d++];a.vd=100<=a.vd?a.vd-100:a.vd-a.sb;a.cb=c[d++];a.xd=c[d++];a.nb=c[d++];a.Ua=c[d++];a.Pa=null;a.ua||(a.ue="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.za[b],tk(this,b,!0,!0),d.Ne=!0,b=new ck(this,d,"preload"),this.Jj(d,b,f,c,!0)):vk(this,b,f,c,!0)?a.ua&&c&&wk(this,f,c,a.ua):this.Ra(!1)):void 0!==g&&a.ua&&0>a.ua.restore(g)&&(e=!1);e&&a.ua&&void 0!==a.Ua&&(a.Pa=a.ua.seek(a.sb,a.La,a.cb));return e};k.jj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.ij(this.za[c]);return b};
k.ij=function(a){var b=0,c=[];c[b++]=a.$a;c[b++]=[a.name,a.ob,a.pb,a.vb,a.fb,a.Oe,a.Tg,a.Ff,a.Gf];c[b++]=a.La;c[b++]=a.vd+100;c[b++]=a.sb;c[b++]=a.cb;c[b++]=a.xd;c[b++]=a.nb;c[b++]=a.Ua;c[b++]=a.Ne;c[b++]=a.rl;c[b]=a.ue;return c};k.kf=function(a){a||(this.ce=0);if(this.fe)for(var b in this.fe){var c=this.fe[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.za.length){!vk(this,d,c.name,c.path,!0)&&a&&this.Ra(!1);continue}}this.Aa("Unrecognized auto-mount specification for drive "+b)}return!!this.ce};
function pk(a,b,c,d){var e,f=a.ra.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.za.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ea(c);a.fc("Attempting to load "+c+' as "'+b+'"')}for(a.fc("loading disk "+c+"...");vk(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=
a,g=c,h=void 0,h=0;h<f.nc.length;h++)if(f.nc[h][1]==g){f.nc.splice(h,1);break}tk(a,e,!1,!0)}}else tk(a,e);else a.Aa("Nothing to load")}function vk(a,b,c,d,e,f){var g=a.za[b];if(d&&g.ue!=d){tk(a,b,e,!0);if(g.zc)return a.Aa("Drive "+b+" busy"),!0;g.zc=!0;e&&(g.ke=!0,a.ce++);g.Ne=!!f;(new ck(a,g,"preload")).load(c,d,f,a.Jj);return!1}return!0}
k.Jj=function(a,b,c,d,e){var f;a.zc=!1;b&&(f=b.info(),b&&f[0]>a.ob||f[1]>a.pb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.eb)),b=null);b?(a.ua=b,a.rl=c,a.ue=d,wk(this,c,d,b),f=b.info(),this.Qd|=128,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.eb),a.ke||e),a.Tg=f[0],a.Ff=f[1],a.Gf=f[2]):a.Ne=!1;a.ke&&(a.ke=!1,--this.ce||this.Ra());ok(this,a.eb)};
function sk(a,b,c){if(a=a.ra.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function ok(a,b){if(0<=b&&b<a.za.length){var c=a.za[b],d=a.ra.listDisks,e=a.ra.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.Ne?"?":c.ue,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
function tk(a,b,c,d){var e=a.za[b];e.ua&&(uk(a,e.ue,e.ua),e.rl="",e.ue="",e.ua=null,e.Ne=!1,a.Qd|=128,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||ok(a,b))}function wk(a,b,c,d){var e;for(e=0;e<a.nc.length;e++)if(a.nc[e][1]==c){d.restore(a.nc[e][2]);return}a.nc[e]=[b,c,[]]}function uk(a,b,c){var d;for(d=0;d<a.nc.length;d++)if(a.nc[d][1]==b){a.nc[d][2]=c.save();break}}k.Kn=function(a,b){b&4?this.bf&4||this.bf&8&&this.ka&&vi(this.ka,6):this.ld();this.bf=b};k.vm=function(){return this.wa};
k.tm=function(){var a=0;this.xb<this.hb&&(a=this.Zb[this.xb]);this.bf&8&&this.ka&&wi(this.ka,6);++this.xb>=this.hb&&(this.wa&=-81,this.xb=this.hb=0);return a};
k.Jn=function(a,b){this.hb<this.Zb.length&&(this.Zb[this.hb++]=b);var c=this.Zb[0]&31;if(void 0!==nk[c]&&this.hb>=nk[c].fd){var d=!1;this.xb=0;var c=this.Ka(),e,f,g,h,m,n=c&31;switch(n){case 3:this.Ka(l.gp);this.Ka(l.No);this.Kb();break;case 4:f=this.Ka(l.cf);this.eb=f&3;e=this.za[this.eb];this.Kb();this.Yb((e.$a&4278190080)>>>24,l.jp);break;case 5:case 6:f=this.Ka(l.cf);d=f>>2&1;this.eb=f&3;e=this.za[this.eb];e.La=d;f=e.sb=this.Ka(l.qj);g=this.Ka(l.rj);h=e.cb=this.Ka(l.tj);m=this.Ka(l.ph);e.nb=128<<
m;e.xd=this.Ka(l.Io);this.Ka(l.Bl);this.Ka(l.Ho);6==n?(n=e,n.$a=72,n.ua&&(n.Pa=null,n.$a=0,this.ka&&(li(this.ka,2,this,"dmaRead",n),hi(this.ka,2)))):(n=e,n.$a=72,n.ua&&(n.ua.Pe?n.$a=576:(n.Pa=null,n.$a=0,this.ka&&(li(this.ka,2,this,"dmaWrite",n),hi(this.ka,2)))));xk(this,e,c,d,f,g,h,m);d=!0;break;case 7:f=this.Ka(l.cf);this.eb=f&3;e=this.za[this.eb];e.sb=e.vd=0;e.$a=268435488;this.Kb();d=!0;break;case 8:e=this.za[this.eb];e.La=0;this.Kb();this.Yb(e.eb|e.La<<2|e.$a&255,l.Dl);this.Yb(e.sb,l.Wo);this.eb=
this.eb+1&3;break;case 10:f=this.Ka(l.cf);d=f>>2&1;this.eb=f&3;e=this.za[this.eb];f=e.sb;g=e.La=d;h=e.cb=1;m=0;e.$a=0;e.ua&&(e.Pa=e.ua.seek(e.sb,e.La,e.cb))?m=e.Pa.length:e.$a=72;xk(this,e,c,d,f,g,h,m);d=!0;break;case 13:f=this.Ka(l.cf);d=f>>2&1;this.eb=f&3;e=this.za[this.eb];f=e.sb;g=e.La=d;h=1;m=this.Ka(l.ph);e.nb=128<<m;e.xd=this.Ka(l.bp);this.Ka(l.Bl);e.Aj=this.Ka(l.Al);n=e;n.$a=72;n.ua&&(n.Pa=null,n.$a=0,this.ka&&(n.Je=0,n.uc=Array(4),n.yh=!0,n.vg=0,li(this.ka,2,this,"dmaFormat",n),hi(this.ka,
2),n.yh=!1));xk(this,e,c,d,f,g,h,m);d=!0;break;case 15:f=this.Ka(l.cf),this.eb=f&3,e=this.za[this.eb],e.La=f>>2&1,f=this.Ka(l.To),e.sb+=f-e.vd,0>e.sb&&(e.sb=0),e.sb>=e.ob&&(e.sb=e.ob-1),e.vd=f,e.$a=32,e.sb||(e.$a|=268435456),this.Kb(),d=!0}0<this.hb&&(this.wa|=80);this.bf&8&&(!e||e.$a&8||!d||this.ka&&vi(this.ka,6))}};k.um=function(){var a=this.Qd;this.Qd&=-129;return a};k.In=function(a,b){this.ml=b};
function xk(a,b,c,d,e,f,g,h){a.Kb();a.Yb(b.eb|b.La<<2|b.$a&255,l.Dl);a.Yb((b.$a&65280)>>>8,l.hp);a.Yb((b.$a&16711680)>>>16,l.ip);var m=0;if(e!=b.sb||f!=b.La)m=g=1;c&128&&(f^=m,d||(m=0));a.Yb(e+m,l.qj);a.Yb(f,l.rj);a.Yb(g,l.tj);a.Yb(h,l.ph)}k.Ka=function(){var a=this.Zb[this.xb];this.xb++;return a};k.Kb=function(){this.xb=this.hb=0};k.Yb=function(a){this.Zb[this.hb++]=a};k.Jh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};k.Kh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};
k.Kl=function(a,b){return void 0!==b&&0<=b?this.nj(a,b):-1};k.Cc=function(a,b){var c=-1;if(!a.$a&&a.ua){do{if(a.Pa&&0<=(c=lk(a.Pa,a.Ua++)))break;a.Pa=a.ua.seek(a.sb,a.La,a.cb);if(!a.Pa){a.$a=1088;break}a.Ua=0;this.hf(a)}while(1)}b(c,!1)};k.Fc=function(a,b){if(a.$a||!a.ua)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ua++,b))break;a.Pa=a.ua.seek(a.sb,a.La,a.cb);if(!a.Pa){a.$a=8256;b=-1;break}a.Ua=0;this.hf(a)}while(1);return b};k.hf=function(a){a.cb++;a.cb>=a.Gf+1&&(a.cb=1,a.La++,a.La>=a.Ff&&(a.La=0,a.sb++))};
k.nj=function(a,b){if(a.$a)return-1;a.uc[a.Je++]=b;if(a.Je==a.uc.length){a.sb=a.uc[0];a.La=a.uc[1];a.cb=a.uc[2];a.nb=128<<a.uc[3];for(var c=a.Je=0;c<a.nb;c++)if(0>this.Fc(a,a.Aj))return-1;a.vg++}a.vg>=a.xd&&(b=-1);return b};var qk={1012:mk.prototype.vm,1013:mk.prototype.tm,1015:mk.prototype.um},rk={1010:mk.prototype.Kn,1013:mk.prototype.Jn,1015:mk.prototype.In};za(function(){for(var a=y(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new mk(d);Na(d,c)}});
function $(a){u.call(this,"HDC",a,$);this.dmaRead=this.Jh;this.dmaWrite=this.Kh;this.dmaWriteBuffer=this.Ll;this.dmaWriteFormat=this.Ml;this.rh=[];if(a.drives)try{this.rh=eval("("+a.drives+")")}catch(b){r("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.wf=(this.je="at"==a.type)?1:0;this.$l=this.je?2:3}v(u,$);
var yk=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=$.prototype;k.Fb=function(){return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Ta=d;this.Oa=a;this.ka=z(a,"ChipSet");fb(b,this,this.je?zk:Ak);hb(b,this,this.je?Bk:Ck);Bc(c,19,this,this.Xm);Bc(c,64,this,this.Ym);this.reset();this.kf()||this.Ra()};
k.Xb=function(a,b){if(!b)if(!a||!this.restore)this.ld(),this.Oa.Sh&&this.kf(!0);else if(!this.restore(a))return!1;return!0};k.Wb=function(a){return a&&this.save?this.save():!0};k.Qe=function(){return this.Oa?this.Oa.Qe():""};k.Gd=function(){return this.Oa?this.Oa.Gd():""};k.reset=function(){this.ld(null,!0)};k.save=function(){var a=new I(this);a.set(0,this.hj());return a.data()};k.restore=function(a){return this.ld(a[0])};
k.ld=function(a,b){var c=0,d=!0;if(this.je)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Pd=a[c++],this.ql=a[c++],this.Rd=a[c++],this.fh=a[c++],this.dh=a[c++],this.bh=a[c++],this.af=a[c++],this.wa=a[c++],this.fj=a[c++],this.eh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Tf=a[c++];this.wa=a[c++];this.Zb=a[c++];this.xb=a[c++];this.hb=a[c++];this.pl=a[c++];this.ol=a[c++];this.nl=a[c++];var e=a[c++];void 0!==e?this.Re=e:void 0===this.Re&&(this.Re=-1)}void 0===this.za&&(this.za=Array(this.rh.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.za.length;e++){void 0===this.za[e]&&(this.za[e]={});var f=this.za[e];this.bi(e,f,this.rh[e],c[e],b)||(d=!1);null!=this.Tf&&1>=e&&(this.Tf|=(f.type&3)<<(1-e<<1))}return d};
k.hj=function(){var a=0,b=[];this.je?(b[a++]=this.Pd,b[a++]=this.ql,b[a++]=this.Rd,b[a++]=this.fh,b[a++]=this.dh,b[a++]=this.bh,b[a++]=this.af,b[a++]=this.wa,b[a++]=this.fj,b[a++]=this.eh):(b[a++]=this.Tf,b[a++]=this.wa,b[a++]=this.Zb,b[a++]=this.xb,b[a++]=this.hb,b[a++]=this.pl,b[a++]=this.ol,b[a++]=this.nl,b[a++]=this.Re);b[a]=this.jj();return b};
k.bi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.eb=a;b.errorCode=d[f++];b.vl=d[f++];b.Oe=d[f++];b.De=d[f++];b.Ee=d[f++];b.La=d[f++];b.pb=d[f++];b.Ud=d[f++];b.cb=d[f++];b.xd=d[f++];b.nb=d[f++];b.sg=this.je?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.Gd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===yk[this.wf][b.type])b.type=this.$l;c=yk[this.wf][b.type];
b.vb=c[2]||17;b.fb=c[3]||512;if(e&&this.ka&&(e=this.ka,c=b.type,e.ja)){var h=e.ja[18],h=a?h&240|c:h&15|c<<4;e.ja&&(e.ja[18]=h,Rh(e))}void 0===b.ua&&(b.ua=null,this.Aa("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Dk(this,b);b.Ua=d[f++];b.Pa=null;b.ua&&(a=d[f],void 0!==a&&0>b.ua.restore(a)&&(g=!1),g&&void 0!==b.Ua&&(b.Pa=b.ua.seek(b.Ud,b.La,b.cb+b.sg)));return g};k.jj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.ij(this.za[c]);return b};
k.ij=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.vl;c[b++]=a.Oe;c[b++]=a.De;c[b++]=a.Ee;c[b++]=a.La;c[b++]=a.pb;c[b++]=a.Ud;c[b++]=a.cb;c[b++]=a.xd;c[b++]=a.nb;c[b++]=a.Ua;c[b]=a.ua?a.ua.save():null;return c};
function Dk(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.De[2])?e=b.De[0]<<8|b.De[1]:c=b.type);null==c||d||(d=yk[a.wf][c][1],e=yk[a.wf][c][0]);d&&((c=yk[a.wf][b.type])&&e!=c[0]&&d!=c[1]&&a.Aa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.ob=e,b.pb=d,null==b.ua&&(b.ua=new ck(a,b,b.mode)))}}
k.kf=function(a){a||(this.ce=0);for(var b=0;b<this.za.length;b++){var c=this.za[b];if(c.name&&c.path){if(!(a&&c.ua&&c.ua.Fg)){var d;d=c.name;var c=c.path,e=this.za[b];e.zc?(this.Aa("Drive "+b+" busy"),d=!0):(e.zc=!0,e.ke=!0,this.ce++,(e.ua||new ck(this,e,e.mode)).load(d,c,null,this.Ol),d=!1);!d&&a&&this.Ra(!1)}}else a&&void 0!==c.type&&(c.ua=null,Dk(this,c,c.type))}return!!this.ce};
k.Ol=function(a,b,c){a.zc=!1;(a.ua=b)&&this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.eb),a.ke);a.ke&&(a.ke=!1,--this.ce||this.Ra())};k.Vm=function(){var a=0;this.xb<this.hb&&(a=this.Zb[this.xb]);this.ka&&wi(this.ka,5);this.wa&=-33;++this.xb>=this.hb&&(this.xb=this.hb=0,this.wa&=-15);return a};k.ho=function(a,b){this.hb<this.Zb.length&&(this.Zb[this.hb++]=b);var c=12!=this.Zb[0]?6:this.Zb.length;6==this.hb&&(this.wa&=-2);this.hb>=c&&(this.wa|=2,this.wa&=-2,Ek(this))};
k.Wm=function(){var a=this.wa;this.xb<this.hb&&(this.wa|=1);return a};k.ko=function(a,b){this.pl=b;this.ka&&wi(this.ka,5);this.ld()};k.Um=function(){return this.Tf};k.jo=function(a,b){this.ol=b;this.wa=13};k.io=function(a,b){this.nl=b};k.aj=function(){};
k.gm=function(){var a=-1;if(this.Ma&&(a=this.Cc(this.Ma),1!=this.Ma.Ua&&this.Ma.Ua==this.Ma.fb))if(this.Ma.nb-=this.Ma.fb,this.Rd=this.Rd-1&255,this.Ma.nb>=this.Ma.fb){var b=this;b.wa=136;this.Cc(this.Ma,function(a){0<=a?(Fk(b),b.wa=80):(b.wa=1,b.Pd=16)},!1)}else this.wa=80;return a};
k.un=function(a,b){this.Ma&&this.Ma.nb>=this.Ma.fb&&(0>this.Fc(this.Ma,b)?(this.wa=1,this.Pd=16):1!=this.Ma.Ua&&this.Ma.Ua==this.Ma.fb&&(this.Ma.nb-=this.Ma.fb,this.Rd=this.Rd-1&255,Fk(this),this.wa=80,this.Ma.nb>=this.Ma.fb&&(this.wa|=8)))};k.im=function(){return this.Pd};k.zn=function(a,b){this.ql=b};k.jm=function(){return this.Rd};k.xn=function(a,b){this.Rd=b};k.km=function(){return this.fh};k.yn=function(a,b){this.fh=b};k.fm=function(){return this.dh};k.tn=function(a,b){this.dh=b};k.em=function(){return this.bh};
k.sn=function(a,b){this.bh=b};k.hm=function(){return this.af};k.vn=function(a,b){this.af=b;this.wa=this.za[this.af&16?1:0]?this.wa|64:this.wa&-65};k.lm=function(){return this.wa};k.rn=function(a,b){this.fj=b;this.ka&&wi(this.ka,14);Gk(this)};k.wn=function(a,b){this.eh&4&&!(b&4)&&(this.Pd=1);this.eh=b};
function Gk(a){var b=!1,c=a.fj,d=a.af&16?1:0,e=a.af&15,f=a.dh|(a.bh&3)<<8,g=a.fh,h=a.Rd||256;a.Ma=null;a.Pd=0;a.wa=80;(d=a.za[d])?(d.Ud=f,d.La=e,d.cb=g,d.nb=h*d.fb,c=144<=c?c:c&240,d.Pa=null,d.Ua=0,d.errorCode=0,a.Ma=d):c=-1;switch(c&240){case 32:a.wa=136;a.Cc(d,function(b){0<=b&&a.ka?(Fk(a),a.wa=80):(a.wa=1,a.Pd=16)},!1);break;case 48:a.wa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Pd=1;b=!0;break;case 145:d.pb=e+1,d.vb=h,b=!0}b&&Fk(a)}
function Fk(a){!a.ka||a.eh&2||vi(a.ka,14,120)}
function Ek(a){a.xb=0;var b=a.Ka(),c=a.Ka(),d=c&32,e=d>>5,f=c&31,g=a.Ka(),h=a.Ka(),m=g<<2&768|h,n=g&63,q=a.Ka(),s=a.Ka(),t=a.za[e];t&&(t.Ud=m,t.La=f,t.cb=n,t.nb=q*t.fb);switch(b){case 3:a.Kb(t?t.errorCode:4);a.Yb(c);a.Yb(g);a.Yb(h);a.Yb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ka());)t&&c<t.De.length&&(t.De[c++]=b);t&&Dk(a,t);b=0;t||a.Re!=e||(a.Re=-1,b=2);a.Kb(b|d);b=-1;break;case 224:case 228:a.Kb(0|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=0,t.vl=0),b){case 0:a.Kb(0|d);break;case 1:t.zp=
s;a.Kb(0|d);break;case 5:a.Kb(0|d);break;case 8:Hk(a,t,function(b){a.Kb(b|d)});break;case 10:Ik(a,t,function(b){a.Kb(b|d)});break;case 15:Lk(a,t,function(b){a.Kb(b|d)});break;default:a.Kb(2|d)}}k.Ka=function(){var a=-1;this.xb<this.hb&&(a=this.Zb[this.xb++]);return a};k.Kb=function(a){this.xb=this.hb=0;void 0!==a&&this.Yb(a);this.ka&&vi(this.ka,5);this.wa|=32};k.Yb=function(a){this.Zb[this.hb++]=a};k.Jh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};
k.Kh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.Ll=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ua<a.Ee.length?a.Ee[a.Ua++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Ml=function(a,b){return void 0!==b&&0<=b?this.nj(a,b):-1};function Hk(a,b,c){b.errorCode=4;if(b.ua&&(b.Pa=null,a.ka)){b.errorCode=0;li(a.ka,3,a,"dmaRead",b);hi(a.ka,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function Ik(a,b,c){b.errorCode=4;if(b.ua&&(b.Pa=null,a.ka)){b.errorCode=0;li(a.ka,3,a,"dmaWrite",b);hi(a.ka,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function Lk(a,b,c){b.errorCode=4;b.Ee&&b.Ee.length==b.nb||(b.Ee=Array(b.nb));b.Ua=0;a.ka?(b.errorCode=0,li(a.ka,3,a,"dmaWriteBuffer",b),hi(a.ka,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Cc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Pa&&(d=lk(a.Pa,a.Ua),a.Ua+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.ua)return a.ua.seek(a.Ud,a.La,a.cb+a.sg,!1,function(c,h){(a.Pa=c)?(a.Ua=0,f.hf(a),d=lk(a.Pa,a.Ua),a.Ua+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
k.Fc=function(a,b){if(a.errorCode)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ua++,b))break;a.ua&&a.ua.seek(a.Ud,a.La,a.cb+a.sg,!0,function(b){a.Pa=b});if(!a.Pa){a.errorCode=20;b=-1;break}a.Ua=0;this.hf(a)}while(1);return b};k.hf=function(a){a.cb++;var b=1-a.sg;a.cb>=a.vb+b&&(a.cb=b,a.La++,a.La>=a.pb&&(a.La=0,a.Ud++))};
k.nj=function(a,b){if(a.errorCode)return-1;a.uc[a.Je++]=b;if(a.Je==a.uc.length){a.Ud=a.uc[0];a.La=a.uc[1];a.cb=a.uc[2];a.nb=128<<a.uc[3];for(var c=a.Je=0;c<a.nb;c++)if(0>this.Fc(a,a.Aj))return-1;a.vg++}a.vg>=a.xd&&(b=-1);return b};k.Xm=function(){var a=this.la.K&255;!(this.la.H>>8)&&128<a&&(this.Re=a-128);return!0};k.Ym=function(){var a;(a=this.la.H>>8)||(a=!this.ka)||(a=!(this.ka.Rb[0].Sc&64));return a?!0:!1};
var Ak={800:$.prototype.Vm,801:$.prototype.Wm,802:$.prototype.Um},zk={496:$.prototype.gm,497:$.prototype.im,498:$.prototype.jm,499:$.prototype.km,500:$.prototype.fm,501:$.prototype.em,502:$.prototype.hm,503:$.prototype.lm},Ck={800:$.prototype.ho,801:$.prototype.ko,802:$.prototype.jo,803:$.prototype.io,807:$.prototype.aj,811:$.prototype.aj,815:$.prototype.aj},Bk={496:$.prototype.un,497:$.prototype.zn,498:$.prototype.xn,499:$.prototype.yn,500:$.prototype.tn,501:$.prototype.sn,502:$.prototype.vn,503:$.prototype.rn,
1014:$.prototype.wn};za(function(){for(var a=y(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new $(d);Na(d,c)}});var ue=1,te=32,aj=128,$i=32768,Li=4194304,se=536870912;function I(a,b,c){this.id=a.id;this.key=Mk(a,b,c);this.Ta=a.Ta;Nk(this,a.lo)}function Mk(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
I.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Rh=!0):this.Rh?!0:pa()&&(a=qa(this.key))?(this[this.id]=a,this.Rh=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){r(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){Nk(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}},cc:function(){}};function Nk(a,b){a[a.id]={};b&&a.set("parms",b);a.Rh=!1}
function Ok(a){var b=!0;if(pa()){var c=JSON.stringify(a[a.id]);ra(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function Pk(a,b,c){u.call(this,"Computer",a,Pk);this.na.Lb=!1;this.xf=a.buswidth;this.Dc=Qk;this.Wf=null;this.Hg=!1;this.url=b?b.url:null;this.to=(Math.random()+0.1).toString(36).substr(2,12);this.Ec=Rk(this);if(this.la=Ma("CPU",this.id)){this.Ta=Ma("Debugger",this.id);this.qa=new Ta({id:this.Zj+".bus",buswidth:this.xf},this.la,this.Ta);var d,e=Ka(this.id);if((this.Sf=Ma("Panel",this.id))&&this.Sf.Gh)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.Sf.Aa,d.fc=this.Sf.fc,d.Gh=this.Sf.Gh;for(b=0;b<e.length;b++)d=
e[b],d.sc&&d.sc(this,this.qa,this.la,this.Ta);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.ih=d:this.Dc=parseInt(d,10));var f;if(a=Fa&&Fa.state||(f=!0,a.state))b=this.tl=a,f||(this.Hg=!0,this.Dc=Qk),this.Dc&&(this.lh=new I(this,"1.16.2"),this.lh.load()?b=null:delete this.lh);!b&&this.Dc&&(f=null,this.Ec&&(f=ma()+"/api/v1/user?req=load&user="+this.Ec+"&state="+Mk(this,"1.16.2")),b=f)&&(this.Hg=!0);b?la(b,!0,null,this,this.ln):this.Ra();c||Sk(this,this.$g)}else r("Unable to find CPU component")}
v(u,Pk);var Qk=0;k=Pk.prototype;k.Qe=function(){return this.to};k.Gd=function(){return this.Ec?this.Ec:""};k.ln=function(a,b,c){c?(this.ih=null,this.Hg=!1,this.Aa("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Wf=b;this.Ra()};function Sk(a,b,c){for(var d=Ka(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Pa(f)){Pa(f,function(){Sk(a,b,c)});return}}b.call(a,c)}
function Tk(a,b){var c=new I(a,"1.16.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.$g=function(a){void 0===a&&(a=this.Dc||(this.Wf?1:Qk));var b=!1,c=!1;this.Sj=!1;var d=this.lh||new I(this,"1.16.2");if(-1==a)b=!0;else if(a>Qk){if(d.load(this.Wf)){this.we=new I(this,"1.16.2","failsafe");this.we.load()&&(Uk(this,d),a=2,Nk(this.we));this.we.set("timestamp",ja());Ok(this.we);var e=this.Dc&&!this.Hg;if(1==a||na("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Aa("Error: "+g),"unable to verify user"==g&&(ra("user",""),this.Ec=null)):this.fc(f+": "+g),Nk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Tk(this,c?d:null)}else 2==a&&d.clear()}else Tk(this);delete this.Wf;delete this.lh}e=Ka(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.la&&(c=Vk(this,g,d,b,c));b=[d,a,c];-1!=a?Sk(this,this.Kj,b):this.Kj(b)};
function Vk(a,b,c,d,e){if(!b.na.Lb){b.na.Lb=!0;if(b.Xb){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.Xb(f,d)&&f&&(r("Unable to restore state for "+b.type),a.tl&&!a.Wf?(c.clear(),a.Dc=Qk,window&&window.location.reload()):a.Sj=!0,b.Xb(null),e=!1)}if(!d&&b.Hj)for(a=b.Hj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Kj=function(a){var b=a[0],c=0>a[1];a=a[2];this.na.Lb=!0;this.Oj||(this.fc("PCjs v1.16.2\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Oj=!0);this.la&&Vk(this,this.la,b,c,a);this.Sj&&(Uk(this,b),b.clear());!c&&this.we&&(this.we.clear(),delete this.we)};
function Uk(a,b){if(na("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Gd(),d=b.toString(),e={app:"PCjs",ver:"1.16.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;la("http://www.pcjs.org/api/v1/report",!0,e)}}
function Wk(a,b,c){var d,e="none",f=new I(a,"1.16.2"),g=new I(a,"1.16.2","validate"),h=ja();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.la&&a.la.Wb&&(c&&qb(a.la),d=a.la.Wb(b,c),"object"===typeof d&&f.set(a.la.id,d),c&&(a.la.na.Lb=!1,!1===d&&(e=null)));for(var h=Ka(a.id),m=0;m<h.length;m++){var n=h[m];n.na.Lb&&(n.Wb&&(d=n.Wb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.na.Lb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Ec&&Xk(a,a.Ec,f.toString()),Ok(g)&&Ok(f)||(e=null,d=h=!0)):a.Dc&&(d=!0,h=3==a.Dc),d&&f.clear(h)):e=f.toString());c&&(a.na.Lb=!1);return e}k.reset=function(){this.qa&&this.qa.reset&&(this.cc("Resetting "+this.qa.type),this.qa.reset());for(var a=Ka(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.qa&&c.reset&&(this.cc("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Ka(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Ka(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Fb=function(a,b,c){var d=this;switch(b){case "save":return this.ra[b]=c,c.onclick=function(){var a=Rk(d,!0);if(a){var b=!(!d.Dc||d.ih),c=Wk(d,b);b?Xk(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0;case "reset":return this.ra[b]=c,c.onclick=function(){rb(d)},!0}return!1};
function Rk(a,b){var c=a.Ec;c||(c=qa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Yk(a,c))||a.Aa("Your user ID has not been approved."))):b&&a.Aa("Browser local storage is not available"));return c}
function Yk(a,b){a.Ec=null;var c=la(ma()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ra("user",c.data),a.Ec=c.data)}catch(e){r(e.message+" ("+d+")")}return a.Ec}
function Xk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Mk(a,"1.16.2");d.data=c;b=la(ma()+"/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.Aa("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.Aa(c),ra("user",""),a.Ec=null)}}
function rb(a){if(a.Dc&&!a.ih){var b=na("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Wk(a,b,!0);!b&&a.tl?window&&window.location.reload():(b||(a.Sh=!0),a.$g(Qk),a.Sh=!1)}else a.reset(),a.la&&pb(a.la)}function z(a,b,c){a=Ka(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}
za(function(){for(var a=y(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new Pk(g,d,!0);Na(g,f);Sk(g,g.$g)}});ta.show.push(function(){for(var a=y(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Ma("Computer",c.id))&&c.Oj&&!c.na.Lb&&c.$g(-1)}});
ta.exit.push(function(){for(var a=y(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Ma("Computer",c.id))&&c.na.Lb&&Wk(c,!(!c.Dc||c.ih),!0)}});var Zk=0;function $k(a,b,c,d,e,f){e("Loading "+a+"...");la(a,!0,null,null,function(g,h,m){m?(h||(h="unable to load "+a+" ("+m+")"),f(h,null)):al(h,a,b,c,d,e,f)})}
function al(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(s){h=
null,a=s.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?bl(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function bl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");la(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=h[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=m&&(g=g.replace(h[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);bl(a,b,c)}})}else c(a,null)}
function cl(a,b,c,d){function e(a){if(void 0===h){var b=g&&y(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);m&&(--Zk||Ba(!0));m=!1}var g,h,m=!0;Zk++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.2/components.xsl");var n=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--Zk||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--Zk||Ba(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?$k(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?$k(b,a,d,!0,e,n):al(b,null,a,d,!1,e,n)}else f("failed to find machine element: "+a)}catch(q){f(q.message)}return m}
window.embedPC=function(a,b,c,d){Ba(!1);return cl(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Ca;})();
c.appendChild(f);var h=e.getContext("2d"),d=new S(d,e,h,f);Ma(d,c)}});function Z(a){this.Yj=a.adapter;switch(this.Yj){case 1:this.ej=1016;this.Hf=4;break;case 2:this.ej=760;this.Hf=3;break;default:q("Unrecognized serial adapter #"+this.Yj);return}this.yd=null;s.call(this,"SerialPort",a,Z);var b=a.binding,c;a=Tj;b&&(void 0===c&&(c="Panel"),(c=La(c,this.id))&&(b=c.ra[b])&&this.Eb(null,a,b))}v(s,Z);var Tj="buffer";k=Z.prototype;k.zj=function(a,b){return a==this.bi?(this.Hd=b,this):null};
k.Eb=function(a,b,c){var d=this;switch(b){case Tj:return this.ra[b]=this.yd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Uj(d,[b]))},c.onkeypress=function(a){a=a||window.event;Uj(d,[a.which||a.keyCode])},!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ka=Ra(a,"ChipSet");fb(b,this,Vj,this.ej);hb(b,this,Wj,this.ej);z(this)};k.Yb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.Xb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Fd()};k.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.Ah;c[b++]=this.Ej;c[b++]=this.xe;c[b++]=this.mg;c[b++]=this.ud;c[b++]=this.ae;c[b++]=this.Rc;c[b++]=this.wc;c[b++]=this.Cj;c[b]=this.gf;a.set(0,c);return a.data()};k.restore=function(a){return this.Fd(a[0])};
k.Fd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Ah=a[b++];this.Ej=a[b++];this.xe=a[b++];this.mg=a[b++];this.ud=a[b++];this.ae=a[b++];this.Rc=a[b++];this.wc=a[b++];this.Cj=a[b++];this.gf=a[b];return!0};function Uj(a,b){a.gf=a.gf.concat(b);Xj(a)}function Xj(a){0<a.gf.length&&!(a.wc&1)&&(a.Ah=a.gf.shift(),a.wc|=1);var b=-1;a.wc&1&&a.mg&1&&(b=4);0<=b?(a.ud&=-8,a.ud|=b,a.ka&&a.Hf&&wi(a.ka,a.Hf)):(a.ud|=1,a.ka&&a.Hf&&xi(a.ka,a.Hf))}
k.Qm=function(){var a=this.ae&128?this.xe&255:this.Ah;this.wc&=-2;Xj(this);return a};k.Bm=function(){return this.ae&128?this.xe>>8:this.mg};k.Cm=function(){return this.ud};k.Dm=function(){return this.ae};k.Fm=function(){return this.Rc};k.Em=function(){return this.wc};k.Lm=function(){return this.Cj};
k.ho=function(a,b){if(this.ae&128)this.xe=this.xe&-256|b;else{this.Ej=b;this.wc&=-97;var c;this.yd?(13!=b&&(8==b?this.yd.value=this.yd.value.slice(0,-1):(this.yd.value+=String.fromCharCode(b),this.yd.scrollTop=this.yd.scrollHeight)),c=!0):c=!1;c&&(this.wc|=96)}};k.Rn=function(a,b){this.ae&128?this.xe=this.xe&255|b<<8:this.mg=b};k.Sn=function(a,b){this.ae=b};
k.Tn=function(a,b){var c=this.Rc;this.Rc=b;if(this.Hd&&(c^b)&3){var c=this.Hd,d=this.Rc,e=3==(d&3);if(e){if(!c.Mc){var f=!1;c.Rc&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.Rc&1||(c.cc("serial mouse ID requested"),f=!0);f&&(Uj(c.qf,[77,77]),c.cc("serial mouse ID sent"));Yj(c,c.Fa);c.setActive(e)}}else c.Mc&&(c.cc("serial mouse inactive"),Zj(c.Fa),c.setActive(e));c.Rc=d}};
var Vj={0:Z.prototype.Qm,1:Z.prototype.Bm,2:Z.prototype.Cm,3:Z.prototype.Dm,4:Z.prototype.Fm,5:Z.prototype.Em,6:Z.prototype.Lm},Wj={0:Z.prototype.ho,1:Z.prototype.Rn,3:Z.prototype.Sn,4:Z.prototype.Tn};wa(function(){for(var a=y(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Z(d);Ma(d,c)}});function ak(a){s.call(this,"Mouse",a,ak);if(this.ai=a.serial)this.hj="SerialPort";this.setActive(!1);this.Fg=!1;z(this)}v(s,ak);k=ak.prototype;
k.sc=function(a,b,c,d){this.Oa=a;this.qa=b;this.la=c;this.Sa=d;this.nh=Ra(this.Oa,"Video")};k.setActive=function(a){this.Mc=a};k.Yb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.hj&&!this.qf){for(var c=null;(c=Ra(this.Oa,this.hj,c))&&(!c.zj||!(this.qf=c.zj(this.ai,this))););this.qf?this.nh&&(c=this.nh,c.Hd=this,this.Fa=c.Fa):q(this.id+": "+this.hj+" "+this.ai+" unavailable")}this.Mc?Yj(this,this.Fa):Zj(this.Fa)}return!0};
k.Xb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Fd()};k.save=function(){var a=new I(this);a.set(0,this.lj());return a.data()};k.restore=function(a){return this.Fd(a[0])};k.Fd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Zf=a[b++];this.$f=a[b++];this.ye=a[b++];this.ze=a[b++];this.Ag=a[b++];this.Bg=a[b++];this.Rc=a[b];return!0};
k.lj=function(){var a=0,b=[];b[a++]=this.Mc;b[a++]=this.Zf;b[a++]=this.$f;b[a++]=this.ye;b[a++]=this.ze;b[a++]=this.Ag;b[a++]=this.Bg;b[a]=this.Rc;return b};k.Pf=function(a){this.Fg=a};
function Yj(a,b){b&&(a.Oh||(b.addEventListener("mousemove",function(b){if(a.Mc&&a.la&&a.la.ma.Fb){if(0>a.Zf||0>a.$f)a.Zf=b.clientX,a.$f=b.clientY;a.Fg?(a.ye=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.ze=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ye=b.clientX-a.Zf,a.ze=b.clientY-a.$f);(a.ye||a.ze)&&bk(a);a.Zf=b.clientX;a.$f=b.clientY}},!1),b.addEventListener("mousedown",function(b){ck(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){ck(a,b.button,!1)},!1),a.Oh=!0),b.style.cursor=
"none")}function Zj(a){a&&(a.style.cursor="auto")}function ck(a,b,c){if(a.Mc&&a.la&&a.la.ma.Fb){var d;!(d=!1!==a.Fg)&&(d=a.nh)&&(d=a.nh,d=d.Rl?d.Te(!0):!1);d||(a.Fg=null);switch(b){case 0:a.Ag!=c&&(a.Ag=c,bk(a));break;case 2:a.Bg!=c&&(a.Bg=c,bk(a))}}}function bk(a){Uj(a.qf,[64|(a.Ag?32:0)|(a.Bg?16:0)|(a.ze&192)>>4|(a.ye&192)>>6,a.ye&63,a.ze&63]);a.ye=a.ze=0}wa(function(){for(var a=y(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new ak(d);Ma(d,c)}});
function dk(a,b,c){s.call(this,"Disk",{id:a.$j+".disk"+ek++},dk);this.ea=a;this.Oa=a.Oa;this.Sa=a.Sa;this.Na=b;this.Yc=b.name;this.Ne=b.Ne;this.Gg=this.hd=!1;this.create(c,b.ob,b.pb,b.ub,b.eb);this.Wd=[];this.cg=[];this.pd=null;this.ek=0;this.Vh=!1;z(this)}var ek=0;v(s,dk);k=dk.prototype;k.sc=function(a,b,c,d){this.Sa=d};k.Yb=function(a,b){b||!this.Gg||this.hd||(z(this,!1),this.load(this.Yc,this.se,null,this.Ql,this));return!0};k.Ql=function(){z(this,!0)};
k.Xb=function(a,b){if(this.hd){var c,d=0;if(this.Vh&&!ma("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=fk(this,!1);)if(d=c[0]){this.ea.Aa('Unable to save "'+this.Yc+'" (error '+d+")");break}b&&this.hd&&(c="action=close&volume="+this.se,c+="&machine="+this.ea.Pe(),c+="&user="+this.ea.Ed(),ka(la()+"/api/v1/disk?"+c,!0),this.hd=!1);!d&&a&&this.ea.Aa(this.Yc+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.ob=b;this.pb=c;this.ub=d;this.eb=e;this.ab=[];if("preload"!=this.mode){a=Array(this.ob);for(b=0;b<a.length;b++){c=Array(this.pb);for(d=0;d<c.length;d++){e=Array(this.ub);for(var f=1;f<=e.length;f++)e[f-1]=gk(null,b,d,f,this.eb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.ab=a}this.Le=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.me)if(this.Yc=a,this.se=b,this.me=d,this.Kl=e||this.ea,c){var h=this,g=new FileReader;g.onload=function(){var a=g.result,b,c=a?a.byteLength:0,d=ba[c];if(d){h.ob=d[0];h.pb=d[1];h.ub=d[2];h.eb=512;b=h.eb>>2;var e=d=0,a=new DataView(a,0,c);h.ab=Array(h.ob);for(c=0;c<h.ab.length;c++)for(var f=h.ab[c]=Array(h.pb),E=0;E<f.length;E++)for(var T=f[E]=Array(h.ub),O=0;O<T.length;O++){for(var U=gk(null,c,E,O+1,h.eb,0),xa=U.data,Xa=0;Xa<b;Xa++,e+=4)var Tb=xa[Xa]=a.getInt32(e,
!0),d=d+Tb&4294967295;U.qc=b;T[O]=U}h.Le=d;b=h}else h.Aa("Unrecognized diskette format ("+c+" bytes)");h.me&&(h.me.call(h.ea,h.Na,b,h.Yc,h.se),h.me=null)};g.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ea(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=hk(this,b),this.Gg=!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"),f=
la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Ne?"":d)+"&format=json")),ka(f,!0,null,this,this.Ol,b)};
k.Ol=function(a,b,c,d){var e=null;this.Oe=!1;var f=0>c&&this.Oa&&!this.Oa.ma.Mb;if(this.Gg)c?this.ea.Aa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.hd=!0,e=this);else if(c)this.ea.Aa('Unable to load disk "'+this.Yc+'" (error '+c+")",f);else try{if(0<da(a,!0).toLowerCase().indexOf("-readonly"))this.Oe=!0;else{var h=b.indexOf("\n");0<h&&1024>h&&0<b.substring(0,h).indexOf("write-protected")&&(this.Oe=!0)}var g;g="<"==b.substr(0,1)?["Missing disk image: "+this.Yc]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(g.length)if(1==g.length)q(g[0]);else{this.ob=g.length;this.pb=g[0].length;this.ub=g[0][0].length;var m=g[0][0][0];this.eb=m&&m.length||512;for(b=a=0;b<this.ob;b++)for(c=0;c<this.pb;c++)for(d=0;d<this.ub;d++)if(m=g[b][c][d]){var n=m.length;void 0===n&&(n=m.length=512);var n=n>>2,r=m.pattern;void 0===r&&(r=m.pattern=0);var t=m.data;if(void 0===t){var u=m.bytes;if(void 0!==u&&u.length){for(var f=
n<<2,x=u.length;x<f;x++)u[x]=r;this.fill(m,u,0)}else t=[],r=m.pattern=r|r<<8|r<<16|r<<24,m.data=t;delete m.bytes}gk(m,b,c);for(f=0;f<t.length;f++)a=a+t[f]&4294967295}this.ab=g;this.Le=a;e=this}else q("Empty disk image: "+this.Yc)}catch(E){q("Disk image error: "+E.message)}this.me&&(this.me.call(this.Kl,this.Na,e,this.Yc,this.se),this.me=null)};function gk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.$l=b;a.bm=c;a.Nc=a.qc=0;a.kb=!1;return a}
k.kn=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],h=d[2],g=d[3];a=d[4];b=JSON.parse(b);for(var m=0;g--;){var n=this.seek(e,f,h,!0);if(!n)break;this.fill(n,b,m);m+=n.length;h++}}(d=d[5])&&d(c,a)};function hk(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.ob+":"+a.pb+":"+a.ub+":"+a.eb;c+="&machine="+a.ea.Pe();c+="&user="+a.ea.Ed();return la()+"/api/v1/disk?"+c}
function ik(a,b,c,d,e,f){if(a.hd){var h;h="action=read&volume="+a.se;h+="&chs="+a.ob+":"+a.pb+":"+a.ub+":"+a.eb;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.Pe());h+="&user="+a.ea.Ed();ka(la()+"/api/v1/disk?"+h,!0,null,a,a.kn,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function jk(a,b,c){b.kb=!0;var d=a.Wd.indexOf(b);0<=d&&(a.Wd.splice(d,1),a.cg.splice(d,1));a.Wd.push(b);a.cg.push(ha());c&&kk(a)}
function kk(a){if(a.Wd.length){var b=a.cg[0]+2E3;a.pd&&a.ek<b&&(clearTimeout(a.pd),a.pd=null);if(!a.pd){var c=ha(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.pd=setTimeout(function(){fk(a,!0)},b);a.ek=c+b}}else a.pd&&(clearTimeout(a.pd),a.pd=null)}
function fk(a,b){b&&(a.pd=null);var c=a.Wd[0];if(c){for(var d=c.$l,e=c.bm,c=c.sector,f=0,h=[],g=c-1;g<a.ab[d][e].length;g++){var m=a.ab[d][e][g];if(!m.kb)break;var n=a.Wd.indexOf(m);a.Wd.splice(n,1);a.cg.splice(n,1);h=h.concat(lk(m));m.kb=!1;f++}a.hd?(g={},a.Vh=!0,g.action="write",g.volume=a.se,g.chs=a.ob+":"+a.pb+":"+a.ub+":"+a.eb,g.addr=d+":"+e+":"+c+":"+f,g.machine=a.ea.Pe(),g.user=a.ea.Ed(),g.data=JSON.stringify(h),d=ka(la()+"/api/v1/disk",b,g,a,a.pn,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.pn=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Vh=!1;if(0<=a&&a<this.ab.length&&0<=b&&b<this.ab[a].length)for(e-=1;0<f--&&0<=e&&e<this.ab[a][b].length;e++){var h=this.ab[a][b][e];c?jk(this,h,!1):h.kb||(h.Nc=h.qc=0)}d&&kk(this)};k.info=function(){return this.ab.length?[this.ab.length,this.ab[0].length,this.ab[0][0].length,this.ab[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,h=this.Na,g=this.ab[a];if(g){var m=g[b];if(!m&&h.yh&&b<h.pb)for(m=g[b]=Array(h.vd),g=0;g<m.length;g++)m[g]=gk(null,a,b,g+1,h.nb,0);if(m){for(g=0;g<m.length;g++)if(m[g]&&m[g].sector==c){f=m[g];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++g<m.length;)null===m[g].pattern&&d++;ik(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&h.yh&&9==h.bb&&(f=m[g]=gk(null,a,b,h.bb,h.nb,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function lk(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var h=f<e.length?e[f]:a;c[d++]=h&255;c[d++]=h>>8&255;c[d++]=h>>16&255;c[d++]=h>>24&255}return c}function mk(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.Oe)return!1;if(b<a.length){if(c!=mk(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var h=d.length;h<=f;h++)d[h]=e;a.qc?f<a.Nc?(a.qc+=a.Nc-f,a.Nc=f):f>=a.Nc+a.qc&&(a.qc+=f-(a.Nc+a.qc)+1):(a.Nc=f,a.qc=1);d[f]=d[f]&~(255<<b)|c<<b;this.hd&&jk(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.se,this.Le,this.ob,this.pb,this.ub,this.eb];if(!this.hd&&!this.Oe)for(var c=this.ab,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var h=c[d][e][f];if(h&&h.qc){for(var g=[],m=0,n=h.Nc,r=h.Nc+h.qc;n<r;)g[m++]=h.data[n++];b[a++]=[d,e,f,h.Nc,g]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.ab.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.Le&&e[1]!=this.Le&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Le+")",b=-1));for(this.ab.length||(b=-1);d<a.length&&0<=b;){var f=0,h=a[d++],g=h[f++],m=h[f++],n=h[f++];if(g>=this.ab.length||m>=this.ab[g].length||n>=this.ab[g][m].length){c="sector "+g+":"+m+":"+n+" out of range ("+
b+" changes applied)";b=-1;break}if(this.Oe){c="unable to modify write-protected disk";b=-1;break}e=h[f++];f=h[f++];h=e+f.length;if(g=this.ab[g][m][n]){for(m=g.data.length;m<e;)g.data[m++]=g.pattern;m=0;g.Nc=e;for(g.qc=f.length;e<h;)g.data[e++]=f[m++];b++}}}0>b&&this.ea.Aa("unable to restore disk '"+this.Yc+": "+c);return b};
function nk(a){s.call(this,"FDC",a,nk);this.dmaRead=this.Jh;this.dmaWrite=this.Kh;this.dmaFormat=this.Ll;this.fe=null;if(a.autoMount&&(this.fe=a.autoMount,"string"==typeof this.fe))try{this.fe=eval("("+a.autoMount+")")}catch(b){q("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.fe=null}this.nc=[];this.Qj=!ra("Mobi")&&window&&"FileReader"in window}v(s,nk);l={};aa={};
var ok={3:{dd:3,xd:0,name:aa.ip},4:{dd:2,xd:1,name:aa.gp},5:{dd:9,xd:7,name:aa.up},6:{dd:9,xd:7,name:aa.ap},7:{dd:2,xd:0,name:aa.cp},8:{dd:1,xd:2,name:aa.hp},10:{dd:2,xd:7,name:aa.bp},13:{dd:6,xd:7,name:aa.No},15:{dd:3,xd:0,name:aa.fp}};k=nk.prototype;
k.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ra[b]=c,c.onchange=function(){var a=d.ra.descDisk,b=c.options[c.selectedIndex];if(a&&b){var h={};if(b=b.getAttribute("data-value"))try{h=eval("({"+b+"})")}catch(g){q("FDC option error: "+g.message)}b=h.desc;void 0===b&&(b="");h=h.href;void 0!==h&&(b='<a href="'+h+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ra[b]=c,c.onchange=function(){var a;a=c.value;var b=10,h;if(a){b||(b=16);
if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var g=a.charAt(a.length-1).toLowerCase();"h"==g?(b=16,g=null):"."==g&&(b=10,g=null);null===g&&(a=a.substr(0,a.length-1))}var m,g=a;(b&&10!=b?16==b?null!==g.match(/^[0-9a-f]+$/i):1:null!==g.match(/^[0-9]+$/))&&!isNaN(m=parseInt(a,b))&&(h=m)}a=h;null!=a&&pk(d,a)},!0;case "loadDrive":return this.ra[b]=c,c.onclick=function(){var a=d.ra.listDisks;a&&qk(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Qj?
(this.ra[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;qk(d,da(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.ka=Ra(a,"ChipSet");this.jd();fb(b,this,rk);hb(b,this,sk);this.Qj&&tk(this,"Local Disk","?");tk(this,"Remote Disk","??");this.kf()||z(this)};
k.Yb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Oa.Sh){this.nc=[];for(var c=0;c<this.za.length;c++)uk(this,c,!0);this.kf(!0)}}else if(!this.restore(a))return!1;if(c=this.ra.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.ni;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ni&&(c.value="0",pk(this,0))}}return!0};
k.Xb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.jd()};k.save=function(){var a=new I(this);a.set(0,this.ij());return a.data()};k.restore=function(a){return this.jd(a[0])};
k.jd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.cb=a[b++];b++;this.wa=a[b++];this.$b=a[b++];this.wb=a[b++];this.gb=a[b++];this.bf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.nc=c);void 0===this.za&&(this.ni=4,this.ka&&(this.ni=$h(this.ka)),this.za=Array(4));for(c=0;c<this.za.length;c++){var f=this.za[c];if(void 0===f){var f=this.za[c]={},h;if(this.ka)a:{h=this.ka;if(c<$h(h)){if(!h.qd){h=360;break a}if(c<h.qd.length){h=h.qd[c];break a}}h=0}else h=0;switch(h){case 160:case 180:f.pb=
1;default:f.ob=40;f.ub=9;break;case 720:f.ob=80;f.ub=9;break;case 1200:f.ob=80;f.ub=15;break;case 1440:f.ob=80,f.ub=18}}this.ci(f,c,e[c])||(d=!1)}this.Pd=a[b++]||0;this.ml=a[b]||0;return d};k.ij=function(){var a=0,b=[];b[a++]=this.cb;b[a++]=0;b[a++]=this.wa;b[a++]=this.$b;b[a++]=this.wb;b[a++]=this.gb;b[a++]=this.bf;b[a++]=this.kj();for(var c=a++,d=0;d<this.za.length;d++){var e=this.za[d];e.ua&&vk(this,e.te,e.ua)}b[c]=this.nc;b[a++]=this.Pd;b[a]=this.ml;return b};
k.ci=function(a,b,c){var d=0,e=!0;a.cb=b;a.zc=a.Me=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.ob||40,a.pb||c[3],a.ub||9,a.eb||512,c[1],a.Ug,a.Ff,a.Gf]);a.Za=c[d++];var f=c[d++];a.name=f[0];a.ob=f[1];a.pb=f[2];a.ub=f[3];a.eb=f[4];a.Ne=f[5];(a.Ug=f[6])?(a.Ff=f[7],a.Gf=f[8]):(a.Ug=a.ob,a.Ff=a.pb,a.Gf=a.ub);a.Ma=c[d++];a.td=c[d++];a.rb=c[d++];a.td=100<=a.td?a.td-100:a.td-a.rb;a.bb=c[d++];a.vd=c[d++];a.nb=c[d++];a.Ta=c[d++];a.Pa=null;a.ua||(a.te="");var h=c[d++];
102==h&&(h=!1);"boolean"==typeof h?(f=c[d++],c=c[d],h?(d=this.za[b],uk(this,b,!0,!0),d.Me=!0,b=new dk(this,d,"preload"),this.Kj(d,b,f,c,!0)):wk(this,b,f,c,!0)?a.ua&&c&&xk(this,f,c,a.ua):z(this,!1)):void 0!==h&&a.ua&&0>a.ua.restore(h)&&(e=!1);e&&a.ua&&void 0!==a.Ta&&(a.Pa=a.ua.seek(a.rb,a.Ma,a.bb));return e};k.kj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.jj(this.za[c]);return b};
k.jj=function(a){var b=0,c=[];c[b++]=a.Za;c[b++]=[a.name,a.ob,a.pb,a.ub,a.eb,a.Ne,a.Ug,a.Ff,a.Gf];c[b++]=a.Ma;c[b++]=a.td+100;c[b++]=a.rb;c[b++]=a.bb;c[b++]=a.vd;c[b++]=a.nb;c[b++]=a.Ta;c[b++]=a.Me;c[b++]=a.rl;c[b]=a.te;return c};k.kf=function(a){a||(this.ce=0);if(this.fe)for(var b in this.fe){var c=this.fe[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.za.length){!wk(this,d,c.name,c.path,!0)&&a&&z(this,!1);continue}}this.Aa("Unrecognized auto-mount specification for drive "+b)}return!!this.ce};
function qk(a,b,c,d){var e,f=a.ra.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.za.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=da(c);a.fc("Attempting to load "+c+' as "'+b+'"')}for(a.fc("loading disk "+c+"...");wk(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=
a,h=c,g=void 0,g=0;g<f.nc.length;g++)if(f.nc[g][1]==h){f.nc.splice(g,1);break}uk(a,e,!1,!0)}}else uk(a,e);else a.Aa("Nothing to load")}function wk(a,b,c,d,e,f){var h=a.za[b];if(d&&h.te!=d){uk(a,b,e,!0);if(h.zc)return a.Aa("Drive "+b+" busy"),!0;h.zc=!0;e&&(h.ke=!0,a.ce++);h.Me=!!f;(new dk(a,h,"preload")).load(c,d,f,a.Kj);return!1}return!0}
k.Kj=function(a,b,c,d,e){var f;a.zc=!1;b&&(f=b.info(),b&&f[0]>a.ob||f[1]>a.pb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.cb)),b=null);b?(a.ua=b,a.rl=c,a.te=d,xk(this,c,d,b),f=b.info(),this.Pd|=128,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.cb),a.ke||e),a.Ug=f[0],a.Ff=f[1],a.Gf=f[2]):a.Me=!1;a.ke&&(a.ke=!1,--this.ce||z(this));pk(this,a.cb)};
function tk(a,b,c){if(a=a.ra.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function pk(a,b){if(0<=b&&b<a.za.length){var c=a.za[b],d=a.ra.listDisks,e=a.ra.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.Me?"?":c.te,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
function uk(a,b,c,d){var e=a.za[b];e.ua&&(vk(a,e.te,e.ua),e.rl="",e.te="",e.ua=null,e.Me=!1,a.Pd|=128,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||pk(a,b))}function xk(a,b,c,d){var e;for(e=0;e<a.nc.length;e++)if(a.nc[e][1]==c){d.restore(a.nc[e][2]);return}a.nc[e]=[b,c,[]]}function vk(a,b,c){var d;for(d=0;d<a.nc.length;d++)if(a.nc[d][1]==b){a.nc[d][2]=c.save();break}}k.Mn=function(a,b){b&4?this.bf&4||this.bf&8&&this.ka&&wi(this.ka,6):this.jd();this.bf=b};k.wm=function(){return this.wa};
k.um=function(){var a=0;this.wb<this.gb&&(a=this.$b[this.wb]);this.bf&8&&this.ka&&xi(this.ka,6);++this.wb>=this.gb&&(this.wa&=-81,this.wb=this.gb=0);return a};
k.Ln=function(a,b){this.gb<this.$b.length&&(this.$b[this.gb++]=b);var c=this.$b[0]&31;if(void 0!==ok[c]&&this.gb>=ok[c].dd){var d=!1;this.wb=0;var c=this.La(),e,f,h,g,m,n=c&31;switch(n){case 3:this.La(l.jp);this.La(l.Qo);this.Lb();break;case 4:f=this.La(l.cf);this.cb=f&3;e=this.za[this.cb];this.Lb();this.Zb((e.Za&4278190080)>>>24,l.mp);break;case 5:case 6:f=this.La(l.cf);d=f>>2&1;this.cb=f&3;e=this.za[this.cb];e.Ma=d;f=e.rb=this.La(l.rj);h=this.La(l.sj);g=e.bb=this.La(l.uj);m=this.La(l.qh);e.nb=128<<
m;e.vd=this.La(l.Lo);this.La(l.Cl);this.La(l.Ko);6==n?(n=e,n.Za=72,n.ua&&(n.Pa=null,n.Za=0,this.ka&&(mi(this.ka,2,this,"dmaRead",n),ii(this.ka,2)))):(n=e,n.Za=72,n.ua&&(n.ua.Oe?n.Za=576:(n.Pa=null,n.Za=0,this.ka&&(mi(this.ka,2,this,"dmaWrite",n),ii(this.ka,2)))));yk(this,e,c,d,f,h,g,m);d=!0;break;case 7:f=this.La(l.cf);this.cb=f&3;e=this.za[this.cb];e.rb=e.td=0;e.Za=268435488;this.Lb();d=!0;break;case 8:e=this.za[this.cb];e.Ma=0;this.Lb();this.Zb(e.cb|e.Ma<<2|e.Za&255,l.El);this.Zb(e.rb,l.Zo);this.cb=
this.cb+1&3;break;case 10:f=this.La(l.cf);d=f>>2&1;this.cb=f&3;e=this.za[this.cb];f=e.rb;h=e.Ma=d;g=e.bb=1;m=0;e.Za=0;e.ua&&(e.Pa=e.ua.seek(e.rb,e.Ma,e.bb))?m=e.Pa.length:e.Za=72;yk(this,e,c,d,f,h,g,m);d=!0;break;case 13:f=this.La(l.cf);d=f>>2&1;this.cb=f&3;e=this.za[this.cb];f=e.rb;h=e.Ma=d;g=1;m=this.La(l.qh);e.nb=128<<m;e.vd=this.La(l.ep);this.La(l.Cl);e.Bj=this.La(l.Bl);n=e;n.Za=72;n.ua&&(n.Pa=null,n.Za=0,this.ka&&(n.Ie=0,n.uc=Array(4),n.yh=!0,n.vg=0,mi(this.ka,2,this,"dmaFormat",n),ii(this.ka,
2),n.yh=!1));yk(this,e,c,d,f,h,g,m);d=!0;break;case 15:f=this.La(l.cf),this.cb=f&3,e=this.za[this.cb],e.Ma=f>>2&1,f=this.La(l.Wo),e.rb+=f-e.td,0>e.rb&&(e.rb=0),e.rb>=e.ob&&(e.rb=e.ob-1),e.td=f,e.Za=32,e.rb||(e.Za|=268435456),this.Lb(),d=!0}0<this.gb&&(this.wa|=80);this.bf&8&&(!e||e.Za&8||!d||this.ka&&wi(this.ka,6))}};k.vm=function(){var a=this.Pd;this.Pd&=-129;return a};k.Kn=function(a,b){this.ml=b};
function yk(a,b,c,d,e,f,h,g){a.Lb();a.Zb(b.cb|b.Ma<<2|b.Za&255,l.El);a.Zb((b.Za&65280)>>>8,l.kp);a.Zb((b.Za&16711680)>>>16,l.lp);var m=0;if(e!=b.rb||f!=b.Ma)m=h=1;c&128&&(f^=m,d||(m=0));a.Zb(e+m,l.rj);a.Zb(f,l.sj);a.Zb(h,l.uj);a.Zb(g,l.qh)}k.La=function(){var a=this.$b[this.wb];this.wb++;return a};k.Lb=function(){this.wb=this.gb=0};k.Zb=function(a){this.$b[this.gb++]=a};k.Jh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};k.Kh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};
k.Ll=function(a,b){return void 0!==b&&0<=b?this.oj(a,b):-1};k.Cc=function(a,b){var c=-1;if(!a.Za&&a.ua){do{if(a.Pa&&0<=(c=mk(a.Pa,a.Ta++)))break;a.Pa=a.ua.seek(a.rb,a.Ma,a.bb);if(!a.Pa){a.Za=1088;break}a.Ta=0;this.hf(a)}while(1)}b(c,!1)};k.Fc=function(a,b){if(a.Za||!a.ua)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ta++,b))break;a.Pa=a.ua.seek(a.rb,a.Ma,a.bb);if(!a.Pa){a.Za=8256;b=-1;break}a.Ta=0;this.hf(a)}while(1);return b};k.hf=function(a){a.bb++;a.bb>=a.Gf+1&&(a.bb=1,a.Ma++,a.Ma>=a.Ff&&(a.Ma=0,a.rb++))};
k.oj=function(a,b){if(a.Za)return-1;a.uc[a.Ie++]=b;if(a.Ie==a.uc.length){a.rb=a.uc[0];a.Ma=a.uc[1];a.bb=a.uc[2];a.nb=128<<a.uc[3];for(var c=a.Ie=0;c<a.nb;c++)if(0>this.Fc(a,a.Bj))return-1;a.vg++}a.vg>=a.vd&&(b=-1);return b};var rk={1012:nk.prototype.wm,1013:nk.prototype.um,1015:nk.prototype.vm},sk={1010:nk.prototype.Mn,1013:nk.prototype.Ln,1015:nk.prototype.Kn};wa(function(){for(var a=y(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new nk(d);Ma(d,c)}});
function $(a){s.call(this,"HDC",a,$);this.dmaRead=this.Jh;this.dmaWrite=this.Kh;this.dmaWriteBuffer=this.Ml;this.dmaWriteFormat=this.Nl;this.sh=[];if(a.drives)try{this.sh=eval("("+a.drives+")")}catch(b){q("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.wf=(this.je="at"==a.type)?1:0;this.am=this.je?2:3}v(s,$);
var zk=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=$.prototype;k.Eb=function(){return!1};k.sc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.Oa=a;this.ka=Ra(a,"ChipSet");fb(b,this,this.je?Ak:Bk);hb(b,this,this.je?Ck:Dk);zc(c,19,this,this.Ym);zc(c,64,this,this.Zm);this.reset();this.kf()||z(this)};
k.Yb=function(a,b){if(!b)if(!a||!this.restore)this.jd(),this.Oa.Sh&&this.kf(!0);else if(!this.restore(a))return!1;return!0};k.Xb=function(a){return a&&this.save?this.save():!0};k.Pe=function(){return this.Oa?this.Oa.Pe():""};k.Ed=function(){return this.Oa?this.Oa.Ed():""};k.reset=function(){this.jd(null,!0)};k.save=function(){var a=new I(this);a.set(0,this.ij());return a.data()};k.restore=function(a){return this.jd(a[0])};
k.jd=function(a,b){var c=0,d=!0;if(this.je)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Od=a[c++],this.ql=a[c++],this.Qd=a[c++],this.gh=a[c++],this.eh=a[c++],this.dh=a[c++],this.af=a[c++],this.wa=a[c++],this.gj=a[c++],this.fh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Tf=a[c++];this.wa=a[c++];this.$b=a[c++];this.wb=a[c++];this.gb=a[c++];this.pl=a[c++];this.ol=a[c++];this.nl=a[c++];var e=a[c++];void 0!==e?this.Qe=e:void 0===this.Qe&&(this.Qe=-1)}void 0===this.za&&(this.za=Array(this.sh.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.za.length;e++){void 0===this.za[e]&&(this.za[e]={});var f=this.za[e];this.ci(e,f,this.sh[e],c[e],b)||(d=!1);null!=this.Tf&&1>=e&&(this.Tf|=(f.type&3)<<(1-e<<1))}return d};
k.ij=function(){var a=0,b=[];this.je?(b[a++]=this.Od,b[a++]=this.ql,b[a++]=this.Qd,b[a++]=this.gh,b[a++]=this.eh,b[a++]=this.dh,b[a++]=this.af,b[a++]=this.wa,b[a++]=this.gj,b[a++]=this.fh):(b[a++]=this.Tf,b[a++]=this.wa,b[a++]=this.$b,b[a++]=this.wb,b[a++]=this.gb,b[a++]=this.pl,b[a++]=this.ol,b[a++]=this.nl,b[a++]=this.Qe);b[a]=this.kj();return b};
k.ci=function(a,b,c,d,e){var f=0,h=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.cb=a;b.errorCode=d[f++];b.vl=d[f++];b.Ne=d[f++];b.Ce=d[f++];b.De=d[f++];b.Ma=d[f++];b.pb=d[f++];b.Ud=d[f++];b.bb=d[f++];b.vd=d[f++];b.nb=d[f++];b.sg=this.je?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.Ed()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===zk[this.wf][b.type])b.type=this.am;c=zk[this.wf][b.type];
b.ub=c[2]||17;b.eb=c[3]||512;if(e&&this.ka&&(e=this.ka,c=b.type,e.ja)){var g=e.ja[18],g=a?g&240|c:g&15|c<<4;e.ja&&(e.ja[18]=g,Sh(e))}void 0===b.ua&&(b.ua=null,this.Aa("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Ek(this,b);b.Ta=d[f++];b.Pa=null;b.ua&&(a=d[f],void 0!==a&&0>b.ua.restore(a)&&(h=!1),h&&void 0!==b.Ta&&(b.Pa=b.ua.seek(b.Ud,b.Ma,b.bb+b.sg)));return h};k.kj=function(){for(var a=0,b=[],c=0;c<this.za.length;c++)b[a++]=this.jj(this.za[c]);return b};
k.jj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.vl;c[b++]=a.Ne;c[b++]=a.Ce;c[b++]=a.De;c[b++]=a.Ma;c[b++]=a.pb;c[b++]=a.Ud;c[b++]=a.bb;c[b++]=a.vd;c[b++]=a.nb;c[b++]=a.Ta;c[b]=a.ua?a.ua.save():null;return c};
function Ek(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ce[2])?e=b.Ce[0]<<8|b.Ce[1]:c=b.type);null==c||d||(d=zk[a.wf][c][1],e=zk[a.wf][c][0]);d&&((c=zk[a.wf][b.type])&&e!=c[0]&&d!=c[1]&&a.Aa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.ob=e,b.pb=d,null==b.ua&&(b.ua=new dk(a,b,b.mode)))}}
k.kf=function(a){a||(this.ce=0);for(var b=0;b<this.za.length;b++){var c=this.za[b];if(c.name&&c.path){if(!(a&&c.ua&&c.ua.Gg)){var d;d=c.name;var c=c.path,e=this.za[b];e.zc?(this.Aa("Drive "+b+" busy"),d=!0):(e.zc=!0,e.ke=!0,this.ce++,(e.ua||new dk(this,e,e.mode)).load(d,c,null,this.Pl),d=!1);!d&&a&&z(this,!1)}}else a&&void 0!==c.type&&(c.ua=null,Ek(this,c,c.type))}return!!this.ce};
k.Pl=function(a,b,c){a.zc=!1;(a.ua=b)&&this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.cb),a.ke);a.ke&&(a.ke=!1,--this.ce||z(this))};k.Wm=function(){var a=0;this.wb<this.gb&&(a=this.$b[this.wb]);this.ka&&xi(this.ka,5);this.wa&=-33;++this.wb>=this.gb&&(this.wb=this.gb=0,this.wa&=-15);return a};k.jo=function(a,b){this.gb<this.$b.length&&(this.$b[this.gb++]=b);var c=12!=this.$b[0]?6:this.$b.length;6==this.gb&&(this.wa&=-2);this.gb>=c&&(this.wa|=2,this.wa&=-2,Fk(this))};
k.Xm=function(){var a=this.wa;this.wb<this.gb&&(this.wa|=1);return a};k.mo=function(a,b){this.pl=b;this.ka&&xi(this.ka,5);this.jd()};k.Vm=function(){return this.Tf};k.lo=function(a,b){this.ol=b;this.wa=13};k.ko=function(a,b){this.nl=b};k.bj=function(){};
k.hm=function(){var a=-1;if(this.Na&&(a=this.Cc(this.Na),1!=this.Na.Ta&&this.Na.Ta==this.Na.eb))if(this.Na.nb-=this.Na.eb,this.Qd=this.Qd-1&255,this.Na.nb>=this.Na.eb){var b=this;b.wa=136;this.Cc(this.Na,function(a){0<=a?(Gk(b),b.wa=80):(b.wa=1,b.Od=16)},!1)}else this.wa=80;return a};
k.wn=function(a,b){this.Na&&this.Na.nb>=this.Na.eb&&(0>this.Fc(this.Na,b)?(this.wa=1,this.Od=16):1!=this.Na.Ta&&this.Na.Ta==this.Na.eb&&(this.Na.nb-=this.Na.eb,this.Qd=this.Qd-1&255,Gk(this),this.wa=80,this.Na.nb>=this.Na.eb&&(this.wa|=8)))};k.jm=function(){return this.Od};k.Bn=function(a,b){this.ql=b};k.km=function(){return this.Qd};k.zn=function(a,b){this.Qd=b};k.lm=function(){return this.gh};k.An=function(a,b){this.gh=b};k.gm=function(){return this.eh};k.vn=function(a,b){this.eh=b};k.fm=function(){return this.dh};
k.un=function(a,b){this.dh=b};k.im=function(){return this.af};k.xn=function(a,b){this.af=b;this.wa=this.za[this.af&16?1:0]?this.wa|64:this.wa&-65};k.mm=function(){return this.wa};k.tn=function(a,b){this.gj=b;this.ka&&xi(this.ka,14);Hk(this)};k.yn=function(a,b){this.fh&4&&!(b&4)&&(this.Od=1);this.fh=b};
function Hk(a){var b=!1,c=a.gj,d=a.af&16?1:0,e=a.af&15,f=a.eh|(a.dh&3)<<8,h=a.gh,g=a.Qd||256;a.Na=null;a.Od=0;a.wa=80;(d=a.za[d])?(d.Ud=f,d.Ma=e,d.bb=h,d.nb=g*d.eb,c=144<=c?c:c&240,d.Pa=null,d.Ta=0,d.errorCode=0,a.Na=d):c=-1;switch(c&240){case 32:a.wa=136;a.Cc(d,function(b){0<=b&&a.ka?(Gk(a),a.wa=80):(a.wa=1,a.Od=16)},!1);break;case 48:a.wa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Od=1;b=!0;break;case 145:d.pb=e+1,d.ub=g,b=!0}b&&Gk(a)}
function Gk(a){!a.ka||a.fh&2||wi(a.ka,14,120)}
function Fk(a){a.wb=0;var b=a.La(),c=a.La(),d=c&32,e=d>>5,f=c&31,h=a.La(),g=a.La(),m=h<<2&768|g,n=h&63,r=a.La(),t=a.La(),u=a.za[e];u&&(u.Ud=m,u.Ma=f,u.bb=n,u.nb=r*u.eb);switch(b){case 3:a.Lb(u?u.errorCode:4);a.Zb(c);a.Zb(h);a.Zb(g);a.Zb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.La());)u&&c<u.Ce.length&&(u.Ce[c++]=b);u&&Ek(a,u);b=0;u||a.Qe!=e||(a.Qe=-1,b=2);a.Lb(b|d);b=-1;break;case 224:case 228:a.Lb(0|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=0,u.vl=0),b){case 0:a.Lb(0|d);break;case 1:u.Bp=
t;a.Lb(0|d);break;case 5:a.Lb(0|d);break;case 8:Ik(a,u,function(b){a.Lb(b|d)});break;case 10:Jk(a,u,function(b){a.Lb(b|d)});break;case 15:Mk(a,u,function(b){a.Lb(b|d)});break;default:a.Lb(2|d)}}k.La=function(){var a=-1;this.wb<this.gb&&(a=this.$b[this.wb++]);return a};k.Lb=function(a){this.wb=this.gb=0;void 0!==a&&this.Zb(a);this.ka&&wi(this.ka,5);this.wa|=32};k.Zb=function(a){this.$b[this.gb++]=a};k.Jh=function(a,b,c){void 0===b||0>b?this.Cc(a,c):c(-1,!1)};
k.Kh=function(a,b){return void 0!==b&&0<=b?this.Fc(a,b):-1};k.Ml=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ta<a.De.length?a.De[a.Ta++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Nl=function(a,b){return void 0!==b&&0<=b?this.oj(a,b):-1};function Ik(a,b,c){b.errorCode=4;if(b.ua&&(b.Pa=null,a.ka)){b.errorCode=0;mi(a.ka,3,a,"dmaRead",b);ii(a.ka,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function Jk(a,b,c){b.errorCode=4;if(b.ua&&(b.Pa=null,a.ka)){b.errorCode=0;mi(a.ka,3,a,"dmaWrite",b);ii(a.ka,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function Mk(a,b,c){b.errorCode=4;b.De&&b.De.length==b.nb||(b.De=Array(b.nb));b.Ta=0;a.ka?(b.errorCode=0,mi(a.ka,3,a,"dmaWriteBuffer",b),ii(a.ka,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Cc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Pa&&(d=mk(a.Pa,a.Ta),a.Ta+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.ua)return a.ua.seek(a.Ud,a.Ma,a.bb+a.sg,!1,function(c,g){(a.Pa=c)?(a.Ta=0,f.hf(a),d=mk(a.Pa,a.Ta),a.Ta+=e):a.errorCode=20;b(d,g)}),d;a.errorCode=20;b(d,!1)}return d};
k.Fc=function(a,b){if(a.errorCode)return-1;do{if(a.Pa&&a.ua.write(a.Pa,a.Ta++,b))break;a.ua&&a.ua.seek(a.Ud,a.Ma,a.bb+a.sg,!0,function(b){a.Pa=b});if(!a.Pa){a.errorCode=20;b=-1;break}a.Ta=0;this.hf(a)}while(1);return b};k.hf=function(a){a.bb++;var b=1-a.sg;a.bb>=a.ub+b&&(a.bb=b,a.Ma++,a.Ma>=a.pb&&(a.Ma=0,a.Ud++))};
k.oj=function(a,b){if(a.errorCode)return-1;a.uc[a.Ie++]=b;if(a.Ie==a.uc.length){a.Ud=a.uc[0];a.Ma=a.uc[1];a.bb=a.uc[2];a.nb=128<<a.uc[3];for(var c=a.Ie=0;c<a.nb;c++)if(0>this.Fc(a,a.Bj))return-1;a.vg++}a.vg>=a.vd&&(b=-1);return b};k.Ym=function(){var a=this.la.K&255;!(this.la.H>>8)&&128<a&&(this.Qe=a-128);return!0};k.Zm=function(){var a;(a=this.la.H>>8)||(a=!this.ka)||(a=!(this.ka.Sb[0].Qc&64));return a?!0:!1};
var Bk={800:$.prototype.Wm,801:$.prototype.Xm,802:$.prototype.Vm},Ak={496:$.prototype.hm,497:$.prototype.jm,498:$.prototype.km,499:$.prototype.lm,500:$.prototype.gm,501:$.prototype.fm,502:$.prototype.im,503:$.prototype.mm},Dk={800:$.prototype.jo,801:$.prototype.mo,802:$.prototype.lo,803:$.prototype.ko,807:$.prototype.bj,811:$.prototype.bj,815:$.prototype.bj},Ck={496:$.prototype.wn,497:$.prototype.Bn,498:$.prototype.zn,499:$.prototype.An,500:$.prototype.vn,501:$.prototype.un,502:$.prototype.xn,503:$.prototype.tn,
1014:$.prototype.yn};wa(function(){for(var a=y(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new $(d);Ma(d,c)}});var ve=1,ue=32,dj=128,cj=32768,Mi=4194304,te=536870912;function I(a,b,c){this.id=a.id;this.key=Nk(a,b,c);this.Sa=a.Sa;Ok(this,a.no)}function Nk(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
I.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Rh=!0):this.Rh?!0:oa()&&(a=pa(this.key))?(this[this.id]=a,this.Rh=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){q(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){Ok(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}},cc:function(){}};function Ok(a,b){a[a.id]={};b&&a.set("parms",b);a.Rh=!1}
function Pk(a){var b=!0;if(oa()){var c=JSON.stringify(a[a.id]);qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function Qk(a,b,c){s.call(this,"Computer",a,Qk);this.ma.Mb=!1;this.xf=a.buswidth;this.Dc=Rk;this.Wf=null;this.Ig=!1;this.url=b?b.url:null;this.vo=(Math.random()+0.1).toString(36).substr(2,12);this.Ec=Sk(this);if(this.la=La("CPU",this.id)){this.Sa=La("Debugger",this.id);this.qa=new Ta({id:this.$j+".bus",buswidth:this.xf},this.la,this.Sa);var d,e=Ja(this.id);if((this.Sf=La("Panel",this.id))&&this.Sf.Gh)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.Sf.Aa,d.fc=this.Sf.fc,d.Gh=this.Sf.Gh;for(b=0;b<e.length;b++)d=
e[b],d.sc&&d.sc(this,this.qa,this.la,this.Sa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.jh=d:this.Dc=parseInt(d,10));var f;if(a=Ea&&Ea.state||(f=!0,a.state))b=this.tl=a,f||(this.Ig=!0,this.Dc=Rk),this.Dc&&(this.mh=new I(this,"1.16.3"),this.mh.load()?b=null:delete this.mh);!b&&this.Dc&&(f=null,this.Ec&&(f=la()+"/api/v1/user?req=load&user="+this.Ec+"&state="+Nk(this,"1.16.3")),b=f)&&(this.Ig=!0);b?ka(b,!0,null,this,this.nn):z(this);c||Tk(this,this.ah)}else q("Unable to find CPU component")}
v(s,Qk);var Rk=0;k=Qk.prototype;k.Pe=function(){return this.vo};k.Ed=function(){return this.Ec?this.Ec:""};k.nn=function(a,b,c){c?(this.jh=null,this.Ig=!1,this.Aa("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Wf=b;z(this)};function Tk(a,b,c){for(var d=Ja(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Oa(f)){Oa(f,function(){Tk(a,b,c)});return}}b.call(a,c)}
function Uk(a,b){var c=new I(a,"1.16.3","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.ah=function(a){void 0===a&&(a=this.Dc||(this.Wf?1:Rk));var b=!1,c=!1;this.Tj=!1;var d=this.mh||new I(this,"1.16.3");if(-1==a)b=!0;else if(a>Rk){if(d.load(this.Wf)){this.ve=new I(this,"1.16.3","failsafe");this.ve.load()&&(Vk(this,d),a=2,Ok(this.ve));this.ve.set("timestamp",ia());Pk(this.ve);var e=this.Dc&&!this.Ig;if(1==a||ma("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),h=d.get("data");f&&("ok"==f?d.load(h):("error"==
f&&"no machine state"!=h?(this.Aa("Error: "+h),"unable to verify user"==h&&(qa("user",""),this.Ec=null)):this.fc(f+": "+h),Ok(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Uk(this,c?d:null)}else 2==a&&d.clear()}else Uk(this);delete this.Wf;delete this.mh}e=Ja(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.la&&(c=Wk(this,h,d,b,c));b=[d,a,c];-1!=a?Tk(this,this.Lj,b):this.Lj(b)};
function Wk(a,b,c,d,e){if(!b.ma.Mb){b.ma.Mb=!0;if(b.Yb){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.Yb(f,d)&&f&&(q("Unable to restore state for "+b.type),a.tl&&!a.Wf?(c.clear(),a.Dc=Rk,window&&window.location.reload()):a.Tj=!0,b.Yb(null),e=!1)}if(!d&&b.Ij)for(a=b.Ij.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Lj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ma.Mb=!0;this.Pj||(this.fc("PCjs v1.16.3\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Pj=!0);this.la&&Wk(this,this.la,b,c,a);this.Tj&&(Vk(this,b),b.clear());!c&&this.ve&&(this.ve.clear(),delete this.ve)};
function Vk(a,b){if(ma("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Ed(),d=b.toString(),e={app:"PCjs",ver:"1.16.3"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ka("http://www.pcjs.org/api/v1/report",!0,e)}}
function Xk(a,b,c){var d,e="none",f=new I(a,"1.16.3"),h=new I(a,"1.16.3","validate"),g=ia();h.set("timestamp",g);f.set("timestamp",g);f.set("version","1.16.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.la&&a.la.Xb&&(c&&qb(a.la),d=a.la.Xb(b,c),"object"===typeof d&&f.set(a.la.id,d),c&&(a.la.ma.Mb=!1,!1===d&&(e=null)));for(var g=Ja(a.id),m=0;m<g.length;m++){var n=g[m];n.ma.Mb&&(n.Xb&&(d=n.Xb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.ma.Mb=
!1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.Ec&&Yk(a,a.Ec,f.toString()),Pk(h)&&Pk(f)||(e=null,d=g=!0)):a.Dc&&(d=!0,g=3==a.Dc),d&&f.clear(g)):e=f.toString());c&&(a.ma.Mb=!1);return e}k.reset=function(){this.qa&&this.qa.reset&&(this.cc("Resetting "+this.qa.type),this.qa.reset());for(var a=Ja(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.qa&&c.reset&&(this.cc("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Ja(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Ja(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ra[b]=c,c.onclick=function(){var a=Sk(d,!0);if(a){var b=!(!d.Dc||d.jh),c=Xk(d,b);b?Yk(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0;case "reset":return this.ra[b]=c,c.onclick=function(){rb(d)},!0}return!1};
function Sk(a,b){var c=a.Ec;c||(c=pa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Zk(a,c))||a.Aa("Your user ID has not been approved."))):b&&a.Aa("Browser local storage is not available"));return c}
function Zk(a,b){a.Ec=null;var c=ka(la()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(qa("user",c.data),a.Ec=c.data)}catch(e){q(e.message+" ("+d+")")}return a.Ec}
function Yk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Nk(a,"1.16.3");d.data=c;b=ka(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.Aa("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.Aa(c),qa("user",""),a.Ec=null)}}
function rb(a){if(a.Dc&&!a.jh){var b=ma("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Xk(a,b,!0);!b&&a.tl?window&&window.location.reload():(b||(a.Sh=!0),a.ah(Rk),a.Sh=!1)}else a.reset(),a.la&&pb(a.la)}function Ra(a,b,c){a=Ja(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}
wa(function(){for(var a=y(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],h=w(f),h=new Qk(h,d,!0);Ma(h,f);Tk(h,h.ah)}});sa.show.push(function(){for(var a=y(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=La("Computer",c.id))&&c.Pj&&!c.ma.Mb&&c.ah(-1)}});
sa.exit.push(function(){for(var a=y(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=La("Computer",c.id))&&c.ma.Mb&&Xk(c,!(!c.Dc||c.jh),!0)}});var $k=0;function al(a,b,c,d,e,f){e("Loading "+a+"...");ka(a,!0,null,null,function(h,g,m){m?(g||(g="unable to load "+a+" ("+m+")"),f(g,null)):bl(g,a,b,c,d,e,f)})}
function bl(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){var g=b;g&&0>g.indexOf("/")&&(g=window.location.pathname+g);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(g?" url=$2"+g+"$2":""))}g=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=
null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?cl(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function cl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ka(e,!0,null,null,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=g[0],n,r=/( [a-z]+=)(['"])(.*?)\2/g;n=r.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=m&&(h=h.replace(g[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);cl(a,b,c)}})}else c(a,null)}
function dl(a,b,c,d){function e(a){if(void 0===g){var b=h&&y(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);m&&(--$k||Aa(!0));m=!1}var h,g,m=!0;$k++;try{if(h=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.3/components.xsl");var n=function(a,d){if(d){var g=function(a,g){if(g)if(g)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(g);m?(h.outerHTML=m,--$k||Aa(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(g),(m=m.transformToFragment(d,window.document))?(h.parentNode.replaceChild(m,h),--$k||Aa(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?al(c,null,null,!1,e,g):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?al(b,a,d,!0,e,n):bl(b,null,a,d,!1,e,n)}else f("failed to find machine element: "+a)}catch(r){f(r.message)}return m}
window.embedPC=function(a,b,c,d){Aa(!1);return dl(a,b,c,d)};window.enableEvents=Aa;window.sendEvent=Ba;})();