(function(){/* http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/messages.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/device.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/rom.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/ram.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/computer.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/defines.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/panel.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/bus.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/memory.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/cpu.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/cpustate.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/cpuops.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/serial.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 */ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ba.Symbol||(ba.Symbol=ea)}var ka=0;function ea(a){return"jscomp_symbol_"+(a||"")+ka++} function la(){da();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); var pa={ac:0,ub:1,cc:2,dc:3,ec:4,fc:5,gc:6,hc:7,gb:8,ic:9,vb:10,jc:11,kc:12,wb:13,lc:14,mc:15,nc:16,oc:17,pc:18,qc:19,rc:20,sc:21,tc:22,uc:23,vc:24,wc:25,xc: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,fb:65,$b:66,bc:67,yc:68,E:69,zc:70,Ac:71,Bc:72,Cc:73,Dc:74,Ec:75,Fc:76,Gc:77,Hc:78,Ic:79,Jc:80,Q:81,Kc:82,Lc:83,Mc:84,Nc:85,Oc:86,Pc:87, Qc:88,Rc:89,yb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Sc:97,Tc:98,Uc:99,d:100,e:101,Vc:102,Wc:103,Xc:104,Yc:105,Zc:106,k:107,$c:108,ad:109,n:110,bd:111,p:112,q:113,r:114,cd:115,t:116,ed:117,fd:118,gd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,xb:127}; function qa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function sa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} function Ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ia(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function Ka(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} function La(a,b){var c,d={Y:null,T:null,oa:null,na:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.oa=f.load;d.na=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.La=this.id:(this.Ma=this.id.substr(0,a),this.La=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Za:!1,U:!1,error:!1};this.Qa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.pa=null;v.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date} function r(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Kb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Cb,toggle:this.Vb,reset:this.Rb, set:this.Ub};z(this)}p($b,u);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)}; l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.v&&this.v.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.za=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;ec(this);fc(this)};l.qa=function(a,b){if(!b)if(this.W&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Rb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.B)jc(a,c,null!=b?b:a.B[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])} l.Cb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Ub=function(a,b){if("SR"==a)return ic(this,qa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Vb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1} function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Lb=function(a){a||this.v.w.K||(this.v.A=this.f%A,this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Mb=function(){};l.Gb=function(a){a||this.v.V()}; l.Eb=function(a){if(!a&&!this.v.w.K)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.C)return h.Ha+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.C+m;e=k+16384;g-=m;f++;continue}}return Kc(Lc,e,g)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+sa(b)),!0):Kc(Nc,b,c)} function Ec(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Dc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=hd(a)&&(a.ia=a.ka=-1,dd(a),a.V(),c=!0);c&&a.j(hd(a)+" cycles: checksum="+q(a.va))}} l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Va*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&ld(a.G)}sc(a,a.M);a.M=0;a.L=ob();a.O=0;jd(a);return d}function md(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} l.Sb=function(){if(this.w.K){this.Na>=this.Xa&&jd(this,!0);this.la=0;this.ua=ob();if(this.O){var a=this.ua-this.O;a>this.Wa&&(this.L+=a,this.L>this.ua&&(this.L=this.ua))}try{do{var b=md(this,this.w.Ea?1:this.xa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.la+=b;this.M+=b;tc(this,b);rc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.xa;++this.Ya>=pd&&(this.G&&P(this.G,void 0),this.Ya=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(ob(),hd(this));Ib(this, e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.lb;this.O=ob();var c=this.Wa;this.la&&(c=Math.round(c*this.la/this.xa));var c=c-(this.O-this.ua),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,id(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Na+=this.la;this.O+=c;a(b,c)}}}; function pc(a,b){if(!Jb(a))if(a.w.K)a.j(a.toString()+" busy");else{id(a);a.w.K=!0;a.w.Ta=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&ld(a.G,!0),a.G.start(a.L,hd(a)));a.D||a.status("Started");setTimeout(a.lb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){od(this);sc(this,this.M);this.M=0;this.w.K=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),hd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var kd=30,pd=15,ad=["power","reset"]; function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.kb=b;this.Ka=+a.addrReset||0;this.zb=rd.bind(this);this.b=R.bind(this);this.sa=null;this.ib=[];this.w.complete=!1}p(qd,$c);l=qd.prototype;l.reset=function(){this.status("Model "+this.kb);this.w.K&&this.V();this.f=this.I=this.ya=0;this.A=this.ta=this.Ka;this.F=this.ma=-1;this.Oa=this.u=0;this.ra=this.A;this.B=0;this.g=this.Ob;this.i=this.Zb;this.sa=null;cd(this);this.w.error=!1;$c.prototype.reset.call(this)};l.rb=function(){return 0}; l.save=function(){var a=new O(this);a.set(0,[this.f,this.I,this.ya,this.A,this.ma,this.F,this.u,this.B,this.ta,this.ra,this.Ka]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,sd(this));a.set(4,nd(this));return a.data()}; l.restore=function(a){var b;b=a[0];la();da();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.I=b.next().value;this.ya=b.next().value;this.A=b.next().value;this.ma=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.ta=b.next().value;this.ra=b.next().value;this.Ka=b.next().value;b=a[2];this.S=b[0];id(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.f].g(a&16383,a)};l.Zb=function(a,b){var c=this.H;a=this.ra=a;c.b[(a&c.u)>>>c.f].i(b,a&16383,a);return b}; l.Ja=function(a){this.w.complete=!0;var b=this.D?ud(this.D)?1:this.w.Ta?-1:0:0,c=a?this.w.Ta?0:1:-1;this.w.Ta=!1;this.P=this.R=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(vd(this.D,this.A,c)){this.V();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.sa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&vd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.B&=15;this.I&4194304?this.I=this.g(this.f):0<=this.ma?(this.I=this.ya=this.g(this.ma),this.ma=-1):(this.I=this.ya= this.g(this.ta=this.A),this.A=(this.A+1)%A);this.I&=8388607;this.f=this.I&262143;if(a=this.I>>18&15)this.f=this.f+this.g(a)&Qb;a=this.I&4194304?-1:this.ya/Yb|0;0<=a&&this.zb(a)}while(0>4].call(this,a,a&15)}function S(a){this.b(a)} function xd(){var a=0,b=this.g(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%I);this.i(this.f,b)}function yd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304;else{var c=this.F/Zb&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}} function zd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304,td(this,-1);else{var c=this.F/Zb&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%I;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Ad(a,b){this.i(b,this.g(this.f))}function Bd(a,b){this.i(b,this.f)}function Cd(a,b){this.i(this.f,this.g(b))}function Yd(a,b){this.i(b,0)}function Zd(a,b){this.i(b,H-this.g(b))}function $d(a,b){this.i(b,H)} function ae(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,be(a,d,c)+(c-(c&E)))}function ce(a,b){var c=this.g(b);this.i(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,be(a,c,b)+(b-(b&E)))}function ee(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&E,a){case 256:d+=E;break;case 384:d+=c>J?E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function fe(a,b){var c=(this.g(this.f)&E)*F,d=this.g(b);this.i(b,be(a,d,c)+c)} function ge(a,b){var c=this.f*F,d=this.g(b);this.i(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&E)*F;var c=this.g(this.f);this.i(this.f,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.f),d=(c&E)*F,c=be(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function je(a,b){var c=this.g(this.f)&E,d=this.g(b);this.i(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.i(b,ke(a,c,this.f)+this.f)}function me(a,b){b=this.g(b)&E;var c=this.g(this.f);this.i(this.f,ke(a,c,b)+b)} function ne(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=E,a){case 256:d+=E*F;break;case 384:d+=c>Sb?E*F:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function oe(a,b){var c=this.g(this.f)/F|0,d=this.g(b);this.i(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.i(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/F|0;var c=this.g(this.f);this.i(this.f,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.f),d=c/F|0,c=ke(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function U(a){se[a&7].call(this,a,a>>3&127)} function te(){}function R(a){this.j("undefined opcode: "+sa(a));td(this,-1);this.V()}function ue(a){a>J&&(a!=Tb?a=Ub-a:this.u|=163840);return a}function ve(a,b){var c=(a+b)%I;we.call(this,a,b,c);return c}function V(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}function xe(a,b){return((a/K|0)^(b/K|0))*K+((a^b)>>>0)}function ye(a,b){return(~((a/K|0)^(b/K|0))&15)*K+(~(a^b)>>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)} function ze(a,b){var c=b;b=!1;var d;a>J&&(a=I-a,b=!b);c>J&&(c=I-c,b=!b);if(ac&&(c+=I);we.call(this,c,b,a);return c}function we(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ke(a,b,c){switch(a&384){case 0:b-=b&E;break;case 128:b=0;break;case 256:b=E*F;break;case 384:b=c>Sb?E*F:0}return b}function be(a,b,c){switch(a&384){case 0:b&=E;break;case 128:b=0;break;case 256:b=E;break;case 384:b=c>J?E:0}return b} var wd=[S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},xd,function(a,b){0>this.F&&xd.call(this);yd.call(this,0,b)},yd,function(a,b){0>this.F&&xd.call(this);zd.call(this,0,b)},zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,Bd,Cd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/F|0)+a%F*F;this.i(b,a)},function(a,b){this.i(b,this.f*F)},function(a,b){a=this.g(b);a=(a/F|0)+a%F*F;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/F|0)+a%F*F;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Ae.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Ub-this.f:0)},function(a,b){this.i(this.f, Ae.call(this,this.g(b)))},function(a,b){a=Ae.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,ue.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,ue.call(this,this.g(b)))},function(a,b){a=ue.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Oa)}, function(a,b){this.i(b,ze.call(this,this.g(b),this.f));this.i(b+1&15,this.Oa)},function(a,b){this.i(this.f,ze.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ze.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Oa)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a> J?-(I-a):a;0d?G:0,c=Rb):(d=d*Math.pow(2,c)%G,c=G-Math.pow(2,35-c)),a<=J?a+c>J&&(this.u|=131072):a-c<=J&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+I:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%I+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a,b){a= 0;var c=this.g(b);if(c){for(;c>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Rb&&dRb&&eJ&&(this.u|=131072):e-c<=J&&(this.u|=131072);e=0;g>Rb&&(d+=G,e+=G)}else d=d*Math.pow(2,a)%G+Math.trunc(e%G/Math.pow(2,35-a)),e=e*Math.pow(2,a)%G,c=G-Math.pow(2,35-a),g<=J?g+c> J&&(this.u|=131072):(g-c<=J&&(this.u|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d>Rb?H:0:Math.trunc(d%G/Math.pow(2,-a-35)),d<=Rb?d=0:(d=H,e+=G)):(c=d>Rb?I-Math.pow(2,36+a):0,e=Math.trunc(e%G/Math.pow(2,-a))+d%G*Math.pow(2,35+a)%G,d=Math.trunc(d/Math.pow(2,-a))+c,d>Rb&&(e+=G));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I+Math.trunc(e/Math.pow(2,36- a))):(c=d*Math.pow(2,a-36)%I+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%I+Math.trunc(d/Math.pow(2,72-a)));this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%I,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+ 1&15,d)}},R,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/F|0,c=c&E;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&E,c=c+1&E,this.w.K||(this.i(b,d*F+c),a||td(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,this.A=this.f%A)},function(){this.ma=this.f},R,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&E,this.g(this.f));a>=I&&(a-=I);a/ F|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&E);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=I);(a/F|0)==E&&(this.u|=262144);this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,(this.u&E)*F+this.A);this.A=this.f%A},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ve.call(this,this.g(b), this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ve.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Be.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Be.call(this,this.g(b),this.g(this.f))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Yd,Yd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b), this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.f))},function(a,b){this.i(this.f,V.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,H-this.g(b),this.g(this.f))))},Ad,Bd,te,Ad,function(a,b){this.i(b,V.call(this,this.g(b),H-this.g(this.f)))}, function(a,b){this.i(b,V.call(this,this.g(b),H-this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),H-this.g(this.f))))},te,te,Cd,Cd,function(a,b){this.i(b,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,xe.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,xe.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b, W.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,W.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.f))},function(a,b){this.i(this.f,V.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,H-this.g(b),H- this.g(this.f))))},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b),this.g(this.f))))},Zd,Zd,function(a,b){this.i(this.f,H-this.g(b))},function(a,b){this.i(this.f,this.i(b,H-this.g(b)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.f))}, function(a,b){this.i(this.f,W.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,H-this.g(b),this.g(this.f))))},function(a,b){this.i(b,H-this.g(this.f))},function(a,b){this.i(b,H-this.f)},function(){this.i(this.f,H-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.f))},function(a,b){this.i(this.f,W.call(this,this.g(b),H- this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,this.g(b),H-this.g(this.f))))},function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.f))},function(a,b){this.i(this.f,W.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,H-this.g(b),H-this.g(this.f))))},$d,$d,function(){this.i(this.f,H)},function(a,b){this.i(this.f,this.i(b,H))},ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie, ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],se=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u& 262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; function Ce(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=va(this.A);if(this.A){a=this.A;var b=wa(this.F);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(mb(c.Ma,a,b),(a=La(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);De(c)})}}p(Ce,u); Ce.prototype.za=function(a,b,c,d){this.H=b;this.v=c;this.D=d;De(this)};Ce.prototype.qa=function(){this.T&&(this.D&&Ee(this.D,this.id,this.B,this.u,this.T),delete this.T);return!0};Ce.prototype.ga=function(){return!0}; function De(a){if(!Kb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ib(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Jc(a.H,b,a.u,Rc)){var c;for(c=0;c>>g.f;0>>= g.f;0>>a.f;0f&&f>=-Tb&&(f+=I);for(var f=Math.trunc(Math.abs(f))%I,h=d;g--&&h=pa.fb&&c<=pa.yb&&(b=c-(pa.fb-pa.ub));b&&(a.preventDefault&&a.preventDefault(),d.Ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==pa.wb&&(b=pa.vb);d.Ra(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.za=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)}; l.sb=function(a){if(!this.b){var b=bd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ha(c[0]);if(d!=this.La)return;c=Ha(c[1]);if(this.b=sb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.qa=function(a,b){if(!b)if(this.sb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ra=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ha(b.substring(c,g))),c=g+1}}return a} function Me(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} function Ne(a,b,c){var d;if(b){b=Oe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,fa--;f=t+f;d>>=8}d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} function Se(a,b){if(b)return Re(a,b,a.W[b]);var c=0;for(b in a.W)Re(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Qe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Te(a){Ke.call(this,a);this.wa=!1;this.la=!0;this.va=Y();this.L=Y(0);this.ja=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];Ue(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ve(this);this.D=this;this.ma={};this.X=this.ob=0;this.S=null;this.O=[];We(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.ya=this.xa=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b, a)})}p(Te,Ke);function Xe(a){a=a&&a.C;null==a&&(a=-1);return a}function Y(a,b,c){return{C:void 0===a?null:a,Pa:void 0===b?!1:b,fa:!1,ca:c}}function Ye(a,b,c,d){a.C=b;a.Pa=c||!1;a.fa=!1;a.ca=d}function Ze(a){return[a.C,a.Pa,a.fa,a.ca,a.Sa]}function $e(a,b){var c=Y(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.mb=Le(a,c.Sa=b[4]));return c}l=Te.prototype; l.za=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=bd(a,"messages"))&&We(this,a);af(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Xe(bf(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Mc[c],n&&d.j(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.v.ta==b&&(b=td(a.v,1)));if(0d&&(d=a.v.g(b)),0<=d&&(Ye(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} function vf(a,b,c,d){var e=Y(b.C),g=a.Aa(b,1),f,h,k,m=0,n=g/Wb|0,t;for(t in wf)if(f=wf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=xf;m=n&3;break;case 32256:k=dg;m=n&7;break;case 29248:k=fg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>gg&&(k="B");k=hg[f||0]+k;if(f){if(28700==h)m=g/Xb&127,h=Q(a,m,-1);else if(m=g>>23&15,h=Q(a,m,-1),f==ig&&(f=jg[m]))k=hg[f],h="";k=Ba(k,8)+(h?h+",":"");g&4194304&&(k+="@");k+=Q(a,g&262143,-1);(g=g>>18&15)&&(k+="("+Q(a,g,-1)+")")}else k=Ba(k,8)+df(g);g=k;f="";h=Z(a, e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Aa(e,1),f+=" "+df(k),null==e.C)break;while(e.C!=b.C)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+hd(a.v).toString()+" cs="+q(a.v.va)):h+(null!=d?"="+d.toString():""));return h}function Ue(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.f],!0);a.I=["bw"];a.ra=0;a.ka=0} l.Da=function(a,b,c){var d=!0;c||kg(this,a,b,!1,!0);if(a!=this.b){var e=Xe(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var g=this.H;g.b[e>>>g.f].Da(e&16383,a==this.I)}}d&&(a.push(b),c?b.fa=!0:(lg(this,a,a.length-1,"set"),Ve(this)));return d};function kg(a,b,c,d,e){var g=!1;c=Xe(c);for(var f=1;f>>d.f],b==a.I));h.fa||Ve(a);break}}return g} function mg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=sa(d,2);Ye(e.va,d);g+="="+Q(e,e.Aa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=jf?1:d==gf?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],t=Ia(n,k,a.pb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({dd:b,C:c,Db:d,T:e,nb:g})}function pg(a,b,c){var d=[],e=Xe(b)>>>0;for(b=0;b>>0,h=g.Db;if(e>=f&&eb){a.j("unknown register: "+g);return}var g=0,h=a.v;switch(b){case ff:h.A= f%A;Ye(a.L,h.A);break;case jf:g=65536;break;case kf:g=32768;break;case lf:g=131072;break;case mf:g=32;break;case nf:g=262144}g&&(h.u=f?h.u|g:h.u&~g);P(a.G);a.j("updated registers:")}}a.j(og(a,e));c&&(Ye(a.L,d.A),tf(a,Z(a,a.L)))}}function tg(a,b){b=Ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.C=m.C;h.Pa=m.Pa;h.fa=m.fa;h.ca=m.ca;a.j(vf(a,b,f,g));e-=b.C-k;c++}}} function ng(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(rf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"gg&&(Gd="B");if(Dd== hg[rb]+Gd){Af=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Fd|Af<<6)*Wb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Hd=vc.split(","),Va=0;VaL||127L||15L||262143L||15ha.length&&(a.j("note: only "+ha.length+" available"),X=ha.length);ca-=X;0>ca&&(null==ha[ha.length-1].C?(X=ca+X,ca=0):ca+=ha.length);var Md=[];"call"==Gf&&(tb=1E5,Md=["CALL"]);for(void 0!==Ff&& a.j(X+" instructions earlier:");0=ha.length&&(ca=0);a.sa=X;If++;tb--}}If||(a.j("no "+Hf+"history available"),a.sa=void 0)}else{var ab=bf(a,ga,a.ja);if(ab){var Da=0,Lf="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||Yg,Da=Pe(a,ta);else{var Mf=bf(a,ta);Mf&&(Da=Mf.C-ab.C)}0>Da&&(Da=0);65536Qf;Qf++)Of+=String.fromCharCode((yc%64|0)+32),yc/=64}Ea&&(Ea+="\n");Ea=Lf?Ea+(Fa+","):Ea+(ga+": "+Fa+(0>Pf?" "+Of:""))}Ea&&a.j(Ea);a.ca=$g}}}}break;case "e":if("else"==f[0])break;var Rf,Sf,Tf=f[0],Pd=f[1];"e"==Tf||"ew"==Tf?(Rf=a.Aa,Sf=a.hb):Pd=null;if(null== Pd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=bf(a,Pd,a.ja);if(zc)for(var Ac=2;AcTd;){for(var Ga=null,dh=256;65536>wb.C>>>0;){Ud.C=a.Aa(wb,2);if(null==wb.C||!dh--)break;if(!(Ud.C&1)){for(var eh=a,Bc=Ud,Vf=null,xb=Bc.C,Wf=xb, Vd=1;6>=Vd&&xb;Vd++){if(2bg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress"); else{var cg=Y(a.v.A);a.Aa(cg);a.N?(a.Da(a.b,cg,!0),pf(a)||(a.G&&ld(a.G),a.N=0)):ug(a,bg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var zb=+f[2];if(8==zb||10==zb||16==zb)a.ca=zb;else{a.j("invalid base: "+zb);break}}a.j("default base: "+a.ca);break;case "cs":var Ab;void 0!==f[3]&&(Ab=+f[3]);switch(f[2]){case "int":a.v.ia=Ab;break;case "start":a.v.wa=Ab;break;case "stop":a.v.ka=Ab;break;default:a.j("unknown cs option");break a}void 0!== Ab&&dd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(id(a.v,+f[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.aa.toFixed(2)+"Mhz")+" ("+a.v.ba+"x)");break;default:if(f[1]){a.j("unknown option: "+f[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"), a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":ug(a,f[0],f[1]);break;case "u":tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){rg(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.kb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){tg(a,b.substr(1));break}var Wd="commands:",Xd;for(Xd in wg)Wd+="\n"+Ba(Xd,9)+wg[Xd];ud(a)||(Wd+="\nnote: history disabled if no exec breakpoints");a.j(Wd);break;default:g=!0}g&&(a.j("unknown command: "+ b),d=!1)}}catch(eg){a.j("debugger error: "+(eg.stack||eg.message)),d=!1}return d}function gd(a,b,c){b=Le(a,b,c);for(var d in b)if(!ng(a,b[+d]))return!1;return!0} var wg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},gg=20,ig=85,hg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "), ff=0,gf=1,hf=2,jf=3,kf=4,lf=5,mf=6,nf=7,ef="PC RA EA C0 C1 OV ND PD".split(" "),xg={},wf=(xg[28672]={0:101},xg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:ig,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},xg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:gg,9216:53,9472:52, 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},xg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},xg[29248]={24576:79,24640:80,25088:81,25152:82},xg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, 28692:98,28696:99,28700:100},xg),xf=["","I","M","S"],dg=" L E LE A GE N G".split(" "),fg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),jg={8:102,4:103,2:104,6:105,1:106},of=1E3,rf=">> ";eb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bBg){if(Cg(d,this.M)){this.B=new O(this,"1.34.2",Lg);Cg(this.B)&&(Mg(this,d),a=Ng,Og(this.B));this.B.set(Ig,Ja());Pg(this.B);var e=this.b&&!this.L;if(a==Jg||pb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=Hg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Cg(d,f):("error"==g&&"no machine state"!= f?(this.da("Error: "+f),"unable to verify user"==f&&(Pa(Qg,""),this.f=null)):this.j(g+": "+f),Og(d),Cg(d)?(c=Hg(d),e=!0):c=!1))}e&&Fg(this,c?d:null)}else a==Ng&&d.clear()}else Fg(this);delete this.M;delete this.I}e=qb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Rg(this,this.v,b,c,a),P(this,-2),this.v.Z());this.P&&(Mg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0}; function Mg(a,b){if(pb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}} function vg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new O(a,"1.34.2"),f=new O(a,"1.34.2",Gg),h=Ja();f.set(Ig,h);g.set(Ig,h);g.set(Sg,"1.34.2");g.set(Tg,window?window.location.href:null);g.set(Ug,window?window.navigator.userAgent:"");a.v&&a.v.ga&&(c&&(b&&(a.v.w.Z=a.v.w.K),a.v.V()),d=a.v.ga(b,c),"object"===typeof d&&g.set(a.v.id,d),c&&(a.v.w.U=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k=d||30<=(c.Ua+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ua=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.K;d=!!(a.v.B&8);if(0>=b||60<=(a.L+=b)){e=a.v.A;if(a.J.PC){var g=a.D&&a.D.ca||8,e=e||0,e=8==g?sa(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.L=0}-1>b?a.f=a.v.A:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],f);nh(a,b,c)}})}else c(a,null)} function oh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--kh||ib(!0));m=!1}var h,k,m=!0;kh++;nb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));t.appendChild(C)}d|| (n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?lh(d,null,a,null,!1,g,function(a,e){e?(mb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--kh||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--kh|| ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?lh(c,b,a,e,!0,g,n):mh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(fa){f(fa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return oh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return oh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n