pcjs/versions/pdpjs/1.32.0/pdp11-dbg.js
2017-01-03 17:28:35 -08:00

373 lines
140 KiB
JavaScript

(function(){/*
http://pcjs.org/modules/shared/es6/diskapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/dumpapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/reportapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/userapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/keys.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/strlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/weblib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/messages.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/panel.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/device.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpu.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rom.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/ram.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/keyboard.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/pc11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rk11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/rl11.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/state.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/embed.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/component.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/usrlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/bus.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/memory.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpustate.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/serial.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/disk.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/es6/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp11/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var h,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 ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++}
function ga(){ca();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 ha(this)}});ga=function(){}}function ha(a){var b=0;return ia(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ia(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}for(var ja=ba,ka=["Math","log2"],la=0;la<ka.length-1;la++){var ma=ka[la];ma in ja||(ja[ma]={});ja=ja[ma]}var na=ka[ka.length-1],oa=ja[na],pa=oa?oa:function(a){return Math.log(a)/Math.LN2};pa!=oa&&null!=pa&&aa(ja,na,{configurable:!0,writable:!0,value:pa});
var ra={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},sa={qg:0,ud:1,sg:2,tg:3,ug:4,vg:5,wg:6,xg:7,Lc:8,yg:9,vd:10,zg:11,Ag:12,wd:13,Bg:14,Cg:15,Dg:16,Eg:17,Fg:18,Gg:19,Hg:20,Ig:21,Jg:22,Kg:23,Lg:24,Mg:25,Ng: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,Ic:65,pg:66,rg:67,Og:68,E:69,Pg:70,Qg:71,Rg:72,Sg:73,Tg:74,Ug:75,Vg:76,Wg:77,Xg:78,Yg:79,Zg:80,Q:81,$g:82,ah:83,bh:84,dh:85,eh:86,fh:87,gh:88,hh:89,Gd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ih:97,jh:98,kh:99,d:100,e:101,mh:102,nh:103,oh:104,ph:105,sh:106,k:107,th:108,uh:109,n:110,vh:111,p:112,q:113,r:114,wh:115,t:116,yh:117,zh:118,Ah:119,x:120,y:121,z:122,"{":123,
"|":124,"}":125,"~":126,xd:127};function q(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Rc=b.comment;this.Fd=b;this.exports={};a=this.id.indexOf(".");0>a?this.kb=this.id:(this.lb=this.id.substr(0,a),this.kb=this.id.substr(a+1));this.A={ready:!1,eb:!1,zc:!1,fa:!1,error:!1};this.dc=null;this.A.error=!1;this.C={};this.ha=d||0;this.F=this.f=this.D=this.J=this.Pa=null;ta.push(this)}function ua(a,b,c){va[a]&&b&&(va[a][b]=c)}
function xa(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function ya(a){var b=!1;window&&(b=window.confirm(a));return b}function za(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<ta.length;b++){var d=ta[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Aa(a){if(void 0!==a){var b;for(b=0;b<ta.length;b++)if(ta[b].id===a)return ta[b]}return null}
function Ba(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<ta.length;d++)if(c)c==ta[d]&&(c=null);else if(!(a!=ta[d].type||b&&ta[d].id.indexOf(b)))return ta[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function Ca(a,b){var c=x;b=y(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=w(g))&&k.binding&&a.pa(k.type,k.binding,g,k.value),m=l.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}h=q.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.pa=function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Pa=this.C[b]=c,c.value="",this.u=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.O=function(a){this.u(a,this.kb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.status=function(a){this.u(this.kb+": "+a)};h.O=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Da(a,b){a.A.error=!0;a.O(b)}function Ea(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Ja(a,b){b&&(a.A.ready?b():a.dc=b);return a.A.ready}function A(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.dc,a.dc=null,b&&b()))}function Ka(a,b){a.A.eb&&(b?a.A.zc=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.eb}
function La(a,b){if(a.A.zc)return a.A.eb=!1,a.A.zc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.eb=b;return a.A.eb}h.za=function(){return this.A.fa=!0};h.ya=function(a,b){b&&(this.A.fa=!1);return!0};function B(a,b){if(a.F){a===a.F?b|=0:b=b||a.ha;var c=a.F.ha&b;return!!b&&c===b||!!(c&a.F.cd)}return!1}function C(a,b,c,d){a.F&&(!0===c||B(a,c|0))&&a.F.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var va=window?window.PCjs.Machines:{},ta=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
function Ma(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function Na(a,b,c){var d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}function G(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function Oa(a){var b=2,c="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode(a%10+48)+c,a/=10;return c}function H(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function I(a){return H(a,4,!0)}
function Pa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function Qa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ra(a,b){return-1!==a.indexOf(b,a.length-b.length)}function Sa(a){return a.replace(/[&<>"']/g,function(a){return Wa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}
function Ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function $a(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function ab(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function bb(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function cb(a,b){var c,d={ca:null,ea:null,wa:null,va:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.wa=g.load;d.va=g.exec;if(e=g.bytes)d.ca=e;else if(e=g.words)for(d.ca=Array(2*e.length),f=c=0;c<e.length;c++)d.ca[f++]=e[c]&255,d.ca[f++]=e[c]>>8&255;else if(e=g.data)for(d.ca=Array(4*e.length),f=c=0;c<e.length;c++)d.ca[f++]=
e[c]&255,d.ca[f++]=e[c]>>8&255,d.ca[f++]=e[c]>>16&255,d.ca[f++]=e[c]>>24&255;else d.ca=g;d.ea=g.symbols;d.ca.length?1==d.ca.length&&(v(d.ca[0]),d=null):(v("Empty resource: "+a),d=null)}catch(k){v("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ca=e)}return d}
function db(){return"http://"+(window?window.location.host:"www.pcjs.org")}function eb(){if(null==fb){var a=!1;if(window)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}fb=a}return fb}function hb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function nb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ob(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)}return!1}
function pb(a){if(!qb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}qb=c}return qb[a]}
function rb(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function sb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function tb(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}}function ub(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function vb(a){wb.init.push(a)}
function xb(a){if(yb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function zb(a){!yb&&a?(yb=!0,Ab&&Bb("init"),Cb&&Bb("show")):yb=a}function Bb(a){wb[a]&&xb(wb[a])}var qb=null,wb={init:[],show:[],exit:[]},Ab=!1,Cb=!1,yb=!0,fb=null;ub("onload",function(){Ab=!0;xb(wb.init)});ub("onpageshow",function(){Cb=!0;xb(wb.show)});ub(ob("Opera")||ob("iOS")?"onunload":"onbeforeunload",function(){xb(wb.exit)});
var Db="undefined"!==typeof ArrayBuffer,x="pdp11",Eb="PDPjs",Fb=!1,Gb=Db,Nb=!0,Ob=!0,Pb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Qb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},x="pdp11",Eb="PDPjs",Fb=!1,Gb=Db,Ob=Nb=!0,Rb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,
kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Sb(a,b){q.call(this,"Panel",a,0,512);this.j=this.v=0;this.I=b;this.ua=this.i=this.Ya=this.vb=0;this.B=this.G=this.w=!1;this.H=Tb;this.g={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.F=this.f=this.D=this.J=null;A(this)}p(Sb,q);h=Sb.prototype;h.reset=function(){this.stop()};
h.pa=function(a,b,c,d){if(this.J&&this.J.pa(a,b,c,d)||this.f&&this.f.pa(a,b,c,d)||this.F&&this.F.pa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.C[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.C[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.C[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Ub(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Vb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Ub(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Vb(a,b)}}(this,b),!0):q.prototype.pa.call(this,a,b,c,d)}};h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Wb(b,this,Xb);Yb(b,this.reset.bind(this));Zb(this);$b(this)};h.za=function(a,b){b||(this.I&&ac(),this.reset());return!0};h.ya=function(){return!0};
function bc(a,b,c){if(a=a.C[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Zb(a,b){for(var c in a.g)bc(a,c,null!=b?b:a.g[c])}function cc(a,b,c){if(a=a.C[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $b(a){for(var b in a.b)cc(a,b,a.b[b][1])}function dc(a,b,c,d){a.C[b]&&(void 0===c&&(Da(a,"Value for "+b+" is invalid"),a.f.Z()),c=8==(a.F&&a.F.xa||8)?G(c,d):H(c,d),a.C[b].textContent!=c&&(a.C[b].textContent=c))}
function Ub(a,b){var c=a.b[b];cc(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=ec&&(a.B=b==fc,a.G=b==gc)}function Vb(a,b){var c=a.b[b];c[2]&&c[3]&&(cc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Xd=function(a){a||this.f.A.U||(a=this.f,a.D.reset(),hc(a),this.b[ic]&&this.b[ic][1]&&jc(this.f))};h.Yd=function(){};h.Td=function(a){a||this.f.Z()};
h.Rd=function(a){if(!a&&!this.f.A.U)if(this.b[ic]&&this.b[ic][1])jc(this.f);else{if((a=this.F)&&!Ka(a,!0))La(a,!0),kc(a,0,null),La(a,!1);else try{var b=this.f.bc(1);0<b&&(lc(this.f,b),mc(this.f,b,!0),nc(this.f,b))}catch(c){"number"!=typeof c&&Da(this.f,c.stack||c.message)}this.stop();this.J&&J(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.B&&oc(this),a=pc(this,this.Ya),this.H==Tb)qc(this.D,this.ua,a);else{var b=this.f,c=this.ua;b.ma++;b.D.Nb(Cc(b,c,4),a);b.ma--}};
h.Ud=function(a){a||this.f.A.U||(this.G&&oc(this),a=this.H==Tb?Dc(this.D,this.ua):Ec(this.f,this.ua),pc(this,a))};h.Wd=function(a){a||this.f.A.U||Fc(this,this.Ya)};h.Vd=function(a){a?(this.w=!0,Zb(this,!0)):(this.w=!1,Zb(this),Gc(this,0))};h.Zd=function(a,b){this.Ya=a?this.Ya|1<<b:this.Ya&~(1<<b)};function oc(a){var b=1140>=a.f.ba?8:16,c=65472<=a.ua&&a.ua<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[ec]&&a.b[ec][1]||(b=-b);Fc(a,a.ua&~c|a.ua+b&c)}
function Fc(a,b){a.ua=b&a.D.I;b=a.ua;for(var c=0;22>c;c++)Hc(a,"A"+c,b&1<<c)}function pc(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)Hc(a,"D"+c,b&1<<c);return a.i}function Hc(a,b,c){a.g[b]=c;a.w||bc(a,b,c)}function Ic(a){return void 0!==a.C[Jc]}function Gc(a,b){if(Ic(a)){a.Ya=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;$b(a)}}h.stop=function(){Fc(this,this.f.g[7])};h.Fc=function(a){this.ua=a};h.setData=function(a,b){b?this.vb=a:this.i=a};h.de=function(a,b){return(b?this.vb:this.Ya)&65535};
h.pf=function(a){this.vb=a};function ac(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Aa(d.id);e||(e=new Sb(d,!0));Ca(e,c)}}var Tb=7,Jc="S0",fc="DEP",ic="ENABLE",gc="EXAM",ec="STEP",Kc={},Xb=(Kc[65400]=[null,null,Sb.prototype.de,Sb.prototype.pf,"CNSW"],Kc);vb(ac);
function Lc(a,b,c){q.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=+a.busWidth||16;this.M=1<<this.V;this.I=this.M-1;this.j=Mc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.M/this.j|0;this.T=this.H-1;this.Ma=[];this.ja=0;this.G=!1;this.N=[];this.Hd=[Nc,Oc,Pc,Qc];this.b=this.v=[];this.B=this.L=this.w=this.P=this.R=0;a=new L(this);Rc(a,this.F);this.b=Array(this.H);this.v=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.v[b]=a;this.B=this.M-Mc;Sc(this,this.B,Mc,Tc,this);this.R=
this.P=(this.B&this.I)>>>this.g;this.L=0;this.w=this.I;A(this)}p(Lc,q);function Uc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.v[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Mc,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Lc.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();Uc(this,16)};h.za=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ya=function(a){return a?this.save():!0};h.save=function(){var a=new M(this);a.set(0,Vc(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.S){for(var e=0,f=Array(this.S),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Sc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Jb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Jb){n=l.size-(f-m);n>g&&(n=g);l.Jb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Wc(Xc,f,g)}f=new L(a,f,n,a.j,d,e);Rc(f,a.F,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Yc[d]+" at "+G(b)),!0):Wc(Zc,b,c)}h.Jc=function(a){return this.v[(a&this.w)>>>this.g].ub(a&this.i,a)};
h.ac=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Ob||b!=this.i?this.v[c].ka(b,a):this.v[c++].ub(b,a)|this.v[c&this.T].ub(0,a+1)<<8};h.Kc=function(a,b){this.v[(a&this.w)>>>this.g].wb(a&this.i,b,a)};h.Nb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Ob||c!=this.i?this.v[d].xb(c,b,a):(this.v[d++].wb(c,b&255,a),this.v[d&this.T].wb(0,b>>8&255,a+1))};function $c(a,b){return a.b[(b&a.I)>>>a.g]}
function Dc(a,b){var c;a.G=!1;a.ja++;var d=b&a.i,e=$c(a,b);Ob||d!=a.i?c=e.B(d,b):c=e.j(d,b)|$c(a,b+1).j(0,b+1)<<8;a.ja--;return c}function ad(a,b,c){a.G=!1;a.ja++;$c(a,b).D(b&a.i,c&255,b);a.ja--}function qc(a,b,c){a.G=!1;a.ja++;var d=b&a.i,e=$c(a,b);Ob||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),$c(a,b+1).D(0,c>>8&255,b+1));a.ja--}
function Vc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Wa||e.Nd){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function bd(a){for(var b=cd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Jb)}return c}
function dd(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&ed;if(void 0!==a.Ma[n])return v("I/O address already registered: "+H(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ma[n]=[d,e,f,g,r,k||16,!1]}return!0}
function Wb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ba)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!dd(a,f,f,k,l,m,n,g[7]||b.ha,r||b.kb))return!1}}return!0}
function Yb(a,b){a.N.push(b)}h.La=function(a,b,c){this.G=!0;this.ja||(this.F&&B(this.F,4)&&C(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.qa(4,0,a))};function fd(a){var b=a.G;a.G=!1;return b}function Wc(a,b,c){v("Memory block error ("+a+": "+H(b)+","+H(c)+")");return!1}var Mc=8192,ed=Mc-1,Xc=1,Zc=2;
function Nc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&B(this.f,16|e[5])&&C(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ja),c;d.La(b,16,3);c=255;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
function Oc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&B(this.f,16|f[5])&&C(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,5),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
b),!0,!e.ja))}function Pc(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ja),c;d.La(b,16,2);c=65535;this.f&&B(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
function Qc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&B(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,4),this.f&&B(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ja))}function P(a){q.call(this,"Device",a,0,256);this.b={lh:0,Gc:-1}}p(P,q);h=P.prototype;
h.ta=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Gc=gd(c,function(){e.b.Gb|=128;e.b.Gb&64&&hd(e.f,e.b.fb);e.J&&J(e.J,1);id(e.f,e.b.Gc,1E3/60)});this.b.fb=jd(c,64,6,524288);Wb(b,this,kd);Yb(b,this.reset.bind(this));d&&ld(d,64,function(a){var b=e.f;md(e,"KIPDR",b.B[0],0,a[0]);md(e,"KDPDR",b.B[0],8,a[0]);md(e,"KIPAR",b.M[0],0,a[0]);md(e,"KDPAR",b.M[0],8,a[0],!0);md(e,"SIPDR",b.B[1],0,a[0]);md(e,"SDPDR",b.B[1],8,a[0]);md(e,"SIPAR",b.M[1],0,a[0]);md(e,"SDPAR",b.M[1],8,a[0],
!0);md(e,"UIPDR",b.B[3],0,a[0]);md(e,"UDPDR",b.B[3],8,a[0]);md(e,"UIPAR",b.M[3],0,a[0]);md(e,"UDPAR",b.M[3],8,a[0],!0);b.T&32&&md(e,"UNIMAP",b.Ea,-1,a[0])});A(this)};function md(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+Oa(n)+"]":"")+":"),g+=" "+O(a,c[d+n],l);a.u(g+(f?"\n":""))}}h.reset=function(){this.b.Gb=128;id(this.f,this.b.Gc,1E3/60,!0)};h.ke=function(){return this.b.Gb};
h.wf=function(a){this.b.Gb=a&192;this.b.Gb&64||nd(this.f,this.b.fb)};h.me=function(){return od(this.f)};h.yf=function(a){pd(this.f,a&-129|this.f.S&128)};h.ne=function(){return qd(this.f)};h.oe=function(){return rd(this.f)};h.pe=function(){return this.f.T};h.zf=function(a){sd(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Ea[a>>1];return a&1?b>>16:b&65535};h.gg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ea[c]=b&1?this.f.Ea[c]&65535|(a&63)<<16:this.f.Ea[c]&-65536|a&65534};
h.Qe=function(a){return this.f.B[1][a>>1&7]};h.$f=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Oe=function(a){return this.f.B[1][(a>>1&7)+8]};h.Yf=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.M[1][a>>1&7]};h.Zf=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Ne=function(a){return this.f.M[1][(a>>1&7)+8]};h.Xf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.je=function(a){return this.f.B[0][a>>1&7]};
h.vf=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.he=function(a){return this.f.B[0][(a>>1&7)+8]};h.tf=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.M[0][a>>1&7]};h.uf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.ge=function(a){return this.f.M[0][(a>>1&7)+8]};h.sf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.We=function(a){return this.f.B[3][a>>1&7]};h.fg=function(a,b){this.f.B[3][b>>1&7]=a&65295};
h.Ue=function(a){return this.f.B[3][(a>>1&7)+8]};h.dg=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.M[3][a>>1&7]};h.eg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Te=function(a){return this.f.M[3][(a>>1&7)+8]};h.cg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Hb=function(a){a&=7;return this.f.w&2048?this.f.na[a]:this.f.g[a]};h.Lb=function(a,b){b&=7;this.f.w&2048?this.f.na[b]=a:this.f.g[b]=a};
h.ue=function(){return this.f.w&49152?this.f.V[0]:this.f.g[6]};h.Ef=function(a){this.f.w&49152?this.f.V[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.Hf=function(a){this.f.g[7]=a};h.Ib=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.na[a]};h.Mb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.na[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.V[1]};h.Ff=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.V[1]=a};
h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.V[3]};h.Gf=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.V[3]=a};h.fe=function(a){return this.f.Zb[a-65504>>1]};h.rf=function(a,b){this.f.Zb[b-65504>>1]=a};h.nd=function(a){return 65520==a?(bd(this.D)>>6)-1:0};h.sd=function(){};h.Se=function(){return 1};h.bg=function(){};h.ee=function(){return this.f.R};h.qf=function(){this.f.R=0};h.le=function(){return this.f.Yb};h.xf=function(a,b){b&1||(a&=255);this.f.Yb=a};
h.qe=function(a,b){return b?0:this.f.Va};h.Af=function(a){td(this.f,a)};h.Re=function(a,b){return b?0:this.f.sa&65280};h.ag=function(a){this.f.sa=a|255};h.te=function(){return ud(this.f)};h.Df=function(a){vd(this.f,a)};h.rd=function(a,b){B(this)&&C(this,"writeIgnored("+G(b)+"): "+G(a),!0,!0)};
var Q={},kd=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.gg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.$f,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Yf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.Zf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Xf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.vf,"KIPDR",8,1140,64],Q[62672]=[null,null,P.prototype.he,P.prototype.tf,"KDPDR",8,1145,64],Q[62688]=
[null,null,P.prototype.ie,P.prototype.uf,"KIPAR",8,1140,64],Q[62704]=[null,null,P.prototype.ge,P.prototype.sf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.pe,P.prototype.zf,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ke,P.prototype.wf,"LKS"],Q[65402]=[null,null,P.prototype.me,P.prototype.yf,"MMR0",1,1140,64],Q[65404]=[null,null,P.prototype.ne,P.prototype.rd,"MMR1",1,1145,64],Q[65406]=[null,null,P.prototype.oe,P.prototype.rd,"MMR2",1,1140,64],Q[65408]=[null,null,P.prototype.We,P.prototype.fg,
"UIPDR",8,1140,64],Q[65424]=[null,null,P.prototype.Ue,P.prototype.dg,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Ve,P.prototype.eg,"UIPAR",8,1140,64],Q[65456]=[null,null,P.prototype.Te,P.prototype.cg,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Hb,P.prototype.Lb,"R0SET0"],Q[65473]=[null,null,P.prototype.Hb,P.prototype.Lb,"R1SET0"],Q[65474]=[null,null,P.prototype.Hb,P.prototype.Lb,"R2SET0"],Q[65475]=[null,null,P.prototype.Hb,P.prototype.Lb,"R3SET0"],Q[65476]=[null,null,P.prototype.Hb,
P.prototype.Lb,"R4SET0"],Q[65477]=[null,null,P.prototype.Hb,P.prototype.Lb,"R5SET0"],Q[65478]=[null,null,P.prototype.ue,P.prototype.Ef,"R6KERNEL"],Q[65479]=[null,null,P.prototype.xe,P.prototype.Hf,"R7KERNEL"],Q[65480]=[null,null,P.prototype.Ib,P.prototype.Mb,"R0SET1",1,1145],Q[65481]=[null,null,P.prototype.Ib,P.prototype.Mb,"R1SET1",1,1145],Q[65482]=[null,null,P.prototype.Ib,P.prototype.Mb,"R2SET1",1,1145],Q[65483]=[null,null,P.prototype.Ib,P.prototype.Mb,"R3SET1",1,1145],Q[65484]=[null,null,P.prototype.Ib,
P.prototype.Mb,"R4SET1",1,1145],Q[65485]=[null,null,P.prototype.Ib,P.prototype.Mb,"R5SET1",1,1145],Q[65486]=[null,null,P.prototype.ve,P.prototype.Ff,"R6SUPER",1,1145],Q[65487]=[null,null,P.prototype.we,P.prototype.Gf,"R6USER",1,1145],Q[65504]=[null,null,P.prototype.fe,P.prototype.rf,"CTRL",8,1170],Q[65520]=[null,null,P.prototype.nd,P.prototype.sd,"LSIZE",1,1170],Q[65522]=[null,null,P.prototype.nd,P.prototype.sd,"HSIZE",1,1170],Q[65524]=[null,null,P.prototype.Se,P.prototype.bg,"SYSID",1,1170],Q[65526]=
[null,null,P.prototype.ee,P.prototype.qf,"ERR",1,1170],Q[65528]=[null,null,P.prototype.le,P.prototype.xf,"MBR",1,1170],Q[65530]=[null,null,P.prototype.qe,P.prototype.Af,"PIR"],Q[65532]=[null,null,P.prototype.Re,P.prototype.ag,"SLR"],Q[65534]=[null,null,P.prototype.te,P.prototype.Df,"PSW"],Q);
vb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new P(c);Ca(c,d);break;case "pc11":c=new Ed(c);Ca(c,d);break;case "rl11":c=new Fd(c);Ca(c,d);break;case "rk11":c=new R(c),Ca(c,d)}}});
function L(a,b,c,d,e,f){this.C=a;this.id=Gd+=2;this.b=null;this.K=b;this.Jb=c;this.size=d||0;this.type=e||Hd;this.J=e==Id;this.f=this.controller=null;this.ub=this.j=this.Cc;this.ka=this.B=this.Dc;this.wb=this.D=this.Kb;this.xb=this.G=this.kc;this.F=this.i=0;Rc(this);this.Wa=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Jd(this,f.Hd);else if(Db)this.v=new ArrayBuffer(this.size),this.w=new DataView(this.v,0,this.size),this.g=new Uint8Array(this.v,0,this.size),this.H=new Uint16Array(this.v,
0,this.size>>1),this.b=new Int32Array(this.v,0,this.size>>2),Jd(this,Kd?Ld:Md);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Jd(this,Nd)}else Jd(this)}h=L.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(Db)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Db)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1};function Jd(a,b){b||(b=Od);Pd(a,b,void 0);Qd(a,b,void 0)}function Pd(a,b,c){c&&a.F||(a.ub=b[0]||a.Cc,a.ka=b[2]||a.Dc);if(c||void 0===c)a.j=b[0]||a.Cc,a.B=b[2]||a.Dc}function Qd(a,b,c){c&&a.i||(a.wb=!a.J&&b[1]||a.Kb,a.xb=!a.J&&b[3]||a.kc);if(c||void 0===c)a.D=b[1]||a.Kb,a.G=b[3]||a.kc}
h.pb=function(a,b){b?this.i++||Qd(this,Rd,!1):this.F++||Pd(this,Rd,!1)};function Sd(a,b){b?--a.i||(a.wb=a.J?a.Kb:a.D,a.xb=a.J?a.kc:a.G):--a.F||(a.ub=a.j,a.ka=a.B)}function Rc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Pd(a,Rd,!1),(a.i=c.i)&&Qd(a,Rd,!1))}h.Cc=function(a,b){this.f&&B(this.f,32)&&C(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.C.La(b,32,2);return 255};
h.Kb=function(a,b,c){this.f&&B(this.f,32)&&C(this.f,"attempt to write "+O(this.f,b)+" to invalid addresses "+O(this.f,c),!0);this.C.La(c,32,4)};h.Dc=function(a,b){return this.ub(a++,b++)|this.ub(a,b)<<8};h.kc=function(a,b,c){this.wb(a++,b&255,c++);this.wb(a,b>>8,c)};h.ce=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.cf=function(a,b){Nb&&a&1&&this.C.La(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
h.nf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Wa=!0};h.kg=function(a,b,c){Nb&&a&1&&this.C.La(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Wa=!0};h.ae=function(a,b){this.f&&null!=this.K&&Td(this.f,this.K+a);return this.j(a,b)};h.Ze=function(a,b){this.f&&null!=this.K&&Td(this.f,this.K+a,2);return this.B(a,b)};
h.lf=function(a,b,c){this.f&&null!=this.K&&Ud(this.f,this.K+a);this.J?this.Kb(0,b,c):this.D(a,b,c)};h.ig=function(a,b,c){this.f&&null!=this.K&&Ud(this.f,this.K+a,2);this.J?this.Kb(0,b,c):this.G(a,b,c)};h.$d=function(a){return this.g[a]};h.be=function(a,b){a=this.g[a];this.f&&B(this.f,32)&&C(this.f,"Memory.readByte("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.Ye=function(a,b){Nb&&a&1&&this.C.La(b,64,2);return this.w.getUint16(a,!0)};
h.bf=function(a,b){Nb&&a&1&&this.C.La(b,64,2);a=!Ob&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&B(this.f,32)&&C(this.f,"Memory.readWord("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.kf=function(a,b){this.g[a]=b;this.Wa=!0};h.mf=function(a,b,c){this.g[a]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0)};h.hg=function(a,b,c){Nb&&a&1&&this.C.La(c,64,4);this.w.setUint16(a,b,!0);this.Wa=!0};
h.jg=function(a,b,c){Nb&&a&1&&this.C.La(c,64,4);!Ob&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Wa=!0;this.f&&B(this.f,32)&&C(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var Hd=0,cd=1,Id=2,Tc=4,Yc=["NONE","RAM","ROM","VID","H/W"],Gd=0,Od=[],Nd=[L.prototype.ce,L.prototype.nf,L.prototype.cf,L.prototype.kg],Rd=[L.prototype.ae,L.prototype.lf,L.prototype.Ze,L.prototype.ig];
if(Db)var Md=[L.prototype.$d,L.prototype.kf,L.prototype.Ye,L.prototype.hg],Ld=[L.prototype.be,L.prototype.mf,L.prototype.bf,L.prototype.jg];var Vd;if(Db){var Wd=new ArrayBuffer(2);(new DataView(Wd)).setUint16(0,256,!0);Vd=256===(new Uint16Array(Wd))[0]}else Vd=!1;var Kd=Vd;
function Xd(a,b){q.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.oc=0;this.lc=b;this.bb=c;this.vc=Math.round(this.lc/1E4)/100;this.nb=this.vc*this.bb;this.wc=this.Vb=this.qb=this.mc=0;this.A.U=!1;this.A.hc=!1;this.A.Ia=a.autoStart;"string"==typeof this.A.Ia&&(this.A.Ia="true"==this.A.Ia);this.A.zb=!1;this.Sb=this.Bb=0;this.Tb=+a.csStart;this.Ab=+a.csInterval;this.Cb=+a.csStop;this.Fa=[];this.Tc=this.gf.bind(this);this.cb=this.Ta=this.ab=this.b=this.ga=this.Sa=this.Rb=this.$a=this.Db=
this.xc=this.mb=0;this.ra=null;A(this)}p(Xd,q);h=Xd.prototype;h.ta=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.ra=a.i;for(a=0;a<Yd.length;a++)(b=this.C[Yd[a]])&&this.J.pa(null,Yd[a],b);A(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.za=function(a,b){var c=Zd(this.J,"autoStart");null!=c?this.A.Ia="true"==c?!0:"false"==c?!1:!!c:null==this.A.Ia&&(this.A.Ia=!this.F&&void 0===this.C.run);if(!b){if(a){$d(this);if(!this.restore(a))return!1;ae(this)}else this.reset();this.F?(a=this.F,b=this.A.Ia,a.Da=!0,a.u("Type ? for help with PDPjs Debugger commands"),be(a),b||ce(a),a.sa&&(b=a.sa,a.sa=null,de(a,b))):this.u("No debugger detected");this.A.Ia||this.u("CPU will not be auto-started "+(this.ra?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.ya=function(a){return a?this.save():!0};h.Ia=function(){return this.A.U?!0:this.A.Ia?(jc(this),!0):!1};h.gd=function(){return 0};function ae(a){void 0===a.Tb&&(a.Tb=0);void 0===a.Ab&&(a.Ab=-1);void 0===a.Cb&&(a.Cb=-1);a.A.zb=0<=a.Tb&&0<a.Ab;a.A.zb&&(a.Sb=0,a.Bb=a.Tb-a.cb)}function nc(a,b){if(a.A.zb){var c=!1;a.Sb=a.Sb+a.gd()|0;a.Bb-=b;0>=a.Bb&&(a.Bb+=a.Ab,c=!0);0<=a.Cb&&a.Cb<=ee(a)&&(a.Ab=a.Cb=-1,ae(a),a.Z(),c=!0);c&&a.u(ee(a)+" cycles: checksum="+H(a.Sb))}}
h.pa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.C[b]=c,!0;case "run":return this.C[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=za(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.dc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():jc(d))},!0;
case "speed":return this.C[b]=c,!0;case "setSpeed":return this.C[b]=c,c.onclick=function(){fe(d,d.bb<<1,!0)},c.textContent=this.nb.toFixed(2)+"Mhz",!0}return!1};function mc(a,b,c){a.cb+=b;c&&(a.ab=a.b=a.ga=0)}function ge(a,b){var c=1;b&&1<a.bb&&a.mb&&(c=a.mb/a.vc);a.wc=Math.round(1E3/he);a.Vb=Math.floor(a.lc/he*c);b||(a.qb=a.Vb);a.mc=0}function ee(a){return a.cb+a.Ta+a.ab-a.b}function $d(a){a.mb=0;a.xc=0;a.cb=a.Ta=a.ab=a.b=a.ga=0;ae(a);fe(a,1)}
function fe(a,b,c){var d=!1;if(void 0!==b){.8>a.mb/a.nb?b=1:d=!0;a.bb=b;b=a.vc*a.bb;if(a.nb!=b){a.nb=b;b=a.nb.toFixed(2)+"Mhz";var e=a.C.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.J&&ie(a.J)}mc(a,a.Ta);a.Ta=0;a.Sa=xa();a.$a=0;ge(a);return d}function gd(a,b){var c=a.Fa.length;a.Fa.push([-1,b]);return c}function id(a,b,c,d){0<=b&&b<a.Fa.length&&(d||0>a.Fa[b][0])&&(c=a.lc*a.bb/1E3*c|0,a.A.U&&(c+=je(a)),a.Fa[b][0]=c)}
function ke(a,b){for(var c=a.Fa.length-1;0<=c;c--){var d=a.Fa[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function lc(a,b){for(var c=a.Fa.length-1;0<=c;c--){var d=a.Fa[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function je(a,b){var c=a.ab-=a.b;a.b=a.ga=0;b&&(a.ab=0);return c}
h.gf=function(){if(this.A.U){this.mc>=this.lc&&ge(this,!0);this.Db=0;this.Rb=xa();if(this.$a){var a=this.Rb-this.$a;a>this.wc&&(this.Sa+=a,this.Sa>this.Rb&&(this.Sa=this.Rb))}try{do{var b=ke(this,this.A.zb?1:this.Vb);try{this.bc(b)}catch(e){if("number"!=typeof e)throw e;}b=je(this,!0);this.Db+=b;this.Ta+=b;nc(this,b);lc(this,b);this.qb-=b;if(0>=this.qb){this.qb+=this.Vb;++this.xc>=le&&(this.J&&J(this.J,void 0),this.xc=0);break}}while(this.A.U)}catch(e){this.Z();this.J&&this.J.stop(xa(),ee(this));
Da(this,e.stack||e.message);return}if(this.A.U){a=setTimeout;b=this.Tc;this.$a=xa();var c=this.wc;this.Db&&(c=Math.round(c*this.Db/this.Vb));var c=c-(this.$a-this.Rb),d=this.$a-this.Sa;d&&(this.mb=Math.round(this.Ta/(10*d))/100,864E5<=d&&(this.cb=0,fe(this)));if(0>c||this.mb<this.nb)-1E3>c&&(this.Sa-=c),c=0;this.mc+=this.Db;this.$a+=c;a(b,c)}}};
function jc(a,b){if(!Ea(a))if(a.A.U)a.u(a.toString()+" busy");else{fe(a);a.A.U=!0;a.A.hc=!0;var c=a.C.run;c&&(c.textContent="Halt");a.J&&(b&&ie(a.J,!0),a.J.start(a.Sa,ee(a)));a.F||a.status("Started");setTimeout(a.Tc,0)}}h.bc=function(){return 0};h.Z=function(a){var b=!1;if(this.A.U){je(this);mc(this,this.Ta);this.Ta=0;this.A.U=!1;if(b=this.C.run)b.textContent="Run";this.J&&this.J.stop(xa(),ee(this));b=!0;this.F||this.status("Stopped")}this.A.complete=a;return b};var he=30,le=15,Yd=["power","reset"];
function me(a){var b=+a.model||1170;Xd.call(this,a,6666667);this.ba=b;this.Qc=+a.addrReset||0;this.w=this.G=this.H=this.L=this.I=0;this.g=this.na=this.V=[];this.N=0;this.uc=[];this.B=this.M=this.Ea=this.Zb=[];this.nc=this.Za=this.P=this.Pc=this.Ha=this.ib=this.ob=this.Da=this.R=this.Va=this.sa=this.S=this.Eb=this.Fb=this.T=this.Ua=this.v=this.j=this.jc=this.W=this.Y=this.i=this.Yb=0;this.Sc=255;1120>=this.ba?(this.Oc=ne.bind(this),this.yb=this.Ld,this.nc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
oe.bind(this),this.yb=this.Md,this.Xc=~(1792|(1140>=this.ba?2048:0))&65535,this.Uc=1140<this.ba?2048:0);this.ma=0;this.la=null;this.tc=[];this.A.complete=!1;this.Ob=this.pc=this.fd;this.Pb=this.qc=this.ld;this.ic=this.rc=this.pd;this.Qb=this.sc=this.qd;this.Ga=this.jb=this.Wb=this.Xb=0;this.Ca=this.kd;this.ka=this.Ec;this.xb=this.Hc;this.Zc=this.Yc=0}p(me,Xd);h=me.prototype;
h.ta=function(a,b,c,d){Xd.prototype.ta.call(this,a,b,c,d);this.pc=b.Jc.bind(b);this.qc=b.ac.bind(b);this.rc=b.Kc.bind(b);this.sc=b.Nb.bind(b)};h.za=function(a,b){for(var c=192,d=0;d<this.tc.length;d++){var e=this.tc[d];0>e.$b&&(e.$b=c,c+=4)}return Xd.prototype.za.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ba);this.A.U&&this.Z();this.G=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Qc,-1,-2,-3,-4,-5,-6,-7,-8];this.na=[0,0,0,0,0,0];this.V=[0,0,0,0];this.N=0;this.uc=[4,2,0,1];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ea=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Zb=[0,0,0,0,0,0,0,0];this.v=this.j=this.jc=this.W=this.Y=this.i=this.Yb=0;this.Ua=-1;hc(this);$d(this);this.A.error=!1;Xd.prototype.reset.call(this)};function hc(a){a.S=0;a.Eb=0;a.Fb=0;a.T=0;a.R=0;a.Va=0;a.sa=255;a.Ha=0;a.ib=0;a.ob=0;a.Da=262143;a.Za=a.g[7];a.P=0;a.la=null;a.D&&(pe(a),a.Pc=bd(a.D))}
function pe(a){a.Ob=a.pc;a.Pb=a.qc;a.ic=a.rc;a.Qb=a.sc;a.Wb&&(a.Ob=a.fd,a.Pb=a.ld);a.Xb&&(a.ic=a.pd,a.Qb=a.qd);a.Ha?(a.Ga=65536,a.jb=a.T&16?4186112:253952,a.Ca=a.kd,a.ka=a.Wb?a.af:a.Ec,a.xb=a.Xb?a.mg:a.Hc,Uc(a.D,a.T&16?22:18)):(a.Ga=0,a.jb=57344,a.Ca=a.Od,a.ka=a.Wb?a.$e:a.od,a.xb=a.Xb?a.lg:a.td,Uc(a.D,16))}function od(a){var b=a.S;b&57344||(b=b&-3199|a.ib<<5|a.ob<<1);return b}
function pd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Eb=a.P>>16&65535,a.Fb=a.P&65535);a.S=b;a.ib=(b&96)>>5;a.ob=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ha!=c&&(a.Ha=c,pe(a))}}function qd(a){a.S&57344||(a.Eb=a.P>>16&65535);a=a.Eb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function rd(a){a.S&57344||(a.Fb=a.P&65535);return a.Fb}function sd(a,b){1170>a.ba&&(b&=-49);a.T!=b&&(a.T=b,a.Da=b&16?4194303:262143,pe(a))}
function qe(a,b,c){a.Qc=b;a.D.reset();hc(a);re(a,b);vd(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||jc(a)}else a.F?a.Z()||be(a.F):!1===c&&a.Z();!a.A.U&&a.ra&&a.ra.stop()}h.gd=function(){return 0};h.save=function(){var a=new M(this);a.set(0,[this.g,this.na,this.V,this.Ea,this.Zb,this.R,this.Yb,this.Va,this.sa,this.Ua,this.N,this.i,this.S,this.Eb,this.Fb,this.T,this.ib,this.ob,this.B,this.M,this.Ha,this.Da,this.Za,this.P]);a.set(1,[ud(this)]);a.set(2,[this.cb,this.bb]);return a.data()};
h.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.g=b.next().value;this.na=b.next().value;this.V=b.next().value;this.Ea=b.next().value;this.Zb=b.next().value;this.R=b.next().value;this.Yb=b.next().value;this.Va=b.next().value;this.sa=b.next().value;this.Ua=b.next().value;this.N=b.next().value;this.i=b.next().value;this.S=b.next().value;this.Eb=b.next().value;this.Fb=b.next().value;this.T=b.next().value;this.ib=b.next().value;this.ob=b.next().value;
this.B=b.next().value;this.M=b.next().value;this.Ha=b.next().value;this.Da=b.next().value;this.Za=b.next().value;this.P=b.next().value;b=a[1];vd(this,b[0]);b=a[2];this.cb=b[0];fe(this,b[1]);return!0};function se(a){return a.G&65536?1:0}function te(a){return a.H&32768?2:0}function ue(a){return a.L&65535?0:4}function ve(a){return a.I&32768?8:0}function we(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(re(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function re(a,b){a.g[7]=b&65535}
function jd(a,b,c,d){c={$b:b,gb:c,message:d||0,next:null};c.name=Qb[b];a.tc.push(c);return c}function xe(a,b){var c=a.la;if(c==b)a.la=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.la&&(a.i|=1)}function hd(a,b){if(b){if(b!=a.la){var c=a.la;if(!c||c.gb<=b.gb)b.next=c,a.la=b;else{do{var d=c.next;if(!d||d.gb<=b.gb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&B(a,b.message|8)&&C(a,"setIRQ(vector="+G(b.$b)+",priority="+b.gb+")",!0,!0)}}
function nd(a,b){b&&(xe(a,b),b.message&&B(a,b.message|8)&&C(a,"clearIRQ(vector="+G(b.$b)+",priority="+b.gb+")",!0,!0))}function ye(a){return a.i&64?(a.qa(168,64,-6),!0):a.i&32?(a.qa(4,32,-5),!0):a.i&16?(a.qa(12,16,-7),!0):!1}function ud(a){return a.w=a.w&63728|ve(a)|ue(a)|te(a)|se(a)}
function vd(a,b){b&=a.Xc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Uc)for(var c=a.na.length;0<=--c;){var d=a.g[c];a.g[c]=a.na[c];a.na[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.V[c]=a.g[6],a.g[6]=a.V[a.N]);a.w=b;a.i&=-3;a.i|=a.la?2:1}function td(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}h.Ba=function(a){this.I=this.L=a;this.H=0};h.hb=function(a,b){this.I=this.L=this.G=a;this.H=b||0};function ze(a,b){a.I=a.L=a.G=b;a.H=a.I^a.G>>1}
function Ae(a,b,c,d){a.I=a.L=a.G=b;a.H=(c^d)&(d^b)}h.qa=function(a,b,c){if(!this.ma){0>this.Ua?this.Ua=ud(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.N=0;var d=this.ka(a|this.Ga),e=this.ka(a+2&65535|this.Ga);vd(this,e&-12289|this.Ua>>2&12288);Be(this,this.Ua);Be(this,this.g[7]);re(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.Zc=a;this.Yc=c;-1==c&&this.Z();if(-4<=c)throw a;}};
function Ce(a){var b=De(a),c=De(a);a.w&49152&&(c=c&-225|a.w&63712);re(a,b);vd(a,c);a.i&=-17}function Ee(a,b){var c=b>>13&31;31>c&&(b=a.T&32?a.Ea[c]+(b&8191)&4194303:b&-3932161);return b}
function Fe(a,b,c){var d=[];if(c){c=Ee(a,b);var e=b>>13&31;d.push(c);d.push(e);a.T&32&&(d.push(a.Ea[e]),d.push(b&8191))}else if(a.Ha){var e=a.N<<1,f=b>>13;7<f&&(e|=1);a.T&a.uc[a.N]||(f&=7);b&=8191;var g=a.M[a.N][f]<<6;c=g+b&a.Da;3932160<=c&&(c=Ee(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.Da)}else c=b&65535,57344<=c&&(c|=a.jb),d.push(c);return d}
function Cc(a,b,c){var d,e,f;if(!(c&a.Ha))return f=b&65535,57344<=f&&(f|=a.jb),f;d=b>>13;a.T&a.uc[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.Da;3932160<=f&&(f=Ee(a,f));if(a.ma)return f;f>=a.Pc&&f<a.jb?(a.R|=32,a.qa(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.qa(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.Da)||a.N)a.ib=a.N,a.ob=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.S&57344||(g|=a.S&4096|a.ib<<5|a.ob<<1,pd(a,a.S&-61695|g&61694)),a.qa(168,64,-2)),a.S&61440||!(f<(4191360&a.Da)||f>(4194239&a.Da))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function De(a){var b=a.ka(a.g[6]|a.Ga);a.g[6]=a.g[6]+2&65535;return b}function Be(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.yb(4,-2,c);a.xb(c,b)}
function Ge(a,b,c,d){var e,f,g=d&8?0:a.Ga;switch(b){case 0:return a.qa(4,0,-3),0;case 1:return 6==c&&a.yb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.yb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ka(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.yb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ka(e)|g;a.b-=8;break;case 6:return e=a.ka(we(a,2)),e=e+a.g[c]&65535,6==c&&a.yb(d,
0,e),a.b-=6,e|g;case 7:return e=a.ka(we(a,2)),e=e+a.g[c]&65535,e=a.ka(e|a.Ga),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.N&&0>=b&&c<=this.sa&&(this.i|=32)};h.Md=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.sa&&(c<=this.sa-32?this.qa(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Td(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Td(this.F,a,2);return this.qc(a)};
h.pd=function(a,b){this.F&&Ud(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Ud(this.F,a,2);this.sc(a,b)};function Ec(a,b){a.ma++;b=a.D.ac(Cc(a,b,2));a.ma--;return b}function He(a,b){(b?--a.Xb:--a.Wb)||pe(a)}h.Od=function(a,b,c){return Ge(this,a,b,c)};h.kd=function(a,b,c){return Cc(this,Ge(this,a,b,c),c)};h.od=function(a){return this.D.ac(this.Za=a)};h.$e=function(a){this.F&&Td(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.ac(this.Za=Cc(this,a,2))};
h.af=function(a){this.F&&Td(this.F,a,2);return this.Ec(a)};h.td=function(a,b){this.D.Nb(this.Za=a,b)};h.lg=function(a,b){this.F&&Ud(this.F,a,2);this.td(a,b)};h.Hc=function(a,b){this.D.Nb(this.Za=Cc(this,a,4),b)};h.mg=function(a,b){this.F&&Ud(this.F,a,2);this.Hc(a,b)};function Ie(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=Ge(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.ka(d|c&a.Ga),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.V[a.w>>12&3];return c}
function Je(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=Ge(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Cc(a,e|c&65536,4),a.N=a.w>>14&3,a.Qb(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.V[a.w>>12&3]=d}function Ke(a,b){b>>=6;var c=a.Y=b&7;return(b=a.W=(b&56)>>3)?a.Ob(a.Ca(b,c,3)):a.g[c+a.nc]&a.Sc}function Le(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.W=(b&56)>>3)?c=a.Pb(a.Ca(b,d,2)):c=a.g[d+a.nc];return c}function Me(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return Ge(a,b,c,8)}
function hf(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Ob(a.Ca(b,c,3)):a.g[c]&255}function jf(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Pb(a.Ca(b,d,2)):c=a.g[d];return c}function kf(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.jc=a.Ca(b,e,7),c=0>c?a.g[-c-1]&255:c,a.ic(e,d.call(a,c,a.Ob(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function T(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.Ca(b,e,6),a.Qb(e,d.call(a,0>c?a.g[-c-1]:c,a.Pb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function lf(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.Ca(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.ic(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function mf(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.Ca(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Qb(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.bc=function(a){this.A.complete=!0;var b=this.F?nf(this.F)?1:this.A.hc?-1:0:0,c=a?this.A.hc?0:1:-1;this.A.hc=!1;this.ab=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(of(this.F,this.g[7],c)){this.Z();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.Va&224)>>5,f=this.la&&this.la.gb>e?this.la:null;f&&(d=f.$b,e=f.gb);e>(this.w&224)>>5?(this.i&8&&(we(this,2),this.i&=-9),this.qa(d,0,-10),e=!0):e=!1;e&&(f&&xe(this,f),a=!0);this.la||this.Va||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&of(this.F,this.g[7],c)){this.Z();break}if(0>c)break}if(this.i&112&&ye(this)){if(this.i&4&&of(this.F,this.g[7],c)){this.Z();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ka(a);this.g[7]=a+2&65535;this.Oc(f)}while(0<this.b);return this.A.complete?this.ab-this.b:void 0===this.A.complete?0:-1};vb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new me(d);Ca(d,c)}});
function pf(a,b){var c=b+a;this.I=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function qf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.G=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function rf(a,b){a=b<<1;ze(this,a);return a&65535}function sf(a,b){a=b<<1;ze(this,a<<8);return a&255}function tf(a,b){a=b&32768|b>>1|b<<16;ze(this,a);return a&65535}function uf(a,b){a=b&128|b>>1|b<<8;ze(this,a<<8);return a&255}function vf(a,b){a=b&~a;this.Ba(a);return a}function wf(a,b){a=b&~a;this.Ba(a<<8);return a}
function xf(a,b){a|=b;this.Ba(a);return a}function yf(a,b){a|=b;this.Ba(a<<8);return a}function zf(a,b){a=~b|65536;this.hb(a);return a&65535}function Af(a,b){a=~b|256;this.hb(a<<8);return a&255}function Bf(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function Cf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function Df(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function Ef(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
function Ff(a,b){a=-b;this.hb(a,a&b&32768);return a&65535}function Gf(a,b){a=-b;this.hb(a<<8,(a&b&128)<<8);return a&255}function Hf(a,b){a=b<<1|this.G>>16&1;ze(this,a);return a&65535}function If(a,b){a=b<<1|this.G>>16&1;ze(this,a<<8);return a&255}function Jf(a,b){a=(this.G&65536|b)>>1|b<<16;ze(this,a);return a&65535}function Kf(a,b){a=((this.G&65536)>>8|b)>>1|b<<8;ze(this,a<<8);return a&255}function Lf(a,b){var c=b-a;Ae(this,c,a,b);return c&65535}
function Mf(a,b){var c=b-a;Ae(this,c<<8,a<<8,b<<8);return c&255}function Nf(a,b){this.I=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function Of(a,b){a^=b;this.Ba(a);return a&65535}function Pf(a){T(this,a,Le(this,a),pf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}
function Qf(a){var b=jf(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.G=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.G=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.G=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.v?6:7)+b}
function Rf(a){var b=jf(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.G=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.G=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.v?6:7)+b}function Sf(a){S(this,a,!se(this))}function Tf(a){S(this,a,se(this))}
function Uf(a){T(this,a,Le(this,a),vf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Vf(a){kf(this,a,Ke(this,a),wf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Wf(a){T(this,a,Le(this,a),xf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Xf(a){kf(this,a,Ke(this,a),yf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}
function Yf(a){var b=Le(this,a);a=jf(this,a);this.Ba((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function Zf(a){var b=Ke(this,a);a=hf(this,a);this.Ba(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function $f(a){S(this,a,ue(this))}function ag(a){S(this,a,!ve(this)==!te(this))}function bg(a){S(this,a,!ue(this)&&!ve(this)==!te(this))}function cg(a){S(this,a,!se(this)&&!ue(this))}
function dg(a){S(this,a,ue(this)||!ve(this)!=!te(this))}function eg(a){S(this,a,se(this)||ue(this))}function fg(a){S(this,a,!ve(this)!=!te(this))}function gg(a){S(this,a,ve(this))}function hg(a){S(this,a,!ue(this))}function ig(a){S(this,a,!ve(this))}function jg(){this.qa(12,0,-9)}function kg(a){S(this,a,!0)}function lg(a){S(this,a,!te(this))}function mg(a){S(this,a,te(this))}function ng(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function og(a){var b=Le(this,a);a=jf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Ae(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function pg(a){var b=Ke(this,a);a=hf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Ae(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}
function qg(a){var b=jf(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.G=65536,this.b-=7}function rg(){this.qa(24,0,-9);this.b-=20}
function sg(){this.w&49152?(this.R|=128,this.qa(4,0,-8)):(this.ra&&1120==this.ba&&this.ra.setData(this.g[0],!0),this.F?tg(this.F):this.Z());this.b-=7}function ug(){this.qa(16,0,-9);this.b-=20}var vg=[0,7,7,10,7,11,9,13];function wg(a){this.ga=this.b;re(this,Me(this,a));this.b=this.ga-vg[this.v]}var xg=[0,14,14,17,14,18,16,20];function yg(a){this.ga=this.b;var b=Me(this,a);a=a>>6&7;Be(this,this.g[a]);this.g[a]=this.g[7];re(this,b);this.b=this.ga-xg[this.v]}
var zg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Ag(a){var b=Le(this,a);this.ga=this.b;mf(this,a,b,this.Ba);this.b=this.ga-zg[(this.W?8:0)+this.v]+(7!=this.j||this.v?0:2)}function Bg(a){var b=Ke(this,a);lf(this,a,b,65535,this.Ba);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}var Cg=[7,13,13,17,14,18,17,21];
function Dg(a){var b=jf(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.I=b>>16;this.L=this.I|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function Eg(){this.b-=5}function Fg(){this.w&49152||(this.D.reset(),hc(this),this.ra&&this.ra.setData(this.g[0],!0));this.b-=667}function Gg(a){if(a&8)U.call(this,a);else{var b=De(this);a&=7;7==a?re(this,b):(re(this,this.g[a]),this.g[a]=b);this.b-=9}}
function Hg(){Ce(this);this.b-=13}function Ig(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Jg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)re(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Kg(a){T(this,a,Le(this,a),Lf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Lg(a){T(this,a,0,Nf);this.b-=this.v?9:3+(7==this.j?2:0)}function Mg(){this.qa(28,0,-9)}
function Ng(){this.ra&&(this.ra.Fc(this.g[7],!0),this.ra.setData(this.g[0],!0));this.i|=8;we(this,-2);this.b-=3}function Og(a){T(this,a,this.g[(a>>6&7)+this.nc],Of);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,B(b,1)?(C(b,"undefined opcode "+O(b,a),!0,!0),b=tg(b)):b=!1;b||this.qa(8,0,-9)}function ne(a){Pg[a>>12].call(this,a)}function Qg(a){Rg[a>>6&3].call(this,a)}function Sg(a){Tg[a>>6&3].call(this,a)}function Ug(a){Vg[a>>6&3].call(this,a)}
function Wg(a){Xg[a&15].call(this,a)}function Yg(a){Zg[a&15].call(this,a)}function $g(a){ah[a>>6&3].call(this,a)}function bh(a){ch[a>>6&3].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)}
var Pg=[function(a){fh[a>>8&15].call(this,a)},Ag,og,Yf,Uf,Wf,Pf,U,function(a){gh[a>>8&15].call(this,a)},Bg,pg,Zf,Vf,Xf,Kg,U],fh=[function(a){hh[a>>4&15].call(this,a)},kg,hg,$f,ag,fg,bg,dg,yg,yg,Qg,Sg,Ug,U,U,U],Rg=[function(a){mf(this,a,0,this.hb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,zf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,Df);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,Bf);this.b-=this.v?9:3+(7==this.j?2:0)}],Tg=[function(a){T(this,a,0,Ff);
this.b-=this.v?11:6},function(a){T(this,a,se(this)?1:0,pf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,se(this)?1:0,Lf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=jf(this,a);this.hb(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Vg=[function(a){T(this,a,0,Jf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Hf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,tf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,rf);this.b-=this.v?9:3+(7==this.j?2:0)}],hh=
[function(a){ih[a&15].call(this,a)},U,U,U,wg,wg,wg,wg,Gg,U,Wg,Yg,Lg,Lg,Lg,Lg],ih=[sg,Ng,Hg,jg,ug,Fg,U,U,U,U,U,U,U,U,U,U],Xg=[Eg,function(){this.G=0;this.b-=5},function(){this.H=0;this.b-=5},ng,function(){this.L=1;this.b-=5},ng,ng,ng,function(){this.I=0;this.b-=5},ng,ng,ng,ng,ng,ng,ng],Zg=[Eg,function(){this.G=65536;this.b-=5},function(){this.H=32768;this.b-=5},Ig,function(){this.L=0;this.b-=5},Ig,Ig,Ig,function(){this.I=32768;this.b-=5},Ig,Ig,Ig,Ig,Ig,Ig,Ig],gh=[ig,gg,cg,eg,lg,mg,Sf,Tf,rg,Mg,$g,bh,
dh,U,U,U],ah=[function(a){lf(this,a,0,255,this.hb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,0,Af);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,1,Ef);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,1,Cf);this.b-=this.v?9:3+(7==this.j?2:0)}],ch=[function(a){kf(this,a,0,Gf);this.b-=this.v?11:6},function(a){kf(this,a,se(this)?1:0,qf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,se(this)?1:0,Mf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=hf(this,
a);this.hb(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],eh=[function(a){kf(this,a,0,Kf);this.b-=this.v?9+(this.jc&1):3+(7==this.j?2:0)},function(a){kf(this,a,0,If);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){kf(this,a,0,uf);this.b-=this.v?9+(this.jc&1):3+(7==this.j?2:0)},function(a){kf(this,a,0,sf);this.b-=this.v?9:3+(7==this.j?2:0)}];function oe(a){jh[a>>12].call(this,a)}
var jh=[function(a){kh[a>>8&15].call(this,a)},Ag,og,Yf,Uf,Wf,Pf,function(a){lh[a>>8&15].call(this,a)},function(a){mh[a>>8&15].call(this,a)},Bg,pg,Zf,Vf,Xf,Kg,U],kh=[function(a){nh[a>>4&15].call(this,a)},kg,hg,$f,ag,fg,bg,dg,yg,yg,Qg,Sg,Ug,function(a){oh[a>>6&3].call(this,a)},U,U],oh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ka(a|this.Ga);re(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Ie(this,a,0);this.Ba(a);Be(this,a);this.b-=11},function(a){var b=De(this);
this.ga=this.b;this.Ba(b);Je(this,a,0,b);this.b=this.ga-Cg[this.v]},function(a){mf(this,a,ve(this)?65535:0,this.Ba);this.b-=this.v?9:3+(7==this.j?2:0)}],nh=[function(a){ph[a&15].call(this,a)},U,U,U,wg,wg,wg,wg,Gg,function(a){!(a&8)||1145>this.ba?U.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},Wg,Yg,Lg,Lg,Lg,Lg],ph=[sg,Ng,function(){Ce(this);this.i|=this.w&16;this.b-=13},jg,ug,Fg,Hg,function(a){U.call(this,a)},U,U,U,U,U,U,U,U],lh=[Dg,Dg,qg,qg,Qf,Qf,Rf,Rf,
Og,Og,U,U,U,U,Jg,Jg],mh=[ig,gg,cg,eg,lg,mg,Sf,Tf,rg,Mg,$g,bh,dh,function(a){1145>this.ba?U.call(this,a):qh[a>>6&3].call(this,a)},U,U],qh=[function(a){U.call(this,a)},function(a){a=Ie(this,a,65536);this.Ba(a);Be(this,a);this.b-=11},function(a){var b=De(this);this.ga=this.b;this.Ba(b);Je(this,a,65536,b);this.b=this.ga-Cg[this.v]},function(a){U.call(this,a)}];
function rh(a){q.call(this,"ROM",a,0,128);this.ea=this.g=null;this.v=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=Pa(this.j);if(this.j){a=this.j;var b=Qa(this.B);"json"!=b&&"hex"!=b&&(a=db()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;bb(a,null,!0,function(a,b,f){f?(c.O("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(ua(c.lb,a,b),(a=cb(a,b))?(c.g=a.ca,c.ea=a.ea):c.j=null);sh(c)})}}p(rh,q);
h=rh.prototype;h.ta=function(a,b,c,d){this.D=b;this.f=c;this.F=d;sh(this)};h.za=function(){this.ea&&(this.F&&th(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.ya=function(){return!0};
function sh(a){if(!Ja(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Da(a,"ROM size ("+H(a.g.length,8,!0)+") does not match specified size ("+H(a.b,8,!0)+")");else{var b;a:{b=a.v;a.status(a.b+"-byte ROM at "+G(b));if(57344<=b&&b<57344+Mc){var c={};b=(c[b]=[rh.prototype.Me,rh.prototype.Wf,null,null,null,a.b>>1],c);if(Wb(a.D,a,b)){b=a.w=!0;break a}}else if(Sc(a.D,b,a.b,Id)){for(c=0;c<a.g.length;c++)ad(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?b.push(a.i):
null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.v>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}A(a)}}h.Me=function(a){return this.g[a-this.v]};h.Wf=function(){};vb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new rh(d);Ca(d,c)}});
function uh(a){q.call(this,"RAM",a);this.ea=this.g=null;this.i=+a.addr;this.j=+a.size;this.wa=a.load;this.va=a.exec;null!=this.wa&&(this.wa=+this.wa);null!=this.va&&(this.va=+this.va);this.v=!1;this.b=a.file;this.w=Pa(this.b);if(this.b){a=this.b;var b=Qa(this.w);"json"!=b&&"hex"!=b&&(a=db()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;bb(a,null,!0,function(a,b,f){f?(c.O("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(ua(c.lb,a,b),(a=cb(a,b))?(c.g=a.ca,c.ea=a.ea,
null==c.wa&&(c.wa=a.wa),null==c.va&&(c.va=a.va)):c.b=null);vh(c)})}}p(uh,q);uh.prototype.ta=function(a,b,c,d){this.D=b;this.f=c;this.F=d;vh(this)};uh.prototype.za=function(){this.ea&&(this.F&&th(this.F,this.id,this.i,this.j,this.ea),delete this.ea);return!0};uh.prototype.ya=function(){return!0};
function vh(a){if(a.D&&(!a.v&&a.j&&(Sc(a.D,a.i,a.j,cd)?a.v=!0:a.j=0),!Ja(a))){if(!a.v)v("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;wh(a,a.g,a.wa,a.va,a.i)?a.status('Loaded image "'+a.w+'"'):a.O('Error loading image "'+a.w+'"')}A(a)}}
uh.prototype.reset=function(){if(this.v){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Db&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&wh(this,this.g,this.wa,this.va,this.i,!0)}};
function wh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){C(a,"invalid signature ("+I(m)+") at offset "+I(n),4096);break}if(l+6>=b.length){C(a,"invalid block at offset "+I(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,E=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){C(a,"insufficient data for block at offset "+I(n),4096);break}m+=
b[l++]&255;if(m&255){C(a,"invalid checksum ("+H(m,2,!0)+") for block at offset "+I(n),4096);break}if(E)for(C(a,"loading "+I(E)+" bytes at "+I(u)+"-"+I(u+E),4096);E--;)ad(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&C(a,"starting address: "+I(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)ad(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.Z(),f=!1;null!=d&&qe(a.f,d,f)}return k}
vb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new uh(d);Ca(d,c)}});function xh(a){q.call(this,"Keyboard",a,0,1024);A(this)}p(xh,q);xh.prototype.pa=function(){return!1};xh.prototype.ta=function(a,b,c,d){this.J=a;this.f=c;this.F=d};vb(function(){for(var a=y(document,x,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new xh(d);Ca(d,c)}});
function yh(a){q.call(this,"SerialPort",a,0,262144);this.M=+a.adapter;this.T=+a.baudReceive||9600;this.ba=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.j=this.w=null;this.W=+a.tabSize;this.V=+a.charBOL;this.B=0;this.I=!0;this.R=this.N=null;this.S=this.Y=-1;this.G=this.b=this.g=0;this.v=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=zh;b&&(void 0===c&&(c="Panel"),(c=Ba(c,this.id))&&(b=c.C[b])&&this.pa(null,a,b))}this.i=this.H=this.P=null;
this.exports={connect:this.md,receiveData:this.ec,receiveStatus:this.ff,setConnection:this.jf}}p(yh,q);h=yh.prototype;
h.pa=function(a,b,c){var d=this;switch(b){case zh:return this.C[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?sa.Lc:sa.xd:46==c?b=sa.Lc:a.ctrlKey&&c>=sa.Ic&&c<=sa.Gd&&(b=c-(sa.Ic-sa.ud));b&&(a.preventDefault&&a.preventDefault(),d.ec(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.wd&&(b=sa.vd);d.ec(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.ec(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.R=jd(this.f,this.M?-1:48,4,262144);this.S=gd(this.f,function(){var a;a=-1;e.v.length&&(a=e.v.shift()&255,C(e,"receiveByte("+H(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),id(e.f,e.S,1E3/Math.round(e.T/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&hd(c,e.R))});this.N=jd(this.f,this.M?-1:52,4,262144);this.Y=gd(this.f,function(){e.g|=128;e.g&64&&hd(c,e.N)});Wb(b,this,Ah,this.M?64832+8*(this.M-1)-65392:0);Yb(b,this.reset.bind(this));
A(this)};h.md=function(a){if(!this.i){var b=Zd(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ya(c[0]);if(d!=this.kb)return;c=Ya(c[1]);if(this.i=Aa(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.I);if(this.H=e.receiveData){this.I=a;this.P=e.receiveStatus;this.status(this.lb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.za=function(a,b){if(!b)if(this.md(this.I),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ya=function(a){return a?this.save():!0};h.reset=function(){Bh(this)};h.save=function(){var a=new M(this);a.set(0,[]);return a.data()};h.restore=function(){return Bh(this)};function Bh(a){a.G=0;a.b=8192;a.g=128;a.v=[];return!0}
h.ec=function(a){if("number"==typeof a)this.v.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.v.push(b)}else this.v=this.v.concat(a);id(this.f,this.S,1E3/Math.round(this.T/10));return!0};h.ff=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&hd(this.f,this.R))};h.jf=function(a,b){return this.i?!1:(this.i=a,this.H=b,!0)};
h.ze=function(){var a=this.b&65534;this.b&=-32769;return a};h.Jf=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.P&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.P.call(this.i,b))};h.ye=function(){this.b&=-129;return this.G};h.If=function(){};h.ef=function(){return this.g};h.og=function(a){this.g&128&&(a&64?hd(this.f,this.N):nd(this.f,this.N));this.g=this.g&-70|a&69};h.df=function(){return 0};
h.ng=function(a){a&=255;C(this,"transmitByte("+H(a,2,!0)+")");this.H&&this.H.call(this.i,a);a&=127;if(this.j)if(13==a)this.B=0;else if(8==a)this.j.value=this.j.value.slice(0,-1),0<this.B&&this.B--;else{if(a){var b;13!=a&&10!=a&&(b=Za[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.B%a,this.W&&(b=Xa("",c)));this.V&&!this.B&&c&&(b=String.fromCharCode(this.V)+b);this.j.value+=b;this.j.scrollTop=this.j.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==
a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}id(this.f,this.Y,1E3/Math.round(this.ba/10));this.g&=-129};var zh="buffer",Ch={},Ah=(Ch[65392]=[null,null,yh.prototype.ze,yh.prototype.Jf,"RCSR"],Ch[65394]=[null,null,yh.prototype.ye,yh.prototype.If,"RBUF"],Ch[65396]=[null,null,yh.prototype.ef,yh.prototype.og,"XCSR"],Ch[65398]=[null,null,yh.prototype.df,yh.prototype.ng,"XBUF"],Ch);
vb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new yh(d);Ca(d,c)}});function Ed(a){q.call(this,"PC11",a);this.M=Dh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.B=this.G=this.b=0;this.w=[];this.v=Eh;this.i=Fh;this.L=this.j="";this.ca=this.wa=this.va=null;this.P=-1;this.N=!ob("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(Ed,q);
function Dh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Ed.prototype;
h.pa=function(a,b,c){var d=this,e=Fh;switch(b){case "listTapes":return this.C[b]=c,c.onchange=function(){var a=d.C.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.C[b]=c,!0;case "readTape":e=Gh;case "loadTape":return e||(e=Hh),this.C[b]=c,c.onclick=
function(){var a=d.C.listTapes;a&&Ih(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.N){c.parentNode.removeChild(c);break}this.C[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;Ih(d,Pa(b,!0),b,Hh,a)}return!1};return!0;case Jh:return this.C[b]=c,!0}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Kh(a);var e=this;if(a=Dh(this,Zd(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=jd(this.f,56,4,4096);this.R=gd(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.B<e.w.length&&(e.G=e.w[e.B++]&255,Lh(e,e.B/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&hd(e.f,e.H))});Wb(b,this,Mh);Yb(b,this.reset.bind(this));Nh(this,"None",Eh,!0);this.N&&Nh(this,"Local Tape",Oh);Nh(this,"Remote Tape",Ph);Qh(this)||A(this)};
h.za=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ya=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Qh(a){a.g=0;var b=a.M.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.C.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=Pa(c,!0)}c&&b?Rh(a,b,c,Hh,!0):Sh(a)}return!!a.g}
function Ih(a,b,c,d,e){if(c)if(c==Oh)a.O('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Ph){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Pa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.v=Ph}else a.v=c;Rh(a,b,c,d,!1,e)}else Th(a,!1)}
function Rh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Th(a,!0),a.A.eb?a.O("PC11 busy"):(e&&(a.g++,B(a)&&C(a,"auto-loading tape: "+b)),Uh(a,b,c,d,f)?g++:a.A.eb=!0);g&&Vh(a,a.L,a.j,a.i,a.ca,a.wa,a.va)}
function Uh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Vh(a,b,c,d,e),a.v=Oh);Sh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=Qa(c),f="json"==e||"gz"==e?encodeURI(c):db()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!bb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.O('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(ua(a.lb,e,f),(e=cb(e,f))&&Vh(a,b,c,d,e.ca,e.wa,
e.va));a.A.eb=!1;a.g&&(a.g--,a.g||A(a));Sh(a)})}function Nh(a,b,c,d){if((a=a.C.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Sh(a){var b=a.C.listTapes;if(b&&b.options){a=a.v||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Lh(a,b){b|=0;if(b!==a.P){var c=a.C[Jh];c&&(c=(c=y(c,Wh))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Vh(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.wa=f;a.va=g;d==Gh?a.I&&wh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.O('No valid memory address for tape "'+b+'"'):(a.B=0,a.w=e,a.status('Loaded tape "'+b+'"'),Lh(a,0))}function Th(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Hh?"tape detached":"tape unloaded"),a.v=Eh,a.i=Fh,Sh(a))}h.save=function(){return(new M(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
h.Cf=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&hd(this.f,this.H)):(this.b&=-129,this.b|=2048,this.G=0,id(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.re=function(){this.b&=-129;this.b|=2048;return this.G};h.Bf=function(){};var Eh="",Oh="?",Ph="??",Fh=0,Hh=1,Gh=2,Jh="readProgress",Wh="pcjs-progress-bar",Xh={},Mh=(Xh[65384]=[null,null,Ed.prototype.se,Ed.prototype.Cf,"PRS"],Xh[65386]=[null,null,Ed.prototype.re,Ed.prototype.Bf,"PRB"],Xh);
function Yh(a,b,c){q.call(this,"Disk",{id:a.lb+".disk"+H(++Zh,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.Aa=this.gc="";this.cc=b.cc;this.X=this.da=this.aa=this.oa=this.mode=0;this.b=[];this.i=null;this.j=!1;$h(this,c,b.X,b.da,b.aa,b.oa);this.g=this.w=null;A(this)}p(Yh,q);h=Yh.prototype;h.ta=function(a,b,c,d){this.F=d};
function $h(a,b,c,d,e,f){a.mode=b;a.X=c;a.da=d;a.aa=e;a.oa=f;a.b=[];if("preload"!=a.mode){b=Array(a.X);for(c=0;c<b.length;c++){d=Array(a.da);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=ai(null,c,e,g,a.oa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function bi(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.Aa=c;a.gc=Pa(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ra[d];if(e){a.X=e[0];a.da=e[1];a.aa=e[2];a.oa=e[3]||512;c=a.oa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.X);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.da),t=0;t<u.length;t++)for(var E=u[t]=Array(a.aa),z=0;z<E.length;z++){for(var D=ai(null,d,t,z+1,a.oa,0),F=D.data,gb=0;gb<c;gb++,f+=4)var W=F[gb]=b.getInt32(f,
!0),e=e+W&-1;D.Ja=c;E[z]=D}a.i=e;c=a}else a.O("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Na,a.Aa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Qa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Ra(c,"/")&&(d="dir"),f=db()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.cc?"":e)+"&format=json"));return!!bb(f,
null,!0,function(b,c,d){ci(a,b,c,d)})}
function ci(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.O('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{ua(a.controller.lb,b,c);try{if(0<Pa(a.gc,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)v(k[0]);else{a.X=k.length;a.da=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.oa=l&&l.length||512;for(d=c=0;d<a.X;d++)for(f=0;f<a.da;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,E=u.length;E<t;E++)u[E]=n;di(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}ai(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Na)}catch(z){v("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Na,a.Aa),a.g=null)}function ai(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.qh=b;a.rh=c;a.Ra=a.Ja=0;a.Wa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.da)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=ai(null,a,b,g+1,f.Bc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.yc&&(d=k[g]=ai(null,a,b,f.yc,f.Bc,0))}}e&&e(d,!1);return d};function di(a,b){for(var c=0,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}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){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.Ja?f<a.Ra?(a.Ja+=a.Ra-f,a.Ra=f):f>=a.Ra+a.Ja&&(a.Ja+=f-(a.Ra+a.Ja)+1):(a.Ra=f,a.Ja=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function ei(a,b){var c=a.da*a.aa,d=b/c|0;return d<a.X?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function fi(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function gi(a){for(var b="",c=0,d;d=ei(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(fi(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.Aa,this.i,this.X,this.da,this.aa,this.oa];if(!this.j)for(var c=this.b,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.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
h.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.b.length&&6<=e.length?$h(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ra=e;for(k.Ja=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.O("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=ei(this,a++);)hi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});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,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function hi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Zh=0;function R(a){q.call(this,"RK11",a,0,65536);this.G=ii(this,a.autoMount);this.B=0;this.i=Array(8);this.H=!ob("Mobi")&&window&&"FileReader"in window;this.fb=null;this.L=this.g=this.b=this.w=this.v=this.j=this.I=0}p(R,q);
function ii(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype;
h.pa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RK11 option error: "+k.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.C[b]=c,c.onchange=function(){var a=Ma(c.value,10);null!=a&&Ci(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Ei(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&Ma(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.O("Unable to boot the selected drive"):a.ia?(qe(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.O("Unable to read the boot sector ("+a+")")):d.O("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.i&&((a=d.i[Ma(a.value,10)||0])?(a=a.ia)?(a=rb(gi(a),a.gc.replace(".json",".img")),v(a)):d.O("No disk loaded in drive."):d.O("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.C[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;Ei(d,Pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=ii(this,Zd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);Fi(this);this.fb=jd(this.f,144,5,65536);Wb(b,this,Gi);Yb(b,this.reset.bind(this));Hi(this,"None",Ii,!0);this.H&&Hi(this,"Local Disk",Ji);Hi(this,"Remote Disk",Ki);Li(this)||A(this)};
h.za=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.B){for(a=0;a<this.i.length;a++)Mi(this,a,!0);Li(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";Ci(this,0)}}return!0};h.ya=function(a){return a?this.save():!0};h.reset=function(){Fi(this)};h.save=function(){return(new M(this)).data()};
h.restore=function(a){return Fi(this,a[0])};function Li(a,b){b||(a.B=0);for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Pa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Ni(a,g,f,e,!0)&&b&&A(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.B}
function Ei(a,b,c,d){var e=a.C.listDrives,e=e&&Ma(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.O("Unable to load the selected drive");else if(c)if(c==Ji)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Ki){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Pa(c);a.status("Attempting to load "+c+' as "'+b+'"')}Ni(a,e,b,c,!1,d)}else Mi(a,e)}
function Ni(a,b,c,d,e,f){var g=-1,k=a.i[b];k.Aa.toLowerCase()!=d.toLowerCase()&&(g++,Mi(a,b,!0),k.sb?a.O("RK11 busy"):(k.sb=!0,e&&(k.rb=!0,a.B++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,bi(new Yh(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
h.Ad=function(a,b,c,d,e){a.sb=!1;b&&(b.X>a.X||b.da>a.da)&&(this.O('Disk "'+c+'" too large for drive '+("RK"+a.tb)),b=null);b?(a.ia=b,a.Na=c,a.Aa=d,this.O('Loaded disk "'+c+'" in drive '+("RK"+a.tb),a.rb||e),this.J&&ie(this.J)):a.Xa=!1;a.rb&&(a.rb=!1,--this.B||A(this));Ci(this,a.tb)};
function Hi(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Ci(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.C.listDisks;a=a.C.listDrives;if(d&&a&&d.options&&a.options&&(a=Ma(a.value,10),c=c.Xa?Ji:c.Aa,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Mi(a,b,c){var d=a.i[b];if(d.ia||!1===c)d.Na="",d.Aa="",d.ia=null,d.Xa=!1,c||(a.O("Drive RK"+b+" unloaded",c),Ci(a,b))}
function Fi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.I=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.tb=b;d.name=c.kb;d.sb=d.Xa=!1;d.X=203;d.da=2;d.aa=12;d.oa=512;d.cc=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.oa;d.Pd=0;d.hf=null;d.ia||(d.Aa="");d.status=2368}return!0}
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.X){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(qc(this.D,Ee(this.f,f),u|t<<8),fd(this.D))){m=1024;break}r>=a.oa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){var u=Dc(this.D,Ee(this.f,f));if(fd(this.D)){m=1024;break}if(!n){if(b>=a.X){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}if(k){var t,E;if(0>(t=a.read(n,r++))||0>(E=a.read(n,r++))){m=32;break}if(u!=(t|E<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.oa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.zd=function(a,b,c,d,e,f){this.v=f&65535;this.b=this.b&-49|f>>12&48;this.w=65536-e&65535;this.j=this.j&-16|d&15;this.g|=a;Oi(this);return!0};function Oi(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),B(a)&&C(a,a.type+": ERROR: "+G(a.g)))}h.Ee=function(){return this.L};h.Of=function(){};h.Fe=function(){return this.g};h.Pf=function(){};h.Be=function(){return this.b&61438};
h.Lf=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c,d="",e=(this.j&57344)>>13,f=this.i[e],g,k,l,m,n,r;this.b&=-8321;this.g&=-4;switch(c=this.b&14){case 0:B(this)&&C(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=128;break;case 10:d="RCHK";case 4:d||(d="READ"),b=this.Vc;case 6:d||(d="WCHK");case 2:d||(d="WRITE");b||(b=this.Bd);g=(this.j&8160)>>5;k=(this.j&16)>>4;l=this.j&15;m=65536-this.w&65535;n=(this.b&48)<<12|this.v;r=this.b&2048?0:2;B(this)&&C(this,this.type+": "+
d+"("+g+":"+k+":"+l+") "+G(n)+"--"+G(n+(m<<1)),!0,!0);if(g>=f.X){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;B(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.X?this.b|=8192:this.g|=64;break;case 12:B(this)&&C(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:B(this)&&C(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ia?128:0)|e<<13|this.j&15;Oi(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&hd(this.f,this.fb))}};h.Ge=function(){return this.w};h.Qf=function(a){this.w=a};h.Ae=function(){return this.v};h.Kf=function(a){this.v=a};h.Ce=function(){return this.j};h.Mf=function(a){this.j=a};h.De=function(){return this.I};h.Nf=function(a){this.I=a};
var Ii="",Ji="?",Ki="??",Pi={},Gi=(Pi[65280]=[null,null,R.prototype.Ee,R.prototype.Of,"RKDS"],Pi[65282]=[null,null,R.prototype.Fe,R.prototype.Pf,"RKER"],Pi[65284]=[null,null,R.prototype.Be,R.prototype.Lf,"RKCS"],Pi[65286]=[null,null,R.prototype.Ge,R.prototype.Qf,"RKWC"],Pi[65288]=[null,null,R.prototype.Ae,R.prototype.Kf,"RKBA"],Pi[65290]=[null,null,R.prototype.Ce,R.prototype.Mf,"RKDA"],Pi[65294]=[null,null,R.prototype.De,R.prototype.Nf,"RKDB"],Pi);
function Fd(a){q.call(this,"RL11",a,0,131072);this.H=Qi(this,a.autoMount);this.G=0;this.g=Array(4);this.I=!ob("Mobi")&&window&&"FileReader"in window;this.fb=null;this.b=this.B=this.i=this.j=this.w=this.v=0}p(Fd,q);function Qi(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Fd.prototype;
h.pa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){v("RL11 option error: "+k.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.C[b]=c,c.onchange=function(){var a=Ma(c.value,10);null!=a&&Ri(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Si(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&Ma(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.O("Unable to boot the selected drive"):a.ia?(qe(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.O("Unable to read the boot sector ("+a+")")):d.O("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.g&&((a=d.g[Ma(a.value,10)||0])?(a=a.ia)?(a=rb(gi(a),a.gc.replace(".json",".img")),v(a)):d.O("No disk loaded in drive."):d.O("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.C[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;Si(d,Pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Qi(this,Zd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ti(this);this.fb=jd(this.f,112,5,131072);Wb(b,this,Ui);Yb(b,this.reset.bind(this));Vi(this,"None",Wi,!0);this.I&&Vi(this,"Local Disk",Xi);Vi(this,"Remote Disk",Yi);Zi(this)||A(this)};
h.za=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.B){for(a=0;a<this.g.length;a++)$i(this,a,!0);Zi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.C.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Ri(this,0)}}return!0};h.ya=function(a){return a?this.save():!0};h.reset=function(){Ti(this)};h.save=function(){return(new M(this)).data()};
h.restore=function(a){return Ti(this,a[0])};function Zi(a,b){b||(a.G=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.C.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Pa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!aj(a,g,f,e,!0)&&b&&A(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.G}
function Si(a,b,c,d){var e=a.C.listDrives,e=e&&Ma(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.O("Unable to load the selected drive");else if(c)if(c==Xi)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Yi){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=Pa(c);a.status("Attempting to load "+c+' as "'+b+'"')}aj(a,e,b,c,!1,d)}else $i(a,e)}
function aj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Aa.toLowerCase()!=d.toLowerCase()&&(g++,$i(a,b,!0),k.sb?a.O("RL11 busy"):(k.sb=!0,e&&(k.rb=!0,a.G++,B(a)&&C(a,"auto-loading disk: "+c)),k.Xa=!!f,bi(new Yh(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
h.Dd=function(a,b,c,d,e){a.sb=!1;b&&(b.X>a.X||b.da>a.da)&&(this.O('Disk "'+c+'" too large for drive '+("RL"+a.tb)),b=null);b?(a.ia=b,a.Na=c,a.Aa=d,this.O('Loaded disk "'+c+'" in drive '+("RL"+a.tb),a.rb||e),this.J&&ie(this.J)):a.Xa=!1;a.rb&&(a.rb=!1,--this.G||A(this));Ri(this,a.tb)};
function Vi(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Ri(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.C.listDisks;a=a.C.listDrives;if(d&&a&&d.options&&a.options&&(a=Ma(a.value,10),c=c.Xa?Xi:c.Aa,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function $i(a,b,c){var d=a.g[b];if(d.ia||!1===c)d.Na="",d.Aa="",d.ia=null,d.Xa=!1,c||(a.O("Drive RL"+b+" unloaded",c),Ri(a,b))}
function Ti(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.B=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.tb=b;d.name=c.kb;d.sb=d.Xa=!1;d.X=512;d.da=2;d.aa=40;d.oa=256;d.cc=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.oa;d.Pd=0;d.hf=null;d.ia||(d.Aa="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}qc(this.D,Ee(this.f,f),n|r<<8);if(fd(this.D)){k=8192;break}f+=2;e--;if(m>=a.oa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.X)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){var n=Dc(this.D,Ee(this.f,f));if(fd(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.oa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.X)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Cd=function(a,b,c,d,e,f){this.B=f&65535;this.b=this.b&-49|f>>12&48;this.v=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Je=function(){return this.b&65535};
h.Tf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ia,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.X?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.X||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.B,B(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+G(e)+"--"+G(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Cd.bind(this)))}a&&(this.b|=129,this.b&64&&hd(this.f,this.fb))}};h.He=function(){return this.B};h.Rf=function(a){this.B=a&65534};h.Ke=function(){return this.i};h.Uf=function(a){this.i=a};h.Le=function(){return this.w};h.Vf=function(a){this.w=a};h.Ie=function(){return this.v};
h.Sf=function(a){this.v=a&63;this.b=this.b&-49|(this.v&3)<<4};var Wi="",Xi="?",Yi="??",bj={},Ui=(bj[63744]=[null,null,Fd.prototype.Je,Fd.prototype.Tf,"RLCS"],bj[63746]=[null,null,Fd.prototype.He,Fd.prototype.Rf,"RLBA"],bj[63748]=[null,null,Fd.prototype.Ke,Fd.prototype.Uf,"RLDA"],bj[63750]=[null,null,Fd.prototype.Le,Fd.prototype.Vf,"RLMP"],bj[63752]=[null,null,Fd.prototype.Ie,Fd.prototype.Sf,"RLBE"],bj);
function cj(a){q.call(this,"Debugger",a);this.xa=+a.base||16;this.ga=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(cj,q);cj.prototype.hd=function(){return-1};cj.prototype.jd=function(){};
function dj(a,b,c,d){if(c)if(b){0>a.v&&a.j.length&&(a.v=0);if(0>a.v||b!=a.j[a.v])a.j.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.j[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ya(b.substring(c,f))),c=f+1}}return a}
function ej(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function fj(a,b,c){var d;if(b){b=gj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Ya(n);if(!n){f=!0;break}n=hj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&ij[n]<ij[l[l.length-1]]&&ej(k,l,1);l.push(n);b=b.substr(r+u)}ej(k,l)&&1==k.length||(f=!0);f?c&&a.u("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&jj(a,null,
d))}return d}function gj(a,b){for(var c,d=a.ga?"(":"{",e=a.ga?")":"}",f=new RegExp(a.ga?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=fj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function hj(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.T[b],null==e&&(e=Ma(b,a.xa))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function jj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=Na(d&255,8)+g,d>>=8;d=H(c,0,!0)+" "+c+". "+G(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
function kj(a,b){if(b)return jj(a,b,a.T[b]);var c=0;for(b in a.T)jj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.xa){case 8:a=G(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=H(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var ij={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function lj(a){cj.call(this,a);this.Da=!1;this.ga=!0;this.H=V();this.Ca=V();this.N=V();this.B=[];this.g=this.L=this.G=[];mj(this);this.R=this.ba=0;this.i=[];this.na=void 0;nj(this);this.F=this;this.la={};this.ha=this.cd=0;this.S=null;this.M=[];oj(this,a.messages);this.sa=a.commands;this.Ga=pj;this.W=[];this.I=0;this.Ha=this.ra=null;this.w=this.Fa=this.Ea=this.Y=this.ma=0;this.b=this.V=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return de(b,a)}):void 0===global[x]&&(global[x]=
function(a){return de(b,a)})}p(lj,cj);function qj(a){a=a&&a.K;null==a&&(a=-1);return a}function V(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,xa:c}}h=lj.prototype;h.Fc=function(a,b){a.K=b;a.Qa=!1;a.xa=void 0;return a};function rj(a){return[a.K,a.Ka,a.xa,a.Qa,a.fc]}function sj(a,b){var c=V(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=dj(a,c.fc=b[4]));return c}
h.ta=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=Zd(a,"messages"))&&oj(this,a);1140>this.f.ba&&(this.W=this.W.concat(tj));1145>this.f.ba&&(this.W=this.W.concat(uj));ld(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=qj(vj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):
(c=n.type,m=Yc[c],n&&d.u(H(n.id,8)+" %"+H(e<<d.D.g,8)+" %"+H(n.K,8)+" "+I(n.Jb)+" "+I(n.size)+" "+m),c!=Hd&&(c=-1),m=0);a+=d.D.j;e++}}});A(this)};
h.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.C[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",de(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.C[b]=c,tb(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";de(d,a,!0);return!0}return!1}),!0;case "step":return this.C[b]=c,tb(c,function(a){var b=!1;Ka(d,!0)||(La(d,!0),b=kc(d,a?1:0,null),La(d,!1));return b}),!0}return!1};function ce(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Mc=function(a,b){var c=255,d=qj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=Ee(this.f,d),c.G=!1,c.ja++,d=$c(c,d).j(d&c.i,d),c.ja--):(c=this.f,c.ma++,d=c.D.Jc(Cc(c,d,3)),c.ma--),c=d,b&&wj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=qj(a);-1!==d&&(c=a.Ka||65535<d?Dc(this.D,Ee(this.f,d)):Ec(this.f,d),b&&wj(a,b));return c};h.Nc=function(a,b,c){var d=qj(a);if(-1!==d){if(a.Ka||65535<d)ad(this.D,Ee(this.f,d),b);else{var e=this.f;e.ma++;e.D.Kc(Cc(e,d,5),b);e.ma--}c&&wj(a,c);J(this.J,-1)}};h.yd=function(a,b,c){var d=qj(a);if(-1!==d){if(a.Ka||65535<d)qc(this.D,Ee(this.f,d),b);else{var e=this.f;e.ma++;e.D.Nb(Cc(e,d,4),b);e.ma--}c&&wj(a,c);J(this.J,-1)}};
function vj(a,b,c){var d;c=(c?a.H:a.Ca).K;var e,f;if(void 0!==b){b=gj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.B+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(l=a.B[c].ea[d],null!=l){k=l.o;break}null!=k&&(g=V(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=fj(a,b,void 0)}null!=c&&(d=V(c,e,f));return d}
function xj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=dj(a,b.fc=c[2]))}function wj(a,b){null!=a.K&&(a.K+=b||1)}function yj(a,b){return(b.Ka?"%":"")+O(a,b.K)}
function oj(a,b){a.F=a;a.ha=a.cd=536870912;a.S=null;a.M=[];b=dj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Rb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ha|=Rb[c],a.u(c+" messages enabled"))}}function ld(a,b,c){for(var d in Rb)if(b==Rb[d]){a.la[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=zj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Aj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.na[a-8];else if(20>a)b=this.f.V[a-16];else{var c=this.f,d=this.b;switch(a){case Bj:b=ud(this.f);break;case Cj:b=c.Va;break;case Dj:b=c.R;break;case Ej:b=c.sa&65280;break;case Fj:b=od(c);break;case Gj:b=qd(c);break;case Hj:b=rd(c);break;case Ij:b=c.T;break;case Jj:d&&(b=d.ua);break;case Kj:d&&(b=d.vb);break;case Lj:d&&Ic(d)&&(b=d.Ya)}}return b};
h.message=function(a,b){b&&(a+=" @"+yj(this,V(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.U)||Ka(this,!0))this.Z(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,je(a),a.qb=0,a.J&&J(a.J,void 0))}};
function nj(a){var b;if(!nf(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Mj);for(b=0;b<a.i.length;b++)a.i[b]=V();a.R=0;a.u("instruction history buffer allocated")}}function Nj(a,b,c){if(!Oj(a,c))return!1;jc(a.f,b);return!0}
function kc(a,b,c,d){if(!Oj(a))return!1;null===c&&(c=!a.ra||"tr"==a.ra);a.w=0;b||nf(a)&&of(a,a.f.g[7],0);try{b=ke(a.f,b);var e=a.f.bc(b);0<e&&(lc(a.f,e),a.w+=e,mc(a.f,e,!0),nc(a.f,e),a.Y++)}catch(f){"number"!=typeof f&&(a.w=0,Da(a.f,f.stack||f.message))}!1!==d&&(a.b&&a.b.stop(),J(a.J,-1));be(a,c||!1);return 0<a.w}h.Z=function(a){this.f&&this.f.Z(a)};
function be(a,b){if(a.Da){void 0===b&&(b=!0);var c;c=a.f;if(c=c.i&128?c.Zc|c.Yc<<8:0){var d=c>>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?Pb[-d]:O(a,d))+")")}a.H=V(a.f.g[7]);b&&1!=a.I?Pj(a):Qj(a)}}function Oj(a,b){var c;(c=!a.f||!Ja(a.f))||(c=a.f,c.A.fa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.U?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Ea(a.f)}h.za=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
h.ya=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){nj(this);this.Y=0;this.S=null;this.w=0;this.H=V(this.f.g[7]);this.A.U=!1;Rj(this);a||be(this)};h.save=function(){var a=new M(this);a.set(0,rj(this.H));a.set(1,rj(this.N));a.set(2,[this.j,this.P,this.ha]);a.set(3,this.B);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=sj(this,a[b++]),this.N=sj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ha|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.u("running");this.A.U=!0;this.Ea=a;this.Fa=b};
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Fa;if(!this.I){b="stopped";if(this.w){a-=this.Ea;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";nf(this)&&(b+=this.Y+" instructions, ",this.Y=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else B(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}be(this,!0);ce(this);Rj(this,this.f.g[7]);this.S=null}};function nf(a){return 1<a.g.length||!!a.ba}
function of(a,b,c){var d=-1;c||(d=Ec(a.f,b))||(a.f.P&65535)!=b||(b=we(a.f,2));if(0<c&&(a.ba&&!--a.ba||Sj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.Y++,0>d&&(d=Ec(a.f,b)),65535!=(d&65535)&&(a.Fc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function tg(a){var b=a.f;if(b.A.U)throw re(b,a.f.P&65535),a.Z(),-1;return!1}function Td(a,b,c){Sj(a,b,c||1,a.L)&&a.Z(!0)}function Ud(a,b,c){Sj(a,b,c||1,a.G)&&a.Z(!0)}
function mj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=qj(c),c.Ka?(c=a.D,Sd(c.b[d>>>c.g],!1)):He(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=qj(c),c.Ka?(c=a.D,Sd(c.b[d>>>c.g],!0)):He(a.f,!0);a.G=["bw"];a.ma=0}
h.pb=function(a,b,c){var d=!0;c||Tj(this,a,b,!1,!0);if(a!=this.g){var e=qj(b);if(-1===e)this.u("invalid address: "+yj(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].pb(e&g.i,f)}else e=this.f,(f?e.Xb++:e.Wb++)||pe(e)}}d&&(a.push(b),c?b.Qa=!0:(Uj(this,a,a.length-1,"set"),nj(this)));return d};
function Tj(a,b,c,d,e){var f=!1;c=qj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==qj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||Uj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ka?(d=a.D,Sd(d.b[c>>>d.g],b)):He(a.f,b));k.Qa||nj(a);break}}return f}function Vj(a,b){for(var c=1;c<b.length;c++)Uj(a,b,c);return b.length-1}function Uj(a,b,c,d){c=b[c];a.u(b[0]+" "+yj(a,c)+(d?" "+d:c.fc?' "'+c.fc+'"':""))}
function Rj(a,b){if(void 0!==b)Sj(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!Tj(a,a.g,c,!0))break;b=0}}}
function Sj(a,b,c,d,e){var f=!1;if(!a.ma++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=qj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Tj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Wj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Uj(a,d,g,"hit");break}}}a.ma--;return f}
function Xj(a,b,c,d){var e=V(b.K),f=a.Oa(b,2),g,k;for(k in a.Ga)if(g=a.Ga[k][f&k])break;g||(g=Yj);var l=g[0];0<=a.W.indexOf(l)&&(g=Yj,l=g[0]);var m=k="",n=Zj[l],r=g.length-1;l||r||(k=O(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var E=u,u=b,z="",D=E&ak;if(D==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(D==bk)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(D==ck)z=O(t,f&7,1);else if(D==dk)z=O(t,f&63,1);else if(D==ek)z=O(t,f&255,1);else if(D=f&E,E&fk&&(D>>=6,E>>=6),E&Y){var E=null,F=D&
gk;switch(D&hk){case 0:z=Aj(F);break;case 8:z="@"+Aj(F);E=ik(t,t.f.g[F]);break;case 16:7>F?z="("+Aj(F)+")+":(D=t.Oa(u,2),z="#"+O(t,D,0,!0));break;case 24:7>F?z="@("+Aj(F)+")+":(D=t.Oa(u,2),z="@#"+O(t,D,0,!0),E=ik(t,D));break;case 32:z="-("+Aj(F)+")";break;case 40:z="@-("+Aj(F)+")";break;case 48:D=t.Oa(u,2);z=O(t,D,0,!0)+"("+Aj(F)+")";7==F&&(z=O(t,D=D+u.K&65535),E=ik(t,D));break;case 56:D=t.Oa(u,2),z="@"+O(t,D)+"("+Aj(F)+")",7==F&&(z="@"+O(t,D=D+u.K&65535),E=ik(t,Ec(t.f,D)))}E&&(z=[z,E])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=yj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+O(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Xa(f,24);g+=Xa(n,5);k&&(g+=" "+k);if(c||m)g=Xa(g,60)+";"+(c||""),g=a.f.A.zb?g+("cycles="+ee(a.f).toString()+" cs="+H(a.f.Sb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function ik(a,b){b=Fe(a.f,b)[0];b>=a.f.jb&&b<a.D.B&&(b=b-a.f.jb+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Ma[b&ed])&&(a=b[4]);return a}function jk(a,b){switch(b){case "N":a=ve(a.f);break;case "Z":a=ue(a.f);break;case "V":a=te(a.f);break;case "C":a=se(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=Aj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.na[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.V[b-16]);else switch(b){case Bj:c="PS="+O(a,ud(d));break;case Cj:c="PI="+O(a,d.Va);break;case Dj:c="ER="+O(a,d.R);break;case Ej:c="SL="+O(a,d.sa&65280);break;case Fj:c="M0="+O(a,od(d));break;case Gj:c="M1="+O(a,qd(d));break;case Hj:c="M2="+O(a,rd(d));break;case Ij:c="M3="+O(a,d.T);break;case Jj:a.b&&(c="AR="+O(a,a.b.ua,3));break;case Kj:a.b&&(c="DR="+
O(a,a.b.vb));break;case Lj:a.b&&Ic(a.b)&&(c="SR="+O(a,a.b.Ya,3))}c&&(c+=" ");return c}function kk(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,Bj)+Z(a,Cj)+Z(a,Ej);d+=jk(a,"T")+jk(a,"N")+jk(a,"Z")+jk(a,"V")+jk(a,"C");b&&(b=d,c=""+(Z(a,Fj)+Z(a,Gj)),c+=Z(a,Hj)+Z(a,Ij)+Z(a,Dj),c=c+"\n"+(Z(a,Lj)+Z(a,Jj)+Z(a,Kj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function th(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=$a(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({xh:b,K:c,Qd:d,ea:e,ad:f})}function lk(a,b,c){var d=[],e=qj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=$a(f.ad,[e-g],a.dd);0<=e?mk(a,b,e,d):c&&(e=~e,mk(a,b,e-1,d),mk(a,b,e,d));break}}return d}
function mk(a,b,c,d){var e={},f=a.B[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ea[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function nk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return kj(a)||a.u("no variables"),!0;if(!c[2])return kj(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=fj(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
function ok(a,b,c){var d=null;if(b=vj(a,b,!0)){var e=lk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+I(f)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+I(f)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
function Pj(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=fj(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":re(e,
g);a.H=V(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.G=g?65536:0;break;case "PS":vd(e,g);break;case "PI":td(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.sa=g|255;break;case "M0":pd(e,g);d=!0;break;case "M3":sd(e,g);d=!0;break;case "AR":a.b&&(d=a.b,Fc(d,d.ua=g));d=!0;break;case "DR":a.b&&(d=a.b,pc(d,d.vb=g));d=!0;break;case "SR":if(a.b&&Ic(a.b)){Gc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
g&65535;break}a.u("unknown register: "+f);return}J(a.J);a.u("updated registers:")}}a.u(kk(a,d));c&&(a.H=V(e.g[7]),Qj(a,yj(a,a.H)))}}function pk(a,b){b=Ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):jj(a,null,c[2].charCodeAt(0)):fj(a,b,!0)}
function qk(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=hj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ra=b;sb(c,function(){return La(a,!0)&&kc(a,e,d,!1)},function(){a.b&&a.b.stop();J(a.J,-1);La(a,!1)})}}
function Qj(a,b,c,d){if(b=vj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=hj(a,c.substr(1)),null!=c&&(d=c);else{d=vj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.u("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Ka(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=lk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.u(m)}k[3]&&(g=k[3],f=null);f=Xj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
function Wj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+yj(a,a.N)),a.H=a.N,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Ja(a)&&0<b.length){a.P&&(b="a "+yj(a,a.N)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
vj(a,g[1],!0);if(r)if(a.N=r,void 0===g[2])a.u("begin assemble at "+yj(a,r)),a.P=!0,J(a.J);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Nc(r,u[t],1);a.u(Xj(a,a.N))}}break;case "b":a:{var E=g[0],z=g[1],D=b;if("?"==z)a.u("breakpoint commands:"),a.u("\tbp [#]\tset exec breakpoint at addr #"),a.u("\tbr [#]\tset read breakpoint at addr #"),a.u("\tbw [#]\tset write breakpoint at addr #"),a.u("\tbc [#]\tclear breakpoint at addr #"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");
else{var F=E.charAt(1);if("l"==F){var gb;gb=0+Vj(a,a.g);gb+=Vj(a,a.L);(gb+=Vj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.ba=hj(a,z),a.u("break after "+a.ba+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var W=V();if("*"!=z&&(W=vj(a,z,!0),!W))break a;"c"==F?null==W.K?(mj(a),a.u("all breakpoints cleared")):Tj(a,a.g,W)||Tj(a,a.L,W)||Tj(a,a.G,W)||a.u("breakpoint missing: "+yj(a,W)):null!=W.K&&(xj(a,W,D),"p"==F?a.pb(a.g,W):"r"==F?a.pb(a.L,W):"w"==F?a.pb(a.G,W):a.u("unknown breakpoint command: "+
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Hb,Ta=g[0],Fa=g[1],Ua=g[2],Qk=g[3];if("?"==Fa){var Ib="";for(Hb in Rb)a.la[Hb]&&(Ib&&(Ib+=","),Ib+=Hb);Ib+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");
Ib.length&&a.u("dump extension commands:\n\t"+Ib)}else if("state"==Fa){var Ne=rk(a.J,!0);"console"==Ua?console.log(Ne):(a.Pa&&(a.Pa.value=""),Ne&&a.u(Ne))}else if("symbols"==Fa)for(var Oe=0;Oe<a.B.length;Oe++){var Pe=a.B[Oe],Jb;for(Jb in Pe.ea)if("."!=Jb.charAt(0)){var ji=Pe.ea[Jb].o;if(void 0!==ji){var ki=Pe.ea[Jb].l;ki&&(Jb=ki);a.u(O(a,ji)+" "+Jb)}}}else{if("d"==Ta){for(Hb in Rb)if(g[1]==Hb){var li=a.la[Hb];li?(g.shift(),g.shift(),li(g)):a.u("no dump registered for "+Fa);break a}Fa||(Ta=a.Ha||"dw")}else a.Ha=
Ta;if("dh"==Ta){var mi=Fa,ni=Ua,oi="",pi=0,wa=a.R,Ga=a.i;if(Ga.length){var qa=+mi||a.na,rc=+ni||10;isNaN(qa)?qa=rc:oi="more ";qa>Ga.length&&(a.u("note: only "+Ga.length+" available"),qa=Ga.length);wa-=qa;0>wa&&(null==Ga[Ga.length-1].K?(qa=wa+qa,wa=0):wa+=Ga.length);var Qe=[];"call"==ni&&(rc=1E5,Qe=["CALL"]);for(void 0!==mi&&a.u(qa+" instructions earlier:");0<rc&&wa!=a.R;){var qi=Ga[wa++];if(null==qi.K)break;var sc=V(qi.K),Rk=qa--,ri=Xj(a,sc,"history",Rk);(!Qe.length||0<=ri.indexOf(Qe[0]))&&a.u(ri);
sc.Ac&&(wa+=sc.Ac,rc-=sc.Ac,qa-=sc.Ac);wa>=Ga.length&&(wa=0);a.na=qa;pi++;rc--}}pi||(a.u("no "+oi+"history available"),a.na=void 0)}else{var fa=vj(a,Fa);if(fa)if("da"==Ta){var Re=fa.Ka||65535<fa.K,K=Fe(a.f,fa.K||0,Re);a.u(Xa("",Re?12:19)+Na(fa.K,Re?22:17,3)+" "+G(fa.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+Na(K[3],13,3)+" "+G(K[3],8)),a.u("UNIMAP["+Oa(K[1])+"]: "+Na(K[2],22,3)+" "+G(K[2],8))),a.u(" PHYSICAL: "+Na(K[0],22,3)+" "+G(K[0],8))):(a.u(" OFFSET: "+
Na(K[1],13,3)+" "+G(K[1],8)),a.u("+ "+sk[K[2]]+"PAR"+K[3]+": "+Na(K[4],22,3)+" "+G(K[4],8)),a.u("& MMUMASK: "+Na(K[5],22,3)+" "+G(K[5],8)),a.u("= PHYSICAL: "+Na(K[0],22,3)+" "+G(K[0],8)))}else{var ib=0,Se="ds"==Ta;if(Ua){if("l"==Ua.charAt(0))Ua=Ua.substr(1)||Qk,ib=hj(a,Ua);else{var si=vj(a,Ua);si&&(ib=si.K-fa.K)}0>ib&&(ib=0);65536<ib&&(ib=65536)}var Tk=a.xa;fa.xa&&(a.xa=fa.xa);for(var jb="dd"==Ta?4:"db"==Ta?1:2,wd=jb*ib||128,Te=Se?16:a.xa,Uk=(wd+Te-1)/Te|0||1,kb="";Uk--&&0<wd;){for(var lb=
"",Ue="",Fa=yj(a,fa),xd=Te,tc=0,uc=0;0<xd&&0<wd;){var Kb=1,yd=1==jb?a.Mc(fa,Kb):a.Oa(fa,Kb=2),tc=tc|yd<<(uc<<3),uc=uc+Kb;uc==jb&&(Se?(lb&&(lb+=","),lb+="0x"+H(tc,2*jb)):(lb+=O(a,tc,jb),lb+=1==jb?9==xd?"-":" ":" "),tc=uc=0);xd-=Kb;for(wd-=Kb;1==jb&&Kb--;)var Ve=yd&255,Ue=Ue+(32<=Ve&&128>Ve?String.fromCharCode(Ve):"."),yd=yd>>8}kb&&(kb+="\n");kb=Se?kb+(lb+","):kb+(Fa+": "+lb+(xd?"":" "+Ue))}kb&&a.u(kb);a.Ca=fa;a.xa=Tk}}}}break;case "e":if("else"==g[0])break;var Lb,We,Xe,Ye,Ze=g[0],$e=g[1];"eb"==Ze?
(Lb=1,We=255,Xe=a.Mc,Ye=a.Nc):"e"==Ze||"ew"==Ze?(Lb=2,We=65535,Xe=a.Oa,Ye=a.yd):$e=null;if(null==$e)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var zd=vj(a,$e);if(zd)for(var Ad=2;Ad<g.length;Ad++){var vc=fj(a,g[Ad]);if(void 0===vc){a.u("unrecognized value: "+g[Ad]);break}vc&~We&&a.u("warning: "+H(vc)+" exceeds "+Lb+"-byte value");a.u("changing "+yj(a,zd)+(B(a,16)?"":" from "+O(a,Xe.call(a,zd),Lb))+" to "+O(a,vc,Lb));
Ye.call(a,zd,vc,Lb)}}break;case "g":a:{var ti=g[1],Vk=b;if(void 0!==ti){var af=vj(a,ti,!0);if(!af)break a;xj(a,af,Vk);a.pb(a.g,af,!0)}Nj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),a.Z()):Ka(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var bf;var wc=b.substr(2),wc=Ya(wc);fj(a,wc)?(c||a.u("true: "+wc),bf=!0):(c||a.u("false: "+wc),bf=!1);bf||(d=!1);break}f=!0;break;case "k":var Wk=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
else{var cf=0,df=V(),xc=V(a.f.g[6]);for(a.u("stack trace for "+yj(a,xc));10>cf;){for(var mb=null,Xk=256;65536>xc.K>>>0;){df.K=a.Oa(xc,2);if(null==xc.K||!Xk--)break;if(!(df.K&1)){for(var Yk=a,Bd=df,ui=null,yc=Bd.K,vi=yc,ef=1;6>=ef&&yc;ef++){if(2<ef){Bd.K=yc;var Cd=Xj(Yk,Bd);if(0<=Cd.indexOf("JSR")){var wi=Cd.indexOf(" ");if(yc+(Cd.indexOf(" ",wi+1)-wi-1)/2==vi){ui=Cd;break}}}yc-=2}Bd.K=vi;if(mb=ui)break}}if(!mb||null==mb)break;var xi=null;if("ks"==Wk){var yi=mb.match(/[0-9A-F]+$/);yi&&(xi=ok(a,yi[0]))}mb=
Xa(mb,50)+" ;"+(xi||"stack="+yj(a,xc));a.u(mb);cf++}cf||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){ok(a,g[1],!0);break}f=!0;break;case "m":a:{var Ha,Ia=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Va=0;if("all"==N)Va=1879046143,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in Rb)if(N==Ha){Va=Rb[Ha];Ia=!!(a.ha&Va);break}if(!Va){a.u("unknown message category: "+N);break a}}if(Va)if("on"==g[2])a.ha|=
Va,Ia=!0;else if("off"==g[2]&&(a.ha&=~Va,Ia=!1,1073741824==Va)){for(var zi=1E3<=a.M.length?a.M.length-1E3:0;zi<a.M.length;)a.u(a.M[zi++]);a.M=[]}}var Zk=0,zc="";for(Ha in Rb)if(!N||N==Ha){var $k=!!(a.ha&Rb[Ha]);if(null===Ia||Ia==$k)zc&&(zc+=","),++Zk%10||(zc+="\n\t"),"key"==Ha&&(Ha="keys"),zc+=Ha}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+(zc||"none"));nj(a)}break;case "p":if("print"==
g[0]){pk(a,b.substr(5));break}var al=g[0];if("?"==g[1])a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else{var Ai="pr"==al?1:0,Bi=1+Ai;if(a.I)a.u("step in progress");else{var Dd=V(a.f.g[7]),Mb=a.Oa(Dd);3==Mb||4==Mb||34816==(Mb&65280)||32256==(Mb&65024)||35072==(Mb&65280)?(a.I=Bi,wj(Dd,2)):2048==(Mb&65024)&&(Xj(a,Dd),a.I=Bi);a.I?(a.pb(a.g,Dd,!0),Nj(a)||(a.J&&ie(a.J),a.I=0)):qk(a,Ai?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();
break}Pj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ac=+g[2];if(8==Ac||10==Ac||16==Ac)a.xa=Ac;else{a.u("invalid base: "+Ac);break}}a.u("default base: "+a.xa);break;case "cs":var Bc;void 0!==g[3]&&(Bc=+g[3]);switch(g[2]){case "int":a.f.Ab=Bc;break;case "start":a.f.Tb=Bc;break;case "stop":a.f.Cb=Bc;break;default:a.u("unknown cs option");break a}void 0!==Bc&&ae(a.f);a.u("checksums "+(a.f.A.zb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fe(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
a.u("target speed: "+(a.f.nb.toFixed(2)+"Mhz")+" ("+a.f.bb+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":qk(a,g[0],g[1]);break;case "u":Qj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){nk(a,
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Eb||"PDP11")+" version 1.32.0 ("+a.f.ba+",RELEASE"+(Gb?",TYPEDARRAYS":Fb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){pk(a,b.substr(1));break}var ff="commands:",gf;for(gf in tk)ff+="\n"+Xa(gf,9)+tk[gf];nf(a)||(ff+="\nnote: history disabled if no exec breakpoints");a.u(ff);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Di){a.u("debugger error: "+(Di.stack||Di.message)),
d=!1}return d}function de(a,b,c){b=dj(a,b,c);for(var d in b)if(!Wj(a,b[+d]))return!1;return!0}
var tk={"?":"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"},Zj=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
Bj=20,Cj=21,Dj=22,Ej=23,Fj=24,Gj=25,Hj=26,Ij=27,Jj=28,Kj=29,Lj=30,zj={SP:6,PC:7,PS:Bj,PI:Cj,ER:Dj,SL:Ej,M0:Fj,M1:Gj,M2:Hj,M3:Ij,AR:Jj,DR:Kj,SR:Lj},sk="KI KD SI SD ?? ?? UI UD".split(" "),gk=7,hk=56,Y=hk|gk,fk=4032,X=4096,bk=8192,ck=12288,dk=24576,ek=32768,ak=61440,pj={61440:{4096:[62,fk,Y],8192:[47,fk,Y],12288:[18,fk,Y],16384:[14,fk,Y],20480:[16,fk,Y],24576:[3,fk,Y],36864:[63,fk,Y],40960:[48,fk,Y],45056:[19,fk,Y],49152:[15,fk,Y],53248:[17,fk,Y],57344:[94,fk,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,bk]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,ek],35072:[107,ek]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,dk],3392:[60,
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,gk],152:[108,ck]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Yj=[0],tj=[58,60,65,96,110,100,101,102,103,104,105],uj=[108,59,64],Mj=1E3;vb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new lj(d);Ca(d,c)}});
function uk(a,b,c){q.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.P=null;vk(this,b);this.M=Zd(this,"autoPower",a,6);this.j=0;this.T=+a.busWidth||+a.buswidth;this.I=this.H=this.L=null;this.G=this.S=!1;this.w=this.v=null;this.R=this.B=this.N=!1;this.V=Zd(this,"url")||"";(Math.random()+.1).toString(36);this.g=wk(this);if(this.f=Ba("CPU",this.id)){this.F=Ba("Debugger",this.id);this.D=new Lc({id:this.lb+".bus",busWidth:this.T},this.f,this.F);var d,e=za(this.id);if((this.i=Ba("Panel",this.id))&&
this.i.Pa)for(b=0;b<e.length;b++)d=e[b],d.O=this.i.O,d.u=this.i.u,d.Pa=this.i.Pa;this.u(Eb+" v1.32.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.u("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ta&&d.ta(this,this.D,this.f,this.F);this.b=Zd(this,"resume",a,4,xk);var f;b=null;if(a=Zd(this,"state")||(f=!0,a.state))this.L=b=a,f||(this.G=
!0,this.b=xk),this.b&&(this.w=new M(this,"1.32.0"),yk(this.w)?b=null:delete this.w);!b&&this.b&&(b=zk(this))&&(this.G=!0);if(b){var g=this;bb(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.O("Unable to load machine state from server (error "+c+(b?": "+Ya(b):"")+")")):(g.I=b,g.S=!0);A(g)})}else A(this);this.C.power||(this.M=!0);!c&&this.M&&Ak(this,this.Ub)}else v("Unable to find CPU component")}p(uk,q);
function vk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.P=b}function Zd(a,b,c,d,e){var f=b.toLowerCase(),f=pb(b)||pb(f);void 0===f&&a.P&&(f=a.P[b]);void 0===f&&c&&(f=c[b]);void 0===f&&"object"==typeof resources&&resources[b]&&(f=b);void 0===f&&(f=e);if("string"==typeof f&&d)switch(d){case 4:f=+f;isNaN(f)&&(f=e||0);break;case 6:f="true"==f}return f}
function Ak(a,b,c){for(var d=za(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ja(f)){Ja(f,function(){Ak(a,b,c)});return}}b.call(a,c)}function Bk(a,b){var c=new M(a,"1.32.0",Ck);if(yk(c)&&Dk(c)){var d=c.get(Ek),e=b?b.get(Ek):"unknown";d!=e&&(a.O("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=uk.prototype;
h.Ub=function(a){void 0===a&&(a=this.b||(this.I?Fk:xk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.w||new M(this,"1.32.0");if(a==Gk)b=!0;else if(a>xk){if(yk(d,this.I)){this.v=new M(this,"1.32.0",Hk);yk(this.v)&&(Ik(this,d),a=Jk,Kk(this.v));this.v.set(Ek,ab());Lk(this.v);var e=this.b&&!this.G;if(a==Fk||ya("Click OK to restore the previous "+Eb+" machine state, or CANCEL to reset the machine.")){if(c=Dk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?yk(d,g):("error"==f&&"no machine state"!=
g?(this.O("Error: "+g),"unable to verify user"==g&&(nb(Mk,""),this.g=null)):this.u(f+": "+g),Kk(d),yk(d)?(c=Dk(d),e=!0):c=!1))}e&&Bk(this,c?d:null)}else a==Jk&&d.clear()}else Bk(this);delete this.I;delete this.w}e=za(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Nk(this,g,d,b,c));b=[d,a,c];a!=Gk?Ak(this,this.ed,b):this.ed(b)}};
function Nk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.za(f,d)&&f&&(v("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=xk,window&&window.location.reload()):a.N=!0,b.za(null),e=!1),!d&&b.Rc){var g=b.Rc.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.ed=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.f&&(Nk(this,this.f,b,c,a),J(this),this.f.Ia());this.N&&(Ik(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
function Ik(a,b){if(ya("There may be a problem with your "+Eb+" machine.\n\nTo help us diagnose it, click OK to send this "+Eb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=Eb;d.ver="1.32.0";d.url=c;d.user=a;d.type="bug";d.data=b;bb("http://www.pcjs.org/api/v1/report",d,!0)}}
function rk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new M(a,"1.32.0"),g=new M(a,"1.32.0",Ck),k=ab();g.set(Ek,k);f.set(Ek,k);f.set(Ok,"1.32.0");f.set(Pk,window?window.location.href:null);f.set(Sk,window?window.navigator.userAgent:"");a.f&&a.f.ya&&(c&&a.f.Z(),d=a.f.ya(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=za(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.ya&&(d=m.ya(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=!1,!1===d&&(e=null)))}e&&
(c?(k=d=!1,b?(a.g&&bl(a,a.g,f.toString()),Lk(g)&&Lk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==cl),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.C.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.D&&this.D.reset&&(C(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=za(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}J(this,-1)};
h.start=function(a,b){for(var c=za(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};h.stop=function(a,b){for(var c=za(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
function J(a,b){if(a.f){var c=a.f,d=b||0,e=c.C.speed;e&&(0>=d||30<=(c.oc+=d))&&(e.textContent=c.A.U?c.mb.toFixed(2)+"Mhz":"Stopped",c.oc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.U;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)dc(a,"R"+e,a.f.g[e]);e=ud(a.f);dc(a,"PS",e);dc(a,"NF",e&8?1:0,1);dc(a,"ZF",e&4?1:0,1);dc(a,"VF",e&2?1:0,1);dc(a,"CF",e&1?1:0,1);a.j=0}Fc(a,0<b&&c&&!d?a.f.Za:a.ua);pc(a,a.vb);b=a.f;b=b.Ha?b.T&16?1:2:4;Hc(a,"B22",b&1);Hc(a,"B18",b&2);Hc(a,"B16",b&4)}}
h.pa=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.j||(d.A.fa?rk(d,!1,!0):Ak(d,d.Ub))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=ya("Click OK to save changes to this "+Eb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");rk(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.B=!0),d.Ub(xk),d.B=!1)}else d.reset(),d.f&&d.f.Ia()},!0;case "save":if(Ra(db(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.C[b]=c,c.onclick=function(){var a=wk(d,!0);if(a){var b=!!(d.b&&!d.H||d.L),c=rk(d,b);b?bl(d,a,c):d.O("Resume disabled, machine state not saved")}},!0}return!1};
function wk(a,b){var c=a.g;c||((c=hb(Mk),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=dl(a,c))||a.O("The user ID is invalid.")):b&&a.O("Browser local storage is not available"));return c}
function dl(a,b){a.g=null;b=bb(db()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(nb(Mk,b.data),a.g=b.data)}catch(d){v(d.message+" ("+c+")")}return a.g}function zk(a){var b=null;a.g&&(b=db()+"/api/v1/user?req=load&user="+a.g+"&state="+el(a,"1.32.0"));return b}
function bl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=el(a,"1.32.0");d.data=c;b=bb(db()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.O("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.O(c),nb(Mk,""),a.g=null)}}
function Kh(a){var b;a=za(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function ie(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Hk="failsafe",Ck="validate",Ek="timestamp",Ok="version",Pk="url",Sk="browser",Mk="user",Gk=-1,xk=0,Fk=1,Jk=2,cl=3;
vb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new uk(g,d,!0);Ca(g,f);g.M&&Ak(g,g.Ub)}});wb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Ba("Computer",c.id))&&c.R&&!c.A.fa&&c.Ub(Gk)}});wb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Ba("Computer",c.id))&&c.A.fa&&rk(c,!(!c.b||c.H),!0)}});
function M(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.C=!1;this.key=el(a,b,c);Kk(this,a.Fd)}h=M.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function yk(a,b){return b?(a.b=b,a.g=!0,a.C=!1,!0):a.g?!0:eb()&&(b=hb(a.key))?(a.b=b,a.g=!0):!1}function Dk(a){var b=!0;if(!a.C)try{a.f=JSON.parse(a.b),a.C=!0}catch(c){v(c.message||c),b=!1}return b}
function Lk(a){var b=!0;if(eb()){var c=JSON.stringify(a.f);nb(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Kk(a,b){a.b="";a.f={};a.g=a.C=!1;b&&a.set("parms",b)}
h.clear=function(a){Kk(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(e){}b.splice(c,1);c=0}};function el(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}var fl=0;
function gl(a,b,c,d,e,f){e("Loading "+a+"...");bb(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):hl(k,a,b,c,d,e,f)})}
function hl(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(ua(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\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(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?il(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
function il(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");bb(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);il(a,b,c)}})}else c(a,null)}
function jl(a,b,c,d){function e(a){if(void 0===k){var b=g&&y(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=Sa(a))}function f(a){e("Error: "+a);l&&(--fl||zb(!0));l=!1}var g,k,l=!0;fl++;va[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
(c="/versions/pdpjs/1.32.0/components.xsl");m=function(d,k){k?gl(c,null,null,!1,e,function(d,l){l?(ua(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--fl||zb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--fl||zb(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?gl(b,a,d,!0,e,m):hl(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){zb(!1);return jl(a,b,c,d)};window.findMachineComponent=function(a,b){return Ba(b,a+".machine")};window.enableEvents=zb;window.sendEvent=Bb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.0/pdp11-dbg.map