diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index d6303187e..66477af71 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -6325,7 +6325,7 @@ PDP10.merge72 = function(dst, ext) /* * Let's assert that the sign bits of both halves match. */ - Component.assert(sign == (dst - (dst % PDP10.INT_LIMIT)), "sign mismatch"); + this.assert(sign == (dst - (dst % PDP10.INT_LIMIT)), "sign mismatch"); /* * Compute value without the sign bit and add the low bit of extended in its place. diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 0405b4034..1ce610709 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -40,6 +40,7 @@ if (NODE) { var BusPDP10 = require("./bus"); var MemoryPDP10 = require("./memory"); var MessagesPDP10 = require("./messages"); + var Macro10 = require("./macro10"); } /** @@ -77,6 +78,7 @@ class DebuggerPDP10 extends Debugger { * The DebuggerPDP10 component is an optional component that implements a variety of user * commands for controlling the CPU, dumping and editing memory, etc. * + * @this {DebuggerPDP10} * @param {Object} parmsDbg */ constructor(parmsDbg) @@ -174,6 +176,13 @@ class DebuggerPDP10 extends Debugger { this.controlDebug = null; this.panel = null; + /** + * This records any active Macro10 assembler object. + * + * @type {Macro10|null} + */ + this.macro10 = null; + /* * Make it easier to access DebuggerPDP10 commands from an external REPL (eg, the WebStorm * "live" console window); eg: @@ -2430,11 +2439,23 @@ class DebuggerPDP10 extends Debugger { return dbgAddr; } + /** + * loadAssembly(macro10, addrLoad) + * + * @this {DebuggerPDP10} + * @param {Macro10} macro10 + * @param {number|null} addrLoad + */ + loadAssembly(macro10, addrLoad) + { + } + /** * returnSymbol(iTable, iOffset, aSymbol) * * Helper function for findSymbol(). * + * @this {DebuggerPDP10} * @param {number} iTable * @param {number} iOffset * @param {Array} aSymbol is updated with the specified symbol, if it exists @@ -2517,6 +2538,25 @@ class DebuggerPDP10 extends Debugger { return; } + if (sOpCode.indexOf(':') >= 0) { + var dbg = this; + if (this.macro10) { + dbg.println("assembly already in progress"); + } + else { + var addrLoad = dbgAddr.addr; + this.macro10 = new Macro10(sOpCode, addrLoad, dbg, function(macro10, sURL, nErrorCode) { + if (!nErrorCode) { + dbg.loadAssembly(macro10, addrLoad); + } else { + dbg.println("error assembling " + sURL + ": (" + nErrorCode + ")"); + } + dbg.macro10 = null; + }); + } + return; + } + asArgs.shift(); asArgs.shift(); asArgs.shift(); diff --git a/modules/pdp10/lib/macro10.js b/modules/pdp10/lib/macro10.js new file mode 100644 index 000000000..7b39b5aa7 --- /dev/null +++ b/modules/pdp10/lib/macro10.js @@ -0,0 +1,92 @@ +/** + * @fileoverview My homage to MACRO-10: a work-alike assembler for the PDP-10 + * @author Jeff Parsons + * @copyright © Jeff Parsons 2012-2017 + * + * This file is part of PCjs, a computer emulation software project at . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every modified copy of this work + * and to display that copyright notice when the software starts running; see COPYRIGHT in + * . + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of PCjs + * for purposes of the GNU General Public License, and the author does not claim any copyright + * as to their contents. + */ + +"use strict"; + +if (NODE) { + var Str = require("../../shared/lib/strlib"); + var Web = require("../../shared/lib/weblib"); + var Debugger = require("../../shared/lib/debugger"); + var PDP10 = require("./defines"); + var DebuggerPDP10 = require("./debugger"); +} + +/** + * @class Macro10 + */ +class Macro10 { + /** + * Macro10(sURL, nAddr, dbg, done) + * + * The done() callback is called after the resource has been loaded and parsed, with an error code + * indicating overall success or failure. The caller must use other methods to obtain further results. + * + * The callback is passed three parameters: + * + * done(macro10, sURL, nErrorCode) + * + * If nErrorCode is zero, the assembly process completed successfully. + * + * For access to basic services (eg, println()), we rely on the caller. This is NOT an extension of + * Component, so those services are NOT part of this class. + * + * @this {Macro10} + * @param {string} sURL (the URL of the resource to be assembled) + * @param {number|null} nAddr (the absolute address to assemble the code at, if any) + * @param {DebuggerPDP10} dbg (used to provide services like println() to the Macro10 class) + * @param {function(Macro10,string,number)} done + */ + constructor(sURL, nAddr, dbg, done) + { + this.sURL = sURL; + this.nAddr = nAddr; + this.dbg = dbg; + this.done = done; + var macro10 = this; + Web.getResource(sURL, null, true, function(sURL, sResource, nErrorCode) { + if (!nErrorCode) { + nErrorCode = macro10.parse(sResource); + } + macro10.done(macro10, sURL, nErrorCode); + }); + } + + /** + * parse(sResource) + * + * Begin the assembly process. + * + * @this {Macro10} + * @param {string} sResource + * @return {number} + */ + parse(sResource) { + this.dbg.println("resource length: " + sResource.length); + return 999; + } +} diff --git a/modules/shared/lib/weblib.js b/modules/shared/lib/weblib.js index 66c1cb18a..efb90ce62 100644 --- a/modules/shared/lib/weblib.js +++ b/modules/shared/lib/weblib.js @@ -149,7 +149,14 @@ class Web { * * Request the specified resource (sURL), and once the request is complete, notify done(). * - * Also, if dataPost is set to a string, that string can be used to control the response format; + * If fAsync is true, a done() callback should ALWAYS be supplied; otherwise, you'll have no + * idea when the request is complete or what the response was. done() is passed three parameters: + * + * done(sURL, sResource, nErrorCode) + * + * If nErrorCode is zero, sResource should contain the requested data; otherwise, an error occurred. + * + * If dataPost is set to a string, that string can be used to control the response format; * by default, the response format is plain text, but you can specify "bytes" to request arbitrary * binary data, which should come back as a string of bytes. * @@ -157,8 +164,6 @@ class Web { * Instead, we should implement supported response types ("text" and "arraybuffer", at a minimum) * by setting xmlHTTP.responseType to one of those values before calling xmlHTTP.send(). * - * ES6 ALERT: Default parameters. - * * @param {string} sURL * @param {string|Object|null} [dataPost] for a POST request (default is a GET request) * @param {boolean} [fAsync] is true for an asynchronous request diff --git a/package.json b/package.json index 839213cd6..8abfde2e3 100644 --- a/package.json +++ b/package.json @@ -196,6 +196,7 @@ "./modules/pdp10/lib/rom.js", "./modules/pdp10/lib/ram.js", "./modules/pdp10/lib/serial.js", + "./modules/pdp10/lib/macro10.js", "./modules/shared/lib/debugger.js", "./modules/pdp10/lib/debugger.js", "./modules/pdp10/lib/computer.js", diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 5f8fa711e..1842b2062 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -23,236 +23,239 @@ http://pcjs.org/modules/pdp10/lib/cpustate.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/cpuops.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/serial.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 */ -var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ca="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ca.Symbol||(ca.Symbol=ea)}var ga=0;function ea(a){return"jscomp_symbol_"+(a||"")+ga++} -function ha(){da();var a=ca.Symbol.iterator;a||(a=ca.Symbol.iterator=ca.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return ka(function(){return ba?-b:b}});ra("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var sa={ec:0,xb:1,gc:2,hc:3,ic:4,jc:5,kc:6,lc:7,lb:8,mc:9,yb:10,nc:11,oc:12,zb:13,pc:14,qc:15,rc:16,sc:17,tc:18,uc:19,vc:20,wc:21,xc:22,yc:23,zc:24,Ac:25,Bc: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,kb:65,dc:66,fc:67,Cc:68,E:69,Dc:70,Ec:71,Fc:72,Gc:73,Hc:74,Ic:75,Jc:76,Kc:77,Lc:78,Mc:79,Nc:80,Q:81,Oc:82,Pc:83,Qc:84,Rc:85,Sc:86,Tc:87, +var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ea(){ea=function(){};ba.Symbol||(ba.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++} +function ia(){ea();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 ja(this)}});ia=function(){}}function ja(a){var b=0;return ka(function(){return ba?-b:b}});pa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +var qa={ec:0,xb:1,gc:2,hc:3,ic:4,jc:5,kc:6,lc:7,lb:8,mc:9,yb:10,nc:11,oc:12,zb:13,pc:14,qc:15,rc:16,sc:17,tc:18,uc:19,vc:20,wc:21,xc:22,yc:23,zc:24,Ac:25,Bc: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,kb:65,dc:66,fc:67,Cc:68,E:69,Dc:70,Ec:71,Fc:72,Gc:73,Hc:74,Ic:75,Jc:76,Kc:77,Lc:78,Mc:79,Nc:80,Q:81,Oc:82,Pc:83,Qc:84,Rc:85,Sc:86,Tc:87, Uc:88,Vc:89,Bb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Wc:97,Xc:98,Yc:99,d:100,e:101,Zc:102,$c:103,ad:104,bd:105,cd:106,k:107,dd:108,ed:109,n:110,fd:111,p:112,q:113,r:114,gd:115,t:116,jd:117,kd:118,ld:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ab:127}; -function ta(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b,c){b?12"']/g,function(a){return Da[a]})} -function Ea(a,b){return(a+" ").slice(0,b)}function Fa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Da={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ga(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function Ia(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function ra(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ta(a,b,c){b?12"']/g,function(a){return Ba[a]})} +function Ca(a,b){return(a+" ").slice(0,b)}function Da(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ba={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ea(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} +function Ga(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function Ja(a,b){var c,d={Y:null,U:null,sa:null,ra: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")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Da=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(q(d.Y[0]),d=null):(q("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Pa=this.id:(this.Qa=this.id.substr(0,a),this.Pa=this.id.substr(a+1));this.A={ready:!1,Ia:!1,cb:!1,V:!1,error:!1};this.Ta=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;pb.push(this)}function qb(a,b,c){rb[a]&&b&&(rb[a][b]=c)}function sb(){return Date.now()||+new Date} -function q(a){window&&window.alert(a)}function tb(a){var b=!1;window&&(b=window.confirm(a));return b}function ub(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;bb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ea=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Pa=this.id:(this.Qa=this.id.substr(0,a),this.Pa=this.id.substr(a+1));this.A={ready:!1,Ia:!1,cb:!1,V:!1,error:!1};this.Ta=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;jb.push(this)}function kb(a,b,c){lb[a]&&b&&(lb[a][b]=c)}function mb(){return Date.now()||+new Date} +function r(a){window&&window.alert(a)}function nb(a){var b=!1;window&&(b=window.confirm(a));return b}function ob(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Ob,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Gb,toggle:this.Zb,reset:this.Vb, -set:this.Yb};Qb(this)}la(fc,r);l=fc.prototype;l.reset=function(a){this.stop();a&&hc(this,this.w=0)}; -l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ic(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){jc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){ic(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){jc(a,b)}}(this,b),!0):r.prototype.ja.call(this,a,b,c,d)}};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;kc(this);lc(this)};l.ua=function(a,b){if(!b)if(this.T&&mc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new E(this);a.set(0,[this.i,this.w,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])nc(this,this.i=a[0]),hc(this,this.w=a[1]),oc(this,a[2]);return!0};l.Vb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}lc(this);return!0};function pc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function kc(a,b){for(var c in a.B)pc(a,c,null!=b?b:a.B[c])}function qc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function lc(a){for(var b in a.b)qc(a,b,a.b[b][1])} -l.Gb=function(a,b,c){if(ic(this,b)){if(c){var d=this;setTimeout(function(){jc(d,b);a&&a()},+c);return!1}jc(this,b)}return!0};l.Yb=function(a,b){if("SR"==a)return oc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,qc(this,a,c[1]),!0):!1};l.Zb=function(a){return ic(this,a)?(jc(this,a),!0):!1};function ic(a,b){var c=a.b[b];return c?(qc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=rc&&(a.P=b==sc,a.R=b==tc),!0):!1} -function jc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(qc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Pb=function(a){a||this.v.A.L||(F(this.v,this.i),this.b[uc]&&this.b[uc][1]&&vc(this.v))};l.Qb=function(){};l.Kb=function(a){a||this.v.W()}; -l.Ib=function(a){if(!a&&!this.v.A.L)if(this.b[uc]&&this.b[uc][1])vc(this.v);else{if((a=this.D)&&!Rb(a,!0))Sb(a,!0),wc(a,0,null),Sb(a,!1);else try{var b=this.v.Ma(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.i;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ka+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ka){n=h.size-(e-k);n>f&&(n=f);h.Ka=e-h.C+n;e=k+16384;f-=n;g++;continue}}return Pc(Qc,e,f)}e=new Lc(a,e,n,16384,d);Mc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=n}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Rc[d]+" at "+va(b)),!0):Pc(Sc,b,c)} -function Cc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function Bc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Nc(a){for(var b=0,c=[],d=0;d=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=md(a)&&(a.ka=a.ma=-1,id(a),a.W(),c=!0);c&&a.j(md(a)+" cycles: checksum="+m(a.za))}} -l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=ub(a.id);for(c=0;ca.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Ya*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&qd(a.G)}yc(a,a.N);a.N=0;a.M=sb();a.P=0;od(a);return d}function rd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function sd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function td(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c} -l.Wb=function(){if(this.A.L){this.Ra>=this.$a&&od(this,!0);this.na=0;this.ya=sb();if(this.P){var a=this.ya-this.P;a>this.Za&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=rd(this,this.A.Fa?1:this.Ga);try{this.Ma(b)}catch(e){if("number"!=typeof e)throw e;}b=td(this,!0);this.na+=b;this.N+=b;zc(this,b);xc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ga;++this.ab>=ud&&(this.G&&G(this.G,void 0),this.ab=0);break}}while(this.A.L)}catch(e){this.W();this.G&&this.G.stop(sb(),md(this));Nb(this, -e.stack||e.message);return}if(this.A.L){a=setTimeout;b=this.rb;this.P=sb();var c=this.Za;this.na&&(c=Math.round(c*this.na/this.Ga));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,nd(this)));if(0>c||this.aac&&(this.M-=c),c=0;this.Ra+=this.na;this.P+=c;a(b,c)}}}; -function vc(a,b){if(!Ob(a))if(a.A.L)a.j(a.toString()+" busy");else{nd(a);a.A.L=!0;a.A.Wa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&qd(a.G,!0),a.G.start(a.M,md(a)));a.D||a.status("Started");setTimeout(a.rb,0)}}l.Ma=function(){return 0};l.W=function(a){var b=!1;if(this.A.L){td(this);yc(this,this.N);this.N=0;this.A.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(sb(),md(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var pd=30,ud=15,fd=["power","reset"]; -function vd(a){var b=+a.model||1001;ed.call(this,a,1E6);this.qb=b;this.Oa=+a.addrReset||0;this.Cb=wd.bind(this);this.w=I.bind(this);this.wa=null;this.nb=[];this.A.complete=!1}la(vd,ed);l=vd.prototype;l.reset=function(){this.status("Model "+this.qb);this.A.L&&this.W();this.b=this.K=this.Ha=0;this.i=this.xa=this.Oa;this.I=this.qa=-1;this.F=this.u=0;this.bb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.i;this.B=0;this.f=this.Sb;this.g=this.cc;this.wa=null;hd(this);this.A.error=!1;ed.prototype.reset.call(this)}; -l.vb=function(){return 0};l.save=function(){var a=new E(this);a.set(0,[this.b,this.K,this.Ha,this.i,this.qa,this.I,this.u,this.B,this.xa,this.va,this.Oa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,xd(this));a.set(4,sd(this));return a.data()}; -l.restore=function(a){var b;b=a[0];ha();da();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.b=b.next().value;this.K=b.next().value;this.Ha=b.next().value;this.i=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Oa=b.next().value;b=a[2];this.T=b[0];nd(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.i].f(a&16383,a)};l.cc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b}; -l.Ma=function(a){this.A.complete=!0;var b=this.D?zd(this.D)?1:this.A.Wa?-1:0:0,c=a?this.A.Wa?0:1:-1;this.A.Wa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(Ad(this.D,this.i,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&Ad(this.D,this.i,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ha=this.f(this.qa),this.qa=-1):(this.K=this.Ha= -this.f(this.xa=this.i),this.i=(this.i+1)%Xb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Wb;a=this.K&4194304?-1:this.Ha/cc|0;0<=a&&this.Cb(a)}while(0>4].call(this,a,a&15)}function M(a){this.w(a)} -function Cd(){var a=0,b=this.f(this.b),c=b/dc&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*dc+(d<<24)+(b&16777215);a&&(b=(b+a)%C);this.g(this.b,b)}function Dd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/dc&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}} -function Ed(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/dc&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%C;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function Fd(a,b){this.g(b,this.f(this.b))}function Gd(a,b){this.g(b,this.b)}function Hd(a,b){this.g(this.b,this.f(b))}function ce(a,b){this.g(b,0)}function de(a,b){this.g(b,B-this.f(b))}function ee(a,b){this.g(b,B)} -function fe(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,ge(a,d,c)+(c-(c&x)))}function he(a,b){var c=this.f(b);this.g(b,ge(a,c,0))}function ie(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,ge(a,c,b)+(b-(b&x)))}function je(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ke(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,ge(a,d,c)+c)} -function le(a,b){var c=this.b*y,d=this.f(b);this.g(b,ge(a,d,c)+c)}function me(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,ge(a,c,b)+b)}function ne(a,b){var c=this.f(this.b),d=(c&x)*y,c=ge(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function oe(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,pe(a,d,c)+c)}function qe(a,b){var c=this.f(b);this.g(b,pe(a,c,this.b)+this.b)}function re(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,pe(a,c,b)+b)} -function se(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Yb?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function te(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,pe(a,d,c)+c)}function ue(a,b){var c=this.f(b);this.g(b,pe(a,c,0))}function ve(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,pe(a,c,b)+b)}function we(a,b){var c=this.f(this.b),d=c/y|0,c=pe(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){xe[a&7].call(this,a,a>>3&127)} -function ye(){}function ze(){}function I(a){this.j("undefined opcode: "+va(a));yd(this,-1);this.W()}function Ae(a){a>z&&(a!=A?a=$b-a:this.u|=163840);return a}function O(a,b){var c=(a+b)%C;Be.call(this,a,b,c);return c} -function Ce(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%C;b=this.F=f+Math.trunc(b/2);c>z&&(c=C-c,d=!d);b>z&&(a?(b=B-b,a=C-a):b&&(b=C-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.bb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0b[0]&&(b[0]+=C,b[1]--),Ee(this.bb,this.oa),Fe(this.pa)))break;Ge(this.ga);Ge(this.oa)}while(!Fe(this.oa)); -a=this.bb[0];this.F=this.pa[0];d&&a&&(a=C-a);e&&this.F&&(this.F=C-this.F);return a} -function He(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=C-d,b=!b);e>z&&(e=C-e,b=!b);if(dz)&&(f!=B||a<=z)&&(this.u|=131072),a;c=a;b=f;a=b-b%A;b=2*b%C+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b} -function Ie(a){a?a==A?this.u|=163840:a=$b-a:this.u|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=C);Be.call(this,c,b,a);return c}function Be(a,b,c){a=Math.trunc(a/Zb);b=Math.trunc(b/Zb);c=Math.trunc(c/Zb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Q(a,b){return((a/D|0)&(b/D|0))*D+((a&b)>>>0)}function S(a,b){return Q(a,(~(b/D|0)&15)*D+(~b>>>0))}function Je(a,b){return(a>>0)}function T(a,b){return(a/D|0|b/D|0)*D+((a|b)>>>0)}function U(a){return a>>0)}function X(a){return(a/y|0)+(a&x)*y}function pe(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Yb?x*y:0}return b}function ge(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b} -function Ee(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=C&&(a[0]%=C,a[1]++)}function De(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Ge(a){a[1]%2&&(a[0]+=C);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Fe(a){return!a[0]&&!a[1]} -var Bd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,I,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Cd,function(a,b){0>this.I&&Cd.call(this);Dd.call(this,0,b)},Dd,function(a,b){0>this.I&&Cd.call(this);Ed.call(this,0,b)},Ed,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)}, +function Zb(a,b){u.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.i=this.I=this.u=this.w=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=$b;this.B={};this.b={START:[1,1,!0,!1,this.Pb],STEP:[1,1,!1,!1,this.Qb],ENABLE:[1,1,!1,!1,this.Kb],CONT:[1,1,!0,!1,this.Ib],DEP:[0,0,!0,!1,this.Jb],EXAM:[1,1,!0,!1,this.Lb],LOAD:[1,1,!0,!1,this.Nb],TEST:[0,0,!0,!1,this.Mb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ob,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Gb,toggle:this.Zb,reset:this.Vb, +set:this.Yb};Jb(this)}m(Zb,u);l=Zb.prototype;l.reset=function(a){this.stop();a&&ac(this,this.w=0)}; +l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){bc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){cc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){bc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){cc(a,b)}}(this,b),!0):u.prototype.ja.call(this,a,b,c,d)}};l.Ca=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;dc(this);ec(this)};l.ua=function(a,b){if(!b)if(this.T&&fc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])gc(this,this.i=a[0]),ac(this,this.w=a[1]),hc(this,a[2]);return!0};l.Vb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ec(this);return!0};function ic(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function dc(a,b){for(var c in a.B)ic(a,c,null!=b?b:a.B[c])}function jc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ec(a){for(var b in a.b)jc(a,b,a.b[b][1])} +l.Gb=function(a,b,c){if(bc(this,b)){if(c){var d=this;setTimeout(function(){cc(d,b);a&&a()},+c);return!1}cc(this,b)}return!0};l.Yb=function(a,b){if("SR"==a)return hc(this,ra(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,jc(this,a,c[1]),!0):!1};l.Zb=function(a){return bc(this,a)?(cc(this,a),!0):!1};function bc(a,b){var c=a.b[b];return c?(jc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=kc&&(a.P=b==lc,a.R=b==mc),!0):!1} +function cc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(jc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Pb=function(a){a||this.v.A.L||(H(this.v,this.i),this.b[nc]&&this.b[nc][1]&&oc(this.v))};l.Qb=function(){};l.Kb=function(a){a||this.v.W()}; +l.Ib=function(a){if(!a&&!this.v.A.L)if(this.b[nc]&&this.b[nc][1])oc(this.v);else{if((a=this.D)&&!Kb(a,!0))Lb(a,!0),pc(a,0,null),Lb(a,!1);else try{var b=this.v.Ma(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.i;0f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ka+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ka){n=h.size-(e-k);n>f&&(n=f);h.Ka=e-h.C+n;e=k+16384;f-=n;g++;continue}}return Fc(Gc,e,f)}e=new Bc(a,e,n,16384,d);Cc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=n}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Hc[d]+" at "+ta(b)),!0):Fc(Ic,b,c)} +function zc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function uc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Dc(a){for(var b=0,c=[],d=0;d=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=cd(a)&&(a.ka=a.ma=-1,Zc(a),a.W(),c=!0);c&&a.j(cd(a)+" cycles: checksum="+q(a.za))}} +l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=ob(a.id);for(c=0;ca.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Ya*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&gd(a.G)}rc(a,a.N);a.N=0;a.M=mb();a.P=0;ed(a);return d}function hd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function id(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function jd(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c} +l.Wb=function(){if(this.A.L){this.Ra>=this.$a&&ed(this,!0);this.na=0;this.ya=mb();if(this.P){var a=this.ya-this.P;a>this.Za&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=hd(this,this.A.Ga?1:this.Ba);try{this.Ma(b)}catch(e){if("number"!=typeof e)throw e;}b=jd(this,!0);this.na+=b;this.N+=b;sc(this,b);qc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ba;++this.ab>=kd&&(this.G&&I(this.G,void 0),this.ab=0);break}}while(this.A.L)}catch(e){this.W();this.G&&this.G.stop(mb(),cd(this));Gb(this, +e.stack||e.message);return}if(this.A.L){a=setTimeout;b=this.rb;this.P=mb();var c=this.Za;this.na&&(c=Math.round(c*this.na/this.Ba));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,dd(this)));if(0>c||this.aac&&(this.M-=c),c=0;this.Ra+=this.na;this.P+=c;a(b,c)}}}; +function oc(a,b){if(!Hb(a))if(a.A.L)a.j(a.toString()+" busy");else{dd(a);a.A.L=!0;a.A.Wa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&gd(a.G,!0),a.G.start(a.M,cd(a)));a.D||a.status("Started");setTimeout(a.rb,0)}}l.Ma=function(){return 0};l.W=function(a){var b=!1;if(this.A.L){jd(this);rc(this,this.N);this.N=0;this.A.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(mb(),cd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var fd=30,kd=15,Wc=["power","reset"]; +function ld(a){var b=+a.model||1001;Vc.call(this,a,1E6);this.qb=b;this.Oa=+a.addrReset||0;this.Cb=md.bind(this);this.w=L.bind(this);this.wa=null;this.nb=[];this.A.complete=!1}m(ld,Vc);l=ld.prototype;l.reset=function(){this.status("Model "+this.qb);this.A.L&&this.W();this.b=this.K=this.Ha=0;this.i=this.xa=this.Oa;this.I=this.qa=-1;this.F=this.u=0;this.bb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.i;this.B=0;this.f=this.Sb;this.g=this.cc;this.wa=null;Yc(this);this.A.error=!1;Vc.prototype.reset.call(this)}; +l.vb=function(){return 0};l.save=function(){var a=new G(this);a.set(0,[this.b,this.K,this.Ha,this.i,this.qa,this.I,this.u,this.B,this.xa,this.va,this.Oa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,nd(this));a.set(4,id(this));return a.data()}; +l.restore=function(a){var b;b=a[0];ia();ea();ia();var c=b[Symbol.iterator];b=c?c.call(b):ja(b);this.b=b.next().value;this.K=b.next().value;this.Ha=b.next().value;this.i=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Oa=b.next().value;b=a[2];this.T=b[0];dd(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.i].f(a&16383,a)};l.cc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b}; +l.Ma=function(a){this.A.complete=!0;var b=this.D?pd(this.D)?1:this.A.Wa?-1:0:0,c=a?this.A.Wa?0:1:-1;this.A.Wa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(qd(this.D,this.i,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&qd(this.D,this.i,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ha=this.f(this.qa),this.qa=-1):(this.K=this.Ha= +this.f(this.xa=this.i),this.i=(this.i+1)%Qb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Pb;a=this.K&4194304?-1:this.Ha/Wb|0;0<=a&&this.Cb(a)}while(0>4].call(this,a,a&15)}function M(a){this.w(a)} +function sd(){var a=0,b=this.f(this.b),c=b/Xb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Xb+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.g(this.b,b)}function td(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Xb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}} +function ud(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Xb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function vd(a,b){this.g(b,this.f(this.b))}function wd(a,b){this.g(b,this.b)}function Nd(a,b){this.g(this.b,this.f(b))}function Od(a,b){this.g(b,0)}function Pd(a,b){this.g(b,D-this.f(b))}function Qd(a,b){this.g(b,D)} +function Rd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Sd(a,d,c)+(c-(c&y)))}function Td(a,b){var c=this.f(b);this.g(b,Sd(a,c,0))}function Ud(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Sd(a,c,b)+(b-(b&y)))}function Vd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&y,a){case 256:d+=y;break;case 384:d+=c>A?y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Wd(a,b){var c=(this.f(this.b)&y)*z,d=this.f(b);this.g(b,Sd(a,d,c)+c)} +function Xd(a,b){var c=this.b*z,d=this.f(b);this.g(b,Sd(a,d,c)+c)}function Yd(a,b){b=(this.f(b)&y)*z;var c=this.f(this.b);this.g(this.b,Sd(a,c,b)+b)}function Zd(a,b){var c=this.f(this.b),d=(c&y)*z,c=Sd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function $d(a,b){var c=this.f(this.b)&y,d=this.f(b);this.g(b,ae(a,d,c)+c)}function be(a,b){var c=this.f(b);this.g(b,ae(a,c,this.b)+this.b)}function ce(a,b){b=this.f(b)&y;var c=this.f(this.b);this.g(this.b,ae(a,c,b)+b)} +function de(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=y,a){case 256:d+=y*z;break;case 384:d+=c>Rb?y*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ee(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,ae(a,d,c)+c)}function fe(a,b){var c=this.f(b);this.g(b,ae(a,c,0))}function ge(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,ae(a,c,b)+b)}function he(a,b){var c=this.f(this.b),d=c/z|0,c=ae(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){ie[a&7].call(this,a,a>>3&127)} +function je(){}function ke(){}function L(a){this.j("undefined opcode: "+ta(a));od(this,-1);this.W()}function le(a){a>A&&(a!=B?a=Tb-a:this.u|=163840);return a}function O(a,b){var c=(a+b)%E;me.call(this,a,b,c);return c} +function ne(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%E;b=this.F=f+Math.trunc(b/2);c>A&&(c=E-c,d=!d);b>A&&(a?(b=D-b,a=E-a):b&&(b=E-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.bb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0b[0]&&(b[0]+=E,b[1]--),pe(this.bb,this.oa),qe(this.pa)))break;re(this.ga);re(this.oa)}while(!qe(this.oa)); +a=this.bb[0];this.F=this.pa[0];d&&a&&(a=E-a);e&&this.F&&(this.F=E-this.F);return a} +function se(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=E-d,b=!b);e>A&&(e=E-e,b=!b);if(dA)&&(f!=D||a<=A)&&(this.u|=131072),a;c=a;b=f;a=b-b%B;b=2*b%E+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b} +function te(a){a?a==B?this.u|=163840:a=Tb-a:this.u|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=E);me.call(this,c,b,a);return c}function me(a,b,c){a=Math.trunc(a/Sb);b=Math.trunc(b/Sb);c=Math.trunc(c/Sb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Q(a,b){return((a/F|0)&(b/F|0))*F+((a&b)>>>0)}function R(a,b){return Q(a,(~(b/F|0)&15)*F+(~b>>>0))}function S(a,b){return(a>>0)}function T(a,b){return(a/F|0|b/F|0)*F+((a|b)>>>0)}function U(a){return a>>0)}function W(a){return(a/z|0)+(a&y)*z}function ae(a,b,c){switch(a&384){case 0:b-=b&y;break;case 128:b=0;break;case 256:b=y*z;break;case 384:b=c>Rb?y*z:0}return b}function Sd(a,b,c){switch(a&384){case 0:b&=y;break;case 128:b=0;break;case 256:b=y;break;case 384:b=c>A?y:0}return b} +function pe(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=E&&(a[0]%=E,a[1]++)}function oe(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function re(a){a[1]%2&&(a[0]+=E);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function qe(a){return!a[0]&&!a[1]} +var rd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},sd,function(a,b){0>this.I&&sd.call(this);td.call(this,0,b)},td,function(a,b){0>this.I&&sd.call(this);ud.call(this,0,b)},ud,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)}, function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)}, -function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Fd,Gd,Hd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ie.call(this,this.f(this.b)))},function(a,b){this.g(b,Ie.call(this,this.b))},function(a,b){this.g(this.b, -Ie.call(this,this.f(b)))},function(a,b){a=Ie.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ae.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,Ae.call(this,this.f(b)))},function(a,b){a=Ae.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,He.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,He.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,He.call(this,this.f(b),this.f(this.b), -!0))},function(a,b){this.g(this.b,this.g(b,He.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,He.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,He.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,He.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,He.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=Ce.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+ -1&15,this.F))},function(a,b){a=Ce.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Ce.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=Ce.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ce.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ce.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))}, -function(a,b){a=this.f(b);b=this.f(b+1&15);b=Ce.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=Ce.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>z?-(C-a):a;0d?A:0,c=z):(d=d*Math.pow(2,c)%A,c=A-Math.pow(2,35-c)),a<=z?a+c>z&&(this.u|=131072):a-c<=z&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+C:d; -this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%C+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0z&& -dz&&ez&&(this.u|=131072):e-c<=z&&(this.u|=131072);e=0;f>z&&(d+=A,e+=A)}else d=d*Math.pow(2,a)%A+Math.trunc(e%A/Math.pow(2,35-a)),e=e*Math.pow(2,a)%A,c=A-Math.pow(2,35-a),f<=z?f+c>z&&(this.u|=131072):(f-c<=z&&(this.u|=131072),d+=A,e+=A)}else-36>=a?(e=-72>=a?d>z?B:0:Math.trunc(d%A/Math.pow(2,-a-35)),d<=z?d=0:(d=B,e+=A)):(c=d>z?C-Math.pow(2,36+a):0,e=Math.trunc(e%A/Math.pow(2,-a))+ -d%A*Math.pow(2,35+a)%A,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=A));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%C+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%C+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%C+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%C+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+ -1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%C,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},I,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/y|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.L||(this.g(b,d* -y+c),a||yd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%B;this.g(b,a);a=A&&F(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,F(this,this.b))},function(){this.qa=this.b},I,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&x,this.f(this.b));a>=C&&(a-=C);a/y|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&x);this.g(this.b,c);this.b==b&&(a=c);a-=262145; -0>a&&(a+=C);(a/y|0)==x&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&x)*y+this.i);F(this,this.b+1)},function(a,b){this.g(b,(this.u&x)*y+this.i);F(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))}, -function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},ye,function(a,b){0>Je(this.f(b),this.b)&&F(this,this.i+1)},function(a,b){Je(this.f(b),this.b)||F(this,this.i+1)},function(a,b){0>=Je(this.f(b),this.b)&&F(this,this.i+1)},function(){F(this,this.i+1)},function(a,b){0<=Je(this.f(b),this.b)&& -F(this,this.i+1)},function(a,b){Je(this.f(b),this.b)&&F(this,this.i+1)},function(a,b){0Je(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(a,b){Je(this.f(b),this.f(this.b))||F(this,this.i+1)},function(a,b){0>=Je(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(){F(this,this.i+1)},function(a,b){0<=Je(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(a,b){Je(this.f(b),this.f(this.b))&&F(this,this.i+1)},function(a,b){0U(this.f(b))&&F(this,this.b)},function(a,b){U(this.f(b))||F(this,this.b)},function(a,b){0>=U(this.f(b))&&F(this,this.b)},function(){F(this,this.b)},function(a,b){0<=U(this.f(b))&&F(this,this.b)},function(a,b){U(this.f(b))&&F(this,this.b)},function(a,b){0U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)||F(this,this.i+ -1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){F(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0U(a)&&F(this,this.b)},function(a, -b){a=this.g(b,O.call(this,this.f(b),1));U(a)||F(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=U(a)&&F(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));F(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=U(a)&&F(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));U(a)&&F(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)||F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=U(a)&&F(this,this.i+1);b&&this.g(b,a)}, -function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0U(a)&&F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)||F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>=U(a)&&F(this,this.b)},function(a,b){this.g(b,P.call(this, -this.f(b),1));F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<=U(a)&&F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)&&F(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)||F(this, -this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<=U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)&&F(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>>f.i;0>>= -f.i;0>>a.i;0g&&g>=-A&&(g+=C);for(var g=Math.trunc(Math.abs(g))%C,h=d;f--&&h=sa.kb&&c<=sa.Bb&&(b=c-(sa.kb-sa.xb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.zb&&(b=sa.yb);d.Ua(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.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ba=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Qb(this)}; -l.wb=function(a){if(!this.b){var b=gd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Fa(c[0]);if(d!=this.Pa)return;c=Fa(c[1]);if(this.b=vb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new E(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.P?b="end":b=a.u[a.w+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(Fa(b.substring(c,f))),c=f+1}}return a} -function Ve(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<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":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; +function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},vd,wd,Nd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&y)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,te.call(this,this.f(this.b)))},function(a,b){this.g(b,te.call(this,this.b))},function(a,b){this.g(this.b, +te.call(this,this.f(b)))},function(a,b){a=te.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,le.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,le.call(this,this.f(b)))},function(a,b){a=le.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,se.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,se.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,se.call(this,this.f(b),this.f(this.b), +!0))},function(a,b){this.g(this.b,this.g(b,se.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,se.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,se.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,se.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,se.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=ne.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+ +1&15,this.F))},function(a,b){a=ne.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=ne.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=ne.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=ne.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=ne.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))}, +function(a,b){a=this.f(b);b=this.f(b+1&15);b=ne.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=ne.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(E-a):a;0d?B:0,c=A):(d=d*Math.pow(2,c)%B,c=B-Math.pow(2,35-c)),a<=A?a+c>A&&(this.u|=131072):a-c<=A&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d; +this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0A&& +dA&&eA&&(this.u|=131072):e-c<=A&&(this.u|=131072);e=0;f>A&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=A?f+c>A&&(this.u|=131072):(f-c<=A&&(this.u|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?D:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=D,e+=B)):(c=d>A?E-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+ +d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+ +1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},L,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&y;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&y,c=c+1&y,this.A.L||(this.g(b,d* +z+c),a||od(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a=B&&H(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,H(this,this.b))},function(){this.qa=this.b},L,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&y,this.f(this.b));a>=E&&(a-=E);a/z|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&y);this.g(this.b,c);this.b==b&&(a=c);a-=262145; +0>a&&(a+=E);(a/z|0)==y&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&y)*z+this.i);H(this,this.b+1)},function(a,b){this.g(b,(this.u&y)*z+this.i);H(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))}, +function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},je,function(a,b){0>S(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){S(this.f(b),this.b)||H(this,this.i+1)},function(a,b){0>=S(this.f(b),this.b)&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=S(this.f(b),this.b)&&H(this, +this.i+1)},function(a,b){S(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){0S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){0>=S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){0U(this.f(b))&&H(this,this.b)},function(a,b){U(this.f(b))||H(this,this.b)},function(a,b){0>=U(this.f(b))&&H(this,this.b)},function(){H(this,this.b)},function(a,b){0<=U(this.f(b))&&H(this,this.b)},function(a,b){U(this.f(b))&&H(this,this.b)},function(a,b){0U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)||H(this,this.i+1);b&&this.g(b, +a)},function(a,b){a=this.f(this.b);0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){H(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0U(a)&&H(this,this.b)},function(a,b){a=this.g(b, +O.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a, +b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,P.call(this,this.f(b), +1));H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)||H(this,this.i+ +1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>>f.i;0>>= +f.i;0>>a.i;0g&&g>=-B&&(g+=E);for(var g=Math.trunc(Math.abs(g))%E,h=d;f--&&h=qa.kb&&c<=qa.Bb&&(b=c-(qa.kb-qa.xb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==qa.zb&&(b=qa.yb);d.Ua(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.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ca=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Jb(this)}; +l.wb=function(a){if(!this.b){var b=Xc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.Pa)return;c=Da(c[1]);if(this.b=pb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new G(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.P?b="end":b=a.u[a.w+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(Da(b.substring(c,f))),c=f+1}}return a} +function Ge(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<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":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 We(a,b,c){var d;if(b){b=Xe(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,ma--;g=w+g;d>>=8}d=m(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} -function af(a,b){if(b)return $e(a,b,a.T[b]);var c=0;for(b in a.T)$e(a,b,a.T[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ze={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function bf(a){Te.call(this,a);this.xa=!1;this.la=!0;this.va=18;this.wa=Y();this.K=Y(0);this.ga=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];cf(this);this.R=this.ka=0;this.i=[];this.oa=void 0;df(this);this.D=this;this.ma={};this.X=this.sb=0;this.S=null;this.O=[];ef(this,a.messages);this.qa=a.commands;this.N=0;this.Aa=this.pa=null;this.B=this.za=this.ya=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[u]&&(window[u]=function(a){return ld(b,a)}):void 0===global[u]&&(global[u]= -function(a){return ld(b,a)})}la(bf,Te);function ff(a){a=a&&a.C;null==a&&(a=-1);return a}function Y(a,b,c){return{C:void 0===a?null:a,Sa:void 0===b?!1:b,ha:!1,ca:c}}function gf(a,b,c,d){a.C=b;a.Sa=c||!1;a.ha=!1;a.ca=d}function hf(a){return[a.C,a.Sa,a.ha,a.ca,a.Va]}function jf(a,b){var c=Y(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.ob=Ue(a,c.Va=b[4]));return c}l=bf.prototype; -l.Ba=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.va=b.F;(a=gd(a,"messages"))&&ef(this,a);kf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=ff(lf(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.j("..."):(c=p.type,n=Rc[c],p&&d.j(m(p.id,8)+" %"+m(e<a&&a>=-A&&(a+=C);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function Z(a,b){return H(a,b.C)}function of(a){return va(a/Xb,6)+" "+va(a%Xb,6)} -function ef(a,b){a.D=a;a.X=a.sb=536870916;a.S=null;a.O=[];b=Ue(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in ec){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>23&&a.v.xa==b&&(b=yd(a.v,1)));if(0d&&(d=a.v.f(b)),0<=d&&(gf(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1} -function Ff(a,b,c,d){var e=Y(b.C),f=a.Ca(b,1),g,h,k,n=0,p=f/ac|0,w;for(w in Gf)if(g=Gf[w][p&w]){h=+w;p>>=6;switch(h){case 32512:k=Hf;n=p&3;break;case 32256:k=ng;n=p&7;break;case 29248:k=pg,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>qg&&(k="B");k=rg[g||0]+k;if(g){if(28700==h)n=f/bc&127,h=H(a,n,-1);else if(n=f>>23&15,h=H(a,n,-1),g==sg&&(g=tg[n]))k=rg[g],h="";k=Ea(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=H(a,f&262143,-1);(f=f>>18&15)&&(k+="("+H(a,f,-1)+")")}else k=Ea(k,8)+of(f);f=k;g="";h=Z(a, -e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Ca(e,1),g+=" "+of(k),null==e.C)break;while(e.C!=b.C)}h+=Ea(g,16)+f;c&&(h=Ea(h,48)+";"+(c||""),h=a.v.A.Fa?h+("cycles="+md(a.v).toString()+" cs="+m(a.v.za)):h+(null!=d?"="+d.toString():""));return h}function cf(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.na=0;a.ka=0} -l.Ea=function(a,b,c){var d=!0;c||ug(this,a,b,!1,!0);if(a!=this.b){var e=ff(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ea(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(vg(this,a,a.length-1,"set"),df(this)));return d};function ug(a,b,c,d,e){var f=!1;c=ff(c);for(var g=1;g>>d.i],b==a.I));h.ha||df(a);break}}return f} -function wg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=va(d,2);gf(e.wa,d);f+="="+H(e,e.Ca(e.wa),36)+" ";c+=f}if(b){b="";for(d=0;d=tf?1:d==rf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],w=Ga(p,k,a.tb);0>w&&p.splice(-(w+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function zg(a,b,c){var d=[],e=ff(b)>>>0;for(b=0;b>>0,h=f.Hb;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case qf:F(h, -g);gf(a.K,h.i);break;case tf:f=65536;break;case uf:f=32768;break;case vf:f=131072;break;case wf:f=32;break;case xf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);G(a.G);a.j("updated registers:")}}a.j(yg(a,e));c&&(gf(a.K,d.i),Df(a,Z(a,a.K)))}}function Dg(a,b){b=Fa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.j(n)}h[3]&&(g=h[3],f=null);h=a.ba;n=b;h.C=n.C;h.Sa=n.Sa;h.ha=n.ha;h.ca=n.ca;a.j(Ff(a,b,g,f));e-=b.C-k;c++}}} -function xg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(Bf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Pb(a)&&0p||"z"qg&&(Ld="B");if(Id== -rg[Bb]+Ld){Kf=29248!=Ec?cb:(cb&3)<<1|(cb&12)<<2;J=(Kd|Kf<<6)*ac;break}}if(0<=J)break}if(0<=J)break}if(0<=J)if(Dc)for(var Md=Dc.split(","),db=0;dbR||127R||15R||262143R||15oa.length&&(a.j("note: only "+oa.length+" available"),fa=oa.length);ja-=fa;0>ja&&(null==oa[oa.length-1].C?(fa=ja+fa,ja=0):ja+=oa.length);var Rd=[];"call"==Qf&&(Db=1E5,Rd=["CALL"]);for(void 0!== -Pf&&a.j(fa+" instructions earlier:");0=oa.length&&(ja=0);a.oa=fa;Sf++;Db--}}Sf||(a.j("no "+Rf+"history available"),a.oa=void 0)}else{var jb=lf(a,na,a.ga);if(jb){var La=0,Vf="ds"==gb;if(Ba){if("l"==Ba.charAt(0))Ba=Ba.substr(1)||hh,La=Ye(a,Ba);else{var Wf=lf(a,Ba);Wf&&(La=Wf.C-jb.C)}0>La&&(La=0);65536$f;$f++)Yf+=String.fromCharCode((Gc%64|0)+32),Gc/=64}Ma&&(Ma+="\n");Ma=Vf?Ma+(Na+","):Ma+(na+": "+Na+(0>Zf?" "+Yf:""))}Ma&&a.j(Ma);a.ca=jh}}}}break;case "e":if("else"==g[0])break;var ag,bg,cg=g[0],Ud=g[1];"e"==cg||"ew"==cg?(ag=a.Ca,bg=a.mb):Ud=null; -if(null==Ud)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Hc=lf(a,Ud,a.ga);if(Hc)for(var Vd=2;VdYd;){for(var Oa=null,nh=256;65536>Hb.C>>>0;){Zd.C=a.Ca(Hb,2);if(null==Hb.C||!nh--)break;if(!(Zd.C&1)){for(var oh=a,Ic=Zd,eg=null,Ib=Ic.C,fg=Ib,$d=1;6>=$d&&Ib;$d++){if(2< -$d){Ic.C=Ib;var Jc=Ff(oh,Ic);if(0<=Jc.indexOf("JSR")){var gg=Jc.indexOf(" ");if(Ib+(Jc.indexOf(" ",gg+1)-gg-1)/2==fg){eg=Jc;break}}}Ib-=2}Ic.C=fg;if(Oa=eg)break}}if(!Oa||null==Oa)break;var hg=null;if("ks"==mh){var ig=Oa.match(/[0-9A-F]+$/);ig&&(hg=Cg(a,ig[0]))}Oa=Ea(Oa,50)+" ;"+(hg||"stack="+Z(a,Hb));a.j(Oa);Yd++}Yd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){Cg(a,g[1],!0);break}f=!0;break;case "m":a:{var pa,qa=null,L=g[1];"?"==L&&(L=void 0);if(void 0!==L){var Ca=0;if("all"== -L)Ca=1879046143,L=null;else if("on"==L)qa=!0,L=null;else if("off"==L)qa=!1,L=null;else{"keys"==L&&(L="key");"kbd"==L&&(L="keyboard");for(pa in ec)if(L==pa){Ca=ec[pa];qa=!!(a.X&Ca);break}if(!Ca){a.j("unknown message category: "+L);break a}}if(Ca)if("on"==g[2])a.X|=Ca,qa=!0;else if("off"==g[2]&&(a.X&=~Ca,qa=!1,1073741824==Ca)){for(var jg=1E3<=a.O.length?a.O.length-1E3:0;jglg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress"); -else{var mg=Y(a.v.i);a.Ca(mg);a.N?(a.Ea(a.b,mg,!0),zf(a)||(a.G&&qd(a.G),a.N=0)):Eg(a,lg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}Cf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Kb=+g[2];if(8==Kb||10==Kb||16==Kb)a.ca=Kb;else{a.j("invalid base: "+Kb);break}}a.j("default base: "+a.ca);break;case "cs":var Lb;void 0!==g[3]&&(Lb=+g[3]);switch(g[2]){case "int":a.v.ka=Lb;break;case "start":a.v.Aa=Lb;break;case "stop":a.v.ma=Lb;break;default:a.j("unknown cs option");break a}void 0!== -Lb&&id(a.v);a.j("checksums "+(a.v.A.Fa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(nd(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"), -a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":Eg(a,g[0],g[1]);break;case "u":Df(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Bg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Vb||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Dg(a,b.substr(1));break}var ae="commands:",be;for(be in Gg)ae+="\n"+Ea(be,9)+Gg[be];zd(a)||(ae+="\nnote: history disabled if no exec breakpoints");a.j(ae);break;default:f=!0}f&&(a.j("unknown command: "+ -b),d=!1)}}catch(og){a.j("Debugger "+(og.stack||og.message)),d=!1}return d}function ld(a,b,c){b=Ue(a,b,c);for(var d in b)if(!xg(a,b[+d]))return!1;return!0} -var Gg={"?":"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"},qg=20,sg=85,rg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "), -qf=0,rf=1,sf=2,tf=3,uf=4,vf=5,wf=6,xf=7,pf="PC RA EA C0 C1 OV ND PD".split(" "),Hg={},Gf=(Hg[28672]={0:101},Hg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:sg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Hg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:qg,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Hg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Hg[29248]={24576:79,24640:80,25088:81,25152:82},Hg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},Hg),Hf=["","I","M","S"],ng=" L E LE A GE N G".split(" "),pg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),tg={8:102,4:103,2:104,6:105,1:106},yf=1E3,Bf=">> ";Za(function(){for(var a=v(document,u,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bLg){if(Mg(d,this.M)){this.B=new E(this,"1.34.2",Vg);Mg(this.B)&&(Wg(this,d),a=Xg,Yg(this.B));this.B.set(Sg,Ha());Zg(this.B);var e=this.b&&!this.K;if(a==Tg||tb("Click OK to restore the previous "+Vb+" machine state, or CANCEL to reset the machine.")){if(c=Rg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Mg(d,g):("error"==f&&"no machine state"!= -g?(this.da("Error: "+g),"unable to verify user"==g&&(Sa($g,""),this.i=null)):this.j(f+": "+g),Yg(d),Mg(d)?(c=Rg(d),e=!0):c=!1))}e&&Pg(this,c?d:null)}else a==Xg&&d.clear()}else Pg(this);delete this.M;delete this.I}e=ub(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(ah(this,this.v,b,c,a),G(this,-2),this.v.Z());this.P&&(Wg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0}; -function Wg(a,b){if(tb("There may be a problem with your "+Vb+" machine.\n\nTo help us diagnose it, click OK to send this "+Vb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Vb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ia("http://www.pcjs.org/api/v1/report",d,!0)}} -function Fg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new E(a,"1.34.2"),g=new E(a,"1.34.2",Qg),h=Ha();g.set(Sg,h);f.set(Sg,h);f.set(bh,"1.34.2");f.set(ch,window?window.location.href:null);f.set(dh,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=ub(a.id),k=0;k=d||30<=(c.Xa+=d))&&(e.textContent=c.A.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Xa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.A.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?va(e,void 0):m(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ia(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);xh(a,b,c)}})}else c(a,null)} -function yh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&v(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);n&&(--uh||lb(!0));n=!1}var h,k,n=!0;uh++;rb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],K=document.createElement("style");K.type="text/css";K.styleSheet?K.styleSheet.cssText=p:K.appendChild(document.createTextNode(p));w.appendChild(K)}d|| -(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?vh(d,null,a,null,!1,f,function(a,e){e?(qb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--uh||lb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--uh|| -lb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?vh(c,b,a,e,!0,f,p):wh(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(ma){g(ma.message)}return n}window.embedPDP10=function(a,b,c,d){lb(!1);return yh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){lb(!1);return yh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return wb(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!zb[a]){for(var c=!0,d=zb,e=a,f=b.length,g=[],h=[],k="",n=null,p=0;p=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,ca--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+ta(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} +function Me(a,b){if(b)return Le(a,b,a.T[b]);var c=0;for(b in a.T)Le(a,b,a.T[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ke={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Ne(a){Ee.call(this,a);this.ya=!1;this.la=!0;this.wa=18;this.xa=X();this.K=X(0);this.ga=X(0);this.ba=X(0);this.F=[];this.b=this.M=this.I=[];Oe(this);this.R=this.ka=0;this.i=[];this.pa=void 0;Pe(this);this.D=this;this.ma={};this.X=this.sb=0;this.S=null;this.O=[];Qe(this,a.messages);this.va=a.commands;this.N=0;this.Ba=this.qa=null;this.B=this.Aa=this.za=this.fa=this.oa=0;this.na=this.ea=this.aa=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return bd(b,a)}):void 0===global[w]&& +(global[w]=function(a){return bd(b,a)})}m(Ne,Ee);function Re(a){a=a&&a.C;null==a&&(a=-1);return a}function X(a,b,c){return{C:void 0===a?null:a,Sa:void 0===b?!1:b,ha:!1,ca:c}}function Se(a,b,c,d){a.C=b;a.Sa=c||!1;a.ha=!1;a.ca=d}function Te(a){return[a.C,a.Sa,a.ha,a.ca,a.Va]}function Ue(a,b){var c=X(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.ob=Fe(a,c.Va=b[4]));return c}l=Ne.prototype; +l.Ca=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.wa=b.F;(a=Xc(a,"messages"))&&Qe(this,a);Ve(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Re(We(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.j("..."):(c=p.type,n=Hc[c],p&&d.j(q(p.id,8)+" %"+q(e<a&&a>=-B&&(a+=E);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function Z(a,b){return J(a,b.C)}function Ze(a){return ta(a/Qb,6)+" "+ta(a%Qb,6)} +function Qe(a,b){a.D=a;a.X=a.sb=536870916;a.S=null;a.O=[];b=Fe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Yb){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>23&&a.v.xa==b&&(b=od(a.v,1)));if(0d&&(d=a.v.f(b)),0<=d&&(Se(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1} +function qf(a,b,c,d){var e=X(b.C),f=a.Da(b,1),g,h,k,n=0,p=f/Ub|0,t;for(t in rf)if(g=rf[t][p&t]){h=+t;p>>=6;switch(h){case 32512:k=Vf;n=p&3;break;case 32256:k=Xf;n=p&7;break;case 29248:k=Yf,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>Zf&&(k="B");k=$f[g||0]+k;if(g){if(28700==h)n=f/Vb&127,h=J(a,n,-1);else if(n=f>>23&15,h=J(a,n,-1),g==ag&&(g=bg[n]))k=$f[g],h="";k=Ca(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=J(a,f&262143,-1);(f=f>>18&15)&&(k+="("+J(a,f,-1)+")")}else k=Ca(k,8)+Ze(f);f=k;g="";h=Z(a, +e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Da(e,1),g+=" "+Ze(k),null==e.C)break;while(e.C!=b.C)}h+=Ca(g,16)+f;c&&(h=Ca(h,48)+";"+(c||""),h=a.v.A.Ga?h+("cycles="+cd(a.v).toString()+" cs="+q(a.v.za)):h+(null!=d?"="+d.toString():""));return h} +function cg(a,b,c,d){var e=-1,f,g,h=b.toUpperCase(),k;for(k in bg)if(g=bg[k],h==$f[g]){h=$f[ag];c=J(a,+k)+","+c;break}for(var n in rf){f=+n;var p=rf[n];switch(f){case 32512:k=Vf;break;case 32256:k=Xf;break;case 29248:k=Yf;break;default:k=[""]}for(var t in p){g=p[t];for(var C=0;CZf&&(ca="B");if(h==$f[g]+ca){e=29248!=f?C:(C&3)<<1|(C&12)<<2;e=(t|e<<6)*Ub;break}}if(0<=e)break}if(0<=e)break}if(0<=e)if(c)for(b=c.split(","),c=0;ct||127t||15t||262143t||15>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.oa=0;a.ka=0} +l.Fa=function(a,b,c){var d=!0;c||dg(this,a,b,!1,!0);if(a!=this.b){var e=Re(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.i].Fa(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(eg(this,a,a.length-1,"set"),Pe(this)));return d};function dg(a,b,c,d,e){var f=!1;c=Re(c);for(var g=1;g>>d.i],b==a.I));h.ha||Pe(a);break}}return f} +function fg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=ta(d,2);Se(e.xa,d);f+="="+J(e,e.Da(e.xa),36)+" ";c+=f}if(b){b="";for(d=0;d<$e.length;d++)(e=$e[d]||"")&&(e+="="+J(a,a.hb(d),d>=df?1:d==bf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],t=Ea(p,k,a.tb);0>t&&p.splice(-(t+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function ig(a,b,c){var d=[],e=Re(b)>>>0;for(b=0;b>>0,h=f.Hb;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case af:H(h, +g);Se(a.K,h.i);break;case df:f=65536;break;case ef:f=32768;break;case ff:f=131072;break;case gf:f=32;break;case hf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);I(a.G);a.j("updated registers:")}}a.j(hg(a,e));c&&(Se(a.K,d.i),of(a,Z(a,a.K)))}}function ng(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.j(n)}h[3]&&(g=h[3],f=null);h=a.ba;n=b;h.C=n.C;h.Sa=n.Sa;h.ha=n.ha;h.ca=n.ca;a.j(qf(a,b,g,f));e-=b.C-k;c++}}} +function gg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(mf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Ib(a)&&0p||"z"ma.length&&(a.j("note: only "+ma.length+" available"),da=ma.length);ha-=da;0>ha&&(null==ma[ma.length-1].C?(da=ha+da,ha=0):ha+=ma.length);var Bd= +[];"call"==xf&&(vb=1E5,Bd=["CALL"]);for(void 0!==wf&&a.j(da+" instructions earlier:");0=ma.length&&(ha=0);a.pa=da;zf++;vb--}}zf||(a.j("no "+yf+"history available"),a.pa=void 0)}else{var cb=We(a,la,a.ga);if(cb){var Ia=0,Cf="ds"==$a;if(ya){if("l"==ya.charAt(0))ya=ya.substr(1)||Qg,Ia=Je(a,ya);else{var Df=We(a,ya);Df&& +(Ia=Df.C-cb.C)}0>Ia&&(Ia=0);65536Hf;Hf++)Ff+=String.fromCharCode((vc%64|0)+32),vc/=64}Ja&&(Ja+="\n");Ja=Cf?Ja+(Ka+","):Ja+(la+": "+Ka+(0>Gf?" "+Ff:""))}Ja&&a.j(Ja);a.ca=Sg}}}}break;case "e":if("else"==g[0])break;var If,Jf,Kf= +g[0],Ed=g[1];"e"==Kf||"ew"==Kf?(If=a.Da,Jf=a.mb):Ed=null;if(null==Ed)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var wc=We(a,Ed,a.ga);if(wc)for(var Fd=2;FdId;){for(var La=null,Wg=256;65536>zb.C>>>0;){Jd.C=a.Da(zb,2);if(null==zb.C||!Wg--)break;if(!(Jd.C&1)){for(var Xg= +a,xc=Jd,Mf=null,Ab=xc.C,Nf=Ab,Kd=1;6>=Kd&&Ab;Kd++){if(2Tf)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update"); +else if(a.N)a.j("step in progress");else{var Uf=X(a.v.i);a.Da(Uf);a.N?(a.Fa(a.b,Uf,!0),kf(a)||(a.G&&gd(a.G),a.N=0)):og(a,Tf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}nf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Cb=+g[2];if(8==Cb||10==Cb||16==Cb)a.ca=Cb;else{a.j("invalid base: "+Cb);break}}a.j("default base: "+a.ca);break;case "cs":var Db;void 0!==g[3]&&(Db=+g[3]);switch(g[2]){case "int":a.v.ka=Db;break;case "start":a.v.Aa=Db;break;case "stop":a.v.ma=Db;break; +default:a.j("unknown cs option");break a}void 0!==Db&&Zc(a.v);a.j("checksums "+(a.v.A.Ga?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(dd(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"), +a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":og(a,g[0],g[1]);break;case "u":of(a,g[1],g[2],8);break;case "v":if("var"==g[0]){lg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Ob||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ng(a,b.substr(1));break}var Ld="commands:",Md;for(Md in qg)Ld+="\n"+Ca(Md,9)+qg[Md];pd(a)||(Ld+="\nnote: history disabled if no exec breakpoints"); +a.j(Ld);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Wf){a.j("Debugger "+(Wf.stack||Wf.message)),d=!1}return d}function bd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!gg(a,b[+d]))return!1;return!0} +var qg={"?":"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"},Zf=20,ag=85,$f=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "), +af=0,bf=1,cf=2,df=3,ef=4,ff=5,gf=6,hf=7,$e="PC RA EA C0 C1 OV ND PD".split(" "),rg={},rf=(rg[28672]={0:101},rg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:ag,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},rg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Zf,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},rg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},rg[29248]={24576:79,24640:80,25088:81,25152:82},rg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},rg),Vf=["","I","M","S"],Xf=" L E LE A GE N G".split(" "),Yf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),bg={8:102,4:103,2:104,6:105,1:106},jf=1E3,mf=">> ";Xa(function(){for(var a=x(document,w,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bvg){if(wg(d,this.M)){this.B=new G(this,"1.34.2",Fg);wg(this.B)&&(Gg(this,d),a=Hg,Ig(this.B));this.B.set(Cg,Fa());Jg(this.B);var e=this.b&&!this.K;if(a==Dg||nb("Click OK to restore the previous "+Ob+" machine state, or CANCEL to reset the machine.")){if(c=Bg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?wg(d,g):("error"==f&&"no machine state"!= +g?(this.da("Error: "+g),"unable to verify user"==g&&(Qa(Kg,""),this.i=null)):this.j(f+": "+g),Ig(d),wg(d)?(c=Bg(d),e=!0):c=!1))}e&&zg(this,c?d:null)}else a==Hg&&d.clear()}else zg(this);delete this.M;delete this.I}e=ob(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Lg(this,this.v,b,c,a),I(this,-2),this.v.Z());this.P&&(Gg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0}; +function Gg(a,b){if(nb("There may be a problem with your "+Ob+" machine.\n\nTo help us diagnose it, click OK to send this "+Ob+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Ob;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}} +function pg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.2"),g=new G(a,"1.34.2",Ag),h=Fa();g.set(Cg,h);f.set(Cg,h);f.set(Mg,"1.34.2");f.set(Ng,window?window.location.href:null);f.set(Og,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=ob(a.id),k=0;k=d||30<=(c.Xa+=d))&&(e.textContent=c.A.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Xa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.A.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?ta(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);fh(a,b,c)}})}else c(a,null)} +function gh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);n&&(--ch||fb(!0));n=!1}var h,k,n=!0;ch++;lb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=p:C.appendChild(document.createTextNode(p));t.appendChild(C)}d|| +(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?dh(d,null,a,null,!1,f,function(a,e){e?(kb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ch||fb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ch|| +fb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?dh(c,b,a,e,!0,f,p):eh(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(ca){g(ca.message)}return n}window.embedPDP10=function(a,b,c,d){fb(!1);return gh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){fb(!1);return gh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return qb(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!tb[a]){for(var c=!0,d=tb,e=a,f=b.length,g=[],h=[],k="",n=null,p=0;p