Added support for PDP-10 RAM images

This commit is contained in:
Jeff Parsons 2017-02-26 20:37:16 -08:00 committed by Jeff Parsons
commit aecd943c52
23 changed files with 583 additions and 632 deletions

View file

@ -0,0 +1,7 @@
{
"load": 0o100,
"exec": 0o100,
"data": [
0o500000000000
]
}

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
-13436026,-1752439855,1451819088,1611565826,72255744,18119,246465280,-1964227858,263211744,-1007926546,105993040,-1912584008,-1258114624,-402542583,-2147155945,8168192,
-38465359,149422512,8299264,1482381575,1431458755,-980627318,4984456,12305806,130491904,-953810944,-64953,-1960379140,-50529249,-75236100,113649152,1946157056,
5021704,350994730,1278097552,422912,-352302058,5021895,-1057046230,-524164046,1532648710,1381061571,180049750,375040,855640255,-2131494958,129380546,9672073,

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
-1100993236,-1959854112,76230196,1947140265,-1876497661,-2145246021,-58670876,-401967808,1480327193,867898229,1921771570,4098094,512241152,1692925953,-1664917134,209500754,
-1973295878,-2133526816,1642336484,-533065692,-5179275,-131797778,-2034000550,-771804421,1352109027,39225600,6295179,-956019063,70,-301027133,-527766462,-300961718,
1355017282,-1207545517,-1064435640,162857649,401080752,8389888,-1325368157,-1325550320,583681,117472931,-1017619623,-1974119853,-2000319280,-1912583154,48069,509734,

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
-215511036,-1446729497,-970077091,-889074117,-1059597233,0,0,0,4793994,-1023318392,1996700702,2122974813,-402410489,-1957560157,45351510,-1962894616,
920847438,-1962117493,-661778362,1586212092,8290310,1007908353,1007645703,1007383560,1007121418,-1828490227,508662700,4241488,-396830578,1495203869,123392994,-167281014,
1962999878,-402476027,-1977679793,-2013247194,1019412838,1010529287,1010267144,1010005002,-1188072435,162791425,-1275056408,2746371,372949758,343212106,-956378574,1964637824,

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
1126701261,1866670121,1769109872,544499815,1347243843,1126191425,1970302319,544367988,1886547779,1952543343,745434985,943272224,1092627507,1914727532,1952999273,1701978227,
1987208563,539911269,1179863594,1095651370,1279804202,1246905130,-98557910,1676057008,1642483120,-222688080,-930288125,-1141057394,45998350,-1979600896,11857431,-1979484277,
-997588649,-297620242,-2134573494,-227208964,-92268662,1107654104,1257124016,-1912135496,-13433529,-217624693,38242987,163808238,-1329433267,-1337727372,-1337858541,-431888896,

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
-2065284944,-1912586056,7512536,876380390,-436272523,1102112139,1642366182,270848246,-4595574,610395391,1959016976,-1141448176,414823662,-2143568640,-347608855,-431836967,
536919684,-768348877,855638456,-2147436091,-13385074,-1412378210,-964625438,1926642448,-431771412,207742084,-352261364,610395648,-352261133,-1335761408,-2021333436,-1143852034,
-583860223,-628177525,12187187,-741237120,843492511,1979113923,-431640529,-1469979516,1962979520,1189007651,-1314987917,-2133601528,-683994938,-142094222,-1333036467,-1199249850,

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
-400512427,-1070398658,-990193522,637550622,1976516480,-268387576,1706804110,1112117488,168201293,136218881,1108249601,1074185984,-1945315584,-956269042,1610644486,235834421,
201770753,-1154392063,-611450816,11144844,11011783,113639692,-77594489,-402537752,-1070450007,-398905880,28311742,-805250328,-1327494432,13756418,-536155952,8922760,
254067846,-774337640,-1752486173,-628424485,1947256566,-2029092859,145818112,1963509494,-402345718,-355270472,-754928664,11462890,-1962882072,-754142765,10676458,-1962878488,

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
-399463851,-303561389,46589952,-622263437,-393504768,-661733325,1075758330,1112117248,-2144975539,141938495,-1896873800,-261768256,17434252,17309321,-1912586056,199504600,
-2147256851,-726007348,-2147241981,1622347980,-973604425,175374338,-1341934406,46891015,1235418039,-1993963520,-2028042240,-2009167872,1662421248,9168896,1912887528,53471342,
-402479640,378143218,-85458871,60418049,8988288,-259286791,-1976640117,-805222980,201815023,72607984,-317997005,-1976695436,-1962848834,436320488,-2048335994,133922902,

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
820532650,-386632187,-637402904,-371231997,-399310709,-655834994,-388371968,1229063324,-1653387963,-939523095,507574980,-2143354842,146329461,-1900019472,-259212443,25757194,
28843528,-1898430464,200094436,-2134084349,-738000454,-2134069245,1622610099,-989660681,179961972,-1341672445,45580491,1224801186,-1996453850,-2030008290,-2013231042,1660979478,
65595469,-402409726,373883530,184680680,58779831,16328329,-259286901,-1967334098,-789620479,-1949928695,-395244304,-167050189,86961524,1627491006,-1207858194,-538436986,

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
-349132203,808728341,792014896,942617394,942746936,976236602,-1461112784,1112080384,1329799245,1413566541,1162625601,0,0,858796032,758527280,1127559216,
1381584975,1414022985,1380012064,1397310529,1498619973,1296389203,1313415251,824192579,741816377,943208753,1279336492,1230118988,1398032455,1397051936,1163285061,1095194180,
22845,757610496,419831562,101122588,7,1515221248,419831562,101122588,7,757610496,1678147338,66160,0,1380999424,419830031,185401881,

View file

@ -4,7 +4,7 @@
<name pos="center">PDP-10 Test Machine with Debugger</name>
<computer id="computer" busWidth="18"/>
<cpu id="cpu" model="1001" cycles="1000000"/>
<ram id="ram" addr="0x0000" size="0x4000"/>
<ram id="ram" addr="0x0000" size="0x4000" file="/apps/pdp10/tests/optest.json"/>
<device id="default" type="default"/>
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
<panel ref="/devices/pdp10/panel/test/debugger/terminal.xml"/>

View file

@ -4,7 +4,7 @@
<name pos="center">PDP-10 Test Machine</name>
<computer id="computer" busWidth="18"/>
<cpu id="cpu" model="1001" cycles="1000000"/>
<ram id="ram" addr="0x0000" size="0x4000"/>
<ram id="ram" addr="0x0000" size="0x4000" file="/apps/pdp10/tests/optest.json"/>
<device id="default" type="default"/>
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
<panel ref="/devices/pdp10/panel/test/terminal.xml"/>

View file

@ -46,7 +46,7 @@ var DumpAPI = require("../../shared/lib/dumpapi");
* what the loadFile() function already does.
*
* @constructor
* @param {string|undefined} sFormat should be one of "json"|"data"|"hex"|"bytes"|"rom" (see the FORMAT constants)
* @param {string|undefined} sFormat should be one of "json"|"longs"|"hex"|"bytes"|"rom" (see the FORMAT constants)
* @param {boolean|string|undefined} fComments enables comments and other readability enhancements in the JSON output
* @param {boolean|string|undefined} fDecimal forces decimal output if not undefined
* @param {number|string|undefined} offDump
@ -82,7 +82,7 @@ function FileDump(sFormat, fComments, fDecimal, offDump, nWidthDump, sServerRoot
FileDump.sAPIURL = "http://www.pcjs.org" + DumpAPI.ENDPOINT;
FileDump.sCopyright = COPYRIGHT;
FileDump.sNotice = FileDump.sAPIURL + " " + FileDump.sCopyright;
FileDump.sUsage = "Usage: " + FileDump.sAPIURL + "?" + DumpAPI.QUERY.FILE + "=({path}|{URL})&" + DumpAPI.QUERY.FORMAT + "=(json|data|hex|octal|bytes|words|rom)";
FileDump.sUsage = "Usage: " + FileDump.sAPIURL + "?" + DumpAPI.QUERY.FILE + "=({path}|{URL})&" + DumpAPI.QUERY.FORMAT + "=(json|longs|hex|octal|bytes|words|rom)";
FileDump.asBadExts = [
"js", "log"
@ -99,7 +99,7 @@ FileDump.asBadExts = [
*
* Usage
* ---
* filedump --file=({path}|{URL}) [--merge=({path}|{url})] [--format=(json|data|hex|octal|bytes|words|rom)]
* filedump --file=({path}|{URL}) [--merge=({path}|{url})] [--format=(json|longs|hex|octal|bytes|words|rom)]
* [--comments] [--decimal] [--offset={number}] [--width={number}] [--load={number}] [--exec={number}]
* [--output={path}] [--overwrite]
*
@ -146,7 +146,7 @@ FileDump.CLI = function()
var args = proc.getArgs();
if (!args.argc) {
console.log("usage: filedump --file=({path}|{URL}) [--merge=({path}|{url})] [--format=(json|data|hex|octal|bytes|words|rom)] [--comments] [--decimal] [--offset={number}] [--width={number}] [--output={path}] [--overwrite]");
console.log("usage: filedump --file=({path}|{URL}) [--merge=({path}|{url})] [--format=(json|longs|hex|octal|bytes|words|rom)] [--comments] [--decimal] [--offset={number}] [--width={number}] [--output={path}] [--overwrite]");
return;
}
@ -752,7 +752,7 @@ FileDump.prototype.buildJSON = function()
else if (this.sFormat == DumpAPI.FORMAT.OCTAL || this.sFormat == DumpAPI.FORMAT.WORDS) {
this.json += this.dumpBuffer(this.sFormat, this.buf, this.buf.length, 2);
} else {
this.json += this.dumpBuffer("data", this.buf, this.buf.length, 4);
this.json += this.dumpBuffer(DumpAPI.FORMAT.LONGS, this.buf, this.buf.length, 4);
}
}
};

View file

@ -344,10 +344,10 @@ class CPUStatePDP10 extends CPUPDP10 {
}
/*
* Bits 0-22 (I,X,Y) contain what we call a "reference address" (R), which is used to calculate the
* "effective address" (E). To determine E from R, we must extract I, X, and Y from R, set E to Y,
* then add [X] to E if X is non-zero. If I is zero, then we're done; otherwise, we must set R to [E]
* and repeat the process.
* Bits 0-22 (I,X,Y) contain what we call a "reference address" (R), which is used to calculate an
* 18-bit "effective address" (E). To determine E from R, we must extract I, X, and Y from R, set E
* to Y, then add [X] to E if X is non-zero. If I is zero, then we're done; otherwise, we must set R
* to [E] and repeat the process.
*
* However, we don't actually repeat the process immediately; we need to treat each indirection as a
* separate decoding step, to ensure that the emulator can "breathe" periodically. So instead, we

View file

@ -59,7 +59,7 @@ class RAMPDP10 extends Component {
{
super("RAM", parmsRAM);
this.abInit = null;
this.aData = null;
this.aSymbols = null;
this.addrRAM = +parmsRAM['addr'];
@ -71,7 +71,7 @@ class RAMPDP10 extends Component {
if (this.addrExec != null) this.addrExec = +this.addrExec;
this.fInstalled = (!!this.sizeRAM); // 0 is the default value for 'size' when none is specified
this.fAllocated = false;
this.fAllocated = this.fReset = false;
this.sFilePath = parmsRAM['file'];
this.sFileName = Str.getBaseName(this.sFilePath);
@ -180,7 +180,7 @@ class RAMPDP10 extends Component {
Component.addMachineResource(this.idMachine, sURL, sData);
var resource = Web.parseMemoryResource(sURL, sData);
if (resource) {
this.abInit = resource.aBytes;
this.aData = resource.aData;
this.aSymbols = resource.aSymbols;
if (this.addrLoad == null) this.addrLoad = resource.addrLoad;
if (this.addrExec == null) this.addrExec = resource.addrExec;
@ -219,9 +219,9 @@ class RAMPDP10 extends Component {
/*
* Too early...
*/
if (!this.abInit || !this.bus) return;
if (!this.aData) return;
if (this.loadImage(this.abInit, this.addrLoad, this.addrExec, this.addrRAM)) {
if (this.loadImage(this.aData, this.addrLoad, this.addrExec, this.addrRAM)) {
this.status('Loaded image "' + this.sFileName + '"');
} else {
this.notice('Error loading image "' + this.sFileName + '"');
@ -230,9 +230,10 @@ class RAMPDP10 extends Component {
/*
* NOTE: We now retain this data, so that reset() can return the RAM to its predefined state.
*
* delete this.abInit;
* delete this.aData;
*/
}
this.fReset = true;
this.setReady();
}
}
@ -244,126 +245,46 @@ class RAMPDP10 extends Component {
*/
reset()
{
if (this.fAllocated) {
if (this.fAllocated && !this.fReset) {
/*
* TODO: Add a configuration parameter for selecting the byte pattern on reset?
* Note that when memory blocks are originally created, they are currently always
* zero-initialized, so this would only affect resets.
*/
this.bus.zeroMemory(this.addrRAM, this.sizeRAM, 0);
if (this.abInit) {
this.loadImage(this.abInit, this.addrLoad, this.addrExec, this.addrRAM, !this.dbg);
if (this.aData) {
this.loadImage(this.aData, this.addrLoad, this.addrExec, this.addrRAM, !this.dbg);
}
}
this.fReset = false;
}
/**
* loadImage(aBytes, addrLoad, addrExec, addrInit, fStart)
* loadImage(aData, addrLoad, addrExec, addrInit, fStart)
*
* If the array contains a PAPER tape image in the "Absolute Format," load it as specified
* by the format; otherwise, load it as-is using the address(es) supplied.
*
* @this {RAMPDP10}
* @param {Array|Uint8Array} aBytes
* @param {Array} aData
* @param {number|null} [addrLoad]
* @param {number|null} [addrExec] (this CAN override any starting address INSIDE the image)
* @param {number|null} [addrInit]
* @param {boolean} [fStart]
* @return {boolean} (true if loaded, false if not)
*/
loadImage(aBytes, addrLoad, addrExec, addrInit, fStart)
loadImage(aData, addrLoad, addrExec, addrInit, fStart)
{
var fStop = false;
var fLoaded = false;
/*
* Data on tapes in the "Absolute Format" is organized into blocks; each block begins with
* a 6-byte header:
*
* 2-byte signature (0x0001)
* 2-byte block length (N + 6, because it includes the 6-byte header)
* 2-byte load address
*
* followed by N data bytes. If N is zero, then the 2-byte load address is the exec address,
* unless the address is odd (usually 1). DEC's Absolute Loader jumps to the exec address
* in former case, halts in the latter.
*
* All values are stored "little endian" (low byte followed by high byte), just like the
* PDP-11's memory architecture.
*
* After the data bytes, there is a single checksum byte. The 8-bit sum of all the bytes in
* the block (including the header bytes and checksum byte) should be zero.
*
* ANOMALIES: Tape files don't always begin with a signature word, so I allow any number of
* leading zeros before the first signature. Tape files don't always end cleanly either, so as
* soon as I see an invalid signature, I break out of the loop without signalling an error, as
* long as at least ONE block was successfully processed. In fact, it's possible that as
* soon as a block with ZERO data bytes is encountered, processing is supposed to stop, but
* I haven't examined enough tapes (or the Absolute Loader code) to know for sure.
*/
if (addrLoad == null) {
var off = 0, fError = false;
while (off < aBytes.length - 1) {
var w = (aBytes[off] & 0xff) | ((aBytes[off+1] & 0xff) << 8);
if (!w) { // ignore pairs of leading zeros
off += 2;
continue;
}
if (!(w & 0xff)) { // as well as single bytes of zero
off++;
continue;
}
var offBlock = off;
if (w != 0x0001) {
this.printMessage("invalid signature (" + Str.toHexWord(w) + ") at offset " + Str.toHexWord(offBlock), MessagesPDP10.PAPER);
break;
}
if (off + 6 >= aBytes.length) {
this.printMessage("invalid block at offset " + Str.toHexWord(offBlock), MessagesPDP10.PAPER);
break;
}
off += 2;
var checksum = w;
var len = (aBytes[off++] & 0xff) | ((aBytes[off++] & 0xff) << 8);
var addr = (aBytes[off++] & 0xff) | ((aBytes[off++] & 0xff) << 8);
checksum += (len & 0xff) + (len >> 8) + (addr & 0xff) + (addr >> 8);
var offData = off, cbData = len -= 6;
while (len > 0 && off < aBytes.length) {
checksum += aBytes[off++] & 0xff;
len--;
}
if (len != 0 || off >= aBytes.length) {
this.printMessage("insufficient data for block at offset " + Str.toHexWord(offBlock), MessagesPDP10.PAPER);
break;
}
checksum += aBytes[off++] & 0xff;
if (checksum & 0xff) {
this.printMessage("invalid checksum (" + Str.toHexByte(checksum) + ") for block at offset " + Str.toHexWord(offBlock), MessagesPDP10.PAPER);
break;
}
if (!cbData) {
if (addr & 0x1) {
fStop = true;
} else {
if (addrExec == null) addrExec = addr;
}
if (addrExec != null) this.printMessage("starting address: " + Str.toHexWord(addrExec), MessagesPDP10.PAPER);
} else {
this.printMessage("loading " + Str.toHexWord(cbData) + " bytes at " + Str.toHexWord(addr) + "-" + Str.toHexWord(addr + cbData), MessagesPDP10.PAPER);
while (cbData--) {
this.bus.setWordDirect(addr++, aBytes[offData++]);
}
}
fLoaded = true;
}
addrLoad = addrInit;
}
if (!fLoaded) {
if (addrLoad == null) addrLoad = addrInit;
if (addrLoad != null) {
for (var i = 0; i < aBytes.length; i++) {
this.bus.setWordDirect(addrLoad + i, aBytes[i]);
}
fLoaded = true;
if (addrLoad != null) {
for (var i = 0; i < aData.length; i++) {
this.bus.setWordDirect(addrLoad + i, aData[i]);
}
fLoaded = true;
}
if (fLoaded) {
/*
@ -374,7 +295,7 @@ class RAMPDP10 extends Component {
* image, but we know that the directions for that diagnostic say to "Start and Restart at 200",
* so we have manually inserted an "exec":128 in the JSON containing the image.
*/
if (addrExec == null || fStop) {
if (addrExec == null) {
this.cpu.stopCPU();
fStart = false;
}

View file

@ -76,7 +76,7 @@ class RAMPDP11 extends Component {
if (this.addrExec != null) this.addrExec = +this.addrExec;
this.fInstalled = (!!this.sizeRAM); // 0 is the default value for 'size' when none is specified
this.fAllocated = false;
this.fAllocated = this.fReset = false;
this.sFilePath = parmsRAM['file'];
this.sFileName = Str.getBaseName(this.sFilePath);
@ -224,7 +224,7 @@ class RAMPDP11 extends Component {
/*
* Too early...
*/
if (!this.abInit || !this.bus) return;
if (!this.abInit) return;
if (this.loadImage(this.abInit, this.addrLoad, this.addrExec, this.addrRAM)) {
this.status('Loaded image "' + this.sFileName + '"');
@ -238,6 +238,7 @@ class RAMPDP11 extends Component {
* delete this.abInit;
*/
}
this.fReset = true;
this.setReady();
}
}
@ -249,7 +250,7 @@ class RAMPDP11 extends Component {
*/
reset()
{
if (this.fAllocated) {
if (this.fAllocated && !this.fReset) {
/*
* TODO: Add a configuration parameter for selecting the byte pattern on reset?
* Note that when memory blocks are originally created, they are currently always
@ -260,6 +261,7 @@ class RAMPDP11 extends Component {
this.loadImage(this.abInit, this.addrLoad, this.addrExec, this.addrRAM, !this.dbg);
}
}
this.fReset = false;
}
/**

View file

@ -70,6 +70,7 @@ var DumpAPI = {
OCTAL: "octal", // displays data as octal words
BYTES: "bytes", // displays data as hex bytes; normally used only when comments are enabled
WORDS: "words", // displays data as hex words; normally used only when comments are enabled
LONGS: "longs", // displays data as dwords
IMG: "img", // returns the raw disk data (ie, using a Buffer object) (DiskDump only)
ROM: "rom" // returns the raw file data (ie, using a Buffer object) (FileDump only)
}

View file

@ -268,6 +268,23 @@ class Web {
/**
* parseMemoryResource(sURL, sData)
*
* This converts a variety of JSON-style data streams into an Object with the following properties:
*
* aBytes
* aSymbols
* addrLoad
* addrExec
*
* If the source data contains a 'bytes' array, it's passed through to 'aBytes'; alternatively, if
* it contains a 'words' array, the values are converted from 16-bit to 8-bit and stored in 'aBytes',
* and if it contains a 'longs' array, the values are converted from 32-bit longs into bytes and
* stored in 'aBytes'.
*
* Alternatively, if the source data contains a 'data' array, we simply pass that through to the output
* object as:
*
* aData
*
* @param {string} sURL
* @param {string} sData
* @return {Object|null} (resource)
@ -315,8 +332,8 @@ class Web {
*
* ["unrecognized disk path: test.img"]
*/
if (sData.indexOf("0x") < 0 && sData.substr(0, 2) != "[\"") {
data = JSON.parse(sData.replace(/([a-z]+):/gm, "\"$1\":").replace(/\/\/[^\n]*/gm, ""));
if (sData.indexOf("0x") < 0 && sData.indexOf("0o") < 0 && sData.substr(0, 2) != '["') {
data = JSON.parse(sData.replace(/([a-z]+):/gm, '"$1":').replace(/\/\/[^\n]*/gm, ""));
} else {
data = eval("(" + sData + ")");
}
@ -338,7 +355,7 @@ class Web {
Component.assert(!(a[i] & ~0xffff));
}
}
else if (a = data['data']) {
else if (a = data['longs']) {
/*
* Convert all dwords (longs) into bytes
*/
@ -350,20 +367,25 @@ class Web {
resource.aBytes[ib++] = (a[i] >> 24) & 0xff;
}
}
else if (a = data['data']) {
resource.aData = a;
}
else {
resource.aBytes = data;
}
if (resource.aBytes) {
if (!resource.aBytes.length) {
Component.error("Empty resource: " + sURL);
resource = null;
}
else if (resource.aBytes.length == 1) {
Component.error(resource.aBytes[0]);
resource = null;
}
}
resource.aSymbols = data['symbols'];
if (!resource.aBytes.length) {
Component.error("Empty resource: " + sURL);
resource = null;
}
else if (resource.aBytes.length == 1) {
Component.error(resource.aBytes[0]);
resource = null;
}
} catch (e) {
Component.error("Resource data error (" + sURL + "): " + e.message);
resource = null;

View file

@ -1,4 +1,4 @@
{"data":[
{"longs":[
-2126857072,112742,-144277504,297297640,1715745570,-1184447607,-2005440939,1726084966,963047927,1602555864,-1898827382,-661887270,264275302,-376811131,-1869578132,-1869574000,
-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,
-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,
@ -1019,4 +1019,4 @@
-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,
-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,
-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,-1869574000,65770,1350598896,5458499]
}
}

View file

@ -28,199 +28,197 @@
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
*/
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++}
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 ca(){ca=function(){};ba.Symbol||(ba.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++}
function ha(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return ja(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ja(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ka(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
ka("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var la=Math.pow(2,36),ma=-Math.pow(2,35),q={$b:0,nb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,Ya:8,hc:9,ob:10,ic:11,jc:12,pb:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc: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,Xa:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81,
Jc:82,Kc:83,Lc:84,Mc:85,Nc:86,Oc:87,Pc:88,Qc:89,tb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Rc:97,Sc:98,Tc:99,d:100,e:101,Uc:102,Vc:103,Wc:104,Xc:105,Yc:106,k:107,Zc:108,$c:109,n:110,ad:111,p:112,q:113,r:114,bd:115,t:116,dd:117,ed:118,fd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,qb:127};
function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.bb=b.comment;this.sb=b;this.exports={};this.G=this.bindings={};a=this.id.indexOf(".");0>a?this.Ja=this.id:(this.Ka=this.id.substr(0,a),this.Ja=this.id.substr(a+1));this.j={ready:!1,Ea:!1,Ua:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.V=c||0;this.A=this.g=this.C=this.D=this.ka=null;v.push(this)}function ta(a,b,c){ua[a]&&b&&(ua[a][b]=c)}function va(){return Date.now()||+new Date}
function w(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}function x(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function xa(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}
function y(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
function ya(a,b){var c=B;b=C(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=A(g))&&h.binding&&a.ea(h.type,h.binding,g,h.value),m=k.length}}}}
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function za(a){for(var b=!0,c=Aa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Ba.indexOf(e)&&(f=function(){return function(){za(a)}}());var g=Ca[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=y(d[1],a);if(h)if(g=Ea[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){w("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Aa[a];return b}l=t.prototype;
var ra=Math.pow(2,36),sa=-Math.pow(2,35),q={ac:0,ob:1,cc:2,dc:3,ec:4,fc:5,gc:6,hc:7,Za:8,ic:9,pb:10,jc:11,kc:12,qb:13,lc:14,mc:15,nc:16,oc:17,pc:18,qc:19,rc:20,sc:21,tc:22,uc:23,vc:24,wc:25,xc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ya:65,$b:66,bc:67,yc:68,E:69,zc:70,Ac:71,Bc:72,Cc:73,Dc:74,Ec:75,Fc:76,Gc:77,Hc:78,Ic:79,Jc:80,Q:81,
Kc:82,Lc:83,Mc:84,Nc:85,Oc:86,Pc:87,Qc:88,Rc:89,ub:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Sc:97,Tc:98,Uc:99,d:100,e:101,Vc:102,Wc:103,Xc:104,Yc:105,Zc:106,k:107,$c:108,ad:109,n:110,bd:111,p:112,q:113,r:114,cd:115,t:116,ed:117,fd:118,gd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,rb:127};
function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.cb=b.comment;this.tb=b;this.exports={};this.G=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Va:!1,U:!1,error:!1};this.Na=null;this.j.error=!1;this.V=c||0;this.A=this.g=this.D=this.C=this.ka=null;u.push(this)}function ta(a,b,c){ua[a]&&b&&(ua[a][b]=c)}function va(){return Date.now()||+new Date}
function v(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}function w(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function xa(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null}
function y(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function B(a,b){var c=C;b=D(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=A(f))&&h.binding&&a.ea(h.type,h.binding,f,h.value),m=k.length}}}}
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function ya(a){for(var b=!0,c=za[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=Aa.indexOf(e)&&(g=function(){return function(){ya(a)}}());var f=Ba[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=y(d[1],a);if(h)if(f=Ca[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){v("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete za[a];return b}l=t.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type};
l.ea=function(a,b,c){switch(b){case "clear":return this.G[b]||(this.G[b]=c,c.onclick=function(a){return function(){a.G.print&&(a.G.print.value="")}}(this)),!0;case "print":return this.G[b]||(this.ka=this.G[b]=c,c.value="",this.f=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.Z=function(a){this.f(a,this.Ja)}),!0;default:return!1}};l.log=function(){};l.f=function(){};
l.status=function(a){this.f(this.Ja+": "+a)};l.Z=function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)};function Ka(a,b){a.j.error=!0;a.Z(b)}function La(a){return a.j.error?(a.f(a.toString()+" error"),!0):!1}function Ma(a,b){b&&(a.j.ready?b():a.Ma=b);return a.j.ready}function D(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.Ma;a.Ma=null;b&&b()}}function Na(a,b){a.j.Ea&&(b?a.j.Ua=!0:void 0===b&&a.f(a.toString()+" busy"));return a.j.Ea}
function Oa(a,b){if(a.j.Ua)return a.j.Ea=!1,a.j.Ua=!1;if(a.j.error)return a.f(a.toString()+" error"),!1;a.j.Ea=b;return a.j.Ea}l.ma=function(){return this.j.U=!0};l.da=function(a,b){b&&(this.j.U=!1);return!0};function Pa(a,b){if(a.A){a===a.A?b|=0:b=b||a.V;var c=a.A.V&b;return!!b&&c===b||!!(c&a.A.hb)}return!1}function E(a,b,c,d){a.A&&(!0===c||Pa(a,c|0))&&a.A.message(b,d)}
l.ea=function(a,b,c){switch(b){case "clear":return this.G[b]||(this.G[b]=c,c.onclick=function(a){return function(){a.G.print&&(a.G.print.value="")}}(this)),!0;case "print":return this.G[b]||(this.ka=this.G[b]=c,c.value="",this.f=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.Z=function(a){this.f(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.f=function(){};
l.status=function(a){this.f(this.Ka+": "+a)};l.Z=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Ia(a,b){a.j.error=!0;a.Z(b)}function Ja(a){return a.j.error?(a.f(a.toString()+" error"),!0):!1}function Ka(a,b){b&&(a.j.ready?b():a.Na=b);return a.j.ready}function E(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.Na;a.Na=null;b&&b()}}function La(a,b){a.j.Fa&&(b?a.j.Va=!0:void 0===b&&a.f(a.toString()+" busy"));return a.j.Fa}
function Ma(a,b){if(a.j.Va)return a.j.Fa=!1,a.j.Va=!1;if(a.j.error)return a.f(a.toString()+" error"),!1;a.j.Fa=b;return a.j.Fa}l.ma=function(){return this.j.U=!0};l.da=function(a,b){b&&(this.j.U=!1);return!0};function Na(a,b){if(a.A){a===a.A?b|=0:b=b||a.V;var c=a.A.V&b;return!!b&&c===b||!!(c&a.A.ib)}return!1}function Oa(a,b,c,d){a.A&&(!0===c||Na(a,c|0))&&a.A.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var ua=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],Aa=window?window.PCjs.Commands:{},Ba=["hold","sleep","wait"],Ca={alert:function(a){w(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ea={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
var ua=window?window.PCjs.Machines:{},u=window?window.PCjs.Components:[],za=window?window.PCjs.Commands:{},Aa=["hold","sleep","wait"],Ba={alert:function(a){v(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ca={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
function Qa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function Ra(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function F(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function G(a){return F(a,4,!0)}function Sa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function Ta(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}
function Ua(){var a=Va();return-1!==a.indexOf("pcjs.org",a.length-8)}function Wa(a){return a.replace(/[&<>"']/g,function(a){return Xa[a]})}function Ya(a,b){return(a+" ").slice(0,b)}function Za(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Xa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};
function $a(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function ab(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function jb(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="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function kb(a,b){var c,d={W:null,T:null,ja:null,ia:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ja=g.load;d.ia=g.exec;if(e=g.bytes)d.W=e;else if(e=g.words)for(d.W=Array(2*e.length),f=c=0;c<e.length;c++)d.W[f++]=e[c]&255,d.W[f++]=e[c]>>8&255;else if(e=g.data)for(d.W=Array(4*e.length),f=c=0;c<e.length;c++)d.W[f++]=e[c]&255,
d.W[f++]=e[c]>>8&255,d.W[f++]=e[c]>>16&255,d.W[f++]=e[c]>>24&255;else d.W=g;d.T=g.symbols;d.W.length?1==d.W.length&&(w(d.W[0]),d=null):(w("Empty resource: "+a),d=null)}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){w("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.W=e)}return d}
function Va(){return"http://"+(window?window.location.host:"www.pcjs.org")}function lb(){if(null==mb){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}mb=a}return mb}function nb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function ob(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pb(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function qb(a){if(!rb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}rb=c}return rb[a]}function sb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function tb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function ub(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function vb(a){wb.init.push(a)}
function xb(a){if(yb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function zb(a){!yb&&a?(yb=!0,Ab&&Bb("init"),Cb&&Bb("show")):yb=a}function Bb(a){wb[a]&&xb(wb[a])}var rb=null,wb={init:[],show:[],exit:[]},Ab=!1,Cb=!1,yb=!0,mb=null;ub("onload",function(){Ab=!0;xb(wb.init)});ub("onpageshow",function(){Cb=!0;xb(wb.show)});ub(pb("Opera")||pb("iOS")?"onunload":"onbeforeunload",function(){xb(wb.exit)});
var B="pdp10",Db="PDPjs",Jb=Math.pow(2,18),Kb=Math.pow(2,18)-1,Lb=Math.pow(2,36),Mb=Math.pow(2,21),Nb=Math.pow(2,26),Ob=Math.pow(2,23),B="pdp10",Db="PDPjs",H={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Pb(a,b){t.call(this,"Panel",a,512);this.I=this.K=0;this.S=b;this.i=this.H=this.u=this.w=0;this.L=this.M=-1;this.N=this.O=this.F=!1;this.P=Qb;this.B={};this.b={START:[1,1,!0,!1,this.Gb],STEP:[1,1,!1,!1,this.Hb],ENABLE:[1,1,!1,!1,this.Bb],CONT:[1,1,!0,!1,this.zb],DEP:[0,0,!0,!1,this.Ab],EXAM:[1,1,!0,!1,this.Cb],LOAD:[1,1,!0,!1,this.Eb],TEST:[0,0,!0,!1,this.Db]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Fb,a];this.A=this.g=this.C=this.D=null;this.exports={hold:this.xb,toggle:this.Sb,reset:this.Ob,
set:this.Rb};D(this)}p(Pb,t);l=Pb.prototype;l.reset=function(a){this.stop();a&&Rb(this,this.w=0)};
l.ea=function(a,b,c,d){if(this.D&&this.D.ea(a,b,c,d)||this.g&&this.g.ea(a,b,c,d)||this.A&&this.A.ea(a,b,c,d))return!0;switch(b){case "PC":return this.G[b]=c,this.K++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.B[b]=d?1:0,this.K++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Sb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Tb(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){Sb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Tb(a,b)}}(this,b),!0):t.prototype.ea.call(this,a,b,c,d)}};l.ua=function(a,b,c,d){this.D=a;this.C=b;this.g=c;this.A=d;Ub(this);Vb(this)};l.ma=function(a,b){if(!b)if(this.S&&Wb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.da=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])Xb(this,this.i=a[0]),Rb(this,this.w=a[1]),Yb(this,a[2]);return!0};l.Ob=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}Vb(this);return!0};function Zb(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Ub(a,b){for(var c in a.B)Zb(a,c,null!=b?b:a.B[c])}function $b(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Vb(a){for(var b in a.b)$b(a,b,a.b[b][1])}
l.xb=function(a,b,c){if(Sb(this,b)){if(c){var d=this;setTimeout(function(){Tb(d,b);a&&a()},+c);return!1}Tb(this,b)}return!0};l.Rb=function(a,b){if("SR"==a)return Yb(this,Qa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,$b(this,a,c[1]),!0):!1};l.Sb=function(a){return Sb(this,a)?(Tb(this,a),!0):!1};function Sb(a,b){var c=a.b[b];return c?($b(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=ac&&(a.N=b==bc,a.O=b==cc),!0):!1}
function Tb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&($b(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Gb=function(a){a||this.g.j.J||(this.g.i=this.i%Jb,this.b[dc]&&this.b[dc][1]&&ec(this.g))};l.Hb=function(){};l.Bb=function(a){a||this.g.R()};
l.zb=function(a){if(!a&&!this.g.j.J)if(this.b[dc]&&this.b[dc][1])ec(this.g);else{if((a=this.A)&&!Na(a,!0))Oa(a,!0),fc(a,0,null),Oa(a,!1);else try{var b=this.g.Ia(1);0<b&&(gc(this.g,b),hc(this.g,b,!0),ic(this.g,b))}catch(c){"number"!=typeof c&&Ka(this.g,c.stack||c.message)}this.stop();this.D&&K(this.D)}};l.Ab=function(a){a&&!this.g.j.J&&(this.N&&jc(this),a=Rb(this,this.w=this.u),this.P==Qb?kc(this.C,this.i,a):this.g.wa(this.i,a))};
l.Cb=function(a){if(!a&&!this.g.j.J){var b;this.O&&jc(this);this.P==Qb?b=lc(this.C,this.i):b=this.g.aa(this.i);Rb(this,this.w=b)}};l.Eb=function(a){a||this.g.j.J||Xb(this,this.u)};l.Db=function(a){a?(this.F=!0,Ub(this,!0)):(this.F=!1,Ub(this),Yb(this,0))};l.Fb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function jc(a){var b=1,c=a.C.u;a.b[ac]&&a.b[ac][1]||(b=-b);Xb(a,a.i&~c|a.i+b&c)}
function Xb(a,b){a.i=b&a.C.u;if(a.L!==a.i){a.L=a.i;b=a.L;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.B[e]=f;d.F||Zb(d,e,f)}}}function Rb(a,b){a.H=b%Lb;if(a.M!==a.H){a.M=a.H;b=a.M;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.B[e]=f;d.F||Zb(d,e,f)}}return a.H}function Yb(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;Vb(a);return!0}l.stop=function(){Xb(this,this.g.i)};
function Wb(){for(var a=C(document,B,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=xa(d.id);e||(e=new Pb(d,!0));ya(e,c)}}var Qb=7,bc="DEP",dc="ENABLE",cc="EXAM",ac="STEP";vb(Wb);function mc(a,b,c){t.call(this,"Bus",a,16);this.g=b;this.A=c;this.H=+a.busWidth||18;this.F=1<<this.H;this.u=this.F-1;this.i=Math.log2(16384);this.B=this.F/16384|0;this.w=0;this.b=[];a=new L(this);nc(a,this.A);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;D(this)}p(mc,t);l=mc.prototype;l.reset=function(){};
l.ma=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.da=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,oc(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){w("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function pc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.v)return h.Ha+=h.v-e,h.v=e,!0;if(e>=h.v+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.v+m;e=k+16384;f-=m;g++;continue}}return qc(rc,e,f)}e=new L(a,e,m,16384,d);nc(e,a.A,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Ic[d]+" at "+Ra(b)),!0):qc(Jc,b,c)}
function lc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.i(b&16383,b);a.w--;return b}function kc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function oc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.La||e.ub){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<e.length&&(e=k)}c[f]=e}}return c}
l.wb=function(a){this.w||(this.A&&Pa(this.A,4)&&E(this.A,"memory fault on "+M(this.A,a),!0,!0),this.g.R())};function qc(a,b,c){w("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var rc=1,Jc=2;function Kc(a){t.call(this,"Device",a,256)}p(Kc,t);l=Kc.prototype;l.ua=function(a,b,c,d){this.C=b;this.D=a;this.g=c;this.A=d;D(this)};l.ma=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.da=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new J(this)).data()};
l.restore=function(){return!0};vb(function(){for(var a=C(document,B,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new Kc(c),ya(c,d)}}});function L(a,b,c,d,e){this.B=a;this.id=Lc+=2;this.v=b;this.Ha=c;this.size=d||0;this.type=e||Mc;this.G=e==Nc;this.b=null;this.aa=this.i=this.u=this.Ga;this.wa=this.D=this.w=this.va;this.A=this.C=0;nc(this);this.La=this.ub=!1;if(this.size){a=this.g=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Oc(this,Pc)}else Oc(this)}l=L.prototype;
l.save=function(){return this.g};l.restore=function(a){return a&&this.size==a.length?(this.g=a,this.La=!0):!1};function Oc(a,b){b||(b=Qc);Rc(a,b,void 0);Sc(a,b,void 0)}function Rc(a,b,c){c&&a.A||(a.aa=b[2]||a.Ga);if(c||void 0===c)a.u=b[0]||a.Ga,a.i=b[2]||a.Ga}function Sc(a,b,c){c&&a.C||(a.wa=!a.G&&b[3]||a.va);if(c||void 0===c)a.w=b[1]||a.va,a.D=b[3]||a.va}l.Aa=function(a,b){b?this.C++||Sc(this,Tc,!1):this.A++||Rc(this,Tc,!1)};function Uc(a,b){b?--a.C||(a.wa=a.G?a.va:a.D):--a.A||(a.aa=a.i)}
function nc(a,b,c){a.b=b;a.A=a.C=0;c&&((a.A=c.A)&&Rc(a,Tc,!1),(a.C=c.C)&&Sc(a,Tc,!1))}l.Ga=function(a,b){this.b&&Pa(this.b,32)&&E(this.b,"attempt to read invalid address "+M(this.b,b),!0);this.B.wb(b);return-1};l.va=function(a,b,c){this.b&&Pa(this.b,32)&&E(this.b,"attempt to write "+M(this.b,a)+" to invalid addresses "+M(this.b,c),!0)};l.Jb=function(a,b,c,d){a=this.g[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};l.Mb=function(a){return this.g[a]};
l.Vb=function(a,b,c,d,e){c=this.g[b];var f=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*f+d%f;this.g[b]!=c&&(this.g[b]=c,this.La=!0)};l.Xb=function(a,b){this.g[b]=a;this.La=!0};l.Ib=function(a,b,c,d){if(this.b&&null!=this.v){var e=this.b;Vc(e,this.v+a,1,e.K)&&e.R(!1)}return this.u(a,b,c,d)};l.Kb=function(a,b){if(this.b&&null!=this.v){var c=this.b;Vc(c,this.v+a,2,c.K)&&c.R(!1)}return this.i(a,b)};
l.Ub=function(a,b,c,d,e){if(this.b&&null!=this.v){var f=this.b;Vc(f,this.v+b,1,f.F)&&f.R(!1)}this.G?this.va(a,0,c):this.w(a,b,c,d,e)};l.Wb=function(a,b,c){if(this.b&&null!=this.v){var d=this.b;Vc(d,this.v+b,2,d.F)&&d.R(!1)}this.G?this.va(a,0,c):this.D(a,b,c)};var Mc=0,Nc=2,Ic=["NONE","RAM","ROM"],Lc=0,Qc=[],Pc=[L.prototype.Jb,L.prototype.Vb,L.prototype.Mb,L.prototype.Xb],Tc=[L.prototype.Ib,L.prototype.Ub,L.prototype.Kb,L.prototype.Wb];
function Wc(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ca=0;this.Sa=b;this.S=c;this.Qa=Math.round(this.Sa/1E4)/100;this.P=this.Qa*this.S;this.Ra=this.ta=this.Y=this.ya=0;this.j.J=this.j.Pa=!1;this.j.X=a.autoStart;"string"==typeof this.j.X&&(this.j.X="true"==this.j.X);this.j.Da=!1;this.ra=this.fa=0;this.sa=+a.csStart;this.ba=+a.csInterval;this.ga=+a.csStop;this.H=[];this.eb=this.Pb.bind(this);this.M=this.F=this.K=this.L=this.B=this.qa=this.I=this.ha=this.Ta=this.O=0;this.xa=
null;D(this)}p(Wc,t);l=Wc.prototype;l.ua=function(a,b,c,d){this.D=a;this.C=b;this.A=d;this.xa=a.u;for(a=0;a<Xc.length;a++)(b=this.G[Xc[a]])&&this.D.ea(null,Xc[a],b);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.ma=function(a,b){var c=Yc(this.D,"autoStart");null!=c?this.j.X="true"==c?!0:"false"==c?!1:!!c:null==this.j.X&&(this.j.X=!this.A&&void 0===this.G.run);if(!b){if(a){Zc(this);if(!this.restore(a))return!1;$c(this)}else this.reset();this.A?(a=this.A,b=this.j.X,a.xa=!0,a.f("Type ? for help with PDPjs Debugger commands"),ad(a),b||bd(a),a.sa&&(b=a.sa,a.sa=null,cd(a,b))):this.status("No debugger detected");this.j.X||this.f("CPU will not be auto-started "+(this.xa?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.da=function(a){return a?this.save():!0};l.X=function(){return this.j.J?!0:this.j.X?(ec(this),!0):!1};l.kb=function(){return 0};function $c(a){void 0===a.sa&&(a.sa=0);void 0===a.ba&&(a.ba=-1);void 0===a.ga&&(a.ga=-1);a.j.Da=0<=a.sa&&0<a.ba;a.j.Da&&(a.ra=0,a.fa=a.sa-a.M)}function ic(a,b){if(a.j.Da){var c=!1;a.ra=a.ra+a.kb()|0;a.fa-=b;0>=a.fa&&(a.fa+=a.ba,c=!0);0<=a.ga&&a.ga<=dd(a)&&(a.ba=a.ga=-1,$c(a),a.R(),c=!0);c&&a.f(dd(a)+" cycles: checksum="+F(a.ra))}}
l.ea=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.D)if(a=d.D,a.j.U)a=!0;else{var b=null,c,h=x(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.j.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.j.U);c++);c==h.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.Ma?" (waiting for notification)":""))+".");a=!1}a&&(d.j.J?d.R():ec(d))},!0;case "speed":return this.G[b]=
c,!0;case "setSpeed":return this.G[b]=c,c.onclick=function(){ed(d,d.S<<1,!0)},c.textContent=this.P.toFixed(2)+"Mhz",!0}return!1};function hc(a,b,c){a.M+=b;c&&(a.K=a.L=0)}function fd(a,b){var c=1;b&&1<a.S&&a.O&&(c=a.O/a.Qa);a.Ra=Math.round(1E3/gd);a.ta=Math.floor(a.Sa/gd*c);b||(a.Y=a.ta);a.ya=0}function dd(a){return a.M+a.F+a.K-a.L}function Zc(a){a.O=0;a.Ta=0;a.M=a.F=a.K=a.L=0;$c(a);ed(a,1)}
function ed(a,b,c){var d=!1;if(void 0!==b){.8>a.O/a.P?b=1:d=!0;a.S=b;b=a.Qa*a.S;if(a.P!=b){a.P=b;b=a.P.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.D&&hd(a.D)}hc(a,a.F);a.F=0;a.B=va();a.I=0;fd(a);return d}function id(a,b){for(var c=a.H.length-1;0<=c;c--){var d=a.H[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function jd(a){for(var b=[],c=0;c<a.H.length;c++)b.push(a.H[c][0]);return b}
function gc(a,b){for(var c=a.H.length-1;0<=c;c--){var d=a.H[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function kd(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c}
l.Pb=function(){if(this.j.J){this.ya>=this.Sa&&fd(this,!0);this.ha=0;this.qa=va();if(this.I){var a=this.qa-this.I;a>this.Ra&&(this.B+=a,this.B>this.qa&&(this.B=this.qa))}try{do{var b=id(this,this.j.Da?1:this.ta);try{this.Ia(b)}catch(e){if("number"!=typeof e)throw e;}b=kd(this,!0);this.ha+=b;this.F+=b;ic(this,b);gc(this,b);this.Y-=b;if(0>=this.Y){this.Y+=this.ta;++this.Ta>=ld&&(this.D&&K(this.D,void 0),this.Ta=0);break}}while(this.j.J)}catch(e){this.R();this.D&&this.D.stop(va(),dd(this));Ka(this,e.stack||
e.message);return}if(this.j.J){a=setTimeout;b=this.eb;this.I=va();var c=this.Ra;this.ha&&(c=Math.round(c*this.ha/this.ta));var c=c-(this.I-this.qa),d=this.I-this.B;d&&(this.O=Math.round(this.F/(10*d))/100,864E5<=d&&(this.M=0,ed(this)));if(0>c||this.O<this.P)-1E3>c&&(this.B-=c),c=0;this.ya+=this.ha;this.I+=c;a(b,c)}}};
function ec(a,b){if(!La(a))if(a.j.J)a.f(a.toString()+" busy");else{ed(a);a.j.J=!0;a.j.Pa=!0;var c=a.G.run;c&&(c.textContent="Halt");a.D&&(b&&hd(a.D,!0),a.D.start(a.B,dd(a)));a.A||a.status("Started");setTimeout(a.eb,0)}}l.Ia=function(){return 0};l.R=function(a){var b=!1;if(this.j.J){kd(this);hc(this,this.F);this.F=0;this.j.J=!1;if(b=this.G.run)b.textContent="Run";this.D&&this.D.stop(va(),dd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var gd=30,ld=15,Xc=["power","reset"];
function md(a){var b=+a.model||1001;Wc.call(this,a,1E6);this.cb=b;this.ab=+a.addrReset||0;this.rb=nd.bind(this);this.b=P.bind(this);this.na=null;this.$a=[];this.j.complete=!1}p(md,Wc);l=md.prototype;l.reset=function(){this.status("Model "+this.cb);this.j.J&&this.R();this.w=this.N=this.za=0;this.oa=this.i=this.pa=this.ab;this.u=0;this.aa=this.Lb;this.wa=this.Yb;this.na=null;Zc(this);this.j.error=!1;Wc.prototype.reset.call(this)};l.kb=function(){return 0};
l.save=function(){var a=new J(this);a.set(0,[this.w,this.N,this.za,this.i,this.pa,this.oa,this.u]);a.set(1,[]);a.set(2,[this.M,this.S,this.j.X]);a.set(3,od(this));a.set(4,jd(this));return a.data()};
l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.w=b.next().value;this.N=b.next().value;this.za=b.next().value;this.i=b.next().value;this.pa=b.next().value;this.oa=b.next().value;this.u=b.next().value;b=a[2];this.M=b[0];ed(this,b[1]);this.j.X=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.$a.length;d++){var e=this.$a[d];if(e.Tb===b[c]){d=e;break a}}d=null}d&&(d.next=this.na,this.na=d)}a=a[4];for(b=0;b<this.H.length&&b<a.length;b++)this.H[b][0]=
a[b];return!0};function pd(a,b){var c=a.i;a.i=(c+b)%Jb;return c}function od(a){var b=[];for(a=a.na;a;)b.push(a.Tb),a=a.next;return b}l.Lb=function(a){var b=this.C;a=this.oa=a;return b.b[(a&b.u)>>>b.i].aa(a&16383,a)};l.Yb=function(a,b){var c=this.C;a=this.oa=a;c.b[(a&c.u)>>>c.i].wa(b,a&16383,a)};
l.Ia=function(a){this.j.complete=!0;var b=this.A?qd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.K=this.L=a;this.u=this.u&-5|(b?4:0);do{if(this.u){if(this.u&4){if(rd(this.A,this.i,c)){this.R();break}++b||(this.u&=-5);c||c++}if(a=this.u&11)this.u&2?this.na||(this.u&=-3):this.u&1&&this.u++,a=!1;if(a){if(this.u&4&&rd(this.A,this.i,c)){this.R();break}if(0>c)break}}this.u&=15;this.N=this.N&4194304?this.aa(this.w):this.za=this.aa(this.pa=this.i);this.w=this.N&262143;if(a=this.N>>18&
15)this.w=this.w+this.aa(a)&Kb;this.N&4194304?a=-1:(this.i=(this.i+1)%Jb,a=this.za/Ob|0);0<=a&&this.rb(a)}while(0<this.L);return this.j.complete?this.K-this.L:!1===this.j.complete?-1:0};vb(function(){for(var a=C(document,B,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new md(d);ya(d,c)}});function nd(a){sd[a>>4].call(this,a)}function Q(a){this.b(a)}function td(a){this.b(a)}function ud(a){this.b(a)}function vd(a){a&=15;var b=this.aa(this.w),c=this.aa(a);this.wa(a,(c&262143)+(b-(b&262143)))}
function R(a){this.b(a)}function P(a){this.f("undefined opcode: "+Ra(a));pd(this,-1);this.R()}
var sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function Pa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var g,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(c=g)}return c}function Qa(a,b,c){var d="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}
function F(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function Ra(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function Sa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ta(){var a=Ua();return-1!==a.indexOf("pcjs.org",a.length-8)}
function Va(a){return a.replace(/[&<>"']/g,function(a){return Wa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}function Ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function gb(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d}
function hb(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function H(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f}
function ib(a,b){var c,d={W:null,T:null,ja:null,ia:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ja=f.load;d.ia=f.exec;if(e=f.bytes)d.W=e;else if(e=f.words)for(d.W=Array(2*e.length),g=c=0;c<e.length;c++)d.W[g++]=e[c]&255,d.W[g++]=e[c]>>8&255;else if(e=f.longs)for(d.W=Array(4*e.length),g=c=0;c<e.length;c++)d.W[g++]=
e[c]&255,d.W[g++]=e[c]>>8&255,d.W[g++]=e[c]>>16&255,d.W[g++]=e[c]>>24&255;else(e=f.data)?d.Aa=e:d.W=f;d.W&&(d.W.length?1==d.W.length&&(v(d.W[0]),d=null):(v("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){v("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){g=parseInt(b[c],16);if(isNaN(g)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.W=e)}return d}
function Ua(){return"http://"+(window?window.location.host:"www.pcjs.org")}function jb(){if(null==kb){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}kb=a}return kb}function lb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function mb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function nb(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function ob(a){if(!pb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}pb=c}return pb[a]}function qb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function rb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);g=!0}}function sb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function tb(a){ub.init.push(a)}
function vb(a){if(wb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function xb(a){!wb&&a?(wb=!0,yb&&zb("init"),Ab&&zb("show")):wb=a}function zb(a){ub[a]&&vb(ub[a])}var pb=null,ub={init:[],show:[],exit:[]},yb=!1,Ab=!1,wb=!0,kb=null;sb("onload",function(){yb=!0;vb(ub.init)});sb("onpageshow",function(){Ab=!0;vb(ub.show)});sb(nb("Opera")||nb("iOS")?"onunload":"onbeforeunload",function(){vb(ub.exit)});
var C="pdp10",Bb="PDPjs",Hb=Math.pow(2,18),Ib=Math.pow(2,18)-1,Jb=Math.pow(2,36),Kb=Math.pow(2,21),Lb=Math.pow(2,26),Mb=Math.pow(2,23),C="pdp10",Bb="PDPjs",I={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Nb(a,b){t.call(this,"Panel",a,512);this.I=this.K=0;this.S=b;this.i=this.H=this.u=this.w=0;this.L=this.M=-1;this.N=this.O=this.F=!1;this.P=Ob;this.B={};this.b={START:[1,1,!0,!1,this.Hb],STEP:[1,1,!1,!1,this.Ib],ENABLE:[1,1,!1,!1,this.Cb],CONT:[1,1,!0,!1,this.Ab],DEP:[0,0,!0,!1,this.Bb],EXAM:[1,1,!0,!1,this.Db],LOAD:[1,1,!0,!1,this.Fb],TEST:[0,0,!0,!1,this.Eb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Tb,reset:this.Pb,
set:this.Sb};E(this)}p(Nb,t);l=Nb.prototype;l.reset=function(a){this.stop();a&&Pb(this,this.w=0)};
l.ea=function(a,b,c,d){if(this.C&&this.C.ea(a,b,c,d)||this.g&&this.g.ea(a,b,c,d)||this.A&&this.A.ea(a,b,c,d))return!0;switch(b){case "PC":return this.G[b]=c,this.K++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.B[b]=d?1:0,this.K++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Qb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Rb(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){Qb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Rb(a,b)}}(this,b),!0):t.prototype.ea.call(this,a,b,c,d)}};l.ua=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;Sb(this);Tb(this)};l.ma=function(a,b){if(!b)if(this.S&&Ub(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.da=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])Vb(this,this.i=a[0]),Pb(this,this.w=a[1]),Wb(this,a[2]);return!0};l.Pb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}Tb(this);return!0};function Xb(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Sb(a,b){for(var c in a.B)Xb(a,c,null!=b?b:a.B[c])}function Yb(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Tb(a){for(var b in a.b)Yb(a,b,a.b[b][1])}
l.yb=function(a,b,c){if(Qb(this,b)){if(c){var d=this;setTimeout(function(){Rb(d,b);a&&a()},+c);return!1}Rb(this,b)}return!0};l.Sb=function(a,b){if("SR"==a)return Wb(this,Pa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,Yb(this,a,c[1]),!0):!1};l.Tb=function(a){return Qb(this,a)?(Rb(this,a),!0):!1};function Qb(a,b){var c=a.b[b];return c?(Yb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=Zb&&(a.N=b==$b,a.O=b==ac),!0):!1}
function Rb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(Yb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.g.j.J||(this.g.i=this.i%Hb,this.b[bc]&&this.b[bc][1]&&cc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.R()};
l.Ab=function(a){if(!a&&!this.g.j.J)if(this.b[bc]&&this.b[bc][1])cc(this.g);else{if((a=this.A)&&!La(a,!0))Ma(a,!0),dc(a,0,null),Ma(a,!1);else try{var b=this.g.Ja(1);0<b&&(ec(this.g,b),fc(this.g,b,!0),gc(this.g,b))}catch(c){"number"!=typeof c&&Ia(this.g,c.stack||c.message)}this.stop();this.C&&K(this.C)}};l.Bb=function(a){a&&!this.g.j.J&&(this.N&&hc(this),a=Pb(this,this.w=this.u),this.P==Ob?ic(this.D,this.i,a):this.g.wa(this.i,a))};
l.Db=function(a){if(!a&&!this.g.j.J){var b;this.O&&hc(this);this.P==Ob?b=jc(this.D,this.i):b=this.g.aa(this.i);Pb(this,this.w=b)}};l.Fb=function(a){a||this.g.j.J||Vb(this,this.u)};l.Eb=function(a){a?(this.F=!0,Sb(this,!0)):(this.F=!1,Sb(this),Wb(this,0))};l.Gb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function hc(a){var b=1,c=a.D.u;a.b[Zb]&&a.b[Zb][1]||(b=-b);Vb(a,a.i&~c|a.i+b&c)}
function Vb(a,b){a.i=b&a.D.u;if(a.L!==a.i){a.L=a.i;b=a.L;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.B[e]=g;d.F||Xb(d,e,g)}}}function Pb(a,b){a.H=b%Jb;if(a.M!==a.H){a.M=a.H;b=a.M;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.B[e]=g;d.F||Xb(d,e,g)}}return a.H}function Wb(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;Tb(a);return!0}l.stop=function(){Vb(this,this.g.i)};
function Ub(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=xa(d.id);e||(e=new Nb(d,!0));B(e,c)}}var Ob=7,$b="DEP",bc="ENABLE",ac="EXAM",Zb="STEP";tb(Ub);function kc(a,b,c){t.call(this,"Bus",a,16);this.g=b;this.A=c;this.H=+a.busWidth||18;this.F=1<<this.H;this.u=this.F-1;this.i=Math.log2(16384);this.B=this.F/16384|0;this.w=0;this.b=[];a=new M(this);lc(a,this.A);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;E(this)}p(kc,t);l=kc.prototype;l.reset=function(){};
l.ma=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.da=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,mc(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function nc(a,b,c,d){for(var e=b,g=c,f=e>>>a.i;0<g&&f<a.b.length;){var h=a.b[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.v)return h.Ia+=h.v-e,h.v=e,!0;if(e>=h.v+h.Ia){m=h.size-(e-k);m>g&&(m=g);h.Ia=e-h.v+m;e=k+16384;g-=m;f++;continue}}return oc(pc,e,g)}e=new M(a,e,m,16384,d);lc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Gc[d]+" at "+Qa(b)),!0):oc(Hc,b,c)}
function jc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.i(b&16383,b);a.w--;return b}function ic(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function mc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.Ma||e.vb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c}
l.xb=function(a){this.w||(this.A&&Na(this.A,4)&&Oa(this.A,"memory fault on "+N(this.A,a),!0,!0),this.g.R())};function oc(a,b,c){v("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var pc=1,Hc=2;function Ic(a){t.call(this,"Device",a,256)}p(Ic,t);l=Ic.prototype;l.ua=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.A=d;E(this)};l.ma=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.da=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new J(this)).data()};
l.restore=function(){return!0};tb(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new Ic(c),B(c,d)}}});function M(a,b,c,d,e){this.B=a;this.id=Jc+=2;this.v=b;this.Ia=c;this.size=d||0;this.type=e||Kc;this.G=e==Lc;this.b=null;this.aa=this.i=this.u=this.Ha;this.wa=this.D=this.w=this.va;this.A=this.C=0;lc(this);this.Ma=this.vb=!1;if(this.size){a=this.g=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Mc(this,Nc)}else Mc(this)}l=M.prototype;
l.save=function(){return this.g};l.restore=function(a){return a&&this.size==a.length?(this.g=a,this.Ma=!0):!1};function Mc(a,b){b||(b=Oc);Pc(a,b,void 0);Qc(a,b,void 0)}function Pc(a,b,c){c&&a.A||(a.aa=b[2]||a.Ha);if(c||void 0===c)a.u=b[0]||a.Ha,a.i=b[2]||a.Ha}function Qc(a,b,c){c&&a.C||(a.wa=!a.G&&b[3]||a.va);if(c||void 0===c)a.w=b[1]||a.va,a.D=b[3]||a.va}l.Ba=function(a,b){b?this.C++||Qc(this,Rc,!1):this.A++||Pc(this,Rc,!1)};function Sc(a,b){b?--a.C||(a.wa=a.G?a.va:a.D):--a.A||(a.aa=a.i)}
function lc(a,b,c){a.b=b;a.A=a.C=0;c&&((a.A=c.A)&&Pc(a,Rc,!1),(a.C=c.C)&&Qc(a,Rc,!1))}l.Ha=function(a,b){this.b&&Na(this.b,32)&&Oa(this.b,"attempt to read invalid address "+N(this.b,b),!0);this.B.xb(b);return-1};l.va=function(a,b,c){this.b&&Na(this.b,32)&&Oa(this.b,"attempt to write "+N(this.b,a)+" to invalid addresses "+N(this.b,c),!0)};l.Kb=function(a,b,c,d){a=this.g[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};l.Nb=function(a){return this.g[a]};
l.Wb=function(a,b,c,d,e){c=this.g[b];var g=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*g+d%g;this.g[b]!=c&&(this.g[b]=c,this.Ma=!0)};l.Yb=function(a,b){this.g[b]=a;this.Ma=!0};l.Jb=function(a,b,c,d){if(this.b&&null!=this.v){var e=this.b;Tc(e,this.v+a,1,e.K)&&e.R(!1)}return this.u(a,b,c,d)};l.Lb=function(a,b){if(this.b&&null!=this.v){var c=this.b;Tc(c,this.v+a,2,c.K)&&c.R(!1)}return this.i(a,b)};
l.Vb=function(a,b,c,d,e){if(this.b&&null!=this.v){var g=this.b;Tc(g,this.v+b,1,g.F)&&g.R(!1)}this.G?this.va(a,0,c):this.w(a,b,c,d,e)};l.Xb=function(a,b,c){if(this.b&&null!=this.v){var d=this.b;Tc(d,this.v+b,2,d.F)&&d.R(!1)}this.G?this.va(a,0,c):this.D(a,b,c)};var Kc=0,Lc=2,Gc=["NONE","RAM","ROM"],Jc=0,Oc=[],Nc=[M.prototype.Kb,M.prototype.Wb,M.prototype.Nb,M.prototype.Yb],Rc=[M.prototype.Jb,M.prototype.Vb,M.prototype.Lb,M.prototype.Xb];
function Uc(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Da=0;this.Ta=b;this.S=c;this.Ra=Math.round(this.Ta/1E4)/100;this.P=this.Ra*this.S;this.Sa=this.ta=this.Y=this.ya=0;this.j.J=this.j.Qa=!1;this.j.X=a.autoStart;"string"==typeof this.j.X&&(this.j.X="true"==this.j.X);this.j.Ea=!1;this.ra=this.fa=0;this.sa=+a.csStart;this.ba=+a.csInterval;this.ga=+a.csStop;this.H=[];this.fb=this.Qb.bind(this);this.M=this.F=this.K=this.L=this.B=this.qa=this.I=this.ha=this.Ua=this.O=0;this.xa=
null;E(this)}p(Uc,t);l=Uc.prototype;l.ua=function(a,b,c,d){this.C=a;this.D=b;this.A=d;this.xa=a.u;for(a=0;a<Vc.length;a++)(b=this.G[Vc[a]])&&this.C.ea(null,Vc[a],b);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.ma=function(a,b){var c=Wc(this.C,"autoStart");null!=c?this.j.X="true"==c?!0:"false"==c?!1:!!c:null==this.j.X&&(this.j.X=!this.A&&void 0===this.G.run);if(!b){if(a){Xc(this);if(!this.restore(a))return!1;Yc(this)}else this.reset();this.A?(a=this.A,b=this.j.X,a.xa=!0,a.f("Type ? for help with PDPjs Debugger commands"),Zc(a),b||$c(a),a.sa&&(b=a.sa,a.sa=null,ad(a,b))):this.status("No debugger detected");this.j.X||this.f("CPU will not be auto-started "+(this.xa?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.da=function(a){return a?this.save():!0};l.X=function(){return this.j.J?!0:this.j.X?(cc(this),!0):!1};l.lb=function(){return 0};function Yc(a){void 0===a.sa&&(a.sa=0);void 0===a.ba&&(a.ba=-1);void 0===a.ga&&(a.ga=-1);a.j.Ea=0<=a.sa&&0<a.ba;a.j.Ea&&(a.ra=0,a.fa=a.sa-a.M)}function gc(a,b){if(a.j.Ea){var c=!1;a.ra=a.ra+a.lb()|0;a.fa-=b;0>=a.fa&&(a.fa+=a.ba,c=!0);0<=a.ga&&a.ga<=bd(a)&&(a.ba=a.ga=-1,Yc(a),a.R(),c=!0);c&&a.f(bd(a)+" cycles: checksum="+F(a.ra))}}
l.ea=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=w(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.j.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.j.U);c++);c==h.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.Na?" (waiting for notification)":""))+".");a=!1}a&&(d.j.J?d.R():cc(d))},!0;case "speed":return this.G[b]=
c,!0;case "setSpeed":return this.G[b]=c,c.onclick=function(){cd(d,d.S<<1,!0)},c.textContent=this.P.toFixed(2)+"Mhz",!0}return!1};function fc(a,b,c){a.M+=b;c&&(a.K=a.L=0)}function dd(a,b){var c=1;b&&1<a.S&&a.O&&(c=a.O/a.Ra);a.Sa=Math.round(1E3/ed);a.ta=Math.floor(a.Ta/ed*c);b||(a.Y=a.ta);a.ya=0}function bd(a){return a.M+a.F+a.K-a.L}function Xc(a){a.O=0;a.Ua=0;a.M=a.F=a.K=a.L=0;Yc(a);cd(a,1)}
function cd(a,b,c){var d=!1;if(void 0!==b){.8>a.O/a.P?b=1:d=!0;a.S=b;b=a.Ra*a.S;if(a.P!=b){a.P=b;b=a.P.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&fd(a.C)}fc(a,a.F);a.F=0;a.B=va();a.I=0;dd(a);return d}function gd(a,b){for(var c=a.H.length-1;0<=c;c--){var d=a.H[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function hd(a){for(var b=[],c=0;c<a.H.length;c++)b.push(a.H[c][0]);return b}
function ec(a,b){for(var c=a.H.length-1;0<=c;c--){var d=a.H[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function id(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c}
l.Qb=function(){if(this.j.J){this.ya>=this.Ta&&dd(this,!0);this.ha=0;this.qa=va();if(this.I){var a=this.qa-this.I;a>this.Sa&&(this.B+=a,this.B>this.qa&&(this.B=this.qa))}try{do{var b=gd(this,this.j.Ea?1:this.ta);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=id(this,!0);this.ha+=b;this.F+=b;gc(this,b);ec(this,b);this.Y-=b;if(0>=this.Y){this.Y+=this.ta;++this.Ua>=jd&&(this.C&&K(this.C,void 0),this.Ua=0);break}}while(this.j.J)}catch(e){this.R();this.C&&this.C.stop(va(),bd(this));Ia(this,e.stack||
e.message);return}if(this.j.J){a=setTimeout;b=this.fb;this.I=va();var c=this.Sa;this.ha&&(c=Math.round(c*this.ha/this.ta));var c=c-(this.I-this.qa),d=this.I-this.B;d&&(this.O=Math.round(this.F/(10*d))/100,864E5<=d&&(this.M=0,cd(this)));if(0>c||this.O<this.P)-1E3>c&&(this.B-=c),c=0;this.ya+=this.ha;this.I+=c;a(b,c)}}};
function cc(a,b){if(!Ja(a))if(a.j.J)a.f(a.toString()+" busy");else{cd(a);a.j.J=!0;a.j.Qa=!0;var c=a.G.run;c&&(c.textContent="Halt");a.C&&(b&&fd(a.C,!0),a.C.start(a.B,bd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.R=function(a){var b=!1;if(this.j.J){id(this);fc(this,this.F);this.F=0;this.j.J=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(va(),bd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var ed=30,jd=15,Vc=["power","reset"];
function kd(a){var b=+a.model||1001;Uc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.sb=ld.bind(this);this.b=O.bind(this);this.na=null;this.ab=[];this.j.complete=!1}p(kd,Uc);l=kd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.J&&this.R();this.w=this.N=this.za=0;this.oa=this.i=this.pa=this.bb;this.u=0;this.aa=this.Mb;this.wa=this.Zb;this.na=null;Xc(this);this.j.error=!1;Uc.prototype.reset.call(this)};l.lb=function(){return 0};
l.save=function(){var a=new J(this);a.set(0,[this.w,this.N,this.za,this.i,this.pa,this.oa,this.u]);a.set(1,[]);a.set(2,[this.M,this.S,this.j.X]);a.set(3,md(this));a.set(4,hd(this));return a.data()};
l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.w=b.next().value;this.N=b.next().value;this.za=b.next().value;this.i=b.next().value;this.pa=b.next().value;this.oa=b.next().value;this.u=b.next().value;b=a[2];this.M=b[0];cd(this,b[1]);this.j.X=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ab.length;d++){var e=this.ab[d];if(e.Ub===b[c]){d=e;break a}}d=null}d&&(d.next=this.na,this.na=d)}a=a[4];for(b=0;b<this.H.length&&b<a.length;b++)this.H[b][0]=
a[b];return!0};function nd(a,b){var c=a.i;a.i=(c+b)%Hb;return c}function md(a){var b=[];for(a=a.na;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.D;a=this.oa=a;return b.b[(a&b.u)>>>b.i].aa(a&16383,a)};l.Zb=function(a,b){var c=this.D;a=this.oa=a;c.b[(a&c.u)>>>c.i].wa(b,a&16383,a)};
l.Ja=function(a){this.j.complete=!0;var b=this.A?od(this.A)?1:this.j.Qa?-1:0:0,c=a?this.j.Qa?0:1:-1;this.j.Qa=!1;this.K=this.L=a;this.u=this.u&-5|(b?4:0);do{if(this.u){if(this.u&4){if(pd(this.A,this.i,c)){this.R();break}++b||(this.u&=-5);c||c++}if(a=this.u&11)this.u&2?this.na||(this.u&=-3):this.u&1&&this.u++,a=!1;if(a){if(this.u&4&&pd(this.A,this.i,c)){this.R();break}if(0>c)break}}this.u&=15;this.N=this.N&4194304?this.aa(this.w):this.za=this.aa(this.pa=this.i);this.w=this.N&262143;if(a=this.N>>18&
15)this.w=this.w+this.aa(a)&Ib;this.N&4194304?a=-1:(this.i=(this.i+1)%Hb,a=this.za/Mb|0);0<=a&&this.sb(a)}while(0<this.L);return this.j.complete?this.K-this.L:!1===this.j.complete?-1:0};tb(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new kd(d);B(d,c)}});function ld(a){qd[a>>4].call(this,a)}function Q(a){this.b(a)}function rd(a){this.b(a)}function sd(a){this.b(a)}function td(a){a&=15;var b=this.aa(this.w),c=this.aa(a);this.wa(a,(c&262143)+(b-(b&262143)))}
function W(a){this.b(a)}function O(a){this.f("undefined opcode: "+Qa(a));nd(this,-1);this.R()}
var qd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},td,ud,ud,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},rd,sd,sd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},rd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},vd,function(a){a&=15;var b=this.aa(a);this.wa(a,b&262143)},function(a){a=this.aa(a&15);var b=this.aa(this.w);this.wa(this.w,(b&262143)+(a-(a&262143)))},function(a){a&15&&vd.call(this,
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},td,function(a){a&=15;var b=this.aa(a);this.wa(a,b&262143)},function(a){a=this.aa(a&15);var b=this.aa(this.w);this.wa(this.w,(b&262143)+(a-(a&262143)))},function(a){a&15&&td.call(this,
a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R];
function wd(a){t.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=Sa(this.w);if(this.w){a=this.w;var b=Ta(this.F);"json"!=b&&"hex"!=b&&(a=Va()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;jb(a,null,!0,function(a,b,f){f?(c.Z("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(ta(c.Ka,a,b),(a=kb(a,b))?(c.b=a.W,c.T=a.T):c.w=null);xd(c)})}}p(wd,t);
wd.prototype.ua=function(a,b,c,d){this.C=b;this.g=c;this.A=d;xd(this)};wd.prototype.ma=function(){this.T&&(this.A&&yd(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};wd.prototype.da=function(){return!0};
function xd(a){if(!Ma(a)){if(a.w){if(!a.b||!a.C)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ka(a,"ROM size ("+F(a.b.length,8,!0)+") does not match specified size ("+F(a.u,8,!0)+")");else{var b;b=a.B;if(pc(a.C,b,a.u,Nc)){var c;for(c=0;c<a.b.length;c++)kc(a.C,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.C,g=d.u,h=[],k=d.B>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.C;d=d.u;g=0;for(e>>>=
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}D(a)}}vb(function(){for(var a=C(document,B,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new wd(d);ya(d,c)}});
function zd(a){t.call(this,"RAM",a);this.T=this.i=null;this.u=+a.addr;this.w=+a.size;this.ja=a.load;this.ia=a.exec;null!=this.ja&&(this.ja=+this.ja);null!=this.ia&&(this.ia=+this.ia);this.B=!1;this.b=a.file;this.F=Sa(this.b);if(this.b){a=this.b;var b=Ta(this.F);"json"!=b&&"hex"!=b&&(a=Va()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;jb(a,null,!0,function(a,b,f){f?(c.Z("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(ta(c.Ka,a,b),(a=kb(a,b))?(c.i=a.W,c.T=a.T,
null==c.ja&&(c.ja=a.ja),null==c.ia&&(c.ia=a.ia)):c.b=null);Ad(c)})}}p(zd,t);zd.prototype.ua=function(a,b,c,d){this.C=b;this.g=c;this.A=d;Ad(this)};zd.prototype.ma=function(a,b){this.T&&(this.A&&yd(this.A,this.id,this.u,this.w,this.T),delete this.T);b||this.reset();return!0};zd.prototype.da=function(){return!0};
function Ad(a){if(a.C&&(!a.B&&a.w&&(pc(a.C,a.u,a.w,1)?a.B=!0:a.w=0),!Ma(a))){if(!a.B)w("No RAM allocated");else if(a.b){if(!a.i||!a.C)return;Bd(a,a.i,a.ja,a.ia,a.u)?a.status('Loaded image "'+a.F+'"'):a.Z('Error loading image "'+a.F+'"')}D(a)}}
zd.prototype.reset=function(){if(this.B){for(var a=this.C,b=this.u,c=this.w,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ma&&(g+=la);g=Math.trunc(Math.abs(g))%la;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.D(g,d,e.v+d);c-=16384;b++;d=0}this.i&&Bd(this,this.i,this.ja,this.ia,this.u,!this.A)}};
function Bd(a,b,c,d,e,f){var g=!1,h=!1;if(null==c)for(var k=0;k<b.length-1;){var m=b[k]&255|(b[k+1]&255)<<8;if(m)if(m&255){var n=k;if(1!=m){E(a,"invalid signature ("+G(m)+") at offset "+G(n),4096);break}if(k+6>=b.length){E(a,"invalid block at offset "+G(n),4096);break}for(var k=k+2,r=b[k++]&255|(b[k++]&255)<<8,u=b[k++]&255|(b[k++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),N=k,Da=r-=6;0<r&&k<b.length;)m+=b[k++]&255,r--;if(r||k>=b.length){E(a,"insufficient data for block at offset "+G(n),4096);break}m+=
b[k++]&255;if(m&255){E(a,"invalid checksum ("+F(m,2,!0)+") for block at offset "+G(n),4096);break}if(Da)for(E(a,"loading "+G(Da)+" bytes at "+G(u)+"-"+G(u+Da),4096);Da--;)kc(a.C,u++,b[N++]);else u&1?g=!0:null==d&&(d=u),null!=d&&E(a,"starting address: "+G(d),4096);h=!0}else k++;else k+=2}if(!h&&(null==c&&(c=e),null!=c)){for(h=0;h<b.length;h++)kc(a.C,c+h,b[h]);h=!0}if(h){if(null==d||g)a.g.R(),f=!1;null!=d&&(a=a.g,a.ab=d,a.i=d%Jb,f?a.j.U?a.j.J||ec(a):a.j.X=!0:a.A&&a.j.U?a.R()||a.D.j.reset||(ad(a.A),
K(a.D,-1)):!1===f&&a.R(),!a.j.J&&a.xa&&a.xa.stop())}return h}vb(function(){for(var a=C(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new zd(d);ya(d,c)}});
function Cd(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Dd;b&&(void 0===c&&(c="Panel"),(c=y(c,this.id))&&(b=c.G[b])&&this.ea(null,a,b))}this.b=this.B=null;this.exports={connect:this.mb,receiveData:this.Na,receiveStatus:this.Nb,setConnection:this.Qb}}p(Cd,t);l=Cd.prototype;
l.ea=function(a,b,c){var d=this;switch(b){case Dd:return this.G[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Ya:q.qb:46==c?b=q.Ya:a.ctrlKey&&c>=q.Xa&&c<=q.tb&&(b=c-(q.Xa-q.nb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.pb&&(b=q.ob);d.Na(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.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.ua=function(a,b,c,d){this.D=a;this.C=b;this.g=c;this.A=d;D(this)};
l.mb=function(a){if(!this.b){var b=Yc(this.D,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Za(c[0]);if(d!=this.Ja)return;c=Za(c[1]);if(this.b=xa(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.Ka+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ma=function(a,b){if(!b)if(this.mb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.da=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new J(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.Nb=function(){};l.Qb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Dd="buffer";
vb(function(){for(var a=C(document,B,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Cd(d);ya(d,c)}});function Ed(a){t.call(this,"Debugger",a);this.ca=+a.base||16;this.na=!1;this.B=0;this.O=!1;this.w=-1;this.u=[];this.Y={}}p(Ed,t);Ed.prototype.lb=function(){return-1};Ed.prototype.Wa=function(){};
function Fd(a,b,c,d){if(c)if(b){0>a.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.O?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(Za(b.substring(c,f))),c=f+1}}return a}
function Gd(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function Hd(a,b,c){var d;if(b){b=Id(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Za(n);if(!n){f=!0;break}n=Jd(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],u=n.length;k.length&&Kd[n]<Kd[k[k.length-1]]&&Gd(h,k,1);k.push(n);b=b.substr(r+u)}Gd(h,k)&&1==h.length||(f=!0);f?c&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ld(a,null,
d))}return d}function Id(a,b){for(var c,d=a.na?"(":"{",e=a.na?")":"}",f=new RegExp(a.na?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Hd(a,c[1]);b=b.replace(d+c[1]+e,null!=g?M(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function Jd(a,b,c,d){var e;null!=b?(e=a.lb(b),0<=e?e=a.Wa(e):(e=a.Y[b],null==e&&(e=Qa(b,a.ca))),null!=e||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return e}
function Ld(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,m=void 0,n=8,r="";n?32<n&&(n=32):n=32;for(var u=null==k||isNaN(k),N=m=m||n;0<n--;)N||(r=","+r,N=m),r=(u?"?":k&1?"1":"0")+r,k>>=1,N--;g=r+g;d>>=8}d=F(c,0,!0)+" "+c+". "+Ra(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e}
function Md(a,b){if(b)return Ld(a,b,a.Y[b]);var c=0;for(b in a.Y)Ld(a,b,a.Y[b]),c++;return 0<c}function M(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:a=Ra(b,0<c?(c+2)/3|0:0);break;case 10:a=b;b=0<c?Math.ceil(.3*c):0;var d="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;)d=String.fromCharCode(a%10+48)+d,a/=10;a=d;break;default:a=F(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
var Kd={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Nd(a){Ed.call(this,a);this.xa=!1;this.na=!0;this.I=T();this.ta=T();this.N=T();this.H=[];this.b=this.K=this.F=[];Od(this);this.P=this.ha=0;this.i=[];this.qa=void 0;Pd(this);this.A=this;this.oa={};this.V=this.hb=0;this.S=null;this.M=[];Qd(this,a.messages);this.sa=a.commands;this.L=0;this.Ca=this.ra=null;this.B=this.za=this.ya=this.ga=this.pa=0;this.fa=this.ba=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return cd(b,a)}):void 0===global[B]&&(global[B]=function(a){return cd(b,
a)})}p(Nd,Ed);function Y(a){a=a&&a.v;null==a&&(a=-1);return a}function T(a,b,c){return{v:void 0===a?null:a,vb:void 0===b?!1:b,la:!1,ca:c}}function Rd(a){return[a.v,a.vb,a.ca,a.la,a.Oa]}function Sd(a,b){var c=T(b[0],b[1],b[2]);c.la=b[3];b[4]&&(c.fb=Fd(a,c.Oa=b[4]));return c}l=Nd.prototype;
l.ua=function(a,b,c,d){this.C=b;this.D=a;this.g=c;this.fa=a.u;(a=Yc(a,"messages"))&&Qd(this,a);Td(this,function(a){a:{var b=d.C.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.C.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Ic[c],n&&d.f(F(n.id,8)+" %"+F(e<<d.C.i,8)+" %"+F(n.v,8)+" "+G(n.Ha)+" "+
G(n.size)+" "+m),c!=Mc&&(c=-1),m=0);a+=16384;e++}}});D(this)};
l.ea=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ba=this.G[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",cd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.G[b]=c,tb(c,function(){if(d.ba){var a=d.ba.value;
d.ba.value="";cd(d,a,!0);return!0}return!1}),!0;case "step":return this.G[b]=c,tb(c,function(a){var b=!1;Na(d,!0)||(Oa(d,!0),b=fc(d,a?1:0,null),Oa(d,!1));return b}),!0}return!1};function bd(a){if(a.ba){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ba.focus();window&&window.scrollTo(b,c)}}l.Ba=function(a,b){var c=-1,d=Y(a);-1!==d&&(c=lc(this.C,d),b&&null!=a.v&&(a.v+=b||1));return c};l.Za=function(a,b,c){var d=Y(a);-1!==d&&(kc(this.C,d,b),c&&null!=a.v&&(a.v+=c||1),K(this.D,-1))};
function Z(a,b,c){var d;c=(c?a.I:a.ta).v;var e,f;if(void 0!==b){b=Id(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,h;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var k=a.H[c].T[d];if(null!=k){h=k.o;break}}null!=h&&(g=T(h));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=Hd(a,b,void 0)}null!=c&&(d=T(c,e,f));return d}function Ud(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.fb=Fd(a,b.Oa=c[2]))}
function Vd(a){return Ra(a/Jb,6)+" "+Ra(a%Jb,6)}function Qd(a,b){a.A=a;a.V=a.hb=536870916;a.S=null;a.M=[];b=Fd(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in H){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.V|=H[c],a.f(c+" messages enabled"))}}function Td(a,b){for(var c in H)if(16==H[c]){a.oa[c]=b;break}}l.lb=function(a){return Wd.indexOf(a.toUpperCase())};
l.Wa=function(a){var b;switch(a){case Xd:b=this.g.i;break;case Yd:b=this.g.N;break;case Zd:b=this.g.w}return b};l.message=function(a,b){b&&(a+=" @"+M(this,T(this.g.pa).v));if(!this.S||a!=this.S)if(this.S=a,this.V&1073741824)this.M.push(a);else{var c;if(this.V&-2147483648&&this.g&&(c=this.g.j.J)||Na(this,!0))this.R(),c&&(a+=" (cpu halted)");this.f(a);this.g&&(a=this.g,kd(a),a.Y=0,a.D&&K(a.D,void 0))}};
function Pd(a){var b;if(!qd(a))a.i&&a.i.length&&a.f("instruction history buffer freed"),a.P=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array($d);for(b=0;b<a.i.length;b++)a.i[b]=T();a.P=0;a.f("instruction history buffer allocated")}}function ae(a,b,c){if(!Ce(a,c))return!1;ec(a.g,b);return!0}
function fc(a,b,c,d){if(!Ce(a))return!1;var e="";null===c&&(e=(c=!a.ra||"tr"==a.ra)?"tr":"t");a.B=0;b||qd(a)&&rd(a,a.g.i,0);try{b=id(a.g,b);var f=a.g.Ia(b);0<f&&(gc(a.g,f),a.B+=f,hc(a.g,f,!0),ic(a.g,f),a.ga++)}catch(g){"number"!=typeof g&&(a.B=0,Ka(a.g,g.stack||g.message))}!1!==d&&(a.fa&&a.fa.stop(),K(a.D,-1));ad(a,c||!1,e);return 0<a.B}l.R=function(a){this.g&&this.g.R(a)};function ad(a,b,c){a.xa&&(void 0===b&&(b=!0),c&&a.f(Ee+c),a.I=T(a.g.i),b&&1!=a.L?Fe(a):Ge(a))}
function Ce(a,b){var c;(c=!a.g||!Ma(a.g))||(c=a.g,c.j.U?c=!0:(c.f(c.toString()+" not powered"),c=!1),c=!c);return c||a.g.j.J?(b||a.f("cpu busy or unavailable, command ignored"),!1):!La(a.g)}l.ma=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.da=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Pd(this);this.ga=0;this.S=null;this.B=0;this.I=T(this.g.i);this.j.J=!1;He(this);a||ad(this)};
l.save=function(){var a=new J(this);a.set(0,Rd(this.I));a.set(1,Rd(this.N));a.set(2,[this.u,this.O,this.V]);a.set(3,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.I=Sd(this,a[b++]),this.N=Sd(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.O=a[b][1],this.V|=a[b][2]);a[3]&&(this.H=a[3]);return!0};l.start=function(a,b){this.L||this.f("running");this.j.J=!0;this.ya=a;this.za=b};
l.stop=function(a,b){if(this.j.J){this.j.J=!1;this.B=b-this.za;if(!this.L){b="stopped";if(this.B){a-=this.ya;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";qd(this)&&(b+=this.ga+" instructions, ",this.ga=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Pa(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}ad(this,!0);bd(this);He(this,this.g.i);this.S=null}};function qd(a){return 1<a.b.length||!!a.ha}
function rd(a,b,c){var d=-1;c||(d=a.g.aa(b),2756==d>>23&&a.g.pa==b&&(b=pd(a.g,1)));if(0<c&&(a.ha&&!--a.ha||Vc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ga++,0>d&&(d=a.g.aa(b)),0<=d&&(c=a.i[a.P],c.v=b,c.la=!1,c.ca=void 0,++a.P==a.i.length&&(a.P=0)));return!1}
function Ie(a,b,c,d){var e=T(b.v),f=a.Ba(b,1),g,h,k,m=0,n=f/Mb|0,r;for(r in Je)if(g=Je[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Ke;m=n&3;break;case 32256:k=Le;m=n&7;break;case 29248:k=Me,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>Ne&&(k="B");k=Oe[g||0]+k;k=Ya(k,8);g?(k=28700==h?k+M(a,f/Nb&127,-1):k+M(a,f>>23&15,-1),k+=",",f&4194304&&(k+="@"),k+=M(a,f&262143,-1),(f=f>>18&15)&&(k+="("+M(a,f,-1)+")")):k+=Vd(f);f=k;g="";h=M(a,e.v)+":";if(-1!==e.v&&-1!==b.v){do if(k=a.Ba(e,1),g+=" "+Vd(k),null==
e.v)break;while(e.v!=b.v)}h+=Ya(g,16)+f;c&&(h=Ya(h,60)+";"+(c||""),h=a.g.j.Da?h+("cycles="+dd(a.g).toString()+" cs="+F(a.g.ra)):h+(null!=d?"="+d.toString():""));return h}function Od(a){var b,c;a.b=["bp"];if(a.K)for(b=1;b<a.K.length;b++){c=a.K[b];c=Y(c);var d=a.C;Uc(d.b[c>>>d.i],!1)}a.K=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],c=Y(c),d=a.C,Uc(d.b[c>>>d.i],!0);a.F=["bw"];a.pa=0;a.ha=0}
l.Aa=function(a,b,c){var d=!0;c||Pe(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.f("invalid address: "+M(this,b.v)),d=!1;else{var f=this.C;f.b[e>>>f.i].Aa(e&16383,a==this.F)}}d&&(a.push(b),c?b.la=!0:(Qe(this,a,a.length-1,"set"),Pd(this)));return d};function Pe(a,b,c,d,e){var f=!1;c=Y(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Y(h)&&(!d||h.la)){f=!0;h.la||e||Qe(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.C,Uc(d.b[c>>>d.i],b==a.F));h.la||Pd(a);break}}return f}
function Re(a,b){for(var c=1;c<b.length;c++)Qe(a,b,c);return b.length-1}function Qe(a,b,c,d){c=b[c];a.f(b[0]+" "+M(a,c.v)+(d?" "+d:c.Oa?' "'+c.Oa+'"':""))}function He(a,b){if(void 0!==b)Vc(a,b,1,a.b,!0),a.L=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.la){if(!Pe(a,a.b,c,!0))break;b=0}}}
function Vc(a,b,c,d,e){var f=!1;if(!a.pa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.la)for(var k=Y(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.la&&(Pe(a,d,h,!0),e=!0);if(n=h.fb){for(var f=!1,r=0;r<n.length;r++)if(!Se(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.g.j.J||(f=!0)}if(f){e||Qe(a,d,g,"hit");break}}}a.pa--;return f}
function Te(a,b){var c=Wd[b]||"";c&&(c+="="+M(a,a.Wa(b))+" ");return c}l.ib=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};function yd(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=f,k=[k>>>0,g],r=$a(n,k,a.ib);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({cd:b,v:c,yb:d,T:e,gb:f})}
function Ue(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b<a.H.length;b++){var f=a.H[b],g=f.v>>>0,h=f.yb;if(e>=g&&e<g+h){e=$a(f.gb,[e-g],a.ib);0<=e?Ve(a,b,e,d):c&&(e=~e,Ve(a,b,e-1,d),Ve(a,b,e,d));break}}return d}function Ve(a,b,c,d){var e={},f=a.H[b].gb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.H[b].T[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function We(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Md(a)||a.f("no variables"),!0;if(!c[2])return Md(a,c[1]);if(!c[3])return delete a.Y[c[1]],!0;b=Hd(a,c[3]);return void 0!==b?(a.Y[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
function Xe(a,b,c){var d=null;if(b=Z(a,b,!0)){var e=Ue(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.v-e[1])&&(g=" + "+G(f)),f=e[0]+" ("+M(a,e[1])+")"+g,c&&a.f(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.v)&&(g=" - "+G(f)),f=e[4]+" ("+M(a,e[5])+")"+g,c&&a.f(f),d||(d=f))}else c&&a.f("no symbols")}return d}
function Fe(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trm\tdump misc registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.g;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}g=Hd(a,b);if(void 0===g)return;switch(f.toUpperCase()){case "PC":e.i=g%Jb;a.I=T(e.i);break;default:a.f("unknown register: "+
f);return}K(a.D);a.f("updated registers:")}}f=""+(Te(a,Yd)+Te(a,Zd));d&&(f+="\n");a.f(f);c&&(a.I=T(e.i),Ge(a,M(a,a.I.v)))}}function Ye(a,b){b=Za(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.f(c[2]):Ld(a,null,c[2].charCodeAt(0)):Hd(a,b,!0)}
function Ze(a,b,c){if("?"==c)a.f("trace commands:"),a.f("\tt [#]\ttrace # instructions"),a.f("\ttr [#]\ttrace # instructions with register updates"),a.f("\ttc [#]\ttrace # cycles"),a.f("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Jd(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ra=b;sb(c,function(){return Oa(a,!0)&&fc(a,e,d,!1)},function(){a.fa&&a.fa.stop();K(a.D,-1);Oa(a,!1)})}}
function Ge(a,b,c,d){if(b=Z(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Jd(a,c.substr(1)),null!=c&&(d=c);else{d=Z(a,c,!0);if(!d||d.v<b.v)return;e=d.v-b.v;if(256<e){a.f("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Na(a,!1)||a.L?a.B:null;var g=null!=f?"cycles":null,h=Ue(a,b),k=b.v;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],f=null);f=Ie(a,b,g,f);a.f(f);a.I=b;e-=b.v-k;c++}}}
function Se(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ee+b):(a.O&&(a.f("ended assemble at "+M(a,a.N.v)),a.I=a.N,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Ma(a)&&0<b.length){a.O&&(b="a "+M(a,a.N.v)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
Z(a,g[1],!0);if(r)if(a.N=r,void 0===g[2])a.f("begin assemble at "+M(a,r.v)),a.O=!0,K(a.D);else{var u;a.f("not supported yet");u=[];if(u.length){for(var N=0;N<u.length;N++)a.Za(r,u[N],1);a.f(Ie(a,a.N))}}break;case "b":a:{var Da=g[0],Fa=g[1],Bf=b;if("?"==Fa)a.f("breakpoint commands:"),a.f("\tbp #\tset exec breakpoint"),a.f("\tbr #\tset read breakpoint"),a.f("\tbw #\tset write breakpoint"),a.f("\tbc #\tclear breakpoint (* to clear all)"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [#]\tbreak after # instruction(s)");
else{var na=Da.charAt(1);if("l"==na){var sc;sc=0+Re(a,a.b);sc+=Re(a,a.K);(sc+=Re(a,a.F))||a.f("no breakpoints")}else if("n"==na){var be=+Fa||0;Fa&&(a.ha=be);a.f("break after "+be+" instruction(s)")}else if(void 0===Fa)a.f("missing breakpoint address");else{var I=T();if("*"!=Fa&&(I=Z(a,Fa,!0),!I))break a;"c"==na?null==I.v?(Od(a),a.f("all breakpoints cleared")):Pe(a,a.b,I)||Pe(a,a.K,I)||Pe(a,a.F,I)||a.f("breakpoint missing: "+M(a,I.v)):null!=I.v&&(Ud(a,I,Bf),"p"==na?a.Aa(a.b,I):"r"==na?a.Aa(a.K,I):
"w"==na?a.Aa(a.F,I):a.f("unknown breakpoint command: "+na))}}}break;case "c":a.ka&&(a.ka.value="");break;case "d":a:{var Ga,Ha=g[0],U=g[1],fa=g[2],Cf=g[3];if("?"==U){var Ia="";for(Ga in H)a.oa[Ga]&&(Ia&&(Ia+=","),Ia+=Ga);Ia+=",state,symbols";a.f("dump memory commands:");a.f("\tdw [a] [n] dump n words at address a");a.f("\tds [a] [n] dump n words at address a as JSON");a.f("\tdh [p] [n] dump n instructions from history position p");Ia.length&&a.f("dump extension commands:\n\t"+Ia)}else if("state"==
U){var tc=$e(a.D,!0);"console"==fa?console.log(tc):(a.ka&&(a.ka.value=""),tc&&a.f(tc))}else if("symbols"==U)for(var uc=0;uc<a.H.length;uc++){var vc=a.H[uc],Ja;for(Ja in vc.T)if("."!=Ja.charAt(0)){var ce=vc.T[Ja].o;if(void 0!==ce){var de=vc.T[Ja].l;de&&(Ja=de);a.f(M(a,ce)+" "+Ja)}}}else{if("d"==Ha){for(Ga in H)if(g[1]==Ga){var ee=a.oa[Ga];ee?(g.shift(),g.shift(),ee(g)):a.f("no dump registered for "+U);break a}U||(Ha=a.Ca||"dw")}else a.Ca=Ha;if("dh"==Ha){var fe=U,ge=fa,he="",ie=0,S=a.P,V=a.i;if(V.length){var O=
+fe||a.qa,bb=+ge||10;isNaN(O)?O=bb:he="more ";O>V.length&&(a.f("note: only "+V.length+" available"),O=V.length);S-=O;0>S&&(null==V[V.length-1].v?(O=S+O,S=0):S+=V.length);var wc=[];"call"==ge&&(bb=1E5,wc=["CALL"]);for(void 0!==fe&&a.f(O+" instructions earlier:");0<bb&&S!=a.P;){var je=V[S++];if(null==je.v)break;var cb=T(je.v),Df=O--,ke=Ie(a,cb,"history",Df);(!wc.length||0<=ke.indexOf(wc[0]))&&a.f(ke);cb.Va&&(S+=cb.Va,bb-=cb.Va,O-=cb.Va);S>=V.length&&(S=0);a.qa=O;ie++;bb--}}ie||(a.f("no "+he+"history available"),
a.qa=void 0)}else{var oa=Z(a,U);if(oa){var pa=0,le="ds"==Ha;if(fa){if("l"==fa.charAt(0))fa=fa.substr(1)||Cf,pa=Jd(a,fa);else{var me=Z(a,fa);me&&(pa=me.v-oa.v)}0>pa&&(pa=0);65536<pa&&(pa=65536)}var Ef=a.ca;oa.ca&&(a.ca=oa.ca);for(var ne="db"==Ha?1:2,xc=pa||32,yc=1==ne?2:4,Ff=(xc+yc-1)/yc|0||1,qa="";Ff--&&0<xc;){for(var ra="",oe="",U=M(a,oa.v),pe=yc;0<pe--&&0<xc--;){var Eb=a.Ba(oa,1);le?(ra&&(ra+=","),ra+=Eb):(ra+=Vd(Eb),ra+=" ");for(var qe=0;1==ne&&6>qe;qe++)oe+=String.fromCharCode((Eb%64|0)+32),
Eb/=64}qa&&(qa+="\n");qa=le?qa+(ra+","):qa+(U+": "+ra+(0>pe?" "+oe:""))}qa&&a.f(qa);a.ta=oa;a.ca=Ef}}}}break;case "e":if("else"==g[0])break;var re,se,te=g[0],zc=g[1];"e"==te||"ew"==te?(re=a.Ba,se=a.Za):zc=null;if(null==zc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Fb=Z(a,zc);if(Fb)for(var Gb=2;Gb<g.length;Gb++){var Ac=Hd(a,g[Gb]);if(void 0===Ac){a.f("unrecognized value: "+g[Gb]);break}a.f("changing "+M(a,Fb.v)+" from "+Vd(re.call(a,Fb))+" to "+Vd(Ac));se.call(a,
Fb,Ac,1)}}break;case "g":a:{var ue=g[1],Gf=b;if(void 0!==ue){var Bc=Z(a,ue,!0);if(!Bc)break a;Ud(a,Bc,Gf);a.Aa(a.b,Bc,!0)}ae(a,!0,c)}break;case "h":a.j.J?(c||a.f("halting"),a.R()):Na(a,!0)||c||a.f("already halted");break;case "i":if("if"==g[0]){var Cc;var db=b.substr(2),db=Za(db);Hd(a,db)?(c||a.f("true: "+db),Cc=!0):(c||a.f("false: "+db),Cc=!1);Cc||(d=!1);break}f=!0;break;case "k":var Hf=g[0];if("?"==g[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");
else{var Dc=0,Ec=T(),eb=T();for(a.f("stack trace for "+M(a,eb.v));10>Dc;){for(var sa=null,If=256;65536>eb.v>>>0;){Ec.v=a.Ba(eb,2);if(null==eb.v||!If--)break;if(!(Ec.v&1)){for(var Jf=a,Hb=Ec,ve=null,fb=Hb.v,we=fb,Fc=1;6>=Fc&&fb;Fc++){if(2<Fc){Hb.v=fb;var Ib=Ie(Jf,Hb);if(0<=Ib.indexOf("JSR")){var xe=Ib.indexOf(" ");if(fb+(Ib.indexOf(" ",xe+1)-xe-1)/2==we){ve=Ib;break}}}fb-=2}Hb.v=we;if(sa=ve)break}}if(!sa||null==sa)break;var ye=null;if("ks"==Hf){var ze=sa.match(/[0-9A-F]+$/);ze&&(ye=Xe(a,ze[0]))}sa=
Ya(sa,50)+" ;"+(ye||"stack="+M(a,eb.v));a.f(sa);Dc++}Dc||a.f("no return addresses found")}break;case "l":if("ln"==g[0]){Xe(a,g[1],!0);break}f=!0;break;case "m":a:{var W,X=null,z=g[1];"?"==z&&(z=void 0);if(void 0!==z){var ga=0;if("all"==z)ga=1879046143,z=null;else if("on"==z)X=!0,z=null;else if("off"==z)X=!1,z=null;else{"keys"==z&&(z="key");"kbd"==z&&(z="keyboard");for(W in H)if(z==W){ga=H[W];X=!!(a.V&ga);break}if(!ga){a.f("unknown message category: "+z);break a}}if(ga)if("on"==g[2])a.V|=ga,X=!0;
else if("off"==g[2]&&(a.V&=~ga,X=!1,1073741824==ga)){for(var Ae=1E3<=a.M.length?a.M.length-1E3:0;Ae<a.M.length;)a.f(a.M[Ae++]);a.M=[]}}var Kf=0,gb="";for(W in H)if(!z||z==W){var Lf=!!(a.V&H[W]);if(null===X||X==Lf)gb&&(gb+=","),++Kf%10||(gb+="\n\t"),"key"==W&&(W="keys"),gb+=W}void 0===z&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==X?X?"messages on: ":"messages off: ":"message categories:\n\t")+(gb||"none"));Pd(a)}break;case "p":if("print"==g[0]){Ye(a,b.substr(5));
break}var Mf=g[0];if("?"==g[1])a.f("step commands:"),a.f("\tp\tstep over instruction"),a.f("\tpr\tstep over instruction with register update");else{var Nf="pr"==Mf?1:0;if(a.L)a.f("step in progress");else{var Be=T(a.g.i);a.Ba(Be);a.L?(a.Aa(a.b,Be,!0),ae(a)||(a.D&&hd(a.D),a.L=0)):Ze(a,Nf?"tr":"t")}}break;case "r":if("reset"==b){a.D&&a.D.reset();break}Fe(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var hb=+g[2];if(8==hb||10==hb||16==hb)a.ca=hb;else{a.f("invalid base: "+hb);break}}a.f("default base: "+
a.ca);break;case "cs":var ib;void 0!==g[3]&&(ib=+g[3]);switch(g[2]){case "int":a.g.ba=ib;break;case "start":a.g.sa=ib;break;case "stop":a.g.ga=ib;break;default:a.f("unknown cs option");break a}void 0!==ib&&$c(a.g);a.f("checksums "+(a.g.j.Da?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ed(a.g,+g[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.g.P.toFixed(2)+"Mhz")+" ("+a.g.S+"x)");break;default:if(g[1]){a.f("unknown option: "+g[1]);break}case "?":a.f("debugger options:"),
a.f("\tbase #\t\tset default base to #"),a.f("\tcs int #\tset checksum cycle interval to #"),a.f("\tcs start #\tset checksum cycle start count to #"),a.f("\tcs stop #\tset checksum cycle stop count to #"),a.f("\tsp #\t\tset speed multiplier to #")}break;case "t":Ze(a,g[0],g[1]);break;case "u":Ge(a,g[1],g[2],8);break;case "v":if("var"==g[0]){We(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.f((Db||"PDP10")+" version 1.34.0 ("+a.g.cb+",RELEASE)");a.f(window?window.navigator.userAgent:"");break}f=!0;
break;case "?":if(g[1]){Ye(a,b.substr(1));break}var Gc="commands:",Hc;for(Hc in af)Gc+="\n"+Ya(Hc,9)+af[Hc];qd(a)||(Gc+="\nnote: history disabled if no exec breakpoints");a.f(Gc);break;default:f=!0}f&&(a.f("unknown command: "+b),d=!1)}}catch(De){a.f("debugger error: "+(De.stack||De.message)),d=!1}return d}function cd(a,b,c){b=Fd(a,b,c);for(var d in b)if(!Se(a,b[+d]))return!1;return!0}
var af={"?":"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"},Ne=20,Oe=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOV MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "),
Xd=0,Yd=1,Zd=2,Wd=["PC","RA","EA"],bf={},Je=(bf[28672]={0:101},bf[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:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},bf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Ne,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},bf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},bf[29248]={24576:79,24640:80,25088:81,25152:82},bf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,28692:98,28696:99,28700:100},bf),Ke=["","I",
"M","S"],Le=" L E LE A GE N G".split(" "),Me="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),$d=1E3,Ee=">> ";vb(function(){for(var a=C(document,B,"debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Nd(d);ya(d,c)}});
function cf(a,b,c){t.call(this,"Computer",a,33554432);this.j.U=!1;this.O=null;df(this,b);this.M=Yc(this,"autoPower",a,6);this.w=0;this.Y=+a.busWidth||+a.buswidth;this.K=this.F=this.L=null;this.I=this.S=!1;this.H=this.B=null;this.P=this.N=!1;this.ba=Yc(this,"url")||"";(Math.random()+.1).toString(36);this.i=ef(this);if(this.g=y("CPU",this.id)){this.A=y("Debugger",this.id);this.C=new mc({id:this.Ka+".bus",busWidth:this.Y},this.g,this.A);var d,e=x(this.id);if((this.u=y("Panel",this.id))&&this.u.ka)for(b=
0;b<e.length;b++)d=e[b],d.Z=this.u.Z,d.f=this.u.f,d.ka=this.u.ka;this.f(Db+" v1.34.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.ua&&d.ua(this,this.C,this.g,this.A);b=null;d=Yc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Yc(this,"state")||(f=!0,a.state))this.L=b=a,f||(this.I=!0,this.b=ff),this.b&&(this.H=new J(this,"1.34.0"),gf(this.H)?b=null:
delete this.H);!b&&this.b&&(b=hf(this))&&(this.I=!0);if(b){var g=this;jb(b,null,!0,function(a,b,c){c?(g.F=null,g.I=!1,g.Z("Unable to load machine state from server (error "+c+(b?": "+Za(b):"")+")")):(g.K=b,g.S=!0);D(g)})}else D(this);this.G.power||(this.M=!0);!c&&this.M&&jf(this,this.Fa)}else w("Unable to find CPU component")}p(cf,t);function df(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.O=b}
function Yc(a,b,c,d){var e=b.toLowerCase(),e=qb(b)||qb(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function jf(a,b,c){for(var d=x(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ma(f)){Ma(f,function(){jf(a,b,c)});return}}b.call(a,c)}
function kf(a,b){var c=new J(a,"1.34.0",lf);if(gf(c)&&mf(c)){var d=c.get(nf),e=b?b.get(nf):"unknown";d!=e&&(a.Z("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=cf.prototype;
l.Fa=function(a){void 0===a&&(a=this.b||(this.K?of:ff));if(!this.w){this.w++;var b=!1,c=!1;this.N=!1;var d=this.H||new J(this,"1.34.0");if(a==pf)b=!0;else if(a>ff){if(gf(d,this.K)){this.B=new J(this,"1.34.0",qf);gf(this.B)&&(rf(this,d),a=sf,tf(this.B));this.B.set(nf,ab());uf(this.B);var e=this.b&&!this.I;if(a==of||wa("Click OK to restore the previous "+Db+" machine state, or CANCEL to reset the machine.")){if(c=mf(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?gf(d,g):("error"==f&&"no machine state"!=
g?(this.Z("Error: "+g),"unable to verify user"==g&&(ob(vf,""),this.i=null)):this.f(f+": "+g),tf(d),gf(d)?(c=mf(d),e=!0):c=!1))}e&&kf(this,c?d:null)}else a==sf&&d.clear()}else kf(this);delete this.K;delete this.H}e=x(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.g&&(c=wf(this,g,d,b,c));b=[d,a,c];a!=pf?jf(this,this.jb,b):this.jb(b)}};
function wf(a,b,c,d,e){if(!b.j.U){b.j.U=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ma(f,d)&&f&&(w("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=ff,window&&window.location.reload()):a.N=!0,b.ma(null),e=!1),!d&&b.bb){var g=b.bb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){w("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.jb=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.j.U=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.g&&(wf(this,this.g,b,c,a),K(this,-2),this.g.X());this.N&&(rf(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0};
function rf(a,b){if(wa("There may be a problem with your "+Db+" machine.\n\nTo help us diagnose it, click OK to send this "+Db+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Db;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;jb("http://www.pcjs.org/api/v1/report",d,!0)}}
function $e(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new J(a,"1.34.0"),g=new J(a,"1.34.0",lf),h=ab();g.set(nf,h);f.set(nf,h);f.set(xf,"1.34.0");f.set(yf,window?window.location.href:null);f.set(zf,window?window.navigator.userAgent:"");a.g&&a.g.da&&(c&&(b&&(a.g.j.X=a.g.j.J),a.g.R()),d=a.g.da(b,c),"object"===typeof d&&f.set(a.g.id,d),c&&(a.g.j.U=!1,!1===d&&(e=null)));for(var h=x(a.id),k=0;k<h.length;k++){var m=h[k];m.j.U&&(m.da&&(d=m.da(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.j.U=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Af(a,a.i,f.toString()),uf(g)&&uf(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Of),d&&f.clear(h)):e=f.toString());c&&(a.j.U=!1,b=a.G.power)&&(b.textContent="Power");a.w=0;return e}
l.reset=function(){this.j.reset=!0;this.C&&this.C.reset&&(E(this,"Resetting "+this.C.type),this.C.reset());this.g&&this.g.reset&&(E(this,"Resetting "+this.g.type),this.g.reset());for(var a=x(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.C&&c!==this.g&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}this.j.reset=!1;K(this,-1)};l.start=function(a,b){for(var c=x(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)};
l.stop=function(a,b){for(var c=x(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)};
function K(a,b){if(a.g){var c=a.g,d=b||0,e=c.G.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.j.J?c.O.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.K)){c=a.g.j.J;d=!!(a.g.u&8);if(0>=b||60<=(a.I+=b)){e=a.g.i;if(a.G.PC){var f=a.A&&a.A.ca||8,e=e||0,e=8==f?Ra(e,void 0):F(e,void 0);a.G.PC.textContent!=e&&(a.G.PC.textContent=e)}a.I=0}-1>b?a.i=a.g.i:0<b&&c&&!d&&(a.i=a.g.oa);Xb(a,a.i);Rb(a,a.w)}}
l.ea=function(a,b,c){var d=this;switch(b){case "power":return this.G[b]=c,c.onclick=function(){d.w||(d.j.U?$e(d,!1,!0):jf(d,d.Fa))},!0;case "reset":return this.G[b]=c,c.onclick=function(){if(d.j.U&&!d.w)if(d.b&&!d.F){var a=wa("Click OK to save changes to this "+Db+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");$e(d,a,!0);!a&&d.L?window&&window.location.reload():d.Fa(ff)}else d.reset(),d.g&&!d.A&&d.g.X()},!0;case "save":if(Ua())c.parentNode.removeChild(c);else return this.G[b]=
c,c.onclick=function(){var a=ef(d,!0);if(a){var b=!!(d.b&&!d.F||d.L),c=$e(d,b);b?Af(d,a,c):d.Z("Resume disabled, machine state not saved")}},!0}return!1};function ef(a,b){var c=a.i;c||((c=nb(vf),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Pf(a,c))||a.Z("The user ID is invalid.")):b&&a.Z("Browser local storage is not available"));return c}
function Pf(a,b){a.i=null;b=jb(Va()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ob(vf,b.data),a.i=b.data)}catch(d){w(d.message+" ("+c+")")}return a.i}function hf(a){var b=null;a.i&&(b=Va()+"/api/v1/user?req=load&user="+a.i+"&state="+Qf(a,"1.34.0"));return b}
function Af(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Qf(a,"1.34.0");d.data=c;b=jb(Va()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Z("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Z(c),ob(vf,""),a.i=null)}}
function hd(a,b){if(a.ka){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ka.focus();!b&&window&&window.scrollTo(c,d)}}var qf="failsafe",lf="validate",nf="timestamp",xf="version",yf="url",zf="browser",vf="user",pf=-1,ff=0,of=1,sf=2,Of=3;vb(function(){for(var a=C(document,B+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,B,"computer"),e=0;e<c.length;e++){var f=c[e],g=A(f),g=new cf(g,d,!0);ya(g,f);g.M&&jf(g,g.Fa)}});
wb.show.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=y("Computer",c.id))&&c.P&&!c.j.U&&c.Fa(pf)}});wb.exit.push(function(){for(var a=C(document,B,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=y("Computer",c.id))&&c.j.U&&$e(c,!(!c.b||c.F),!0)}});function J(a,b,c){this.id=a.id;this.g="";this.b={};this.A=this.C=!1;this.key=Qf(a,b,c);tf(this,a.sb)}l=J.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
l.data=function(){return this.b};function gf(a,b){return b?(a.g=b,a.A=!0,a.C=!1,!0):a.A?!0:lb()&&(b=nb(a.key))?(a.g=b,a.A=!0):!1}function mf(a){var b=!0;if(!a.C)try{a.b=JSON.parse(a.g),a.C=!0}catch(c){w(c.message||c),b=!1}return b}function uf(a){var b=!0;if(lb()){var c=JSON.stringify(a.b);ob(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.g};
function tf(a,b){a.g="";a.b={};a.A=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){tf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Qf(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Rf=0;
function Sf(a,b,c,d,e,f,g){f("Loading "+a+"...");jb(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):Tf(k,a,b,c,d,e,f,g)})}
function Tf(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(ta(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\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(r){g=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Uf(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Uf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");jb(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],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[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);Uf(a,b,c)}})}else c(a,null)}
function Vf(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Wa(a))}function g(a){f("Error: "+a);m&&(--Rf||zb(!0));m=!1}var h,k,m=!0;Rf++;ua[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css";u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n));r.appendChild(u)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?Sf(d,null,a,null,!1,f,function(a,e){e?(ta(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Rf||zb(!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),--Rf||
zb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Sf(c,b,a,e,!0,f,n):Tf(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(N){g(N.message)}return m}window.embedPDP10=function(a,b,c,d){zb(!1);return Vf("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){zb(!1);return Vf("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return y(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Aa[a]){for(var c=!0,d=Aa,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n<f;n++){var r=b[n];if('"'==r||"'"==r)m&&r!=m?k+=r:(m?m=null:m=r,k&&(h.push(k),k=""));else{if(!m){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){k&&(h.push(k),k="");";"==r&&h.length&&(g.push(h),h=[]);continue}}k+=r}}k&&h.push(k);h.length&&g.push(h);d[e]=g;za(a)||(c=!1)}return c};window.enableEvents=zb;window.sendEvent=Bb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10-dbg.map
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W];
function ud(a){t.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=Ra(this.w);if(this.w){a=this.w;var b=Sa(this.F);"json"!=b&&"hex"!=b&&(a=Ua()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,g){g?(c.Z("Unable to load ROM resource (error "+g+": "+a+")"),c.w=null):(ta(c.La,a,b),(a=ib(a,b))?(c.b=a.W,c.T=a.T):c.w=null);vd(c)})}}p(ud,t);
ud.prototype.ua=function(a,b,c,d){this.D=b;this.g=c;this.A=d;vd(this)};ud.prototype.ma=function(){this.T&&(this.A&&wd(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ud.prototype.da=function(){return!0};
function vd(a){if(!Ka(a)){if(a.w){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ia(a,"ROM size ("+F(a.b.length,8,!0)+") does not match specified size ("+F(a.u,8,!0)+")");else{var b;b=a.B;if(nc(a.D,b,a.u,Lc)){var c;for(c=0;c<a.b.length;c++)ic(a.D,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],g=d.D,f=d.u,h=[],k=d.B>>>g.i;0<f&&k<g.b.length;)h.push(g.b[k++]),f-=16384;g=d.D;d=d.u;f=0;for(e>>>=
g.i;0<d&&e<g.b.length;){k=h[f++];if(!k)break;g.b[e++]=k;d-=16384}}delete a.b}}}E(a)}}tb(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ud(d);B(d,c)}});
function xd(a){t.call(this,"RAM",a);this.T=this.Aa=null;this.i=+a.addr;this.u=+a.size;this.ja=a.load;this.ia=a.exec;null!=this.ja&&(this.ja=+this.ja);null!=this.ia&&(this.ia=+this.ia);this.w=this.F=!1;this.b=a.file;this.B=Ra(this.b);if(this.b){a=this.b;var b=Sa(this.B);"json"!=b&&"hex"!=b&&(a=Ua()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,g){g?(c.Z("Unable to load RAM resource (error "+g+": "+a+")"),c.b=null):(ta(c.La,a,b),(a=ib(a,b))?(c.Aa=a.Aa,
c.T=a.T,null==c.ja&&(c.ja=a.ja),null==c.ia&&(c.ia=a.ia)):c.b=null);yd(c)})}}p(xd,t);xd.prototype.ua=function(a,b,c,d){this.D=b;this.g=c;this.A=d;yd(this)};xd.prototype.ma=function(a,b){this.T&&(this.A&&wd(this.A,this.id,this.i,this.u,this.T),delete this.T);b||this.reset();return!0};xd.prototype.da=function(){return!0};
function yd(a){if(a.D&&(!a.w&&a.u&&(nc(a.D,a.i,a.u,1)?a.w=!0:a.u=0),!Ka(a))){if(!a.w)v("No RAM allocated");else if(a.b){if(!a.Aa)return;zd(a,a.Aa,a.ja,a.ia,a.i)?a.status('Loaded image "'+a.B+'"'):a.Z('Error loading image "'+a.B+'"')}a.F=!0;E(a)}}
xd.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.D,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.D(f,d,e.v+d);c-=16384;b++;d=0}this.Aa&&zd(this,this.Aa,this.ja,this.ia,this.i,!this.A)}this.F=!1};
function zd(a,b,c,d,e,g){var f=!1;null==c&&(c=e);if(null!=c){for(f=0;f<b.length;f++)ic(a.D,c+f,b[f]);f=!0}f&&(null==d&&(a.g.R(),g=!1),null!=d&&(a=a.g,a.bb=d,a.i=d%Hb,g?a.j.U?a.j.J||cc(a):a.j.X=!0:a.A&&a.j.U?a.R()||a.C.j.reset||(Zc(a.A),K(a.C,-1)):!1===g&&a.R(),!a.j.J&&a.xa&&a.xa.stop()));return f}tb(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new xd(d);B(d,c)}});
function Ad(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Bd;b&&(void 0===c&&(c="Panel"),(c=y(c,this.id))&&(b=c.G[b])&&this.ea(null,a,b))}this.b=this.B=null;this.exports={connect:this.nb,receiveData:this.Oa,receiveStatus:this.Ob,setConnection:this.Rb}}p(Ad,t);l=Ad.prototype;
l.ea=function(a,b,c){var d=this;switch(b){case Bd:return this.G[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Za:q.rb:46==c?b=q.Za:a.ctrlKey&&c>=q.Ya&&c<=q.ub&&(b=c-(q.Ya-q.ob));b&&(a.preventDefault&&a.preventDefault(),d.Oa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.qb&&(b=q.pb);d.Oa(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.Oa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.ua=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;E(this)};
l.nb=function(a){if(!this.b){var b=Wc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ya(c[0]);if(d!=this.Ka)return;c=Ya(c[1]);if(this.b=xa(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ma=function(a,b){if(!b)if(this.nb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.da=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new J(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Oa=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.Ob=function(){};l.Rb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Bd="buffer";
tb(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ad(d);B(d,c)}});function Cd(a){t.call(this,"Debugger",a);this.ca=+a.base||16;this.na=!1;this.B=0;this.O=!1;this.w=-1;this.u=[];this.Y={}}p(Cd,t);Cd.prototype.mb=function(){return-1};Cd.prototype.Xa=function(){};
function Dd(a,b,c,d){if(c)if(b){0>a.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.O?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ya(b.substring(c,g))),c=g+1}}return a}
function Ed(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break;
case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function Fd(a,b,c){var d;if(b){b=Gd(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Ya(n);if(!n){g=!0;break}n=Hd(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],x=n.length;k.length&&Id[n]<Id[k[k.length-1]]&&Ed(h,k,1);k.push(n);b=b.substr(r+x)}Ed(h,k)&&1==h.length||(g=!0);g?c&&a.f("error parsing '"+f+"' at character "+(f.length-b.length)):(d=h.pop(),c&&Jd(a,null,
d))}return d}function Gd(a,b){for(var c,d=a.na?"(":"{",e=a.na?")":"}",g=new RegExp(a.na?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=Fd(a,c[1]);b=b.replace(d+c[1]+e,null!=f?N(a,f):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function Hd(a,b,c,d){var e;null!=b?(e=a.mb(b),0<=e?e=a.Xa(e):(e=a.Y[b],null==e&&(e=Pa(b,a.ca))),null!=e||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return e}
function Jd(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,r="";n?32<n&&(n=32):n=32;for(var x=null==k||isNaN(k),R=m=m||n;0<n--;)R||(r=","+r,R=m),r=(x?"?":k&1?"1":"0")+r,k>>=1,R--;f=r+f;d>>=8}d=F(c,0,!0)+" "+c+". "+Qa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e}
function Kd(a,b){if(b)return Jd(a,b,a.Y[b]);var c=0;for(b in a.Y)Jd(a,b,a.Y[b]),c++;return 0<c}function N(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:a=Qa(b,0<c?(c+2)/3|0:0);break;case 10:a=b;b=0<c?Math.ceil(.3*c):0;var d="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;)d=String.fromCharCode(a%10+48)+d,a/=10;a=d;break;default:a=F(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
var Id={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Ld(a){Cd.call(this,a);this.xa=!1;this.na=!0;this.I=X();this.ta=X();this.N=X();this.H=[];this.b=this.K=this.F=[];Md(this);this.P=this.ha=0;this.i=[];this.qa=void 0;Nd(this);this.A=this;this.oa={};this.V=this.ib=0;this.S=null;this.M=[];Od(this,a.messages);this.sa=a.commands;this.L=0;this.Da=this.ra=null;this.B=this.za=this.ya=this.ga=this.pa=0;this.fa=this.ba=null;var b=this;window?void 0===window[C]&&(window[C]=function(a){return ad(b,a)}):void 0===global[C]&&(global[C]=function(a){return ad(b,
a)})}p(Ld,Cd);function Y(a){a=a&&a.v;null==a&&(a=-1);return a}function X(a,b,c){return{v:void 0===a?null:a,wb:void 0===b?!1:b,la:!1,ca:c}}function Pd(a){return[a.v,a.wb,a.ca,a.la,a.Pa]}function Qd(a,b){var c=X(b[0],b[1],b[2]);c.la=b[3];b[4]&&(c.gb=Dd(a,c.Pa=b[4]));return c}l=Ld.prototype;
l.ua=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.fa=a.u;(a=Wc(a,"messages"))&&Od(this,a);Rd(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Gc[c],n&&d.f(F(n.id,8)+" %"+F(e<<d.D.i,8)+" %"+F(n.v,8)+" "+F(n.Ia,4,!0)+
" "+F(n.size,4,!0)+" "+m),c!=Kc&&(c=-1),m=0);a+=16384;e++}}});E(this)};
l.ea=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ba=this.G[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ad(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.G[b]=c,rb(c,function(){if(d.ba){var a=d.ba.value;
d.ba.value="";ad(d,a,!0);return!0}return!1}),!0;case "step":return this.G[b]=c,rb(c,function(a){var b=!1;La(d,!0)||(Ma(d,!0),b=dc(d,a?1:0,null),Ma(d,!1));return b}),!0}return!1};function $c(a){if(a.ba){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ba.focus();window&&window.scrollTo(b,c)}}l.Ca=function(a,b){var c=-1,d=Y(a);-1!==d&&(c=jc(this.D,d),b&&null!=a.v&&(a.v+=b||1));return c};l.$a=function(a,b,c){var d=Y(a);-1!==d&&(ic(this.D,d,b),c&&null!=a.v&&(a.v+=c||1),K(this.C,-1))};
function Z(a,b,c){var d;c=(c?a.I:a.ta).v;var e,g;if(void 0!==b){b=Gd(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var f,h;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var k=a.H[c].T[d];if(null!=k){h=k.o;break}}null!=h&&(f=X(h));if(d=f)return d;0<=b.indexOf("0x")?g=16:0<=b.indexOf("0o")?g=8:0<=b.indexOf(".")&&(g=10);c=Fd(a,b,void 0)}null!=c&&(d=X(c,e,g));return d}function Sd(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.gb=Dd(a,b.Pa=c[2]))}
function Td(a){return Qa(a/Hb,6)+" "+Qa(a%Hb,6)}function Od(a,b){a.A=a;a.V=a.ib=536870916;a.S=null;a.M=[];b=Dd(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in I){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.V|=I[c],a.f(c+" messages enabled"))}}function Rd(a,b){for(var c in I)if(16==I[c]){a.oa[c]=b;break}}l.mb=function(a){return Ud.indexOf(a.toUpperCase())};
l.Xa=function(a){var b;switch(a){case Vd:b=this.g.i;break;case Wd:b=this.g.N;break;case Xd:b=this.g.w}return b};l.message=function(a,b){b&&(a+=" @"+N(this,X(this.g.pa).v));if(!this.S||a!=this.S)if(this.S=a,this.V&1073741824)this.M.push(a);else{var c;if(this.V&-2147483648&&this.g&&(c=this.g.j.J)||La(this,!0))this.R(),c&&(a+=" (cpu halted)");this.f(a);this.g&&(a=this.g,id(a),a.Y=0,a.C&&K(a.C,void 0))}};
function Nd(a){var b;if(!od(a))a.i&&a.i.length&&a.f("instruction history buffer freed"),a.P=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Yd);for(b=0;b<a.i.length;b++)a.i[b]=X();a.P=0;a.f("instruction history buffer allocated")}}function Zd(a,b,c){if(!Ae(a,c))return!1;cc(a.g,b);return!0}
function dc(a,b,c,d){if(!Ae(a))return!1;var e="";null===c&&(e=(c=!a.ra||"tr"==a.ra)?"tr":"t");a.B=0;b||od(a)&&pd(a,a.g.i,0);try{b=gd(a.g,b);var g=a.g.Ja(b);0<g&&(ec(a.g,g),a.B+=g,fc(a.g,g,!0),gc(a.g,g),a.ga++)}catch(f){"number"!=typeof f&&(a.B=0,Ia(a.g,f.stack||f.message))}!1!==d&&(a.fa&&a.fa.stop(),K(a.C,-1));Zc(a,c||!1,e);return 0<a.B}l.R=function(a){this.g&&this.g.R(a)};function Zc(a,b,c){a.xa&&(void 0===b&&(b=!0),c&&a.f(Ce+c),a.I=X(a.g.i),b&&1!=a.L?De(a):Ee(a))}
function Ae(a,b){var c;(c=!a.g||!Ka(a.g))||(c=a.g,c.j.U?c=!0:(c.f(c.toString()+" not powered"),c=!1),c=!c);return c||a.g.j.J?(b||a.f("cpu busy or unavailable, command ignored"),!1):!Ja(a.g)}l.ma=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.da=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Nd(this);this.ga=0;this.S=null;this.B=0;this.I=X(this.g.i);this.j.J=!1;Fe(this);a||Zc(this)};
l.save=function(){var a=new J(this);a.set(0,Pd(this.I));a.set(1,Pd(this.N));a.set(2,[this.u,this.O,this.V]);a.set(3,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.I=Qd(this,a[b++]),this.N=Qd(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.O=a[b][1],this.V|=a[b][2]);a[3]&&(this.H=a[3]);return!0};l.start=function(a,b){this.L||this.f("running");this.j.J=!0;this.ya=a;this.za=b};
l.stop=function(a,b){if(this.j.J){this.j.J=!1;this.B=b-this.za;if(!this.L){b="stopped";if(this.B){a-=this.ya;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";od(this)&&(b+=this.ga+" instructions, ",this.ga=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Na(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}Zc(this,!0);$c(this);Fe(this,this.g.i);this.S=null}};function od(a){return 1<a.b.length||!!a.ha}
function pd(a,b,c){var d=-1;c||(d=a.g.aa(b),2756==d>>23&&a.g.pa==b&&(b=nd(a.g,1)));if(0<c&&(a.ha&&!--a.ha||Tc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ga++,0>d&&(d=a.g.aa(b)),0<=d&&(c=a.i[a.P],c.v=b,c.la=!1,c.ca=void 0,++a.P==a.i.length&&(a.P=0)));return!1}
function Ge(a,b,c,d){var e=X(b.v),g=a.Ca(b,1),f,h,k,m=0,n=g/Kb|0,r;for(r in He)if(f=He[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Ie;m=n&3;break;case 32256:k=Je;m=n&7;break;case 29248:k=Ke,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Le&&(k="B");k=Me[f||0]+k;k=Xa(k,8);f?(k=28700==h?k+N(a,g/Lb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=Td(g);g=k;f="";h=N(a,e.v)+":";if(-1!==e.v&&-1!==b.v){do if(k=a.Ca(e,1),f+=" "+Td(k),null==
e.v)break;while(e.v!=b.v)}h+=Xa(f,16)+g;c&&(h=Xa(h,60)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+bd(a.g).toString()+" cs="+F(a.g.ra)):h+(null!=d?"="+d.toString():""));return h}function Md(a){var b,c;a.b=["bp"];if(a.K)for(b=1;b<a.K.length;b++){c=a.K[b];c=Y(c);var d=a.D;Sc(d.b[c>>>d.i],!1)}a.K=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],c=Y(c),d=a.D,Sc(d.b[c>>>d.i],!0);a.F=["bw"];a.pa=0;a.ha=0}
l.Ba=function(a,b,c){var d=!0;c||Ne(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.f("invalid address: "+N(this,b.v)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.F)}}d&&(a.push(b),c?b.la=!0:(Oe(this,a,a.length-1,"set"),Nd(this)));return d};function Ne(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==Y(h)&&(!d||h.la)){g=!0;h.la||e||Oe(a,b,f,"cleared");b.splice(f,1);b!=a.b&&(d=a.D,Sc(d.b[c>>>d.i],b==a.F));h.la||Nd(a);break}}return g}
function Pe(a,b){for(var c=1;c<b.length;c++)Oe(a,b,c);return b.length-1}function Oe(a,b,c,d){c=b[c];a.f(b[0]+" "+N(a,c.v)+(d?" "+d:c.Pa?' "'+c.Pa+'"':""))}function Fe(a,b){if(void 0!==b)Tc(a,b,1,a.b,!0),a.L=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.la){if(!Ne(a,a.b,c,!0))break;b=0}}}
function Tc(a,b,c,d,e){var g=!1;if(!a.pa++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.la)for(var k=Y(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.la&&(Ne(a,d,h,!0),e=!0);if(n=h.gb){for(var g=!1,r=0;r<n.length;r++)if(!Qe(a,n[r],!0)){if(n[r].indexOf("if")){g=!0;break}for(var x=r+1;x<n.length&&n[x].indexOf("else");x++)r++;if(x==n.length){g=!0;break}}a.g.j.J||(g=!0)}if(g){e||Oe(a,d,f,"hit");break}}}a.pa--;return g}
function Re(a,b){var c=Ud[b]||"";c&&(c+="="+N(a,a.Xa(b))+" ");return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};function wd(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],r=gb(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({dd:b,v:c,zb:d,T:e,hb:g})}
function Se(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b<a.H.length;b++){var g=a.H[b],f=g.v>>>0,h=g.zb;if(e>=f&&e<f+h){e=gb(g.hb,[e-f],a.jb);0<=e?Te(a,b,e,d):c&&(e=~e,Te(a,b,e-1,d),Te(a,b,e,d));break}}return d}function Te(a,b,c,d){var e={},g=a.H[b].hb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.H[b].T[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)}
function Ue(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Kd(a)||a.f("no variables"),!0;if(!c[2])return Kd(a,c[1]);if(!c[3])return delete a.Y[c[1]],!0;b=Fd(a,c[3]);return void 0!==b?(a.Y[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
function Ve(a,b,c){var d=null;if(b=Z(a,b,!0)){var e=Se(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.v-e[1])&&(f=" + "+F(g,4,!0)),g=e[0]+" ("+N(a,e[1])+")"+f,c&&a.f(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.v)&&(f=" - "+F(g,4,!0)),g=e[4]+" ("+N(a,e[5])+")"+f,c&&a.f(g),d||(d=g))}else c&&a.f("no symbols")}return d}
function De(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trm\tdump misc registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.g;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)d=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}f=Fd(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":e.i=f%Hb;a.I=X(e.i);break;default:a.f("unknown register: "+
g);return}K(a.C);a.f("updated registers:")}}g=""+(Re(a,Wd)+Re(a,Xd));d&&(g+="\n");a.f(g);c&&(a.I=X(e.i),Ee(a,N(a,a.I.v)))}}function We(a,b){b=Ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.f(c[2]):Jd(a,null,c[2].charCodeAt(0)):Fd(a,b,!0)}
function Xe(a,b,c){if("?"==c)a.f("trace commands:"),a.f("\tt [#]\ttrace # instructions"),a.f("\ttr [#]\ttrace # instructions with register updates"),a.f("\ttc [#]\ttrace # cycles"),a.f("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Hd(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ra=b;qb(c,function(){return Ma(a,!0)&&dc(a,e,d,!1)},function(){a.fa&&a.fa.stop();K(a.C,-1);Ma(a,!1)})}}
function Ee(a,b,c,d){if(b=Z(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Hd(a,c.substr(1)),null!=c&&(d=c);else{d=Z(a,c,!0);if(!d||d.v<b.v)return;e=d.v-b.v;if(256<e){a.f("range too large");return}d=-1}c=0;for(var g;0<e&&d--;){g=La(a,!1)||a.L?a.B:null;var f=null!=g?"cycles":null,h=Se(a,b),k=b.v;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);g=Ge(a,b,f,g);a.f(g);a.I=b;e-=b.v-k;c++}}}
function Qe(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ce+b):(a.O&&(a.f("ended assemble at "+N(a,a.N.v)),a.I=a.N,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Ka(a)&&0<b.length){a.O&&(b="a "+N(a,a.N.v)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var r=
Z(a,f[1],!0);if(r)if(a.N=r,void 0===f[2])a.f("begin assemble at "+N(a,r.v)),a.O=!0,K(a.C);else{var x;a.f("not supported yet");x=[];if(x.length){for(var R=0;R<x.length;R++)a.$a(r,x[R],1);a.f(Ge(a,a.N))}}break;case "b":a:{var zf=f[0],Da=f[1],Af=b;if("?"==Da)a.f("breakpoint commands:"),a.f("\tbp #\tset exec breakpoint"),a.f("\tbr #\tset read breakpoint"),a.f("\tbw #\tset write breakpoint"),a.f("\tbc #\tclear breakpoint (* to clear all)"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [#]\tbreak after # instruction(s)");
else{var la=zf.charAt(1);if("l"==la){var qc;qc=0+Pe(a,a.b);qc+=Pe(a,a.K);(qc+=Pe(a,a.F))||a.f("no breakpoints")}else if("n"==la){var $d=+Da||0;Da&&(a.ha=$d);a.f("break after "+$d+" instruction(s)")}else if(void 0===Da)a.f("missing breakpoint address");else{var G=X();if("*"!=Da&&(G=Z(a,Da,!0),!G))break a;"c"==la?null==G.v?(Md(a),a.f("all breakpoints cleared")):Ne(a,a.b,G)||Ne(a,a.K,G)||Ne(a,a.F,G)||a.f("breakpoint missing: "+N(a,G.v)):null!=G.v&&(Sd(a,G,Af),"p"==la?a.Ba(a.b,G):"r"==la?a.Ba(a.K,G):
"w"==la?a.Ba(a.F,G):a.f("unknown breakpoint command: "+la))}}}break;case "c":a.ka&&(a.ka.value="");break;case "d":a:{var Ea,Fa=f[0],S=f[1],da=f[2],Bf=f[3];if("?"==S){var Ga="";for(Ea in I)a.oa[Ea]&&(Ga&&(Ga+=","),Ga+=Ea);Ga+=",state,symbols";a.f("dump memory commands:");a.f("\tdw [a] [n] dump n words at address a");a.f("\tds [a] [n] dump n words at address a as JSON");a.f("\tdh [p] [n] dump n instructions from history position p");Ga.length&&a.f("dump extension commands:\n\t"+Ga)}else if("state"==
S){var rc=Ye(a.C,!0);"console"==da?console.log(rc):(a.ka&&(a.ka.value=""),rc&&a.f(rc))}else if("symbols"==S)for(var sc=0;sc<a.H.length;sc++){var tc=a.H[sc],Ha;for(Ha in tc.T)if("."!=Ha.charAt(0)){var ae=tc.T[Ha].o;if(void 0!==ae){var be=tc.T[Ha].l;be&&(Ha=be);a.f(N(a,ae)+" "+Ha)}}}else{if("d"==Fa){for(Ea in I)if(f[1]==Ea){var ce=a.oa[Ea];ce?(f.shift(),f.shift(),ce(f)):a.f("no dump registered for "+S);break a}S||(Fa=a.Da||"dw")}else a.Da=Fa;if("dh"==Fa){var de=S,ee=da,fe="",ge=0,P=a.P,T=a.i;if(T.length){var L=
+de||a.qa,Za=+ee||10;isNaN(L)?L=Za:fe="more ";L>T.length&&(a.f("note: only "+T.length+" available"),L=T.length);P-=L;0>P&&(null==T[T.length-1].v?(L=P+L,P=0):P+=T.length);var uc=[];"call"==ee&&(Za=1E5,uc=["CALL"]);for(void 0!==de&&a.f(L+" instructions earlier:");0<Za&&P!=a.P;){var he=T[P++];if(null==he.v)break;var $a=X(he.v),Cf=L--,ie=Ge(a,$a,"history",Cf);(!uc.length||0<=ie.indexOf(uc[0]))&&a.f(ie);$a.Wa&&(P+=$a.Wa,Za-=$a.Wa,L-=$a.Wa);P>=T.length&&(P=0);a.qa=L;ge++;Za--}}ge||(a.f("no "+fe+"history available"),
a.qa=void 0)}else{var ma=Z(a,S);if(ma){var na=0,je="ds"==Fa;if(da){if("l"==da.charAt(0))da=da.substr(1)||Bf,na=Hd(a,da);else{var ke=Z(a,da);ke&&(na=ke.v-ma.v)}0>na&&(na=0);65536<na&&(na=65536)}var Df=a.ca;ma.ca&&(a.ca=ma.ca);for(var le="db"==Fa?1:2,vc=na||32,wc=1==le?2:4,Ef=(vc+wc-1)/wc|0||1,oa="";Ef--&&0<vc;){for(var pa="",me="",S=N(a,ma.v),ne=wc;0<ne--&&0<vc--;){var Cb=a.Ca(ma,1);je?(pa&&(pa+=","),pa+=Cb):(pa+=Td(Cb),pa+=" ");for(var oe=0;1==le&&6>oe;oe++)me+=String.fromCharCode((Cb%64|0)+32),
Cb/=64}oa&&(oa+="\n");oa=je?oa+(pa+","):oa+(S+": "+pa+(0>ne?" "+me:""))}oa&&a.f(oa);a.ta=ma;a.ca=Df}}}}break;case "e":if("else"==f[0])break;var pe,qe,re=f[0],xc=f[1];"e"==re||"ew"==re?(pe=a.Ca,qe=a.$a):xc=null;if(null==xc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Db=Z(a,xc);if(Db)for(var Eb=2;Eb<f.length;Eb++){var yc=Fd(a,f[Eb]);if(void 0===yc){a.f("unrecognized value: "+f[Eb]);break}a.f("changing "+N(a,Db.v)+" from "+Td(pe.call(a,Db))+" to "+Td(yc));qe.call(a,
Db,yc,1)}}break;case "g":a:{var se=f[1],Ff=b;if(void 0!==se){var zc=Z(a,se,!0);if(!zc)break a;Sd(a,zc,Ff);a.Ba(a.b,zc,!0)}Zd(a,!0,c)}break;case "h":a.j.J?(c||a.f("halting"),a.R()):La(a,!0)||c||a.f("already halted");break;case "i":if("if"==f[0]){var Ac;var ab=b.substr(2),ab=Ya(ab);Fd(a,ab)?(c||a.f("true: "+ab),Ac=!0):(c||a.f("false: "+ab),Ac=!1);Ac||(d=!1);break}g=!0;break;case "k":var Gf=f[0];if("?"==f[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");
else{var Bc=0,Cc=X(),bb=X();for(a.f("stack trace for "+N(a,bb.v));10>Bc;){for(var qa=null,Hf=256;65536>bb.v>>>0;){Cc.v=a.Ca(bb,2);if(null==bb.v||!Hf--)break;if(!(Cc.v&1)){for(var If=a,Fb=Cc,te=null,cb=Fb.v,ue=cb,Dc=1;6>=Dc&&cb;Dc++){if(2<Dc){Fb.v=cb;var Gb=Ge(If,Fb);if(0<=Gb.indexOf("JSR")){var ve=Gb.indexOf(" ");if(cb+(Gb.indexOf(" ",ve+1)-ve-1)/2==ue){te=Gb;break}}}cb-=2}Fb.v=ue;if(qa=te)break}}if(!qa||null==qa)break;var we=null;if("ks"==Gf){var xe=qa.match(/[0-9A-F]+$/);xe&&(we=Ve(a,xe[0]))}qa=
Xa(qa,50)+" ;"+(we||"stack="+N(a,bb.v));a.f(qa);Bc++}Bc||a.f("no return addresses found")}break;case "l":if("ln"==f[0]){Ve(a,f[1],!0);break}g=!0;break;case "m":a:{var U,V=null,z=f[1];"?"==z&&(z=void 0);if(void 0!==z){var ea=0;if("all"==z)ea=1879046143,z=null;else if("on"==z)V=!0,z=null;else if("off"==z)V=!1,z=null;else{"keys"==z&&(z="key");"kbd"==z&&(z="keyboard");for(U in I)if(z==U){ea=I[U];V=!!(a.V&ea);break}if(!ea){a.f("unknown message category: "+z);break a}}if(ea)if("on"==f[2])a.V|=ea,V=!0;
else if("off"==f[2]&&(a.V&=~ea,V=!1,1073741824==ea)){for(var ye=1E3<=a.M.length?a.M.length-1E3:0;ye<a.M.length;)a.f(a.M[ye++]);a.M=[]}}var Jf=0,db="";for(U in I)if(!z||z==U){var Kf=!!(a.V&I[U]);if(null===V||V==Kf)db&&(db+=","),++Jf%10||(db+="\n\t"),"key"==U&&(U="keys"),db+=U}void 0===z&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==V?V?"messages on: ":"messages off: ":"message categories:\n\t")+(db||"none"));Nd(a)}break;case "p":if("print"==f[0]){We(a,b.substr(5));
break}var Lf=f[0];if("?"==f[1])a.f("step commands:"),a.f("\tp\tstep over instruction"),a.f("\tpr\tstep over instruction with register update");else{var Mf="pr"==Lf?1:0;if(a.L)a.f("step in progress");else{var ze=X(a.g.i);a.Ca(ze);a.L?(a.Ba(a.b,ze,!0),Zd(a)||(a.C&&fd(a.C),a.L=0)):Xe(a,Mf?"tr":"t")}}break;case "r":if("reset"==b){a.C&&a.C.reset();break}De(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var eb=+f[2];if(8==eb||10==eb||16==eb)a.ca=eb;else{a.f("invalid base: "+eb);break}}a.f("default base: "+
a.ca);break;case "cs":var fb;void 0!==f[3]&&(fb=+f[3]);switch(f[2]){case "int":a.g.ba=fb;break;case "start":a.g.sa=fb;break;case "stop":a.g.ga=fb;break;default:a.f("unknown cs option");break a}void 0!==fb&&Yc(a.g);a.f("checksums "+(a.g.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(cd(a.g,+f[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.g.P.toFixed(2)+"Mhz")+" ("+a.g.S+"x)");break;default:if(f[1]){a.f("unknown option: "+f[1]);break}case "?":a.f("debugger options:"),
a.f("\tbase #\t\tset default base to #"),a.f("\tcs int #\tset checksum cycle interval to #"),a.f("\tcs start #\tset checksum cycle start count to #"),a.f("\tcs stop #\tset checksum cycle stop count to #"),a.f("\tsp #\t\tset speed multiplier to #")}break;case "t":Xe(a,f[0],f[1]);break;case "u":Ee(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Ue(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.f((Bb||"PDP10")+" version 1.34.0 ("+a.g.eb+",RELEASE)");a.f(window?window.navigator.userAgent:"");break}g=!0;
break;case "?":if(f[1]){We(a,b.substr(1));break}var Ec="commands:",Fc;for(Fc in Ze)Ec+="\n"+Xa(Fc,9)+Ze[Fc];od(a)||(Ec+="\nnote: history disabled if no exec breakpoints");a.f(Ec);break;default:g=!0}g&&(a.f("unknown command: "+b),d=!1)}}catch(Be){a.f("debugger error: "+(Be.stack||Be.message)),d=!1}return d}function ad(a,b,c){b=Dd(a,b,c);for(var d in b)if(!Qe(a,b[+d]))return!1;return!0}
var Ze={"?":"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"},Le=20,Me=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOV MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "),
Vd=0,Wd=1,Xd=2,Ud=["PC","RA","EA"],$e={},He=($e[28672]={0:101},$e[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:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},$e[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Le,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},$e[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},$e[29248]={24576:79,24640:80,25088:81,25152:82},$e[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,28692:98,28696:99,28700:100},$e),Ie=["","I",
"M","S"],Je=" L E LE A GE N G".split(" "),Ke="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Yd=1E3,Ce=">> ";tb(function(){for(var a=D(document,C,"debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ld(d);B(d,c)}});
function af(a,b,c){t.call(this,"Computer",a,33554432);this.j.U=!1;this.O=null;bf(this,b);this.M=Wc(this,"autoPower",a,6);this.w=0;this.Y=+a.busWidth||+a.buswidth;this.K=this.F=this.L=null;this.I=this.S=!1;this.H=this.B=null;this.P=this.N=!1;this.ba=Wc(this,"url")||"";(Math.random()+.1).toString(36);this.i=cf(this);if(this.g=y("CPU",this.id)){this.A=y("Debugger",this.id);this.D=new kc({id:this.La+".bus",busWidth:this.Y},this.g,this.A);var d,e=w(this.id);if((this.u=y("Panel",this.id))&&this.u.ka)for(b=
0;b<e.length;b++)d=e[b],d.Z=this.u.Z,d.f=this.u.f,d.ka=this.u.ka;this.f(Bb+" v1.34.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.ua&&d.ua(this,this.D,this.g,this.A);b=null;d=Wc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var g;if(a=Wc(this,"state")||(g=!0,a.state))this.L=b=a,g||(this.I=!0,this.b=df),this.b&&(this.H=new J(this,"1.34.0"),ef(this.H)?b=null:
delete this.H);!b&&this.b&&(b=ff(this))&&(this.I=!0);if(b){var f=this;H(b,null,!0,function(a,b,c){c?(f.F=null,f.I=!1,f.Z("Unable to load machine state from server (error "+c+(b?": "+Ya(b):"")+")")):(f.K=b,f.S=!0);E(f)})}else E(this);this.G.power||(this.M=!0);!c&&this.M&&gf(this,this.Ga)}else v("Unable to find CPU component")}p(af,t);function bf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.O=b}
function Wc(a,b,c,d){var e=b.toLowerCase(),e=ob(b)||ob(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function gf(a,b,c){for(var d=w(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!Ka(g)){Ka(g,function(){gf(a,b,c)});return}}b.call(a,c)}
function hf(a,b){var c=new J(a,"1.34.0",jf);if(ef(c)&&kf(c)){var d=c.get(lf),e=b?b.get(lf):"unknown";d!=e&&(a.Z("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=af.prototype;
l.Ga=function(a){void 0===a&&(a=this.b||(this.K?mf:df));if(!this.w){this.w++;var b=!1,c=!1;this.N=!1;var d=this.H||new J(this,"1.34.0");if(a==nf)b=!0;else if(a>df){if(ef(d,this.K)){this.B=new J(this,"1.34.0",of);ef(this.B)&&(pf(this,d),a=qf,rf(this.B));this.B.set(lf,hb());sf(this.B);var e=this.b&&!this.I;if(a==mf||wa("Click OK to restore the previous "+Bb+" machine state, or CANCEL to reset the machine.")){if(c=kf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?ef(d,f):("error"==g&&"no machine state"!=
f?(this.Z("Error: "+f),"unable to verify user"==f&&(mb(tf,""),this.i=null)):this.f(g+": "+f),rf(d),ef(d)?(c=kf(d),e=!0):c=!1))}e&&hf(this,c?d:null)}else a==qf&&d.clear()}else hf(this);delete this.K;delete this.H}e=w(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.g&&(c=uf(this,f,d,b,c));b=[d,a,c];a!=nf?gf(this,this.kb,b):this.kb(b)}};
function uf(a,b,c,d,e){if(!b.j.U){b.j.U=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.ma(g,d)&&g&&(v("Unable to restore state for "+b.type),a.L&&!a.S?(c.clear(),a.b=df,window&&window.location.reload()):a.N=!0,b.ma(null),e=!1),!d&&b.cb){var f=b.cb.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){v("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.j.U=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.g&&(uf(this,this.g,b,c,a),K(this,-2),this.g.X());this.N&&(pf(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0};
function pf(a,b){if(wa("There may be a problem with your "+Bb+" machine.\n\nTo help us diagnose it, click OK to send this "+Bb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Bb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}}
function Ye(a,b,c){var d,e="none";if(a.w)return null;a.w--;var g=new J(a,"1.34.0"),f=new J(a,"1.34.0",jf),h=hb();f.set(lf,h);g.set(lf,h);g.set(vf,"1.34.0");g.set(wf,window?window.location.href:null);g.set(xf,window?window.navigator.userAgent:"");a.g&&a.g.da&&(c&&(b&&(a.g.j.X=a.g.j.J),a.g.R()),d=a.g.da(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.U=!1,!1===d&&(e=null)));for(var h=w(a.id),k=0;k<h.length;k++){var m=h[k];m.j.U&&(m.da&&(d=m.da(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.j.U=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&yf(a,a.i,g.toString()),sf(f)&&sf(g)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Nf),d&&g.clear(h)):e=g.toString());c&&(a.j.U=!1,b=a.G.power)&&(b.textContent="Power");a.w=0;return e}
l.reset=function(){this.j.reset=!0;this.D&&this.D.reset&&(Oa(this,"Resetting "+this.D.type),this.D.reset());this.g&&this.g.reset&&(Oa(this,"Resetting "+this.g.type),this.g.reset());for(var a=w(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.g&&c.reset&&(Oa(this,"Resetting "+c.type),c.reset())}this.j.reset=!1;K(this,-1)};l.start=function(a,b){for(var c=w(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)};
l.stop=function(a,b){for(var c=w(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)};
function K(a,b){if(a.g){var c=a.g,d=b||0,e=c.G.speed;e&&(0>=d||30<=(c.Da+=d))&&(e.textContent=c.j.J?c.O.toFixed(2)+"Mhz":"Stopped",c.Da=0)}if(a.u&&(a=a.u,b=b||0,a.K)){c=a.g.j.J;d=!!(a.g.u&8);if(0>=b||60<=(a.I+=b)){e=a.g.i;if(a.G.PC){var g=a.A&&a.A.ca||8,e=e||0,e=8==g?Qa(e,void 0):F(e,void 0);a.G.PC.textContent!=e&&(a.G.PC.textContent=e)}a.I=0}-1>b?a.i=a.g.i:0<b&&c&&!d&&(a.i=a.g.oa);Vb(a,a.i);Pb(a,a.w)}}
l.ea=function(a,b,c){var d=this;switch(b){case "power":return this.G[b]=c,c.onclick=function(){d.w||(d.j.U?Ye(d,!1,!0):gf(d,d.Ga))},!0;case "reset":return this.G[b]=c,c.onclick=function(){if(d.j.U&&!d.w)if(d.b&&!d.F){var a=wa("Click OK to save changes to this "+Bb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ye(d,a,!0);!a&&d.L?window&&window.location.reload():d.Ga(df)}else d.reset(),d.g&&!d.A&&d.g.X()},!0;case "save":if(Ta())c.parentNode.removeChild(c);else return this.G[b]=
c,c.onclick=function(){var a=cf(d,!0);if(a){var b=!!(d.b&&!d.F||d.L),c=Ye(d,b);b?yf(d,a,c):d.Z("Resume disabled, machine state not saved")}},!0}return!1};function cf(a,b){var c=a.i;c||((c=lb(tf),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Of(a,c))||a.Z("The user ID is invalid.")):b&&a.Z("Browser local storage is not available"));return c}
function Of(a,b){a.i=null;b=H(Ua()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(mb(tf,b.data),a.i=b.data)}catch(d){v(d.message+" ("+c+")")}return a.i}function ff(a){var b=null;a.i&&(b=Ua()+"/api/v1/user?req=load&user="+a.i+"&state="+Pf(a,"1.34.0"));return b}
function yf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Pf(a,"1.34.0");d.data=c;b=H(Ua()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Z("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Z(c),mb(tf,""),a.i=null)}}
function fd(a,b){if(a.ka){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ka.focus();!b&&window&&window.scrollTo(c,d)}}var of="failsafe",jf="validate",lf="timestamp",vf="version",wf="url",xf="browser",tf="user",nf=-1,df=0,mf=1,qf=2,Nf=3;tb(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var g=c[e],f=A(g),f=new af(f,d,!0);B(f,g);f.M&&gf(f,f.Ga)}});
ub.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=y("Computer",c.id))&&c.P&&!c.j.U&&c.Ga(nf)}});ub.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=y("Computer",c.id))&&c.j.U&&Ye(c,!(!c.b||c.F),!0)}});function J(a,b,c){this.id=a.id;this.g="";this.b={};this.A=this.C=!1;this.key=Pf(a,b,c);rf(this,a.tb)}l=J.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
l.data=function(){return this.b};function ef(a,b){return b?(a.g=b,a.A=!0,a.C=!1,!0):a.A?!0:jb()&&(b=lb(a.key))?(a.g=b,a.A=!0):!1}function kf(a){var b=!0;if(!a.C)try{a.b=JSON.parse(a.g),a.C=!0}catch(c){v(c.message||c),b=!1}return b}function sf(a){var b=!0;if(jb()){var c=JSON.stringify(a.b);mb(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.g};
function rf(a,b){a.g="";a.b={};a.A=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){rf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Pf(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Qf=0;
function Rf(a,b,c,d,e,g,f){g("Loading "+a+"...");H(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):Sf(k,a,b,c,d,e,g,f)})}
function Sf(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(ta(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?Tf(a,f,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Tf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");H(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],f);Tf(a,b,c)}})}else c(a,null)}
function Uf(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&D(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Va(a))}function f(a){g("Error: "+a);m&&(--Qf||xb(!0));m=!1}var h,k,m=!0;Qf++;ua[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=n:x.appendChild(document.createTextNode(n));r.appendChild(x)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?Rf(d,null,a,null,!1,g,function(a,e){e?(ta(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Qf||xb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Qf||
xb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Rf(c,b,a,e,!0,g,n):Sf(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(R){f(R.message)}return m}window.embedPDP10=function(a,b,c,d){xb(!1);return Uf("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){xb(!1);return Uf("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return y(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!za[a]){for(var c=!0,d=za,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var r=b[n];if('"'==r||"'"==r)m&&r!=m?k+=r:(m?m=null:m=r,k&&(h.push(k),k=""));else{if(!m){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){k&&(h.push(k),k="");";"==r&&h.length&&(f.push(h),h=[]);continue}}k+=r}}k&&h.push(k);h.length&&f.push(h);d[e]=f;ya(a)||(c=!1)}return c};window.enableEvents=xb;window.sendEvent=zb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10-dbg.map

View file

@ -30,21 +30,21 @@
*/
var k,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)},m="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ba(){ba=function(){};m.Symbol||(m.Symbol=ca)}var da=0;function ca(a){return"jscomp_symbol_"+(a||"")+da++}
function ea(){ba();var a=m.Symbol.iterator;a||(a=m.Symbol.iterator=m.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ga(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ga(a){ea();a={next:a};a[m.Symbol.iterator]=function(){return this};return a}
function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ha(a,b){if(b){var c=m;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
ha("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ia=Math.pow(2,36),ja=-Math.pow(2,35),r={Bb:0,Qa:1,Db:2,Eb:3,Fb:4,Gb:5,Hb:6,Ib:7,Ia:8,Jb:9,Ra:10,Kb:11,Lb:12,Sa:13,Mb:14,Nb:15,Ob:16,Pb:17,Qb:18,Rb:19,Sb:20,Tb:21,Ub:22,Vb:23,Wb:24,Xb:25,Yb: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,Ha:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81,
kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,Xa:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ta:127};
function u(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.La=b.comment;this.Wa=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.b={ready:!1,sa:!1,Fa:!1,w:!1,error:!1};this.va=null;this.b.error=!1;this.o=this.f=this.l=this.m=this.aa=null;v.push(this)}function ka(a,b,c){la[a]&&b&&(la[a][b]=c)}function w(){return Date.now()||+new Date}
function x(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function na(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}
function z(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ia(a,b){if(b){var c=m;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
ia("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ia("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ja=Math.pow(2,36),ka=-Math.pow(2,35),q={Cb:0,Ra:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,Ja:8,Kb:9,Sa:10,Lb:11,Mb:12,Ta:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb: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,Ia:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81,
lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,Ya:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ua:127};
function t(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ma=b.comment;this.Xa=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.na=this.id:(this.oa=this.id.substr(0,a),this.na=this.id.substr(a+1));this.b={ready:!1,ta:!1,Ga:!1,w:!1,error:!1};this.wa=null;this.b.error=!1;this.o=this.f=this.l=this.m=this.ba=null;u.push(this)}function la(a,b,c){ma[a]&&b&&(ma[a][b]=c)}function w(){return Date.now()||+new Date}
function x(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function oa(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null}
function z(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
function B(a,b){var c=C;b=D(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),p=0;p<l.length;p++)switch(h=l[p],h){case c+"-binding":(h=A(g))&&h.binding&&a.T(h.type,h.binding,g,h.value),p=l.length}}}}
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function oa(a){for(var b=!0,c=pa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=qa.indexOf(e)&&(f=function(){return function(){oa(a)}}());var g=ra[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=z(d[1],a);if(h)if(g=sa[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){x("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete pa[a];return b}k=u.prototype;
function pa(a){for(var b=!0,c=qa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=ra.indexOf(e)&&(f=function(){return function(){pa(a)}}());var g=sa[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=z(d[1],a);if(h)if(g=ta[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){x("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete qa[a];return b}k=t.prototype;
k.toString=function(){return this.name?this.name:this.id||this.type};
k.T=function(a,b,c){switch(b){case "clear":return this.i[b]||(this.i[b]=c,c.onclick=function(a){return function(){a.i.print&&(a.i.print.value="")}}(this)),!0;case "print":return this.i[b]||(this.aa=this.i[b]=c,c.value="",this.I=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.C=function(a){this.I(a,this.ma)}),!0;default:return!1}};k.log=function(){};k.I=function(){};
k.status=function(a){this.I(this.ma+": "+a)};k.C=function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)};function ta(a,b){b&&(a.b.ready?b():a.va=b);return a.b.ready}function E(a){if(!a.b.error&&(a.b.ready=!0,a.b.ready)){var b=a.va;a.va=null;b&&b()}}function va(a,b){a.b.Fa?(a.b.sa=!1,a.b.Fa=!1):a.b.error?a.I(a.toString()+" error"):a.b.sa=b}k.U=function(){return this.b.w=!0};k.O=function(a,b){b&&(this.b.w=!1);return!0};
k.T=function(a,b,c){switch(b){case "clear":return this.i[b]||(this.i[b]=c,c.onclick=function(a){return function(){a.i.print&&(a.i.print.value="")}}(this)),!0;case "print":return this.i[b]||(this.ba=this.i[b]=c,c.value="",this.I=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.C=function(a){this.I(a,this.na)}),!0;default:return!1}};k.log=function(){};k.I=function(){};
k.status=function(a){this.I(this.na+": "+a)};k.C=function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)};function ua(a,b){b&&(a.b.ready?b():a.wa=b);return a.b.ready}function E(a){if(!a.b.error&&(a.b.ready=!0,a.b.ready)){var b=a.wa;a.wa=null;b&&b()}}function va(a,b){a.b.Ga?(a.b.ta=!1,a.b.Ga=!1):a.b.error?a.I(a.toString()+" error"):a.b.ta=b}k.U=function(){return this.b.w=!0};k.O=function(a,b){b&&(this.b.w=!1);return!0};
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var la=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],pa=window?window.PCjs.Commands:{},qa=["hold","sleep","wait"],ra={alert:function(a){x(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},sa={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
var ma=window?window.PCjs.Machines:{},u=window?window.PCjs.Components:[],qa=window?window.PCjs.Commands:{},ra=["hold","sleep","wait"],sa={alert:function(a){x(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},ta={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
function wa(a,b){var c="";b?11<b&&(b=11):b=a&-16777216?11:a&-65536?8:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(0>a&&-1<a&&(a=-1);0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function F(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
@ -52,53 +52,53 @@ function xa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf(
function Da(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function H(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 l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}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 Ea(a,b){var c,d={F:null,L:null,S:null,R:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.S=g.load;d.R=g.exec;if(e=g.bytes)d.F=e;else if(e=g.words)for(d.F=Array(2*e.length),f=c=0;c<e.length;c++)d.F[f++]=e[c]&255,d.F[f++]=e[c]>>8&255;else if(e=g.data)for(d.F=Array(4*e.length),f=c=0;c<e.length;c++)d.F[f++]=e[c]&255,d.F[f++]=
e[c]>>8&255,d.F[f++]=e[c]>>16&255,d.F[f++]=e[c]>>24&255;else d.F=g;d.L=g.symbols;d.F.length?1==d.F.length&&(x(d.F[0]),d=null):(x("Empty resource: "+a),d=null)}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.F=e)}return d}
function Ea(a,b){var c,d={F:null,L:null,S:null,R: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.S=g.load;d.R=g.exec;if(e=g.bytes)d.F=e;else if(e=g.words)for(d.F=Array(2*e.length),f=c=0;c<e.length;c++)d.F[f++]=e[c]&255,d.F[f++]=e[c]>>8&255;else if(e=g.longs)for(d.F=Array(4*e.length),f=c=0;c<e.length;c++)d.F[f++]=
e[c]&255,d.F[f++]=e[c]>>8&255,d.F[f++]=e[c]>>16&255,d.F[f++]=e[c]>>24&255;else(e=g.data)?d.X=e:d.F=g;d.F&&(d.F.length?1==d.F.length&&(x(d.F[0]),d=null):(x("Empty resource: "+a),d=null));d.L=g.symbols}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.F=e)}return d}
function G(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Fa(){if(null==Ga){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Ga=a}return Ga}function Ha(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Ia(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ja(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Ka(a){if(!La){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}La=c}return La[a]}function Ma(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function I(a){J.init.push(a)}
function Na(a){if(Oa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function K(a){!Oa&&a?(Oa=!0,Pa&&Qa("init"),Ra&&Qa("show")):Oa=a}function Qa(a){J[a]&&Na(J[a])}var La=null,J={init:[],show:[],exit:[]},Pa=!1,Ra=!1,Oa=!0,Ga=null;Ma("onload",function(){Pa=!0;Na(J.init)});Ma("onpageshow",function(){Ra=!0;Na(J.show)});Ma(Ja("Opera")||Ja("iOS")?"onunload":"onbeforeunload",function(){Na(J.exit)});
var C="pdp10",L="PDPjs",Sa=Math.pow(2,18),Ta=Math.pow(2,18)-1,Ua=Math.pow(2,36),Va=Math.pow(2,23),C="pdp10",L="PDPjs";
function Wa(a,b){u.call(this,"Panel",a);this.A=this.B=0;this.P=b;this.c=this.u=this.g=this.h=0;this.D=this.G=-1;this.J=this.K=this.s=!1;this.N=Xa;this.j={};this.a={START:[1,1,!0,!1,this.hb],STEP:[1,1,!1,!1,this.ib],ENABLE:[1,1,!1,!1,this.bb],CONT:[1,1,!0,!1,this.$a],DEP:[0,0,!0,!1,this.ab],EXAM:[1,1,!0,!1,this.cb],LOAD:[1,1,!0,!1,this.fb],TEST:[0,0,!0,!1,this.eb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.gb,a];this.o=this.f=this.l=this.m=null;this.exports={hold:this.Za,toggle:this.tb,reset:this.pb,
set:this.sb};E(this)}n(Wa,u);k=Wa.prototype;k.reset=function(a){this.stop();a&&M(this,this.h=0)};
function Wa(a,b){t.call(this,"Panel",a);this.A=this.B=0;this.P=b;this.c=this.u=this.g=this.h=0;this.D=this.G=-1;this.J=this.K=this.s=!1;this.N=Xa;this.j={};this.a={START:[1,1,!0,!1,this.ib],STEP:[1,1,!1,!1,this.jb],ENABLE:[1,1,!1,!1,this.cb],CONT:[1,1,!0,!1,this.ab],DEP:[0,0,!0,!1,this.bb],EXAM:[1,1,!0,!1,this.eb],LOAD:[1,1,!0,!1,this.gb],TEST:[0,0,!0,!1,this.fb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.o=this.f=this.l=this.m=null;this.exports={hold:this.$a,toggle:this.ub,reset:this.qb,
set:this.tb};E(this)}n(Wa,t);k=Wa.prototype;k.reset=function(a){this.stop();a&&M(this,this.h=0)};
k.T=function(a,b,c,d){if(this.m&&this.m.T(a,b,c,d)||this.f&&this.f.T(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.B++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.B++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Ya(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){N(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Ya(a,
b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){N(a,b)}}(this,b),!0):u.prototype.T.call(this,a,b,c,d)}};k.X=function(a,b,c,d){this.m=a;this.l=b;this.f=c;this.o=d;Za(this);$a(this)};k.U=function(a,b){if(!b)if(this.P&&ab(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.O=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.c,this.h,this.g]);return a.data()};
k.restore=function(a){if(a=a[0])Q(this,this.c=a[0]),M(this,this.h=a[1]),bb(this,a[2]);return!0};k.pb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}$a(this);return!0};function cb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Za(a,b){for(var c in a.j)cb(a,c,null!=b?b:a.j[c])}function db(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $a(a){for(var b in a.a)db(a,b,a.a[b][1])}
k.Za=function(a,b,c){if(Ya(this,b)){if(c){var d=this;setTimeout(function(){N(d,b);a&&a()},+c);return!1}N(this,b)}return!0};
k.sb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):
2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return bb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,db(this,a,c[1]),!0):!1};k.tb=function(a){return Ya(this,a)?(N(this,a),!0):!1};function Ya(a,b){var c=a.a[b];return c?(db(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=eb&&(a.J=b==fb,a.K=b==gb),!0):!1}function N(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(db(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
k.hb=function(a){a||this.f.b.v||(this.f.g=this.c%Sa,this.a[hb]&&this.a[hb][1]&&ib(this.f))};k.ib=function(){};k.bb=function(a){a||R(this.f)};k.$a=function(a){if(!a&&!this.f.b.v)if(this.a[hb]&&this.a[hb][1])ib(this.f);else{a=this.o;var b;if(b=a)a.b.sa&&(a.b.Fa=!0),b=!a.b.sa;if(b)va(a,!0),a.c(0,null),va(a,!1);else try{var c=this.f.ya(1);0<c&&(jb(this.f,c),kb(this.f,c,!0),lb(this.f,c))}catch(d){"number"!=typeof d&&(c=this.f,a=d.stack||d.message,c.b.error=!0,c.C(a))}this.stop();this.m&&S(this.m)}};
k.ab=function(a){a&&!this.f.b.v&&(this.J&&mb(this),a=M(this,this.h=this.g),this.N==Xa?nb(this.l,this.c,a):this.f.Y(this.c,a))};k.cb=function(a){if(!a&&!this.f.b.v){this.K&&mb(this);if(this.N==Xa){a=this.l;var b=this.c,c=a.a[(b&a.g)>>>a.c];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.M(this.c);M(this,this.h=a)}};k.fb=function(a){a||this.f.b.v||Q(this,this.g)};k.eb=function(a){a?(this.s=!0,Za(this,!0)):(this.s=!1,Za(this),bb(this,0))};k.gb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)};
function mb(a){var b=1,c=a.l.g;a.a[eb]&&a.a[eb][1]||(b=-b);Q(a,a.c&~c|a.c+b&c)}function Q(a,b){a.c=b&a.l.g;if(a.D!==a.c){a.D=a.c;b=a.D;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.j[e]=f;d.s||cb(d,e,f)}}}function M(a,b){a.u=b%Ua;if(a.G!==a.u){a.G=a.u;b=a.G;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.j[e]=f;d.s||cb(d,e,f)}}return a.u}function bb(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;$a(a);return!0}k.stop=function(){Q(this,this.f.g)};
function ab(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=na(d.id);e||(e=new Wa(d,!0));B(e,c)}}var Xa=7,fb="DEP",hb="ENABLE",gb="EXAM",eb="STEP";I(ab);function ob(a,b,c){u.call(this,"Bus",a);this.f=b;this.o=c;this.u=+a.busWidth||18;this.s=1<<this.u;this.g=this.s-1;this.c=Math.log2(16384);this.j=this.s/16384|0;this.h=0;this.a=[];a=new T(this);pb(a);this.a=Array(this.j);for(b=0;b<this.j;b++)this.a[b]=a;E(this)}n(ob,u);k=ob.prototype;k.reset=function(){};
k.U=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.O=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,qb(this));return a.data()};k.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function rb(a,b,c,d){for(var e=b,f=c,g=e>>>a.c;0<f&&g<a.a.length;){var h=a.a[g],l=16384*g,p=16384-(e-l);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Z)return h.xa+=h.Z-e,h.Z=e,!0;if(e>=h.Z+h.xa){p=h.size-(e-l);p>f&&(p=f);h.xa=e-h.Z+p;e=l+16384;f-=p;g++;continue}}return sb(tb,e,f)}e=new T(a,e,p,16384,d);pb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+ub[d]+" at "+wa(b)),!0):sb(vb,b,c)}function nb(a,b,c){var d=a.a[(b&a.g)>>>a.c];a.h++;d.l(c,b&16383,b);a.h--}
function qb(a){for(var b=0,c=[],d=0;d<a.j;d++){var e=a.a[d];if(e.ua||e.Ya){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var p=e[g],q=g+1;q<e.length&&e[q]===p;)q++;l[h++]=q-g;l[h++]=p;g=q}l.length<e.length&&(e=l)}c[f]=e}}return c}function sb(a,b,c){x("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var tb=1,vb=2;function wb(a){u.call(this,"Device",a)}n(wb,u);k=wb.prototype;k.X=function(a,b,c,d){this.l=b;this.m=a;this.f=c;this.o=d;E(this)};
k.U=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.O=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new O(this)).data()};k.restore=function(){return!0};I(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new wb(c),B(c,d)}}});
function T(a,b,c,d,e){this.h=a;this.id=xb+=2;this.Z=b;this.xa=c;this.size=d||0;this.type=e||yb;this.m=e==zb;this.M=this.o=this.c=this.ga;this.Y=this.l=this.g=this.ha;this.f=this.i=0;pb(this);this.ua=this.Ya=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Ab(this,Bb)}else Ab(this)}k=T.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.ua=!0):!1};function Ab(a,b){b||(b=Cb);Db(a,b,void 0);Eb(a,b,void 0)}
function Db(a,b,c){c&&a.f||(a.M=b[2]||a.ga);if(c||void 0===c)a.c=b[0]||a.ga,a.o=b[2]||a.ga}function Eb(a,b,c){c&&a.i||(a.Y=!a.m&&b[3]||a.ha);if(c||void 0===c)a.g=b[1]||a.ha,a.l=b[3]||a.ha}function pb(a,b){a.f=a.i=0;b&&((a.f=b.f)&&Db(a,Fb,!1),(a.i=b.i)&&Eb(a,Fb,!1))}k.ga=function(){var a=this.h;a.h||R(a.f);return-1};k.ha=function(){};k.kb=function(a,b,c,d){a=this.a[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};k.nb=function(a){return this.a[a]};
k.wb=function(a,b,c,d,e){c=this.a[b];var f=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*f+d%f;this.a[b]!=c&&(this.a[b]=c,this.ua=!0)};k.yb=function(a,b){this.a[b]=a;this.ua=!0};k.jb=function(a,b,c,d){return this.c(a,b,c,d)};k.lb=function(a,b){return this.o(a,b)};k.vb=function(a,b,c,d,e){this.m||this.g(a,b,c,d,e)};k.xb=function(a,b,c){this.m||this.l(a,b,c)};
var yb=0,zb=2,ub=["NONE","RAM","ROM"],xb=0,Cb=[],Bb=[T.prototype.kb,T.prototype.wb,T.prototype.nb,T.prototype.yb],Fb=[T.prototype.jb,T.prototype.vb,T.prototype.lb,T.prototype.xb];
function Gb(a,b){u.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.za=0;this.Da=b;this.V=c;this.Ba=Math.round(this.Da/1E4)/100;this.N=this.Ba*this.V;this.Ca=this.ea=this.W=this.qa=0;this.b.v=this.b.Ga=!1;this.b.H=a.autoStart;"string"==typeof this.b.H&&(this.b.H="true"==this.b.H);this.b.ta=!1;this.oa=this.P=0;this.pa=+a.csStart;this.ca=+a.csInterval;this.da=+a.csStop;this.u=[];this.Ma=this.qb.bind(this);this.G=this.j=this.B=this.D=this.h=this.ka=this.A=this.ba=this.Ea=this.J=0;this.la=
null;E(this)}n(Gb,u);k=Gb.prototype;k.X=function(a,b,c,d){this.m=a;this.l=b;this.o=d;this.la=a.g;for(a=0;a<Hb.length;a++)(b=this.i[Hb[a]])&&this.m.T(null,Hb[a],b);E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
k.U=function(a,b){var c=U(this.m,"autoStart");null!=c?this.b.H="true"==c?!0:"false"==c?!1:!!c:null==this.b.H&&(this.b.H=void 0===this.i.run);if(!b){if(a){Ib(this);if(!this.restore(a))return!1;Jb(this)}else this.reset();this.status("No debugger detected");this.b.H||this.I("CPU will not be auto-started "+(this.la?"(click Run to start)":"(type 'go' to start)"))}return!0};k.O=function(a){return a?this.save():!0};k.H=function(){return this.b.v?!0:this.b.H?(ib(this),!0):!1};k.Oa=function(){return 0};
function Jb(a){void 0===a.pa&&(a.pa=0);void 0===a.ca&&(a.ca=-1);void 0===a.da&&(a.da=-1);a.b.ta=0<=a.pa&&0<a.ca;a.b.ta&&(a.oa=0,a.P=a.pa-a.G)}function lb(a,b){if(a.b.ta){var c=!1;a.oa=a.oa+a.Oa()|0;a.P-=b;0>=a.P&&(a.P+=a.ca,c=!0);0<=a.da&&a.da<=Kb(a)&&(a.ca=a.da=-1,Jb(a),R(a),c=!0);c&&a.I(Kb(a)+" cycles: checksum="+F(a.oa))}}
k.T=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.m)if(a=d.m,a.b.w)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.b.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.b.w);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.b.ready?"powered yet":"ready yet"+(b.va?" (waiting for notification)":""))+".");a=!1}a&&(d.b.v?R(d):ib(d))},!0;case "speed":return this.i[b]=
c,!0;case "setSpeed":return this.i[b]=c,c.onclick=function(){Lb(d,d.V<<1,!0)},c.textContent=this.N.toFixed(2)+"Mhz",!0}return!1};function kb(a,b,c){a.G+=b;c&&(a.B=a.D=0)}function Mb(a,b){var c=1;b&&1<a.V&&a.J&&(c=a.J/a.Ba);a.Ca=Math.round(1E3/Nb);a.ea=Math.floor(a.Da/Nb*c);b||(a.W=a.ea);a.qa=0}function Kb(a){return a.G+a.j+a.B-a.D}function Ib(a){a.J=0;a.Ea=0;a.G=a.j=a.B=a.D=0;Jb(a);Lb(a,1)}
function Lb(a,b,c){if(void 0!==b){.8>a.J/a.N&&(b=1);a.V=b;b=a.Ba*a.V;if(a.N!=b){a.N=b;b=a.N.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.I("target speed: "+b)}c&&a.m&&(c=a.m,c.aa&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.aa.focus(),window&&window.scrollTo(b,d)))}kb(a,a.j);a.j=0;a.h=w();a.A=0;Mb(a)}function Ob(a){for(var b=[],c=0;c<a.u.length;c++)b.push(a.u[c][0]);return b}
function jb(a,b){for(var c=a.u.length-1;0<=c;c--){var d=a.u[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Pb(a,b){var c=a.B-=a.D;a.D=0;b&&(a.B=0);return c}
k.qb=function(){if(this.b.v){this.qa>=this.Da&&Mb(this,!0);this.ba=0;this.ka=w();if(this.A){var a=this.ka-this.A;a>this.Ca&&(this.h+=a,this.h>this.ka&&(this.h=this.ka))}try{do{for(var b,c=this.b.ta?1:this.ea,d=this.u.length-1;0<=d;d--){var e=this.u[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.ya(b)}catch(f){if("number"!=typeof f)throw f;}b=Pb(this,!0);this.ba+=b;this.j+=b;lb(this,b);jb(this,b);this.W-=b;if(0>=this.W){this.W+=this.ea;++this.Ea>=Qb&&(this.m&&S(this.m,void 0),this.Ea=0);break}}while(this.b.v)}catch(f){R(this);
this.m&&this.m.stop(w(),Kb(this));a=f.stack||f.message;this.b.error=!0;this.C(a);return}if(this.b.v){a=setTimeout;b=this.Ma;this.A=w();c=this.Ca;this.ba&&(c=Math.round(c*this.ba/this.ea));c-=this.A-this.ka;if(d=this.A-this.h)this.J=Math.round(this.j/(10*d))/100,864E5<=d&&(this.G=0,Lb(this));if(0>c||this.J<this.N)-1E3>c&&(this.h-=c),c=0;this.qa+=this.ba;this.A+=c;a(b,c)}}};
function ib(a){var b;a.b.error?(a.I(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.b.v)a.I(a.toString()+" busy");else{Lb(a);a.b.v=!0;a.b.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.m&&a.m.start(a.h,Kb(a));a.o||a.status("Started");setTimeout(a.Ma,0)}}k.ya=function(){return 0};function R(a){var b=!1;if(a.b.v){Pb(a);kb(a,a.j);a.j=0;a.b.v=!1;if(b=a.i.run)b.textContent="Run";a.m&&a.m.stop(w(),Kb(a));b=!0;a.o||a.status("Stopped")}a.b.complete=void 0;return b}var Nb=30,Qb=15,Hb=["power","reset"];
function Rb(a){var b=+a.model||1001;Gb.call(this,a,1E6);this.Ua=b;this.Ka=+a.addrReset||0;this.Va=Sb.bind(this);this.a=V.bind(this);this.ia=null;this.Ja=[];this.b.complete=!1}n(Rb,Gb);k=Rb.prototype;k.reset=function(){this.status("Model "+this.Ua);this.b.v&&R(this);this.s=this.K=this.ra=0;this.ja=this.g=this.Aa=this.Ka;this.c=0;this.M=this.mb;this.Y=this.zb;this.ia=null;Ib(this);this.b.error=!1;Gb.prototype.reset.call(this)};k.Oa=function(){return 0};
k.save=function(){var a=new O(this);a.set(0,[this.s,this.K,this.ra,this.g,this.Aa,this.ja,this.c]);a.set(1,[]);a.set(2,[this.G,this.V,this.b.H]);a.set(3,Tb(this));a.set(4,Ob(this));return a.data()};
k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.s=b.next().value;this.K=b.next().value;this.ra=b.next().value;this.g=b.next().value;this.Aa=b.next().value;this.ja=b.next().value;this.c=b.next().value;b=a[2];this.G=b[0];Lb(this,b[1]);this.b.H=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ja.length;d++){var e=this.Ja[d];if(e.ub===b[c]){d=e;break a}}d=null}d&&(d.next=this.ia,this.ia=d)}a=a[4];for(b=0;b<this.u.length&&b<a.length;b++)this.u[b][0]=
a[b];return!0};function Tb(a){var b=[];for(a=a.ia;a;)b.push(a.ub),a=a.next;return b}k.mb=function(a){var b=this.l;a=this.ja=a;return b.a[(a&b.g)>>>b.c].M(a&16383,a)};k.zb=function(a,b){var c=this.l;a=this.ja=a;c.a[(a&c.g)>>>c.c].Y(b,a&16383,a)};
k.ya=function(a){this.b.complete=!0;var b=a?this.b.Ga?0:1:-1;this.b.Ga=!1;this.B=this.D=a;this.c=this.c&-5|0;do{if(a=this.c)if(a=this.c&11)this.c&2?this.ia||(this.c&=-3):this.c&1&&this.c++,a=!1;if(a){if(this.c&4&&this.o.h(this.g,b)){R(this);break}if(0>b)break}this.c&=15;this.K=this.K&4194304?this.M(this.s):this.ra=this.M(this.Aa=this.g);this.s=this.K&262143;if(a=this.K>>18&15)this.s=this.s+this.M(a)&Ta;this.K&4194304?a=-1:(this.g=(this.g+1)%Sa,a=this.ra/Va|0);0<=a&&this.Va(a)}while(0<this.D);return this.b.complete?
this.B-this.D:!1===this.b.complete?-1:0};I(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Rb(d);B(d,c)}});function Sb(a){Ub[a>>4].call(this,a)}function W(a){this.a(a)}function Vb(a){this.a(a)}function Wb(a){this.a(a)}function Xb(a){a&=15;var b=this.M(this.s),c=this.M(a);this.Y(a,(c&262143)+(b-(b&262143)))}function X(a){this.a(a)}function V(a){this.I("undefined opcode: "+wa(a));this.g=(this.g+-1)%Sa;R(this)}
var Ub=[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){N(a,b)}}(this,b),!0):t.prototype.T.call(this,a,b,c,d)}};k.Y=function(a,b,c,d){this.m=a;this.l=b;this.f=c;this.o=d;Za(this);$a(this)};k.U=function(a,b){if(!b)if(this.P&&ab(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.O=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.c,this.h,this.g]);return a.data()};
k.restore=function(a){if(a=a[0])P(this,this.c=a[0]),M(this,this.h=a[1]),bb(this,a[2]);return!0};k.qb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}$a(this);return!0};function cb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Za(a,b){for(var c in a.j)cb(a,c,null!=b?b:a.j[c])}function db(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $a(a){for(var b in a.a)db(a,b,a.a[b][1])}
k.$a=function(a,b,c){if(Ya(this,b)){if(c){var d=this;setTimeout(function(){N(d,b);a&&a()},+c);return!1}N(this,b)}return!0};
k.tb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):
2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return bb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,db(this,a,c[1]),!0):!1};k.ub=function(a){return Ya(this,a)?(N(this,a),!0):!1};function Ya(a,b){var c=a.a[b];return c?(db(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=eb&&(a.J=b==fb,a.K=b==gb),!0):!1}function N(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(db(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
k.ib=function(a){a||this.f.b.v||(this.f.g=this.c%Sa,this.a[hb]&&this.a[hb][1]&&Q(this.f))};k.jb=function(){};k.cb=function(a){a||R(this.f)};k.ab=function(a){if(!a&&!this.f.b.v)if(this.a[hb]&&this.a[hb][1])Q(this.f);else{a=this.o;var b;if(b=a)a.b.ta&&(a.b.Ga=!0),b=!a.b.ta;if(b)va(a,!0),a.c(0,null),va(a,!1);else try{var c=this.f.za(1);0<c&&(ib(this.f,c),jb(this.f,c,!0),kb(this.f,c))}catch(d){"number"!=typeof d&&(c=this.f,a=d.stack||d.message,c.b.error=!0,c.C(a))}this.stop();this.m&&S(this.m)}};
k.bb=function(a){a&&!this.f.b.v&&(this.J&&lb(this),a=M(this,this.h=this.g),this.N==Xa?mb(this.l,this.c,a):this.f.Z(this.c,a))};k.eb=function(a){if(!a&&!this.f.b.v){this.K&&lb(this);if(this.N==Xa){a=this.l;var b=this.c,c=a.a[(b&a.g)>>>a.c];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.M(this.c);M(this,this.h=a)}};k.gb=function(a){a||this.f.b.v||P(this,this.g)};k.fb=function(a){a?(this.s=!0,Za(this,!0)):(this.s=!1,Za(this),bb(this,0))};k.hb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)};
function lb(a){var b=1,c=a.l.g;a.a[eb]&&a.a[eb][1]||(b=-b);P(a,a.c&~c|a.c+b&c)}function P(a,b){a.c=b&a.l.g;if(a.D!==a.c){a.D=a.c;b=a.D;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.j[e]=f;d.s||cb(d,e,f)}}}function M(a,b){a.u=b%Ua;if(a.G!==a.u){a.G=a.u;b=a.G;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.j[e]=f;d.s||cb(d,e,f)}}return a.u}function bb(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;$a(a);return!0}k.stop=function(){P(this,this.f.g)};
function ab(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=oa(d.id);e||(e=new Wa(d,!0));B(e,c)}}var Xa=7,fb="DEP",hb="ENABLE",gb="EXAM",eb="STEP";I(ab);function nb(a,b,c){t.call(this,"Bus",a);this.f=b;this.o=c;this.u=+a.busWidth||18;this.s=1<<this.u;this.g=this.s-1;this.c=Math.log2(16384);this.j=this.s/16384|0;this.h=0;this.a=[];a=new T(this);ob(a);this.a=Array(this.j);for(b=0;b<this.j;b++)this.a[b]=a;E(this)}n(nb,t);k=nb.prototype;k.reset=function(){};
k.U=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.O=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,pb(this));return a.data()};k.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function qb(a,b,c,d){for(var e=b,f=c,g=e>>>a.c;0<f&&g<a.a.length;){var h=a.a[g],l=16384*g,p=16384-(e-l);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.ya+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.ya){p=h.size-(e-l);p>f&&(p=f);h.ya=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return rb(sb,e,f)}e=new T(a,e,p,16384,d);ob(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+tb[d]+" at "+wa(b)),!0):rb(ub,b,c)}function mb(a,b,c){var d=a.a[(b&a.g)>>>a.c];a.h++;d.l(c,b&16383,b);a.h--}
function pb(a){for(var b=0,c=[],d=0;d<a.j;d++){var e=a.a[d];if(e.va||e.Za){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var p=e[g],r=g+1;r<e.length&&e[r]===p;)r++;l[h++]=r-g;l[h++]=p;g=r}l.length<e.length&&(e=l)}c[f]=e}}return c}function rb(a,b,c){x("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var sb=1,ub=2;function vb(a){t.call(this,"Device",a)}n(vb,t);k=vb.prototype;k.Y=function(a,b,c,d){this.l=b;this.m=a;this.f=c;this.o=d;E(this)};
k.U=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.O=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new O(this)).data()};k.restore=function(){return!0};I(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new vb(c),B(c,d)}}});
function T(a,b,c,d,e){this.h=a;this.id=wb+=2;this.aa=b;this.ya=c;this.size=d||0;this.type=e||xb;this.m=e==yb;this.M=this.o=this.c=this.ha;this.Z=this.l=this.g=this.ia;this.f=this.i=0;ob(this);this.va=this.Za=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;zb(this,Ab)}else zb(this)}k=T.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.va=!0):!1};function zb(a,b){b||(b=Bb);Cb(a,b,void 0);Db(a,b,void 0)}
function Cb(a,b,c){c&&a.f||(a.M=b[2]||a.ha);if(c||void 0===c)a.c=b[0]||a.ha,a.o=b[2]||a.ha}function Db(a,b,c){c&&a.i||(a.Z=!a.m&&b[3]||a.ia);if(c||void 0===c)a.g=b[1]||a.ia,a.l=b[3]||a.ia}function ob(a,b){a.f=a.i=0;b&&((a.f=b.f)&&Cb(a,Eb,!1),(a.i=b.i)&&Db(a,Eb,!1))}k.ha=function(){var a=this.h;a.h||R(a.f);return-1};k.ia=function(){};k.lb=function(a,b,c,d){a=this.a[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};k.ob=function(a){return this.a[a]};
k.xb=function(a,b,c,d,e){c=this.a[b];var f=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*f+d%f;this.a[b]!=c&&(this.a[b]=c,this.va=!0)};k.zb=function(a,b){this.a[b]=a;this.va=!0};k.kb=function(a,b,c,d){return this.c(a,b,c,d)};k.mb=function(a,b){return this.o(a,b)};k.wb=function(a,b,c,d,e){this.m||this.g(a,b,c,d,e)};k.yb=function(a,b,c){this.m||this.l(a,b,c)};
var xb=0,yb=2,tb=["NONE","RAM","ROM"],wb=0,Bb=[],Ab=[T.prototype.lb,T.prototype.xb,T.prototype.ob,T.prototype.zb],Eb=[T.prototype.kb,T.prototype.wb,T.prototype.mb,T.prototype.yb];
function Fb(a,b){t.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Aa=0;this.Ea=b;this.V=c;this.Ca=Math.round(this.Ea/1E4)/100;this.N=this.Ca*this.V;this.Da=this.fa=this.W=this.ra=0;this.b.v=this.b.Ha=!1;this.b.H=a.autoStart;"string"==typeof this.b.H&&(this.b.H="true"==this.b.H);this.b.ua=!1;this.pa=this.P=0;this.qa=+a.csStart;this.da=+a.csInterval;this.ea=+a.csStop;this.u=[];this.Na=this.rb.bind(this);this.G=this.j=this.B=this.D=this.h=this.la=this.A=this.ca=this.Fa=this.J=0;this.ma=
null;E(this)}n(Fb,t);k=Fb.prototype;k.Y=function(a,b,c,d){this.m=a;this.l=b;this.o=d;this.ma=a.g;for(a=0;a<Gb.length;a++)(b=this.i[Gb[a]])&&this.m.T(null,Gb[a],b);E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
k.U=function(a,b){var c=U(this.m,"autoStart");null!=c?this.b.H="true"==c?!0:"false"==c?!1:!!c:null==this.b.H&&(this.b.H=void 0===this.i.run);if(!b){if(a){Hb(this);if(!this.restore(a))return!1;Ib(this)}else this.reset();this.status("No debugger detected");this.b.H||this.I("CPU will not be auto-started "+(this.ma?"(click Run to start)":"(type 'go' to start)"))}return!0};k.O=function(a){return a?this.save():!0};k.H=function(){return this.b.v?!0:this.b.H?(Q(this),!0):!1};k.Pa=function(){return 0};
function Ib(a){void 0===a.qa&&(a.qa=0);void 0===a.da&&(a.da=-1);void 0===a.ea&&(a.ea=-1);a.b.ua=0<=a.qa&&0<a.da;a.b.ua&&(a.pa=0,a.P=a.qa-a.G)}function kb(a,b){if(a.b.ua){var c=!1;a.pa=a.pa+a.Pa()|0;a.P-=b;0>=a.P&&(a.P+=a.da,c=!0);0<=a.ea&&a.ea<=Jb(a)&&(a.da=a.ea=-1,Ib(a),R(a),c=!0);c&&a.I(Jb(a)+" cycles: checksum="+F(a.pa))}}
k.T=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.m)if(a=d.m,a.b.w)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.b.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.b.w);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.b.ready?"powered yet":"ready yet"+(b.wa?" (waiting for notification)":""))+".");a=!1}a&&(d.b.v?R(d):Q(d))},!0;case "speed":return this.i[b]=
c,!0;case "setSpeed":return this.i[b]=c,c.onclick=function(){Kb(d,d.V<<1,!0)},c.textContent=this.N.toFixed(2)+"Mhz",!0}return!1};function jb(a,b,c){a.G+=b;c&&(a.B=a.D=0)}function Lb(a,b){var c=1;b&&1<a.V&&a.J&&(c=a.J/a.Ca);a.Da=Math.round(1E3/Mb);a.fa=Math.floor(a.Ea/Mb*c);b||(a.W=a.fa);a.ra=0}function Jb(a){return a.G+a.j+a.B-a.D}function Hb(a){a.J=0;a.Fa=0;a.G=a.j=a.B=a.D=0;Ib(a);Kb(a,1)}
function Kb(a,b,c){if(void 0!==b){.8>a.J/a.N&&(b=1);a.V=b;b=a.Ca*a.V;if(a.N!=b){a.N=b;b=a.N.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.I("target speed: "+b)}c&&a.m&&(c=a.m,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}jb(a,a.j);a.j=0;a.h=w();a.A=0;Lb(a)}function Nb(a){for(var b=[],c=0;c<a.u.length;c++)b.push(a.u[c][0]);return b}
function ib(a,b){for(var c=a.u.length-1;0<=c;c--){var d=a.u[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ob(a,b){var c=a.B-=a.D;a.D=0;b&&(a.B=0);return c}
k.rb=function(){if(this.b.v){this.ra>=this.Ea&&Lb(this,!0);this.ca=0;this.la=w();if(this.A){var a=this.la-this.A;a>this.Da&&(this.h+=a,this.h>this.la&&(this.h=this.la))}try{do{for(var b,c=this.b.ua?1:this.fa,d=this.u.length-1;0<=d;d--){var e=this.u[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.za(b)}catch(f){if("number"!=typeof f)throw f;}b=Ob(this,!0);this.ca+=b;this.j+=b;kb(this,b);ib(this,b);this.W-=b;if(0>=this.W){this.W+=this.fa;++this.Fa>=Pb&&(this.m&&S(this.m,void 0),this.Fa=0);break}}while(this.b.v)}catch(f){R(this);
this.m&&this.m.stop(w(),Jb(this));a=f.stack||f.message;this.b.error=!0;this.C(a);return}if(this.b.v){a=setTimeout;b=this.Na;this.A=w();c=this.Da;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.A-this.la;if(d=this.A-this.h)this.J=Math.round(this.j/(10*d))/100,864E5<=d&&(this.G=0,Kb(this));if(0>c||this.J<this.N)-1E3>c&&(this.h-=c),c=0;this.ra+=this.ca;this.A+=c;a(b,c)}}};
function Q(a){var b;a.b.error?(a.I(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.b.v)a.I(a.toString()+" busy");else{Kb(a);a.b.v=!0;a.b.Ha=!0;if(b=a.i.run)b.textContent="Halt";a.m&&a.m.start(a.h,Jb(a));a.o||a.status("Started");setTimeout(a.Na,0)}}k.za=function(){return 0};function R(a){var b=!1;if(a.b.v){Ob(a);jb(a,a.j);a.j=0;a.b.v=!1;if(b=a.i.run)b.textContent="Run";a.m&&a.m.stop(w(),Jb(a));b=!0;a.o||a.status("Stopped")}a.b.complete=void 0;return b}var Mb=30,Pb=15,Gb=["power","reset"];
function Qb(a){var b=+a.model||1001;Fb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Rb.bind(this);this.a=V.bind(this);this.ja=null;this.Ka=[];this.b.complete=!1}n(Qb,Fb);k=Qb.prototype;k.reset=function(){this.status("Model "+this.Va);this.b.v&&R(this);this.s=this.K=this.sa=0;this.ka=this.g=this.Ba=this.La;this.c=0;this.M=this.nb;this.Z=this.Ab;this.ja=null;Hb(this);this.b.error=!1;Fb.prototype.reset.call(this)};k.Pa=function(){return 0};
k.save=function(){var a=new O(this);a.set(0,[this.s,this.K,this.sa,this.g,this.Ba,this.ka,this.c]);a.set(1,[]);a.set(2,[this.G,this.V,this.b.H]);a.set(3,Sb(this));a.set(4,Nb(this));return a.data()};
k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.s=b.next().value;this.K=b.next().value;this.sa=b.next().value;this.g=b.next().value;this.Ba=b.next().value;this.ka=b.next().value;this.c=b.next().value;b=a[2];this.G=b[0];Kb(this,b[1]);this.b.H=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ka.length;d++){var e=this.Ka[d];if(e.vb===b[c]){d=e;break a}}d=null}d&&(d.next=this.ja,this.ja=d)}a=a[4];for(b=0;b<this.u.length&&b<a.length;b++)this.u[b][0]=
a[b];return!0};function Sb(a){var b=[];for(a=a.ja;a;)b.push(a.vb),a=a.next;return b}k.nb=function(a){var b=this.l;a=this.ka=a;return b.a[(a&b.g)>>>b.c].M(a&16383,a)};k.Ab=function(a,b){var c=this.l;a=this.ka=a;c.a[(a&c.g)>>>c.c].Z(b,a&16383,a)};
k.za=function(a){this.b.complete=!0;var b=a?this.b.Ha?0:1:-1;this.b.Ha=!1;this.B=this.D=a;this.c=this.c&-5|0;do{if(a=this.c)if(a=this.c&11)this.c&2?this.ja||(this.c&=-3):this.c&1&&this.c++,a=!1;if(a){if(this.c&4&&this.o.h(this.g,b)){R(this);break}if(0>b)break}this.c&=15;this.K=this.K&4194304?this.M(this.s):this.sa=this.M(this.Ba=this.g);this.s=this.K&262143;if(a=this.K>>18&15)this.s=this.s+this.M(a)&Ta;this.K&4194304?a=-1:(this.g=(this.g+1)%Sa,a=this.sa/Va|0);0<=a&&this.Wa(a)}while(0<this.D);return this.b.complete?
this.B-this.D:!1===this.b.complete?-1:0};I(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Qb(d);B(d,c)}});function Rb(a){Tb[a>>4].call(this,a)}function W(a){this.a(a)}function Ub(a){this.a(a)}function Vb(a){this.a(a)}function Wb(a){a&=15;var b=this.M(this.s),c=this.M(a);this.Z(a,(c&262143)+(b-(b&262143)))}function X(a){this.a(a)}function V(a){this.I("undefined opcode: "+wa(a));this.g=(this.g+-1)%Sa;R(this)}
var Tb=[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Vb,Wb,Wb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Vb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Ub,Vb,Vb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Ub,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
@ -106,57 +106,56 @@ function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a)
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Xb,function(a){a&=15;var b=this.M(a);this.Y(a,b&262143)},function(a){a=this.M(a&15);var b=this.M(this.s);this.Y(this.s,(b&262143)+(a-(a&262143)))},function(a){a&15&&Xb.call(this,a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Wb,function(a){a&=15;var b=this.M(a);this.Z(a,b&262143)},function(a){a=this.M(a&15);var b=this.M(this.s);this.Z(this.s,(b&262143)+(a-(a&262143)))},function(a){a&15&&Wb.call(this,a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X];
function Yb(a){u.call(this,"ROM",a);this.L=this.a=null;this.j=+a.addr;this.g=+a.size;this.c=a.alias;"string"==typeof this.c&&(this.c=eval(this.c));this.h=a.file;this.s=xa(this.h);if(this.h){a=this.h;var b=ya(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(ka(c.na,a,b),(a=Ea(a,b))?(c.a=a.F,c.L=a.L):c.h=null);Zb(c)})}}n(Yb,u);
Yb.prototype.X=function(a,b,c,d){this.l=b;this.f=c;this.o=d;Zb(this)};Yb.prototype.U=function(){this.L&&(this.o&&this.o.a(this.id,this.j,this.g,this.L),delete this.L);return!0};Yb.prototype.O=function(){return!0};
function Zb(a){if(!ta(a)){if(a.h){if(!a.a||!a.l)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+F(a.a.length,8,!0)+") does not match specified size ("+F(a.g,8,!0)+")";a.b.error=!0;a.C(b)}else{b=a.j;if(rb(a.l,b,a.g,zb)){var c;for(c=0;c<a.a.length;c++)nb(a.l,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.c?b.push(a.c):null!=a.c&&a.c.length&&(b=a.c);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.l,g=d.g,h=[],l=d.j>>>f.c;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.l;
d=d.g;g=0;for(e>>>=f.c;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}E(a)}}I(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Yb(d);B(d,c)}});
function Y(a){u.call(this,"RAM",a);this.L=this.c=null;this.g=+a.addr;this.h=+a.size;this.S=a.load;this.R=a.exec;null!=this.S&&(this.S=+this.S);null!=this.R&&(this.R=+this.R);this.j=!1;this.a=a.file;this.s=xa(this.a);if(this.a){a=this.a;var b=ya(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.C("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(ka(c.na,a,b),(a=Ea(a,b))?(c.c=a.F,c.L=a.L,null==c.S&&
(c.S=a.S),null==c.R&&(c.R=a.R)):c.a=null);$b(c)})}}n(Y,u);Y.prototype.X=function(a,b,c,d){this.l=b;this.f=c;this.o=d;$b(this)};Y.prototype.U=function(a,b){this.L&&(this.o&&this.o.a(this.id,this.g,this.h,this.L),delete this.L);b||this.reset();return!0};Y.prototype.O=function(){return!0};
function $b(a){if(a.l&&(!a.j&&a.h&&(rb(a.l,a.g,a.h,1)?a.j=!0:a.h=0),!ta(a))){if(!a.j)x("No RAM allocated");else if(a.a){if(!a.c||!a.l)return;ac(a,a.c,a.S,a.R,a.g)?a.status('Loaded image "'+a.s+'"'):a.C('Error loading image "'+a.s+'"')}E(a)}}
Y.prototype.reset=function(){if(this.j){for(var a=this.l,b=this.g,c=this.h,d=b&16383,b=b>>>a.c;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.l(g,d,e.Z+d);c-=16384;b++;d=0}this.c&&ac(this,this.c,this.S,this.R,this.g,!this.o)}};
function ac(a,b,c,d,e,f){var g=!1,h=!1;if(null==c)for(var l=0;l<b.length-1;){var p=b[l]&255|(b[l+1]&255)<<8;if(p)if(p&255){if(1!=p)break;if(l+6>=b.length)break;for(var l=l+2,q=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,p=p+((q&255)+(q>>8)+(t&255)+(t>>8)),P=l,ua=q-=6;0<q&&l<b.length;)p+=b[l++]&255,q--;if(q||l>=b.length)break;p+=b[l++]&255;if(p&255)break;if(ua)for(;ua--;)nb(a.l,t++,b[P++]);else t&1?g=!0:null==d&&(d=t);h=!0}else l++;else l+=2}if(!h&&(null==c&&(c=e),null!=c)){for(h=0;h<b.length;h++)nb(a.l,
c+h,b[h]);h=!0}if(h){if(null==d||g)R(a.f),f=!1;null!=d&&(a=a.f,a.Ka=d,a.g=d%Sa,f?a.b.w?a.b.v||ib(a):a.b.H=!0:a.o&&a.b.w?R(a)||a.m.b.reset||(a.o.g(),S(a.m,-1)):!1===f&&R(a),!a.b.v&&a.la&&a.la.stop())}return h}I(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Y(d);B(d,c)}});
function bc(a){u.call(this,"SerialPort",a);this.h=a.upperCase;"string"==typeof this.h&&(this.h="true"==this.h);this.g=!0;this.c=[];var b=a.binding;if("console"!=b){var c;a=cc;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.i[b])&&this.T(null,a,b))}this.a=this.j=null;this.exports={connect:this.Pa,receiveData:this.wa,receiveStatus:this.ob,setConnection:this.rb}}n(bc,u);k=bc.prototype;
k.T=function(a,b,c){var d=this;switch(b){case cc:return this.i[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?r.Ia:r.Ta:46==c?b=r.Ia:a.ctrlKey&&c>=r.Ha&&c<=r.Xa&&(b=c-(r.Ha-r.Qa));b&&(a.preventDefault&&a.preventDefault(),d.wa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==r.Sa&&(b=r.Ra);d.wa(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.wa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.X=function(a,b,c,d){this.m=a;this.l=b;this.f=c;this.o=d;E(this)};
k.Pa=function(a){if(!this.a){var b=U(this.m,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.ma)return;c=Ca(c[1]);if(this.a=na(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.U=function(a,b){if(!b)if(this.Pa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0};
k.O=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.wa=function(a){if("number"==typeof a)this.c.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.c.push(b)}else this.c=this.c.concat(a);return!0};k.ob=function(){};k.rb=function(a,b){return this.a?!1:(this.a=a,this.j=b,!0)};var cc="buffer";
I(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new bc(d);B(d,c)}});
function dc(a,b,c){u.call(this,"Computer",a);this.b.w=!1;this.K=null;ec(this,b);this.G=U(this,"autoPower",a,6);this.h=0;this.V=+a.busWidth||+a.buswidth;this.B=this.s=this.D=null;this.A=this.P=!1;this.u=this.j=null;this.N=this.J=!1;this.W=U(this,"url")||"";(Math.random()+.1).toString(36);this.c=fc(this);if(this.f=z("CPU",this.id)){this.o=z("Debugger",this.id);this.l=new ob({id:this.na+".bus",busWidth:this.V},this.f,this.o);var d,e=y(this.id);if((this.g=z("Panel",this.id))&&this.g.aa)for(b=0;b<e.length;b++)d=
e[b],d.C=this.g.C,d.I=this.g.I,d.aa=this.g.aa;this.I(L+" v1.34.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.X&&d.X(this,this.l,this.f,this.o);b=null;d=U(this,"resume",a);void 0!==d&&(1<d.length?b=this.s=d:this.a=parseInt(d,10));var f;if(a=U(this,"state")||(f=!0,a.state))this.D=b=a,f||(this.A=!0,this.a=gc),this.a&&(this.u=new O(this,"1.34.0"),Z(this.u)?b=null:delete this.u);!b&&this.a&&
(b=hc(this))&&(this.A=!0);if(b){var g=this;H(b,null,!0,function(a,b,c){c?(g.s=null,g.A=!1,g.C("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.B=b,g.P=!0);E(g)})}else E(this);this.i.power||(this.G=!0);!c&&this.G&&ic(this,this.fa)}else x("Unable to find CPU component")}n(dc,u);function ec(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.K=b}
function U(a,b,c,d){var e=b.toLowerCase(),e=Ka(b)||Ka(e);void 0===e&&a.K&&(e=a.K[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function ic(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ta(f)){ta(f,function(){ic(a,b,c)});return}}b.call(a,c)}
function jc(a,b){var c=new O(a,"1.34.0",kc);if(Z(c)&&lc(c)){var d=c.get(mc),e=b?b.get(mc):"unknown";d!=e&&(a.C("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=dc.prototype;
k.fa=function(a){void 0===a&&(a=this.a||(this.B?nc:gc));if(!this.h){this.h++;var b=!1,c=!1;this.J=!1;var d=this.u||new O(this,"1.34.0");if(a==oc)b=!0;else if(a>gc){if(Z(d,this.B)){this.j=new O(this,"1.34.0",pc);Z(this.j)&&(qc(this,d),a=rc,sc(this.j));this.j.set(mc,Da());tc(this.j);var e=this.a&&!this.A;if(a==nc||ma("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=lc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!=
g?(this.C("Error: "+g),"unable to verify user"==g&&(Ia(uc,""),this.c=null)):this.I(f+": "+g),sc(d),Z(d)?(c=lc(d),e=!0):c=!1))}e&&jc(this,c?d:null)}else a==rc&&d.clear()}else jc(this);delete this.B;delete this.u}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=vc(this,g,d,b,c));b=[d,a,c];a!=oc?ic(this,this.Na,b):this.Na(b)}};
function vc(a,b,c,d,e){if(!b.b.w){b.b.w=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.U(f,d)&&f&&(x("Unable to restore state for "+b.type),a.D&&!a.P?(c.clear(),a.a=gc,window&&window.location.reload()):a.J=!0,b.U(null),e=!1),!d&&b.La){var g=b.La.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
k.Na=function(a){var b=a[0],c=0>a[1];a=a[2];this.N=!0;this.b.w=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(vc(this,this.f,b,c,a),S(this,-2),this.f.H());this.J&&(qc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0};
function qc(a,b){if(ma("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.W;a=a.c||"";b=b.toString();var d={};d.app=L;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}}
function wc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.0"),g=new O(a,"1.34.0",kc),h=Da();g.set(mc,h);f.set(mc,h);f.set(xc,"1.34.0");f.set(yc,window?window.location.href:null);f.set(zc,window?window.navigator.userAgent:"");a.f&&a.f.O&&(c&&(b&&(a.f.b.H=a.f.b.v),R(a.f)),d=a.f.O(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.b.w=!1,!1===d&&(e=null)));for(var h=y(a.id),l=0;l<h.length;l++){var p=h[l];p.b.w&&(p.O&&(d=p.O(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.b.w=!1,!1===
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.c&&Ac(a,a.c,f.toString()),tc(g)&&tc(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==Bc),d&&f.clear(h)):e=f.toString());c&&(a.b.w=!1,b=a.i.power)&&(b.textContent="Power");a.h=0;return e}k.reset=function(){this.b.reset=!0;this.l&&this.l.reset&&this.l.reset();this.f&&this.f.reset&&this.f.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.l&&c!==this.f&&c.reset&&c.reset()}this.b.reset=!1;S(this,-1)};
function Xb(a){t.call(this,"ROM",a);this.L=this.a=null;this.j=+a.addr;this.g=+a.size;this.c=a.alias;"string"==typeof this.c&&(this.c=eval(this.c));this.h=a.file;this.s=xa(this.h);if(this.h){a=this.h;var b=ya(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(la(c.oa,a,b),(a=Ea(a,b))?(c.a=a.F,c.L=a.L):c.h=null);Yb(c)})}}n(Xb,t);
Xb.prototype.Y=function(a,b,c,d){this.l=b;this.f=c;this.o=d;Yb(this)};Xb.prototype.U=function(){this.L&&(this.o&&this.o.a(this.id,this.j,this.g,this.L),delete this.L);return!0};Xb.prototype.O=function(){return!0};
function Yb(a){if(!ua(a)){if(a.h){if(!a.a||!a.l)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+F(a.a.length,8,!0)+") does not match specified size ("+F(a.g,8,!0)+")";a.b.error=!0;a.C(b)}else{b=a.j;if(qb(a.l,b,a.g,yb)){var c;for(c=0;c<a.a.length;c++)mb(a.l,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.c?b.push(a.c):null!=a.c&&a.c.length&&(b=a.c);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.l,g=d.g,h=[],l=d.j>>>f.c;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.l;
d=d.g;g=0;for(e>>>=f.c;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}E(a)}}I(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Xb(d);B(d,c)}});
function Y(a){t.call(this,"RAM",a);this.L=this.X=null;this.c=+a.addr;this.g=+a.size;this.S=a.load;this.R=a.exec;null!=this.S&&(this.S=+this.S);null!=this.R&&(this.R=+this.R);this.h=this.s=!1;this.a=a.file;this.j=xa(this.a);if(this.a){a=this.a;var b=ya(this.j);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.C("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(la(c.oa,a,b),(a=Ea(a,b))?(c.X=a.X,c.L=a.L,null==
c.S&&(c.S=a.S),null==c.R&&(c.R=a.R)):c.a=null);Zb(c)})}}n(Y,t);Y.prototype.Y=function(a,b,c,d){this.l=b;this.f=c;this.o=d;Zb(this)};Y.prototype.U=function(a,b){this.L&&(this.o&&this.o.a(this.id,this.c,this.g,this.L),delete this.L);b||this.reset();return!0};Y.prototype.O=function(){return!0};
function Zb(a){if(a.l&&(!a.h&&a.g&&(qb(a.l,a.c,a.g,1)?a.h=!0:a.g=0),!ua(a))){if(!a.h)x("No RAM allocated");else if(a.a){if(!a.X)return;$b(a,a.X,a.S,a.R,a.c)?a.status('Loaded image "'+a.j+'"'):a.C('Error loading image "'+a.j+'"')}a.s=!0;E(a)}}
Y.prototype.reset=function(){if(this.h&&!this.s){for(var a=this.l,b=this.c,c=this.g,d=b&16383,b=b>>>a.c;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ka&&(g+=ja);g=Math.trunc(Math.abs(g))%ja;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.l(g,d,e.aa+d);c-=16384;b++;d=0}this.X&&$b(this,this.X,this.S,this.R,this.c,!this.o)}this.s=!1};
function $b(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)mb(a.l,c+g,b[g]);g=!0}g&&(null==d&&(R(a.f),f=!1),null!=d&&(a=a.f,a.La=d,a.g=d%Sa,f?a.b.w?a.b.v||Q(a):a.b.H=!0:a.o&&a.b.w?R(a)||a.m.b.reset||(a.o.g(),S(a.m,-1)):!1===f&&R(a),!a.b.v&&a.ma&&a.ma.stop()));return g}I(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Y(d);B(d,c)}});
function ac(a){t.call(this,"SerialPort",a);this.h=a.upperCase;"string"==typeof this.h&&(this.h="true"==this.h);this.g=!0;this.c=[];var b=a.binding;if("console"!=b){var c;a=bc;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.i[b])&&this.T(null,a,b))}this.a=this.j=null;this.exports={connect:this.Qa,receiveData:this.xa,receiveStatus:this.pb,setConnection:this.sb}}n(ac,t);k=ac.prototype;
k.T=function(a,b,c){var d=this;switch(b){case bc:return this.i[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Ja:q.Ua:46==c?b=q.Ja:a.ctrlKey&&c>=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.xa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.xa(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.xa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Y=function(a,b,c,d){this.m=a;this.l=b;this.f=c;this.o=d;E(this)};
k.Qa=function(a){if(!this.a){var b=U(this.m,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.na)return;c=Ca(c[1]);if(this.a=oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.oa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.U=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0};
k.O=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.xa=function(a){if("number"==typeof a)this.c.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.c.push(b)}else this.c=this.c.concat(a);return!0};k.pb=function(){};k.sb=function(a,b){return this.a?!1:(this.a=a,this.j=b,!0)};var bc="buffer";
I(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ac(d);B(d,c)}});
function cc(a,b,c){t.call(this,"Computer",a);this.b.w=!1;this.K=null;dc(this,b);this.G=U(this,"autoPower",a,6);this.h=0;this.V=+a.busWidth||+a.buswidth;this.B=this.s=this.D=null;this.A=this.P=!1;this.u=this.j=null;this.N=this.J=!1;this.W=U(this,"url")||"";(Math.random()+.1).toString(36);this.c=ec(this);if(this.f=z("CPU",this.id)){this.o=z("Debugger",this.id);this.l=new nb({id:this.oa+".bus",busWidth:this.V},this.f,this.o);var d,e=y(this.id);if((this.g=z("Panel",this.id))&&this.g.ba)for(b=0;b<e.length;b++)d=
e[b],d.C=this.g.C,d.I=this.g.I,d.ba=this.g.ba;this.I(L+" v1.34.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Y&&d.Y(this,this.l,this.f,this.o);b=null;d=U(this,"resume",a);void 0!==d&&(1<d.length?b=this.s=d:this.a=parseInt(d,10));var f;if(a=U(this,"state")||(f=!0,a.state))this.D=b=a,f||(this.A=!0,this.a=fc),this.a&&(this.u=new O(this,"1.34.0"),Z(this.u)?b=null:delete this.u);!b&&this.a&&
(b=gc(this))&&(this.A=!0);if(b){var g=this;H(b,null,!0,function(a,b,c){c?(g.s=null,g.A=!1,g.C("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.B=b,g.P=!0);E(g)})}else E(this);this.i.power||(this.G=!0);!c&&this.G&&hc(this,this.ga)}else x("Unable to find CPU component")}n(cc,t);function dc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.K=b}
function U(a,b,c,d){var e=b.toLowerCase(),e=Ka(b)||Ka(e);void 0===e&&a.K&&(e=a.K[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function hc(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ua(f)){ua(f,function(){hc(a,b,c)});return}}b.call(a,c)}
function ic(a,b){var c=new O(a,"1.34.0",jc);if(Z(c)&&kc(c)){var d=c.get(lc),e=b?b.get(lc):"unknown";d!=e&&(a.C("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=cc.prototype;
k.ga=function(a){void 0===a&&(a=this.a||(this.B?mc:fc));if(!this.h){this.h++;var b=!1,c=!1;this.J=!1;var d=this.u||new O(this,"1.34.0");if(a==nc)b=!0;else if(a>fc){if(Z(d,this.B)){this.j=new O(this,"1.34.0",oc);Z(this.j)&&(pc(this,d),a=qc,rc(this.j));this.j.set(lc,Da());sc(this.j);var e=this.a&&!this.A;if(a==mc||na("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=kc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!=
g?(this.C("Error: "+g),"unable to verify user"==g&&(Ia(tc,""),this.c=null)):this.I(f+": "+g),rc(d),Z(d)?(c=kc(d),e=!0):c=!1))}e&&ic(this,c?d:null)}else a==qc&&d.clear()}else ic(this);delete this.B;delete this.u}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=uc(this,g,d,b,c));b=[d,a,c];a!=nc?hc(this,this.Oa,b):this.Oa(b)}};
function uc(a,b,c,d,e){if(!b.b.w){b.b.w=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.U(f,d)&&f&&(x("Unable to restore state for "+b.type),a.D&&!a.P?(c.clear(),a.a=fc,window&&window.location.reload()):a.J=!0,b.U(null),e=!1),!d&&b.Ma){var g=b.Ma.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
k.Oa=function(a){var b=a[0],c=0>a[1];a=a[2];this.N=!0;this.b.w=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(uc(this,this.f,b,c,a),S(this,-2),this.f.H());this.J&&(pc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0};
function pc(a,b){if(na("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.W;a=a.c||"";b=b.toString();var d={};d.app=L;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}}
function vc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.0"),g=new O(a,"1.34.0",jc),h=Da();g.set(lc,h);f.set(lc,h);f.set(wc,"1.34.0");f.set(xc,window?window.location.href:null);f.set(yc,window?window.navigator.userAgent:"");a.f&&a.f.O&&(c&&(b&&(a.f.b.H=a.f.b.v),R(a.f)),d=a.f.O(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.b.w=!1,!1===d&&(e=null)));for(var h=y(a.id),l=0;l<h.length;l++){var p=h[l];p.b.w&&(p.O&&(d=p.O(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.b.w=!1,!1===
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.c&&zc(a,a.c,f.toString()),sc(g)&&sc(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==Ac),d&&f.clear(h)):e=f.toString());c&&(a.b.w=!1,b=a.i.power)&&(b.textContent="Power");a.h=0;return e}k.reset=function(){this.b.reset=!0;this.l&&this.l.reset&&this.l.reset();this.f&&this.f.reset&&this.f.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.l&&c!==this.f&&c.reset&&c.reset()}this.b.reset=!1;S(this,-1)};
k.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}S(this,-1)};k.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}S(this,-1)};
function S(a,b){if(a.f){var c=a.f,d=b||0,e=c.i.speed;e&&(0>=d||30<=(c.za+=d))&&(e.textContent=c.b.v?c.J.toFixed(2)+"Mhz":"Stopped",c.za=0)}if(a.g&&(a=a.g,b=b||0,a.B)){c=a.f.b.v;d=!!(a.f.c&8);if(0>=b||60<=(a.A+=b)){e=a.f.g;if(a.i.PC){var f=a.o&&a.o.j||8,e=e||0,e=8==f?wa(e,void 0):F(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.A=0}-1>b?a.c=a.f.g:0<b&&c&&!d&&(a.c=a.f.ja);Q(a,a.c);M(a,a.h)}}
k.T=function(a,b,c){var d=this;switch(b){case "power":return this.i[b]=c,c.onclick=function(){d.h||(d.b.w?wc(d,!1,!0):ic(d,d.fa))},!0;case "reset":return this.i[b]=c,c.onclick=function(){if(d.b.w&&!d.h)if(d.a&&!d.s){var a=ma("Click OK to save changes to this "+L+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");wc(d,a,!0);!a&&d.D?window&&window.location.reload():d.fa(gc)}else d.reset(),d.f&&!d.o&&d.f.H()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.i[b]=
c,c.onclick=function(){var a=fc(d,!0);if(a){var b=!!(d.a&&!d.s||d.D),c=wc(d,b);b?Ac(d,a,c):d.C("Resume disabled, machine state not saved")}},!0}return!1};function fc(a,b){var c=a.c;c||((c=Ha(uc),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Cc(a,c))||a.C("The user ID is invalid.")):b&&a.C("Browser local storage is not available"));return c}
function Cc(a,b){a.c=null;b=H(G()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ia(uc,b.data),a.c=b.data)}catch(d){x(d.message+" ("+c+")")}return a.c}function hc(a){var b=null;a.c&&(b=G()+"/api/v1/user?req=load&user="+a.c+"&state="+Dc(a,"1.34.0"));return b}
function Ac(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Dc(a,"1.34.0");d.data=c;b=H(G()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.C("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.C(c),Ia(uc,""),a.c=null)}}
var pc="failsafe",kc="validate",mc="timestamp",xc="version",yc="url",zc="browser",uc="user",oc=-1,gc=0,nc=1,rc=2,Bc=3;I(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var f=c[e],g=A(f),g=new dc(g,d,!0);B(g,f);g.G&&ic(g,g.fa)}});J.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.N&&!c.b.w&&c.fa(oc)}});
J.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.b.w&&wc(c,!(!c.a||c.s),!0)}});function O(a,b,c){this.id=a.id;this.f="";this.a={};this.i=this.l=!1;this.key=Dc(a,b,c);sc(this,a.Wa)}k=O.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function Z(a,b){return b?(a.f=b,a.i=!0,a.l=!1,!0):a.i?!0:Fa()&&(b=Ha(a.key))?(a.f=b,a.i=!0):!1}
function lc(a){var b=!0;if(!a.l)try{a.a=JSON.parse(a.f),a.l=!0}catch(c){x(c.message||c),b=!1}return b}function tc(a){var b=!0;if(Fa()){var c=JSON.stringify(a.a);Ia(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.f};function sc(a,b){a.f="";a.a={};a.i=a.l=!1;b&&a.set("parms",b)}
k.clear=function(a){sc(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Dc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Ec=0;
function Fc(a,b,c,d,e,f,g){f("Loading "+a+"...");H(a,null,!0,function(h,l,p){p?(l||(l="unable to load "+a+" ("+p+")"),g(l,null)):Gc(l,a,b,c,d,e,f,g)})}
function Gc(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(ka(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\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<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Hc(a,g,l):l(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Hc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");H(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 l=h[0],p,q=/( [a-z]+=)(['"])(.*?)\2/g;p=q.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Hc(a,b,c)}})}else c(a,null)}
function Ic(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&D(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=Aa(a))}function g(a){f("Error: "+a);p&&(--Ec||K(!0));p=!1}var h,l,p=!0;Ec++;la[b]={};try{if(h=document.getElementById(b)){var q;if("object"==typeof resources&&(q=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],P=document.createElement("style");P.type="text/css";P.styleSheet?P.styleSheet.cssText=q:P.appendChild(document.createTextNode(q));t.appendChild(P)}d||
(q=a,"pdp"==a.substr(0,3)&&(q="pdpjs"),d="/versions/"+q+"/1.34.0/components.xsl");q=function(e,l){l?Fc(d,null,a,null,!1,f,function(a,e){e?(ka(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Ec||K(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Ec||
K(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Fc(c,b,a,e,!0,f,q):Gc(c,null,b,a,e,!1,f,q)}else g("missing machine element: "+b)}catch(ua){g(ua.message)}return p}window.embedPDP10=function(a,b,c,d){K(!1);return Ic("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){K(!1);return Ic("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return z(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!pa[a]){for(var c=!0,d=pa,e=a,f=b.length,g=[],h=[],l="",p=null,q=0;q<f;q++){var t=b[q];if('"'==t||"'"==t)p&&t!=p?l+=t:(p?p=null:p=t,l&&(h.push(l),l=""));else{if(!p){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){l&&(h.push(l),l="");";"==t&&h.length&&(g.push(h),h=[]);continue}}l+=t}}l&&h.push(l);h.length&&g.push(h);d[e]=g;oa(a)||(c=!1)}return c};window.enableEvents=K;window.sendEvent=Qa;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10.map
function S(a,b){if(a.f){var c=a.f,d=b||0,e=c.i.speed;e&&(0>=d||30<=(c.Aa+=d))&&(e.textContent=c.b.v?c.J.toFixed(2)+"Mhz":"Stopped",c.Aa=0)}if(a.g&&(a=a.g,b=b||0,a.B)){c=a.f.b.v;d=!!(a.f.c&8);if(0>=b||60<=(a.A+=b)){e=a.f.g;if(a.i.PC){var f=a.o&&a.o.j||8,e=e||0,e=8==f?wa(e,void 0):F(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.A=0}-1>b?a.c=a.f.g:0<b&&c&&!d&&(a.c=a.f.ka);P(a,a.c);M(a,a.h)}}
k.T=function(a,b,c){var d=this;switch(b){case "power":return this.i[b]=c,c.onclick=function(){d.h||(d.b.w?vc(d,!1,!0):hc(d,d.ga))},!0;case "reset":return this.i[b]=c,c.onclick=function(){if(d.b.w&&!d.h)if(d.a&&!d.s){var a=na("Click OK to save changes to this "+L+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");vc(d,a,!0);!a&&d.D?window&&window.location.reload():d.ga(fc)}else d.reset(),d.f&&!d.o&&d.f.H()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.i[b]=
c,c.onclick=function(){var a=ec(d,!0);if(a){var b=!!(d.a&&!d.s||d.D),c=vc(d,b);b?zc(d,a,c):d.C("Resume disabled, machine state not saved")}},!0}return!1};function ec(a,b){var c=a.c;c||((c=Ha(tc),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Bc(a,c))||a.C("The user ID is invalid.")):b&&a.C("Browser local storage is not available"));return c}
function Bc(a,b){a.c=null;b=H(G()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ia(tc,b.data),a.c=b.data)}catch(d){x(d.message+" ("+c+")")}return a.c}function gc(a){var b=null;a.c&&(b=G()+"/api/v1/user?req=load&user="+a.c+"&state="+Cc(a,"1.34.0"));return b}
function zc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Cc(a,"1.34.0");d.data=c;b=H(G()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.C("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.C(c),Ia(tc,""),a.c=null)}}
var oc="failsafe",jc="validate",lc="timestamp",wc="version",xc="url",yc="browser",tc="user",nc=-1,fc=0,mc=1,qc=2,Ac=3;I(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var f=c[e],g=A(f),g=new cc(g,d,!0);B(g,f);g.G&&hc(g,g.ga)}});J.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.N&&!c.b.w&&c.ga(nc)}});
J.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.b.w&&vc(c,!(!c.a||c.s),!0)}});function O(a,b,c){this.id=a.id;this.f="";this.a={};this.i=this.l=!1;this.key=Cc(a,b,c);rc(this,a.Xa)}k=O.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function Z(a,b){return b?(a.f=b,a.i=!0,a.l=!1,!0):a.i?!0:Fa()&&(b=Ha(a.key))?(a.f=b,a.i=!0):!1}
function kc(a){var b=!0;if(!a.l)try{a.a=JSON.parse(a.f),a.l=!0}catch(c){x(c.message||c),b=!1}return b}function sc(a){var b=!0;if(Fa()){var c=JSON.stringify(a.a);Ia(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.f};function rc(a,b){a.f="";a.a={};a.i=a.l=!1;b&&a.set("parms",b)}
k.clear=function(a){rc(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Cc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Dc=0;
function Ec(a,b,c,d,e,f,g){f("Loading "+a+"...");H(a,null,!0,function(h,l,p){p?(l||(l="unable to load "+a+" ("+p+")"),g(l,null)):Fc(l,a,b,c,d,e,f,g)})}
function Fc(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(la(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\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(v){g=null,a=v.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Gc(a,g,l):l(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Gc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");H(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Gc(a,b,c)}})}else c(a,null)}
function Hc(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&D(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=Aa(a))}function g(a){f("Error: "+a);p&&(--Dc||K(!0));p=!1}var h,l,p=!0;Dc++;ma[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],ha=document.createElement("style");ha.type="text/css";ha.styleSheet?ha.styleSheet.cssText=r:ha.appendChild(document.createTextNode(r));v.appendChild(ha)}d||
(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.0/components.xsl");r=function(e,l){l?Ec(d,null,a,null,!1,f,function(a,e){e?(la(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Dc||K(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Dc||
K(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ec(c,b,a,e,!0,f,r):Fc(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(Ic){g(Ic.message)}return p}window.embedPDP10=function(a,b,c,d){K(!1);return Hc("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){K(!1);return Hc("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return z(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!qa[a]){for(var c=!0,d=qa,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r<f;r++){var v=b[r];if('"'==v||"'"==v)p&&v!=p?l+=v:(p?p=null:p=v,l&&(h.push(l),l=""));else{if(!p){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){l&&(h.push(l),l="");";"==v&&h.length&&(g.push(h),h=[]);continue}}l+=v}}l&&h.push(l);h.length&&g.push(h);d[e]=g;pa(a)||(c=!1)}return c};window.enableEvents=K;window.sendEvent=Qa;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10.map

View file

@ -39,8 +39,8 @@ function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ja(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
ja("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});ja("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c<d;c++)this[c]=a;return this}});
var ka={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},la={Ai:0,Fe:1,Hi:2,Ii:3,Ji:4,Ki:5,Li:6,Mi:7,Nd:8,Ni:9,Ge:10,Oi:11,Pi:12,He:13,Qi:14,Ri:15,Si:16,Ti:17,Ui:18,Vi:19,Wi:20,Xi:21,Yi:22,Zi:23,$i:24,aj:25,bj: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,Jd:65,wi:66,Ci:67,cj:68,E:69,ij:70,lj:71,xj:72,zj:73,Aj:74,Bj:75,Cj:76,Fj:77,Hj:78,Nj:79,Qj:80,Q:81,Sj:82,Vj:83,dk:84,fk:85,hk:86,ik:87,mk:88,nk:89,xf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pk:97,qk:98,tk:99,d:100,e:101,uk:102,vk:103,wk:104,xk:105,Bk:106,k:107,Ck:108,Dk:109,n:110,Ek:111,p:112,q:113,r:114,Fk:115,t:116,Ik:117,Jk:118,Kk:119,x:120,
y:121,z:122,"{":123,"|":124,"}":125,"~":126,cc:127};function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Vd=b.comment;this.vf=b;this.exports={};this.H=this.bindings={};a=this.id.indexOf(".");0>a?this.Mb=this.id:(this.vb=this.id.substr(0,a),this.Mb=this.id.substr(a+1));this.A={ready:!1,eb:!1,wd:!1,aa:!1,error:!1};this.Nc=null;this.A.error=!1;this.ha=c||0;this.F=this.f=this.D=this.J=this.Ta=null;ma.push(this)}function na(a,b,c){pa[a]&&b&&(pa[a][b]=c)}
"(":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,Jd:65,wi:66,Ci:67,cj:68,E:69,ij:70,lj:71,xj:72,zj:73,Aj:74,Bj:75,Cj:76,Fj:77,Hj:78,Nj:79,Qj:80,Q:81,Sj:82,Vj:83,dk:84,fk:85,hk:86,ik:87,mk:88,nk:89,xf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pk:97,rk:98,uk:99,d:100,e:101,vk:102,wk:103,xk:104,yk:105,Ck:106,k:107,Dk:108,Ek:109,n:110,Fk:111,p:112,q:113,r:114,Gk:115,t:116,Jk:117,Kk:118,Lk:119,x:120,
y:121,z:122,"{":123,"|":124,"}":125,"~":126,cc:127};function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Vd=b.comment;this.vf=b;this.exports={};this.H=this.bindings={};a=this.id.indexOf(".");0>a?this.Mb=this.id:(this.vb=this.id.substr(0,a),this.Mb=this.id.substr(a+1));this.A={ready:!1,eb:!1,wd:!1,ba:!1,error:!1};this.Nc=null;this.A.error=!1;this.ha=c||0;this.D=this.f=this.F=this.J=this.Ta=null;ma.push(this)}function na(a,b,c){pa[a]&&b&&(pa[a][b]=c)}
function qa(){return Date.now()||+new Date}function v(a){window&&window.alert(a)}function ra(a){var b=!1;window&&(b=window.confirm(a));return b}function ta(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<ma.length;b++){var d=ma[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ua(a){if(void 0!==a){var b;for(b=0;b<ma.length;b++)if(ma[b].id===a)return ma[b]}return null}
function va(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<ma.length;d++)if(c)c==ma[d]&&(c=null);else if(!(a!=ma[d].type||b&&ma[d].id.indexOf(b)))return ma[d]}return null}function wa(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function xa(a,b){var c=w;b=x(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=wa(g))&&k.binding&&a.va(k.type,k.binding,g,k.value),m=l.length}}}}
@ -49,7 +49,7 @@ function ya(a){for(var b=!0,c=za[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],
h.toString=function(){return this.name?this.name:this.id||this.type};
h.va=function(a,b,c){switch(b){case "clear":return this.H[b]||(this.H[b]=c,c.onclick=function(a){return function(){a.H.print&&(a.H.print.value="")}}(this)),!0;case "print":return this.H[b]||(this.Ta=this.H[b]=c,c.value="",this.v=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.T=function(a){this.v(a,this.Mb)}),!0;default:return!1}};h.log=function(){};h.v=function(){};
h.status=function(a){this.v(this.Mb+": "+a)};h.T=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Ea(a,b){a.A.error=!0;a.T(b)}function Fa(a){return a.A.error?(a.v(a.toString()+" error"),!0):!1}function Ga(a,b){b&&(a.A.ready?b():a.Nc=b);return a.A.ready}function y(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.Nc,a.Nc=null,b&&b()))}function Ha(a,b){a.A.eb&&(b?a.A.wd=!0:void 0===b&&a.v(a.toString()+" busy"));return a.A.eb}
function Ja(a,b){if(a.A.wd)return a.A.eb=!1,a.A.wd=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.eb=b;return a.A.eb}h.Ca=function(){return this.A.aa=!0};h.Ba=function(a,b){b&&(this.A.aa=!1);return!0};function z(a,b){if(a.F){a===a.F?b|=0:b=b||a.ha;var c=a.F.ha&b;return!!b&&c===b||!!(c&a.F.ke)}return!1}function C(a,b,c,d){a.F&&(!0===c||z(a,c|0))&&a.F.message(b,d)}
function Ja(a,b){if(a.A.wd)return a.A.eb=!1,a.A.wd=!1;if(a.A.error)return a.v(a.toString()+" error"),!1;a.A.eb=b;return a.A.eb}h.Ca=function(){return this.A.ba=!0};h.Ba=function(a,b){b&&(this.A.ba=!1);return!0};function z(a,b){if(a.D){a===a.D?b|=0:b=b||a.ha;var c=a.D.ha&b;return!!b&&c===b||!!(c&a.D.ke)}return!1}function C(a,b,c,d){a.D&&(!0===c||z(a,c|0))&&a.D.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var pa=window?window.PCjs.Machines:{},ma=window?window.PCjs.Components:[],za=window?window.PCjs.Commands:{},Aa=["hold","sleep","wait"],Ba={alert:function(a){v(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Da={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
@ -62,8 +62,8 @@ function Ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function $a(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function ab(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function bb(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function cb(a,b){var c,d={ca:null,ga:null,ya:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ya=g.load;d.xa=g.exec;if(e=g.bytes)d.ca=e;else if(e=g.words)for(d.ca=Array(2*e.length),f=c=0;c<e.length;c++)d.ca[f++]=e[c]&255,d.ca[f++]=e[c]>>8&255;else if(e=g.data)for(d.ca=Array(4*e.length),f=c=0;c<e.length;c++)d.ca[f++]=
e[c]&255,d.ca[f++]=e[c]>>8&255,d.ca[f++]=e[c]>>16&255,d.ca[f++]=e[c]>>24&255;else d.ca=g;d.ga=g.symbols;d.ca.length?1==d.ca.length&&(v(d.ca[0]),d=null):(v("Empty resource: "+a),d=null)}catch(k){v("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ca=e)}return d}
function cb(a,b){var c,d={Z:null,ga:null,ya:null,xa: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.ya=g.load;d.xa=g.exec;if(e=g.bytes)d.Z=e;else if(e=g.words)for(d.Z=Array(2*e.length),f=c=0;c<e.length;c++)d.Z[f++]=e[c]&255,d.Z[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Z=Array(4*e.length),f=c=0;c<e.length;c++)d.Z[f++]=
e[c]&255,d.Z[f++]=e[c]>>8&255,d.Z[f++]=e[c]>>16&255,d.Z[f++]=e[c]>>24&255;else(e=g.data)?d.qk=e:d.Z=g;d.Z&&(d.Z.length?1==d.Z.length&&(v(d.Z[0]),d=null):(v("Empty resource: "+a),d=null));d.ga=g.symbols}catch(k){v("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Z=e)}return d}
function db(){return"http://"+(window?window.location.host:"www.pcjs.org")}function eb(){if(null==fb){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}fb=a}return fb}function gb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function hb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ib(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function mb(a){if(!nb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}nb=c}return nb[a]}function ob(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
@ -74,39 +74,39 @@ fc:61438,Sa:3967,ma:{wa:1,Jb:4}},af:{rd:15,hd:16,bc:8160,sb:57344,ma:{hd:4,bc:5,
mj:16384,uj:32768},ff:{ab:63},Qd:{Oj:1024,dj:2048,ge:2048,yj:3072,Ie:4096,$a:5120,ec:8192,Gj:9216},wa:{Ij:0,vd:2,uf:4,Kc:6,Ye:8,wf:10,Ve:12,Tj:14}},Ob={qd:5,ud:180,Zc:2,Te:"DX",kf:{dc:1,wa:14,td:16,DONE:32,Ib:64,cb:128,INIT:16384,hb:32768,Kb:16128,fc:32992,Sa:16479},Uj:{},nf:{ab:127},mf:{ab:31},lf:{Md:1,Xd:2,kd:4,cc:64,Ea:128},wa:{bd:0,EMPTY:2,hc:4,tb:6,Kb:8,Xe:10,Lc:12,We:14},ERROR:{fd:8,gd:16,xi:24,Se:32,kj:40,Yj:48,pd:56,Mj:72,Lj:80,Kj:88,Fi:96,zi:104,Jj:112,od:120,Ei:128,yi:136}},Pb={48:"DL11R",
52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11",180:"RX11"};Ob.jf=["DX",77,1,26,128,1,0,0,128,0];Mb.Gc=["RK",203,2,12,512,0,0,0,512,Mb.Hc.Gc|Mb.Hc.de|Mb.Hc.$d];Nb.cf=["RL",512,2,40,256,0,0,0,256,Nb.Ic.Pe.Re|Nb.Ic.Rd|Nb.Ic.Oe];
var w="pdp11",Gb="PDPjs",Hb=!1,Ib=Fb,Kb=Jb=!0,Qb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,rx11:262144,dl11:1048576,serial:1048576,kw11:2097152,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Rb(a,b){u.call(this,"Panel",a,512);this.j=this.u=0;this.M=b;this.fa=this.g=this.Wa=this.Eb=0;this.B=this.C=-1;this.G=this.I=this.w=!1;this.L=Sb;this.i={};this.b={START:[1,1,!0,!1,this.Tf],STEP:[1,1,!1,!1,this.Uf],ENABLE:[1,1,!1,!1,this.Of],CONT:[1,1,!0,!1,this.Mf],DEP:[0,0,!0,!1,this.Nf],EXAM:[1,1,!0,!1,this.Pf],LOAD:[1,1,!0,!1,this.Rf],TEST:[0,0,!0,!1,this.Qf]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Sf,a];this.F=this.f=this.D=this.J=null;this.exports={hold:this.Hf,toggle:this.lh,
function Rb(a,b){u.call(this,"Panel",a,512);this.j=this.u=0;this.M=b;this.fa=this.g=this.Wa=this.Eb=0;this.B=this.C=-1;this.G=this.I=this.w=!1;this.L=Sb;this.i={};this.b={START:[1,1,!0,!1,this.Tf],STEP:[1,1,!1,!1,this.Uf],ENABLE:[1,1,!1,!1,this.Of],CONT:[1,1,!0,!1,this.Mf],DEP:[0,0,!0,!1,this.Nf],EXAM:[1,1,!0,!1,this.Pf],LOAD:[1,1,!0,!1,this.Rf],TEST:[0,0,!0,!1,this.Qf]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Sf,a];this.D=this.f=this.F=this.J=null;this.exports={hold:this.Hf,toggle:this.lh,
reset:this.gh,set:this.kh};y(this)}p(Rb,u);function Tb(a,b){return Ub(a,a.Eb=b)}h=Rb.prototype;h.reset=function(a){this.stop();a&&Tb(this,0)};
h.va=function(a,b,c,d){if(this.J&&this.J.va(a,b,c,d)||this.f&&this.f.va(a,b,c,d)||this.F&&this.F.va(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.H[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.i[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):u.prototype.va.call(this,a,b,c,d)}};h.za=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Xb(b,this,dc);ec(b,this.reset.bind(this));fc(this);gc(this)};
h.va=function(a,b,c,d){if(this.J&&this.J.va(a,b,c,d)||this.f&&this.f.va(a,b,c,d)||this.D&&this.D.va(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.H[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.i[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):u.prototype.va.call(this,a,b,c,d)}};h.za=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;Xb(b,this,dc);ec(b,this.reset.bind(this));fc(this);gc(this)};
h.Ca=function(a,b){if(!b)if(this.M&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,[this.fa,this.Eb,this.Wa]);return a.data()};h.restore=function(a){if(a=a[0])ic(this,this.fa=a[0]),Tb(this,a[1]),jc(this,a[2]);return!0};h.gh=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}
function fc(a,b){for(var c in a.i)kc(a,c,null!=b?b:a.i[c])}function lc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])}function mc(a,b,c,d){if(a.H[b]){var e=a.F&&a.F.Aa||8;c=c||0;c=8==e?E(c,d):F(c,d);a.H[b].textContent!=c&&(a.H[b].textContent=c)}}h.Hf=function(a,b,c){if(Vb(this,b)){if(c){var d=this;setTimeout(function(){Wb(d,b);a&&a()},+c);return!1}Wb(this,b)}return!0};
function fc(a,b){for(var c in a.i)kc(a,c,null!=b?b:a.i[c])}function lc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])}function mc(a,b,c,d){if(a.H[b]){var e=a.D&&a.D.Aa||8;c=c||0;c=8==e?E(c,d):F(c,d);a.H[b].textContent!=c&&(a.H[b].textContent=c)}}h.Hf=function(a,b,c){if(Vb(this,b)){if(c){var d=this;setTimeout(function(){Wb(d,b);a&&a()},+c);return!1}Wb(this,b)}return!0};
h.kh=function(a,b){if("SR"==a)return jc(this,Ka(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};h.lh=function(a){return Vb(this,a)?(Wb(this,a),!0):!1};function Vb(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.G=b==oc,a.I=b==pc),!0):!1}function Wb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
h.Tf=function(a){a||this.f.A.V||(qc(this.f,this.fa),a=this.f,a.D.reset(),rc(a),this.b[sc]&&this.b[sc][1]&&tc(this.f))};h.Uf=function(){};h.Of=function(a){a||this.f.ba()};h.Mf=function(a){if(!a&&!this.f.A.V)if(this.b[sc]&&this.b[sc][1])tc(this.f);else{if((a=this.F)&&!Ha(a,!0))Ja(a,!0),uc(a,0,null),Ja(a,!1);else try{var b=this.f.Cc(1);0<b&&(vc(this.f,b),wc(this.f,b,!0),xc(this.f,b))}catch(c){"number"!=typeof c&&Ea(this.f,c.stack||c.message)}this.stop();this.J&&H(this.J)}};
h.Nf=function(a){if(a&&!this.f.A.V)if(this.G&&yc(this),a=Tb(this,this.Wa),this.L==Sb)zc(this.D,this.fa,a);else{var b=this.f,c=this.fa;b.pa++;b.D.ac(Ac(b,c,4),a);b.pa--}};h.Pf=function(a){a||this.f.A.V||(this.I&&yc(this),a=this.L==Sb?Bc(this.D,this.fa):Cc(this.f,this.fa),Tb(this,a))};h.Rf=function(a){a||this.f.A.V||ic(this,this.Wa)};h.Qf=function(a){a?(this.w=!0,fc(this,!0)):(this.w=!1,fc(this),jc(this,0))};h.Sf=function(a,b){this.Wa=a?this.Wa|1<<b:this.Wa&~(1<<b)};
function yc(a){var b=1140>=a.f.ka?8:16,c=65472<=a.fa&&a.fa<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[nc]&&a.b[nc][1]||(b=-b);ic(a,a.fa&~c|a.fa+b&c)}function ic(a,b){a.fa=b&a.D.I;if(a.B!==a.fa){a.B=a.fa;b=a.B;for(var c=0;22>c;c++)Dc(a,"A"+c,b&1<<c)}}function Ub(a,b){a.g=b&65535;if(a.C!==a.g){a.C=a.g;b=a.C;for(var c=0;16>c;c++)Dc(a,"D"+c,b&1<<c)}return a.g}function Dc(a,b,c){a.i[b]=c;a.w||kc(a,b,c)}function jc(a,b){a.Wa=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.Wa&1<<b?1:0;gc(a);return!0}
h.Tf=function(a){a||this.f.A.V||(qc(this.f,this.fa),a=this.f,a.F.reset(),rc(a),this.b[sc]&&this.b[sc][1]&&tc(this.f))};h.Uf=function(){};h.Of=function(a){a||this.f.ca()};h.Mf=function(a){if(!a&&!this.f.A.V)if(this.b[sc]&&this.b[sc][1])tc(this.f);else{if((a=this.D)&&!Ha(a,!0))Ja(a,!0),uc(a,0,null),Ja(a,!1);else try{var b=this.f.Cc(1);0<b&&(vc(this.f,b),wc(this.f,b,!0),xc(this.f,b))}catch(c){"number"!=typeof c&&Ea(this.f,c.stack||c.message)}this.stop();this.J&&H(this.J)}};
h.Nf=function(a){if(a&&!this.f.A.V)if(this.G&&yc(this),a=Tb(this,this.Wa),this.L==Sb)zc(this.F,this.fa,a);else{var b=this.f,c=this.fa;b.pa++;b.F.ac(Ac(b,c,4),a);b.pa--}};h.Pf=function(a){a||this.f.A.V||(this.I&&yc(this),a=this.L==Sb?Bc(this.F,this.fa):Cc(this.f,this.fa),Tb(this,a))};h.Rf=function(a){a||this.f.A.V||ic(this,this.Wa)};h.Qf=function(a){a?(this.w=!0,fc(this,!0)):(this.w=!1,fc(this),jc(this,0))};h.Sf=function(a,b){this.Wa=a?this.Wa|1<<b:this.Wa&~(1<<b)};
function yc(a){var b=1140>=a.f.ka?8:16,c=65472<=a.fa&&a.fa<65472+b,b=c?1:2,c=c?15:a.F.I;a.b[nc]&&a.b[nc][1]||(b=-b);ic(a,a.fa&~c|a.fa+b&c)}function ic(a,b){a.fa=b&a.F.I;if(a.B!==a.fa){a.B=a.fa;b=a.B;for(var c=0;22>c;c++)Dc(a,"A"+c,b&1<<c)}}function Ub(a,b){a.g=b&65535;if(a.C!==a.g){a.C=a.g;b=a.C;for(var c=0;16>c;c++)Dc(a,"D"+c,b&1<<c)}return a.g}function Dc(a,b,c){a.i[b]=c;a.w||kc(a,b,c)}function jc(a,b){a.Wa=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.Wa&1<<b?1:0;gc(a);return!0}
h.stop=function(){ic(this,this.f.g[7])};h.Gd=function(a){this.fa=a};h.setData=function(a,b){b?this.Eb=a:this.g=a};h.Zf=function(a,b){return(b?this.Eb:this.Wa)&65535};h.rh=function(a){this.Eb=a};function hc(){for(var a=x(document,w,"panel"),b=0;b<a.length;b++){var c=a[b],d=wa(c),e=ua(d.id);e||(e=new Rb(d,!0));xa(e,c)}}var Sb=7,oc="DEP",sc="ENABLE",pc="EXAM",nc="STEP",Ec={},dc=(Ec[65400]=[null,null,Rb.prototype.Zf,Rb.prototype.rh,"CNSW"],Ec);rb(hc);
function Fc(a,b,c){u.call(this,"Bus",a,16);this.f=b;this.F=c;this.U=+a.busWidth||16;this.M=1<<this.U;this.I=this.M-1;this.j=Gc;this.g=Math.log2(this.j);this.R=this.j>>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Pa=[];this.na=0;this.C=!1;this.N=[];this.yf=[Hc,Ic,Jc,Kc];this.b=this.u=[];this.B=this.L=this.w=this.O=this.P=0;a=new I(this);Wc(a,this.F);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b<this.G;b++)this.b[b]=this.u[b]=a;this.B=this.M-Gc;Xc(this,this.B,Gc,Yc,this);this.P=
function Fc(a,b,c){u.call(this,"Bus",a,16);this.f=b;this.D=c;this.U=+a.busWidth||16;this.M=1<<this.U;this.I=this.M-1;this.j=Gc;this.g=Math.log2(this.j);this.R=this.j>>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Pa=[];this.na=0;this.C=!1;this.N=[];this.yf=[Hc,Ic,Jc,Kc];this.b=this.u=[];this.B=this.L=this.w=this.O=this.P=0;a=new I(this);Wc(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b<this.G;b++)this.b[b]=this.u[b]=a;this.B=this.M-Gc;Xc(this,this.B,Gc,Yc,this);this.P=
this.O=(this.B&this.I)>>>this.g;this.L=0;this.w=this.I;y(this)}p(Fc,u);function Zc(a,b){if(b!=a.L){for(var c=0;c<a.G;c++)a.u[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Gc,a.P=(b&a.w)>>>a.g,a.u[a.P]=a.b[a.O])}}h=Fc.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();Zc(this,16)};h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,$c(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.R){for(var e=0,f=Array(this.R),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Xc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Xb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Xb){n=l.size-(f-m);n>g&&(n=g);l.Xb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return ad(bd,f,g)}f=new I(a,f,n,a.j,d,e);Wc(f,a.F,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+cd[d]+" at "+E(b)),!0):ad(dd,b,c)}h.Kd=function(a){return this.u[(a&this.w)>>>this.g].Db(a&this.i,a)};
function Xc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Xb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Xb){n=l.size-(f-m);n>g&&(n=g);l.Xb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return ad(bd,f,g)}f=new I(a,f,n,a.j,d,e);Wc(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+cd[d]+" at "+E(b)),!0):ad(dd,b,c)}h.Kd=function(a){return this.u[(a&this.w)>>>this.g].Db(a&this.i,a)};
h.Bc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Kb||b!=this.i?this.u[c].oa(b,a):this.u[c++].Db(b,a)|this.u[c&this.S].Db(0,a+1)<<8};h.Ld=function(a,b){this.u[(a&this.w)>>>this.g].Gb(a&this.i,b,a)};h.ac=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Kb||c!=this.i?this.u[d].Hb(c,b,a):(this.u[d++].Gb(c,b&255,a),this.u[d&this.S].Gb(0,b>>8&255,a+1))};function ed(a,b){return a.b[(b&a.I)>>>a.g]}
function Bc(a,b){var c;a.C=!1;a.na++;var d=b&a.i,e=ed(a,b);Kb||d!=a.i?c=e.B(d,b):c=e.J(d,b)|ed(a,b+1).J(0,b+1)<<8;a.na--;return c}function fd(a,b,c){a.C=!1;a.na++;ed(a,b).F(b&a.i,c&255,b);a.na--}function zc(a,b,c){a.C=!1;a.na++;var d=b&a.i,e=ed(a,b);Kb||d!=a.i?e.C(d,c&65535,b):(e.F(d,c&255,b),ed(a,b+1).F(0,c>>8&255,b+1));a.na--}
function $c(a){for(var b=0,c=[],d=0;d<a.G;d++){var e=a.b[d];if(e.fb||e.Ff){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function gd(a){for(var b=hd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Xb)}return c}
function id(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&jd;if(void 0!==a.Pa[n])return v("I/O address already registered: "+F(b,8,!0)),!1;var q=l||"unknown";q&&0<=m&&(q+=m++);a.Pa[n]=[d,e,f,g,q,k||16,!1]}return!0}
function Xb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ka)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var q=g[4],t=g[5]||1,r=0;r<t;r++,f+=2)if(q&&1<t&&(q=g[4]+r),!id(a,f,f,k,l,m,n,g[7]||b.ha,q||b.Mb))return!1}}return!0}
function ec(a,b){a.N.push(b)}h.Na=function(a,b,c){this.C=!0;this.na||(this.F&&z(this.F,4)&&C(this.F,"memory fault ("+c+") on "+K(this.F,a),!0,!0),b&&(this.f.P|=b),this.f.ra(4,0,a))};function kd(a){var b=a.C;a.C=!1;return b}function ad(a,b,c){v("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var Gc=8192,jd=Gc-1,bd=1,dd=2;
function ec(a,b){a.N.push(b)}h.Na=function(a,b,c){this.C=!0;this.na||(this.D&&z(this.D,4)&&C(this.D,"memory fault ("+c+") on "+K(this.D,a),!0,!0),b&&(this.f.P|=b),this.f.ra(4,0,a))};function kd(a){var b=a.C;a.C=!1;return b}function ad(a,b,c){v("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var Gc=8192,jd=Gc-1,bd=1,dd=2;
function Hc(a,b){var c=-1,d=this.controller,e=d.Pa[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Pa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&z(this.f,16|e[5])&&C(this.f,e[4]+".readByte("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,3);c=255;this.f&&z(this.f,16)&&C(this.f,"warning: unconverted read access to byte @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c}
function Ic(a,b,c){var d=!1,e=this.controller,f=e.Pa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Pa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&z(this.f,16|f[5])&&C(this.f,f[4]+".writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,5),this.f&&z(this.f,16)&&C(this.f,"warning: unconverted write access to byte @"+K(this.f,c)+": "+K(this.f,
b),!0,!e.na))}function Jc(a,b){var c=-1,d=this.controller;a=d.Pa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&z(this.f,16|a[5])&&C(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,2);c=65535;this.f&&z(this.f,16)&&C(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c}
function Kc(a,b,c){var d=!1,e=this.controller;a=e.Pa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&z(this.f,16|a[5])&&C(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&z(this.f,16)&&C(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){u.call(this,"Device",a,256);this.b={gb:128,Hd:-1}}p(L,u);h=L.prototype;
h.za=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Hd=ld(c,function(){e.b.gb|=128;e.b.gb&64&&md(e.f,e.b.Qa);e.J&&H(e.J,1);nd(e.f,e.b.Hd,1E3/60)});this.b.Qa=od(c,64,6,2097152);Xb(b,this,pd);ec(b,this.reset.bind(this));d&&qd(d,64,function(a){var b=e.f;rd(e,"KIPDR",b.B[0],0,a[0]);rd(e,"KDPDR",b.B[0],8,a[0]);rd(e,"KIPAR",b.M[0],0,a[0]);rd(e,"KDPAR",b.M[0],8,a[0],!0);rd(e,"SIPDR",b.B[1],0,a[0]);rd(e,"SDPDR",b.B[1],8,a[0]);rd(e,"SIPAR",b.M[1],0,a[0]);rd(e,"SDPAR",b.M[1],8,a[0],
!0);rd(e,"UIPDR",b.B[3],0,a[0]);rd(e,"UDPDR",b.B[3],8,a[0]);rd(e,"UIPAR",b.M[3],0,a[0]);rd(e,"UDPAR",b.M[3],8,a[0],!0);b.W&32&&rd(e,"UNIMAP",b.Ha,-1,a[0])});y(this)};function rd(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n<g;n++)n%m||(k&&(k+="\n"),k+=b+(l?"["+Ma(n,2)+"]":"")+":"),k+=" "+K(a,c[d+n],e);a.v(k+(f?"\n":""))}}h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.za=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Hd=ld(c,function(){e.b.gb|=128;e.b.gb&64&&md(e.f,e.b.Qa);e.J&&H(e.J,1);nd(e.f,e.b.Hd,1E3/60)});this.b.Qa=od(c,64,6,2097152);Xb(b,this,pd);ec(b,this.reset.bind(this));d&&qd(d,64,function(a){var b=e.f;rd(e,"KIPDR",b.B[0],0,a[0]);rd(e,"KDPDR",b.B[0],8,a[0]);rd(e,"KIPAR",b.M[0],0,a[0]);rd(e,"KDPAR",b.M[0],8,a[0],!0);rd(e,"SIPDR",b.B[1],0,a[0]);rd(e,"SDPDR",b.B[1],8,a[0]);rd(e,"SIPAR",b.M[1],0,a[0]);rd(e,"SDPAR",b.M[1],8,a[0],
!0);rd(e,"UIPDR",b.B[3],0,a[0]);rd(e,"UDPDR",b.B[3],8,a[0]);rd(e,"UIPAR",b.M[3],0,a[0]);rd(e,"UDPAR",b.M[3],8,a[0],!0);b.W&32&&rd(e,"UNIMAP",b.Ha,-1,a[0])});y(this)};function rd(a,b,c,d,e,f){a=a.D;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n<g;n++)n%m||(k&&(k+="\n"),k+=b+(l?"["+Ma(n,2)+"]":"")+":"),k+=" "+K(a,c[d+n],e);a.v(k+(f?"\n":""))}}h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.b.gb=128;nd(this.f,this.b.Hd,1E3/60,!0)};h.save=function(){var a=new G(this);a.set(0,[this.b.gb]);return a.data()};h.restore=function(a){a=ia(a[0]);this.b.gb=a.next().value;return!0};h.fg=function(){return this.b.gb};h.yh=function(a){this.b.gb=a&192;this.b.gb&64||sd(this.f,this.b.Qa)};h.hg=function(){return td(this.f)};h.Ah=function(a){ud(this.f,a&-129|this.f.S&128)};h.ig=function(){return vd(this.f)};h.jg=function(){return wd(this.f)};
h.kg=function(){return this.f.W};h.Bh=function(a){xd(this.f,a)};h.Wg=function(a){a=a>>1&63;var b=this.f.Ha[a>>1];return a&1?b>>16:b&65535};h.mi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ha[c]=b&1?this.f.Ha[c]&65535|(a&63)<<16:this.f.Ha[c]&-65536|a&65534};h.Pg=function(a){return this.f.B[1][a>>1&7]};h.fi=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Ng=function(a){return this.f.B[1][(a>>1&7)+8]};h.di=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Og=function(a){return this.f.M[1][a>>1&7]};
h.ei=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Mg=function(a){return this.f.M[1][(a>>1&7)+8]};h.ci=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.eg=function(a){return this.f.B[0][a>>1&7]};h.xh=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.cg=function(a){return this.f.B[0][(a>>1&7)+8]};h.vh=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.dg=function(a){return this.f.M[0][a>>1&7]};h.wh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};
h.bg=function(a){return this.f.M[0][(a>>1&7)+8]};h.uh=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Vg=function(a){return this.f.B[3][a>>1&7]};h.li=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Tg=function(a){return this.f.B[3][(a>>1&7)+8]};h.ji=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Ug=function(a){return this.f.M[3][a>>1&7]};h.ki=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Sg=function(a){return this.f.M[3][(a>>1&7)+8]};
h.ii=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Vb=function(a){a&=7;return this.f.w&2048?this.f.ta[a]:this.f.g[a]};h.Zb=function(a,b){b&=7;this.f.w&2048?this.f.ta[b]=a:this.f.g[b]=a};h.rg=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Ih=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.ug=function(){return this.f.g[7]};h.Lh=function(a){this.f.g[7]=a};h.Wb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.ta[a]};
h.$b=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ta[b]=a};h.sg=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Jh=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};h.tg=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[3]};h.Kh=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[3]=a};h.ag=function(a){return this.f.xc[a-65504>>1]};h.th=function(a,b){this.f.xc[b-65504>>1]=a};h.xe=function(a){return 65520==a?(gd(this.D)>>6)-1:0};
h.$b=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ta[b]=a};h.sg=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Jh=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};h.tg=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[3]};h.Kh=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[3]=a};h.ag=function(a){return this.f.xc[a-65504>>1]};h.th=function(a,b){this.f.xc[b-65504>>1]=a};h.xe=function(a){return 65520==a?(gd(this.F)>>6)-1:0};
h.Ce=function(){};h.Rg=function(){return 1};h.hi=function(){};h.$f=function(){return this.f.P};h.sh=function(){this.f.P=0};h.gg=function(){return this.f.uc};h.zh=function(a,b){b&1||(a&=255);this.f.uc=a};h.lg=function(a,b){return b?0:this.f.ob};h.Ch=function(a){yd(this.f,a)};h.Qg=function(a,b){return b?0:this.f.Ga&65280};h.gi=function(a){this.f.Ga=a|255};h.qg=function(){return zd(this.f)};h.Hh=function(a){Ad(this.f,a)};h.Be=function(a,b){z(this)&&C(this,"writeIgnored("+E(b)+"): "+E(a),!0,!0)};
var M={},pd=(M[61568]=[null,null,L.prototype.Wg,L.prototype.mi,"UNIMAP",64,1170],M[62592]=[null,null,L.prototype.Pg,L.prototype.fi,"SIPDR",8,1145,64],M[62608]=[null,null,L.prototype.Ng,L.prototype.di,"SDPDR",8,1145,64],M[62624]=[null,null,L.prototype.Og,L.prototype.ei,"SIPAR",8,1145,64],M[62640]=[null,null,L.prototype.Mg,L.prototype.ci,"SDPAR",8,1145,64],M[62656]=[null,null,L.prototype.eg,L.prototype.xh,"KIPDR",8,1140,64],M[62672]=[null,null,L.prototype.cg,L.prototype.vh,"KDPDR",8,1145,64],M[62688]=
[null,null,L.prototype.dg,L.prototype.wh,"KIPAR",8,1140,64],M[62704]=[null,null,L.prototype.bg,L.prototype.uh,"KDPAR",8,1145,64],M[62798]=[null,null,L.prototype.kg,L.prototype.Bh,"MMR3",1,1145,64],M[65382]=[null,null,L.prototype.fg,L.prototype.yh,"LKS"],M[65402]=[null,null,L.prototype.hg,L.prototype.Ah,"MMR0",1,1140,64],M[65404]=[null,null,L.prototype.ig,L.prototype.Be,"MMR1",1,1145,64],M[65406]=[null,null,L.prototype.jg,L.prototype.Be,"MMR2",1,1140,64],M[65408]=[null,null,L.prototype.Vg,L.prototype.li,
@ -126,24 +126,24 @@ h.ah=function(a,b){Jb&&a&1&&this.D.Na(b,64,2);a=!Kb&&a&1?this.g[a]|this.g[a+1]<<
h.pi=function(a,b,c){Jb&&a&1&&this.D.Na(c,64,4);!Kb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.G[a>>1]=b;this.fb=!0;this.f&&z(this.f,32)&&C(this.f,"Memory.writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0)};var Gd=0,hd=1,Hd=2,Yc=4,cd=["NONE","RAM","ROM","VID","H/W"],Fd=0,Vd=[],Ud=[I.prototype.Yf,I.prototype.qh,I.prototype.bh,I.prototype.ri],Yd=[I.prototype.Wf,I.prototype.oh,I.prototype.Yg,I.prototype.oi];
if(Fb)var Td=[I.prototype.Vf,I.prototype.nh,I.prototype.Xg,I.prototype.ni],Kd=[I.prototype.Xf,I.prototype.ph,I.prototype.ah,I.prototype.pi];var be;if(Fb){var ce=new ArrayBuffer(2);(new DataView(ce)).setUint16(0,256,!0);be=256===(new Uint16Array(ce))[0]}else be=!1;var Jd=be;
function de(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.$c=0;this.Xc=b;this.mb=c;this.ld=Math.round(this.Xc/1E4)/100;this.xb=this.ld*this.mb;this.md=this.qc=this.Ab=this.Yc=0;this.A.V=this.A.Sc=!1;this.A.qa=a.autoStart;"string"==typeof this.A.qa&&(this.A.qa="true"==this.A.qa);this.A.Nb=!1;this.oc=this.Qb=0;this.pc=+a.csStart;this.Ob=+a.csInterval;this.Rb=+a.csStop;this.ia=[];this.Zd=this.hh.bind(this);this.nb=this.Ka=this.lb=this.b=this.la=this.Ja=this.nc=this.kb=this.Sb=
this.nd=this.wb=0;this.sa=null;y(this)}p(de,u);h=de.prototype;h.za=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.sa=a.i;for(a=0;a<ee.length;a++)(b=this.H[ee[a]])&&this.J.va(null,ee[a],b);y(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.Ca=function(a,b){var c=fe(this.J,"autoStart");null!=c?this.A.qa="true"==c?!0:"false"==c?!1:!!c:null==this.A.qa&&(this.A.qa=!this.F&&void 0===this.H.run);if(!b){if(a){ge(this);if(!this.restore(a))return!1;he(this)}else this.reset();this.F?(a=this.F,b=this.A.qa,a.Ga=!0,a.v("Type ? for help with PDPjs Debugger commands"),ie(a),b||je(a),a.ta&&(b=a.ta,a.ta=null,ke(a,b))):this.status("No debugger detected");this.A.qa||this.v("CPU will not be auto-started "+(this.sa?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.Ba=function(a){return a?this.save():!0};h.qa=function(){return this.A.V?!0:this.A.qa?(tc(this),!0):!1};h.qe=function(){return 0};function he(a){void 0===a.pc&&(a.pc=0);void 0===a.Ob&&(a.Ob=-1);void 0===a.Rb&&(a.Rb=-1);a.A.Nb=0<=a.pc&&0<a.Ob;a.A.Nb&&(a.oc=0,a.Qb=a.pc-a.nb)}function xc(a,b){if(a.A.Nb){var c=!1;a.oc=a.oc+a.qe()|0;a.Qb-=b;0>=a.Qb&&(a.Qb+=a.Ob,c=!0);0<=a.Rb&&a.Rb<=le(a)&&(a.Ob=a.Rb=-1,he(a),a.ba(),c=!0);c&&a.v(le(a)+" cycles: checksum="+F(a.oc))}}
h.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.aa)a=!0;else{var b=null,c,k=ta(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.aa);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Nc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.V?d.ba():tc(d))},!0;
this.nd=this.wb=0;this.sa=null;y(this)}p(de,u);h=de.prototype;h.za=function(a,b,c,d){this.J=a;this.F=b;this.D=d;this.sa=a.i;for(a=0;a<ee.length;a++)(b=this.H[ee[a]])&&this.J.va(null,ee[a],b);y(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.Ca=function(a,b){var c=fe(this.J,"autoStart");null!=c?this.A.qa="true"==c?!0:"false"==c?!1:!!c:null==this.A.qa&&(this.A.qa=!this.D&&void 0===this.H.run);if(!b){if(a){ge(this);if(!this.restore(a))return!1;he(this)}else this.reset();this.D?(a=this.D,b=this.A.qa,a.Ga=!0,a.v("Type ? for help with PDPjs Debugger commands"),ie(a),b||je(a),a.ta&&(b=a.ta,a.ta=null,ke(a,b))):this.status("No debugger detected");this.A.qa||this.v("CPU will not be auto-started "+(this.sa?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.Ba=function(a){return a?this.save():!0};h.qa=function(){return this.A.V?!0:this.A.qa?(tc(this),!0):!1};h.qe=function(){return 0};function he(a){void 0===a.pc&&(a.pc=0);void 0===a.Ob&&(a.Ob=-1);void 0===a.Rb&&(a.Rb=-1);a.A.Nb=0<=a.pc&&0<a.Ob;a.A.Nb&&(a.oc=0,a.Qb=a.pc-a.nb)}function xc(a,b){if(a.A.Nb){var c=!1;a.oc=a.oc+a.qe()|0;a.Qb-=b;0>=a.Qb&&(a.Qb+=a.Ob,c=!0);0<=a.Rb&&a.Rb<=le(a)&&(a.Ob=a.Rb=-1,he(a),a.ca(),c=!0);c&&a.v(le(a)+" cycles: checksum="+F(a.oc))}}
h.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.ba)a=!0;else{var b=null,c,k=ta(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.ba);c++);c==k.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Nc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.V?d.ca():tc(d))},!0;
case "speed":return this.H[b]=c,!0;case "setSpeed":return this.H[b]=c,c.onclick=function(){me(d,d.mb<<1,!0)},c.textContent=this.xb.toFixed(2)+"Mhz",!0}return!1};function wc(a,b,c){a.nb+=b;c&&(a.lb=a.b=a.la=0)}function ne(a,b){var c=1;b&&1<a.mb&&a.wb&&(c=a.wb/a.ld);a.md=Math.round(1E3/oe);a.qc=Math.floor(a.Xc/oe*c);b||(a.Ab=a.qc);a.Yc=0}function le(a){return a.nb+a.Ka+a.lb-a.b}function ge(a){a.wb=0;a.nd=0;a.nb=a.Ka=a.lb=a.b=a.la=0;he(a);me(a,1)}
function me(a,b,c){var d=!1;if(void 0!==b){.8>a.wb/a.xb?b=1:d=!0;a.mb=b;b=a.ld*a.mb;if(a.xb!=b){a.xb=b;b=a.xb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&pe(a.J)}wc(a,a.Ka);a.Ka=0;a.Ja=qa();a.kb=0;ne(a);return d}function ld(a,b){var c=a.ia.length;a.ia.push([-1,b]);return c}function nd(a,b,c,d){0<=b&&b<a.ia.length&&(d||0>a.ia[b][0])&&(c=a.Xc*a.mb/1E3*c|0,a.A.V&&(c+=qe(a)),a.ia[b][0]=c)}
function re(a,b){for(var c=a.ia.length-1;0<=c;c--){var d=a.ia[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function se(a){for(var b=[],c=0;c<a.ia.length;c++)b.push(a.ia[c][0]);return b}function vc(a,b){for(var c=a.ia.length-1;0<=c;c--){var d=a.ia[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function qe(a,b){var c=a.lb-=a.b;a.b=a.la=0;b&&(a.lb=0);return c}
h.hh=function(){if(this.A.V){this.Yc>=this.Xc&&ne(this,!0);this.Sb=0;this.nc=qa();if(this.kb){var a=this.nc-this.kb;a>this.md&&(this.Ja+=a,this.Ja>this.nc&&(this.Ja=this.nc))}try{do{var b=re(this,this.A.Nb?1:this.qc);try{this.Cc(b)}catch(e){if("number"!=typeof e)throw e;}b=qe(this,!0);this.Sb+=b;this.Ka+=b;xc(this,b);vc(this,b);this.Ab-=b;if(0>=this.Ab){this.Ab+=this.qc;++this.nd>=te&&(this.J&&H(this.J,void 0),this.nd=0);break}}while(this.A.V)}catch(e){this.ba();this.J&&this.J.stop(qa(),le(this));
h.hh=function(){if(this.A.V){this.Yc>=this.Xc&&ne(this,!0);this.Sb=0;this.nc=qa();if(this.kb){var a=this.nc-this.kb;a>this.md&&(this.Ja+=a,this.Ja>this.nc&&(this.Ja=this.nc))}try{do{var b=re(this,this.A.Nb?1:this.qc);try{this.Cc(b)}catch(e){if("number"!=typeof e)throw e;}b=qe(this,!0);this.Sb+=b;this.Ka+=b;xc(this,b);vc(this,b);this.Ab-=b;if(0>=this.Ab){this.Ab+=this.qc;++this.nd>=te&&(this.J&&H(this.J,void 0),this.nd=0);break}}while(this.A.V)}catch(e){this.ca();this.J&&this.J.stop(qa(),le(this));
Ea(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Zd;this.kb=qa();var c=this.md;this.Sb&&(c=Math.round(c*this.Sb/this.qc));var c=c-(this.kb-this.nc),d=this.kb-this.Ja;d&&(this.wb=Math.round(this.Ka/(10*d))/100,864E5<=d&&(this.nb=0,me(this)));if(0>c||this.wb<this.xb)-1E3>c&&(this.Ja-=c),c=0;this.Yc+=this.Sb;this.kb+=c;a(b,c)}}};
function tc(a,b){if(!Fa(a))if(a.A.V)a.v(a.toString()+" busy");else{me(a);a.A.V=!0;a.A.Sc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&pe(a.J,!0),a.J.start(a.Ja,le(a)));a.F||a.status("Started");setTimeout(a.Zd,0)}}h.Cc=function(){return 0};h.ba=function(a){var b=!1;if(this.A.V){qe(this);wc(this,this.Ka);this.Ka=0;this.A.V=!1;if(b=this.H.run)b.textContent="Run";this.J&&this.J.stop(qa(),le(this));b=!0;this.F||this.status("Stopped")}this.A.complete=a;return b};var oe=30,te=15,ee=["power","reset"];
function tc(a,b){if(!Fa(a))if(a.A.V)a.v(a.toString()+" busy");else{me(a);a.A.V=!0;a.A.Sc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&pe(a.J,!0),a.J.start(a.Ja,le(a)));a.D||a.status("Started");setTimeout(a.Zd,0)}}h.Cc=function(){return 0};h.ca=function(a){var b=!1;if(this.A.V){qe(this);wc(this,this.Ka);this.Ka=0;this.A.V=!1;if(b=this.H.run)b.textContent="Run";this.J&&this.J.stop(qa(),le(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var oe=30,te=15,ee=["power","reset"];
function ue(a){var b=+a.model||1170;de.call(this,a,6666667);this.ka=b;this.Td=+a.addrReset||0;this.bb=this.w=this.N=this.C=this.G=this.L=this.I=0;this.g=this.ta=this.X=[];this.M=this.B=this.Ha=this.xc=[];this.ib=this.O=this.Sd=this.yb=this.zb=this.rb=this.jb=this.P=this.uc=this.ob=this.Ga=this.S=this.vc=this.wc=this.W=this.i=0;this.Wd=[4,2,0,1];this.zc=0;this.Yd=255;1120>=this.ka?(this.be=ve.bind(this),this.Lb=this.Cf,this.zc=8,this.Yd=-1,this.fe=255,this.ee=0):(this.be=we.bind(this),this.Lb=this.Df,
this.fe=~(1792|(1140>=this.ka?2048:0))&65535,this.ee=1140<this.ka?2048:0);this.Dc=this.Ac=this.pa=0;this.R=null;this.mc=[];this.jc=this.ad=this.pe;this.kc=this.cd=this.te;this.Tc=this.dd=this.ze;this.lc=this.jd=this.Ae;this.Ia=this.ub=this.sc=this.tc=0;this.Fa=this.se;this.oa=this.Ed;this.Hb=this.Id;this.u=this.j=this.Wc=this.U=this.Y=0;this.A.complete=!1}p(ue,de);h=ue.prototype;
h.za=function(a,b,c,d){de.prototype.za.call(this,a,b,c,d);this.ad=b.Kd.bind(b);this.cd=b.Bc.bind(b);this.dd=b.Ld.bind(b);this.jd=b.ac.bind(b)};h.Ca=function(a,b){for(var c=192,d=0;d<this.mc.length;d++){var e=this.mc[d];0>e.Fb&&(e.Fb=c,c+=4)}return de.prototype.Ca.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ka);this.A.V&&this.ba();this.C=65536;this.G=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Td,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.X=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ha=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.xc=[0,0,0,0,0,0,0,0];this.N=0;this.bb=-1;this.u=this.j=this.Wc=this.U=this.Y=this.i=this.uc=0;rc(this);ge(this);this.A.error=!1;de.prototype.reset.call(this)};function rc(a){a.S=0;a.vc=0;a.wc=0;a.W=0;a.P=0;a.ob=0;a.Ga=255;a.yb=0;a.zb=0;a.rb=0;a.jb=262143;a.ib=a.g[7];a.O=0;a.R=null;a.D&&(xe(a),a.Sd=gd(a.D))}
function xe(a){a.jc=a.ad;a.kc=a.cd;a.Tc=a.dd;a.lc=a.jd;a.sc&&(a.jc=a.pe,a.kc=a.te);a.tc&&(a.Tc=a.ze,a.lc=a.Ae);a.yb?(a.Ia=65536,a.ub=a.W&16?4186112:253952,a.Fa=a.se,a.oa=a.sc?a.$g:a.Ed,a.Hb=a.tc?a.ti:a.Id,Zc(a.D,a.W&16?22:18)):(a.Ia=0,a.ub=57344,a.Fa=a.Gf,a.oa=a.sc?a.Zg:a.ye,a.Hb=a.tc?a.si:a.De,Zc(a.D,16))}function td(a){var b=a.S;b&57344||(b=b&-3199|a.zb<<5|a.rb<<1);return b}
h.reset=function(){this.status("Model "+this.ka);this.A.V&&this.ca();this.C=65536;this.G=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Td,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.X=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ha=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.xc=[0,0,0,0,0,0,0,0];this.N=0;this.bb=-1;this.u=this.j=this.Wc=this.U=this.Y=this.i=this.uc=0;rc(this);ge(this);this.A.error=!1;de.prototype.reset.call(this)};function rc(a){a.S=0;a.vc=0;a.wc=0;a.W=0;a.P=0;a.ob=0;a.Ga=255;a.yb=0;a.zb=0;a.rb=0;a.jb=262143;a.ib=a.g[7];a.O=0;a.R=null;a.F&&(xe(a),a.Sd=gd(a.F))}
function xe(a){a.jc=a.ad;a.kc=a.cd;a.Tc=a.dd;a.lc=a.jd;a.sc&&(a.jc=a.pe,a.kc=a.te);a.tc&&(a.Tc=a.ze,a.lc=a.Ae);a.yb?(a.Ia=65536,a.ub=a.W&16?4186112:253952,a.Fa=a.se,a.oa=a.sc?a.$g:a.Ed,a.Hb=a.tc?a.ti:a.Id,Zc(a.F,a.W&16?22:18)):(a.Ia=0,a.ub=57344,a.Fa=a.Gf,a.oa=a.sc?a.Zg:a.ye,a.Hb=a.tc?a.si:a.De,Zc(a.F,16))}function td(a){var b=a.S;b&57344||(b=b&-3199|a.zb<<5|a.rb<<1);return b}
function ud(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.vc=a.O>>16&65535,a.wc=a.O&65535);a.S=b;a.zb=(b&96)>>5;a.rb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.yb!=c&&(a.yb=c,xe(a))}}function vd(a){a.S&57344||(a.vc=a.O>>16&65535);a=a.vc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function wd(a){a.S&57344||(a.wc=a.O&65535);return a.wc}function xd(a,b){1170>a.ka&&(b&=-49);a.W!=b&&(a.W=b,a.jb=b&16?4194303:262143,xe(a))}
function ye(a,b,c,d){a.Td=b;qc(a,b);Ad(a,0);a.D.reset();rc(a);if(c){a.g[0]=d||0;for(b=1;5>=b;b++)a.g[b]=0;a.g[6]=1024;a.A.aa?a.A.V||tc(a):a.A.qa=!0}else a.F&&a.A.aa?a.ba()||a.J.A.reset||(ie(a.F),H(a.J,-1)):!1===c&&a.ba();!a.A.V&&a.sa&&a.sa.stop()}h.qe=function(){return 0};
function ye(a,b,c,d){a.Td=b;qc(a,b);Ad(a,0);a.F.reset();rc(a);if(c){a.g[0]=d||0;for(b=1;5>=b;b++)a.g[b]=0;a.g[6]=1024;a.A.ba?a.A.V||tc(a):a.A.qa=!0}else a.D&&a.A.ba?a.ca()||a.J.A.reset||(ie(a.D),H(a.J,-1)):!1===c&&a.ca();!a.A.V&&a.sa&&a.sa.stop()}h.qe=function(){return 0};
h.save=function(){var a=new G(this);a.set(0,[this.g,this.ta,this.X,this.M,this.B,this.Ha,this.xc,this.P,this.uc,this.ob,this.Ga,this.zb,this.rb,this.ib,this.i,this.O,this.bb,this.Ac,this.Dc]);a.set(1,[zd(this),td(this),vd(this),wd(this),this.W]);a.set(2,[this.nb,this.mb,this.A.qa]);a.set(3,ze(this));a.set(4,se(this));return a.data()};
h.restore=function(a){var b=ia(a[0]);this.g=b.next().value;this.ta=b.next().value;this.X=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Ha=b.next().value;this.xc=b.next().value;this.P=b.next().value;this.uc=b.next().value;this.ob=b.next().value;this.Ga=b.next().value;this.zb=b.next().value;this.rb=b.next().value;this.ib=b.next().value;this.i=b.next().value;this.O=b.next().value;this.bb=b.next().value;this.Ac=b.next().value;this.Dc=b.next().value;b=a[1];Ad(this,b[0]);ud(this,b[1]);
this.vc=b[2];this.wc=b[3];xd(this,b[4]);b=a[2];this.nb=b[0];me(this,b[1]);this.A.qa=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.mc.length;d++){var e=this.mc[d];if(e.Fb===b[c]){d=e;break a}}d=null}d&&(d.next=this.R,this.R=d)}a=a[4];for(b=0;b<this.ia.length&&b<a.length;b++)this.ia[b][0]=a[b];return!0};function Ae(a){return a.C&65536?1:0}function Be(a){return a.G&32768?2:0}function Ce(a){return a.L&65535?0:4}function De(a){return a.I&32768?8:0}
@ -151,21 +151,21 @@ function Ee(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function Fe(a,b,c){c&&(q
function md(a,b){if(b){if(b!=a.R){var c=a.R;if(!c||c.pb<=b.pb)b.next=c,a.R=b;else{do{var d=c.next;if(!d||d.pb<=b.pb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&z(a,b.message|8)&&C(a,"setIRQ(vector="+E(b.Fb)+",priority="+b.pb+")",!0,!0)}}function sd(a,b){b&&(Ge(a,b),b.message&&z(a,b.message|8)&&C(a,"clearIRQ(vector="+E(b.Fb)+",priority="+b.pb+")",!0,!0))}function ze(a){var b=[];for(a=a.R;a;)b.push(a.Fb),a=a.next;return b}
function He(a){return a.i&64?(a.ra(168,64,-6),!0):a.i&32?(a.ra(4,32,-5),!0):a.i&16?(a.ra(12,16,-7),!0):!1}function zd(a){return a.w=a.w&63728|De(a)|Ce(a)|Be(a)|Ae(a)}function Ad(a,b){b&=a.fe;a.I=b<<12;a.L=~b&4;a.G=b<<14;a.C=b<<16;if((b^a.w)&a.ee)for(var c=a.ta.length;0<=--c;){var d=a.g[c];a.g[c]=a.ta[c];a.ta[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.N]);a.w=b;a.i&=-3;a.i|=a.R?2:1}function yd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.ob=b}
h.Da=function(a){this.I=this.L=a;this.G=0};h.qb=function(a,b){this.I=this.L=this.C=a;this.G=b||0};function Ie(a,b){a.I=a.L=a.C=b;a.G=a.I^a.C>>1}function Je(a,b,c,d){a.I=a.L=a.C=b;a.G=(c^d)&(d^b)}
h.ra=function(a,b,c){if(!this.pa){0>this.bb?this.bb=zd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.P|=4,this.g[6]=a=4);if(-1!=c){this.O=a|4143316992;this.N=0;var d=this.oa(a|this.Ia),e=this.oa(a+2&65535|this.Ia);Ad(this,e&-12289|this.bb>>2&12288);Ke(this,this.bb);Ke(this,this.g[7]);qc(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.bb=-1;this.Ac=c;this.Dc=a;-1==c&&this.ba();if(-4<=c)throw a;}};
h.ra=function(a,b,c){if(!this.pa){0>this.bb?this.bb=zd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.P|=4,this.g[6]=a=4);if(-1!=c){this.O=a|4143316992;this.N=0;var d=this.oa(a|this.Ia),e=this.oa(a+2&65535|this.Ia);Ad(this,e&-12289|this.bb>>2&12288);Ke(this,this.bb);Ke(this,this.g[7]);qc(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.bb=-1;this.Ac=c;this.Dc=a;-1==c&&this.ca();if(-4<=c)throw a;}};
function Le(a){var b=Me(a),c=Me(a);a.w&49152&&(c=c&-225|a.w&63712);qc(a,b);Ad(a,c);a.i&=-17}function Ne(a,b){var c=b>>13&31;31>c&&(b=a.W&32?a.Ha[c]+(b&8191)&4194303:b&-3932161);return b}
function Oe(a,b,c){var d=[];if(c){c=Ne(a,b);var e=b>>13&31;d.push(c);d.push(e);a.W&32&&(d.push(a.Ha[e]),d.push(b&8191))}else if(a.yb){var e=a.N<<1,f=b>>13;7<f&&(e|=1);a.W&a.Wd[a.N]||(f&=7);b&=8191;var g=a.M[a.N][f]<<6;c=g+b&a.jb;3932160<=c&&(c=Ne(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.jb)}else c=b&65535,57344<=c&&(c|=a.ub),d.push(c);return d}
function Ac(a,b,c){var d,e,f;if(!(c&a.yb))return f=b&65535,57344<=f&&(f|=a.ub),f;d=b>>13;a.W&a.Wd[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.jb;3932160<=f&&(f=Ne(a,f));if(a.pa)return f;f>=a.Sd&&f<a.ub?(a.P|=32,a.ra(4,0,f)):f&1&&!(c&1)&&(a.P|=64,a.ra(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.jb)||a.N)a.zb=a.N,a.rb=d;g&&(g&57344&&(0<=a.bb&&(g|=128),a.S&57344||(g|=a.S&4096|a.zb<<5|a.rb<<1,ud(a,a.S&-61695|g&61694)),a.ra(168,64,-2)),a.S&61440||!(f<(4191360&a.jb)||f>(4194239&a.jb))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function Me(a){var b=a.oa(a.g[6]|a.Ia);a.g[6]=a.g[6]+2&65535;return b}function Ke(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.O=a.O&65535|(a.O&-65536)<<8|16121856;a.i&256||a.Lb(4,-2,c);a.Hb(c,b)}
function Pe(a,b,c,d){var e,f,g=d&8?0:a.Ia;switch(b){case 0:return a.ra(4,0,-3),0;case 1:return 6==c&&a.Lb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Lb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.oa(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Lb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.oa(e)|g;a.b-=8;break;case 6:return e=a.oa(Ee(a,2)),e=e+a.g[c]&65535,6==c&&a.Lb(d,
0,e),a.b-=6,e|g;case 7:return e=a.oa(Ee(a,2)),e=e+a.g[c]&65535,e=a.oa(e|a.Ia),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return e}h.Cf=function(a,b,c){!this.N&&0>=b&&c<=this.Ga&&(this.i|=32)};h.Df=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Ga&&(c<=this.Ga-32?this.ra(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.F&&$d(this.F,a,1);return this.ad(a)};h.te=function(a){this.F&&$d(this.F,a,2);return this.cd(a)};
h.ze=function(a,b){this.F&&ae(this.F,a,1);this.dd(a,b)};h.Ae=function(a,b){this.F&&ae(this.F,a,2);this.jd(a,b)};function Cc(a,b){a.pa++;b=a.D.Bc(Ac(a,b,2));a.pa--;return b}function Qe(a,b){(b?--a.tc:--a.sc)||xe(a)}h.Gf=function(a,b,c){return Pe(this,a,b,c)};h.se=function(a,b,c){return Ac(this,Pe(this,a,b,c),c)};h.ye=function(a){return this.D.Bc(this.ib=a)};h.Zg=function(a){this.F&&$d(this.F,a,2);return this.ye(a)};h.Ed=function(a){return this.D.Bc(this.ib=Ac(this,a,2))};
h.$g=function(a){this.F&&$d(this.F,a,2);return this.Ed(a)};h.De=function(a,b){this.D.ac(this.ib=a,b)};h.si=function(a,b){this.F&&ae(this.F,a,2);this.De(a,b)};h.Id=function(a,b){this.D.ac(this.ib=Ac(this,a,4),b)};h.ti=function(a,b){this.F&&ae(this.F,a,2);this.Id(a,b)};function Re(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Pe(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.oa(d|c&a.Ia),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c}
0,e),a.b-=6,e|g;case 7:return e=a.oa(Ee(a,2)),e=e+a.g[c]&65535,e=a.oa(e|a.Ia),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return e}h.Cf=function(a,b,c){!this.N&&0>=b&&c<=this.Ga&&(this.i|=32)};h.Df=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Ga&&(c<=this.Ga-32?this.ra(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.D&&$d(this.D,a,1);return this.ad(a)};h.te=function(a){this.D&&$d(this.D,a,2);return this.cd(a)};
h.ze=function(a,b){this.D&&ae(this.D,a,1);this.dd(a,b)};h.Ae=function(a,b){this.D&&ae(this.D,a,2);this.jd(a,b)};function Cc(a,b){a.pa++;b=a.F.Bc(Ac(a,b,2));a.pa--;return b}function Qe(a,b){(b?--a.tc:--a.sc)||xe(a)}h.Gf=function(a,b,c){return Pe(this,a,b,c)};h.se=function(a,b,c){return Ac(this,Pe(this,a,b,c),c)};h.ye=function(a){return this.F.Bc(this.ib=a)};h.Zg=function(a){this.D&&$d(this.D,a,2);return this.ye(a)};h.Ed=function(a){return this.F.Bc(this.ib=Ac(this,a,2))};
h.$g=function(a){this.D&&$d(this.D,a,2);return this.Ed(a)};h.De=function(a,b){this.F.ac(this.ib=a,b)};h.si=function(a,b){this.D&&ae(this.D,a,2);this.De(a,b)};h.Id=function(a,b){this.F.ac(this.ib=Ac(this,a,4),b)};h.ti=function(a,b){this.D&&ae(this.D,a,2);this.Id(a,b)};function Re(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Pe(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.oa(d|c&a.Ia),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c}
function Se(a,b,c,d){a.O=a.O&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Pe(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Ac(a,e|c&65536,4),a.N=a.w>>14&3,a.lc(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Te(a,b){b>>=6;var c=a.Y=b&7;return(b=a.U=(b&56)>>3)?a.jc(a.Fa(b,c,3)):a.g[c+a.zc]&a.Yd}function Ue(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.U=(b&56)>>3)?c=a.kc(a.Fa(b,d,2)):c=a.g[d+a.zc];return c}function Ve(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Pe(a,b,c,8)}
function We(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.jc(a.Fa(b,c,3)):a.g[c]&255}function Xe(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.kc(a.Fa(b,d,2)):c=a.g[d];return c}function Ye(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Wc=a.Fa(b,e,7),c=0>c?a.g[-c-1]&255:c,a.Tc(e,d.call(a,c,a.jc(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,6),a.lc(e,d.call(a,0>c?a.g[-c-1]:c,a.kc(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function Ze(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.Fa(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.Tc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function $e(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.lc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.Cc=function(a){this.A.complete=!0;var b=this.F?af(this.F)?1:this.A.Sc?-1:0:0,c=a?this.A.Sc?0:1:-1;this.A.Sc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(bf(this.F,this.g[7],c)){this.ba();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Ee(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&Ge(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&bf(this.F,this.g[7],c)){this.ba();break}if(0>c)break}if(this.i&112&&He(this)){if(this.i&4&&bf(this.F,this.g[7],c)){this.ba();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.be(f)}while(0<this.b);return this.A.complete?this.lb-this.b:!1===this.A.complete?-1:0};rb(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new ue(d);xa(d,c)}});
h.Cc=function(a){this.A.complete=!0;var b=this.D?af(this.D)?1:this.A.Sc?-1:0:0,c=a?this.A.Sc?0:1:-1;this.A.Sc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(bf(this.D,this.g[7],c)){this.ca();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Ee(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&Ge(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&bf(this.D,this.g[7],c)){this.ca();break}if(0>c)break}if(this.i&112&&He(this)){if(this.i&4&&bf(this.D,this.g[7],c)){this.ca();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.be(f)}while(0<this.b);return this.A.complete?this.lb-this.b:!1===this.A.complete?-1:0};rb(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new ue(d);xa(d,c)}});
function cf(a,b){var c=b+a;this.I=this.L=this.C=c;this.G=(a^c)&(b^c);return c&65535}function zf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.C=d;this.G=(a<<8^d)&(b<<8^d);return c&255}function Af(a,b){a=b<<1;Ie(this,a);return a&65535}function Bf(a,b){a=b<<1;Ie(this,a<<8);return a&255}function Cf(a,b){a=b&32768|b>>1|b<<16;Ie(this,a);return a&65535}function Df(a,b){a=b&128|b>>1|b<<8;Ie(this,a<<8);return a&255}function Ef(a,b){a=b&~a;this.Da(a);return a}function Ff(a,b){a=b&~a;this.Da(a<<8);return a}
function Gf(a,b){a|=b;this.Da(a);return a}function Hf(a,b){a|=b;this.Da(a<<8);return a}function If(a,b){a=~b|65536;this.qb(a);return a&65535}function Jf(a,b){a=~b|256;this.qb(a<<8);return a&255}function Kf(a,b){this.I=this.L=a=b-a;this.G=b&(b^a);return a&65535}function Lf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.G=b&(b^c);return a&255}function Mf(a,b){this.I=this.L=a=b+a;this.G=a&(b^a);return a&65535}function Nf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.G=c&(b<<8^c);return a&255}
function Of(a,b){a=-b;this.qb(a,a&b&32768);return a&65535}function Pf(a,b){a=-b;this.qb(a<<8,(a&b&128)<<8);return a&255}function Qf(a,b){a=b<<1|this.C>>16&1;Ie(this,a);return a&65535}function Rf(a,b){a=b<<1|this.C>>16&1;Ie(this,a<<8);return a&255}function Sf(a,b){a=(this.C&65536|b)>>1|b<<16;Ie(this,a);return a&65535}function Tf(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Ie(this,a<<8);return a&255}function Uf(a,b){var c=b-a;Je(this,c,a,b);return c&65535}
@ -177,11 +177,11 @@ function gg(a){var b=Ue(this,a);a=Xe(this,a);this.Da((0>b?this.g[-b-1]:b)&a);thi
function mg(a){Fe(this,a,Ce(this)||!De(this)!=!Be(this))}function ng(a){Fe(this,a,Ae(this)||Ce(this))}function og(a){Fe(this,a,!De(this)!=!Be(this))}function pg(a){Fe(this,a,De(this))}function qg(a){Fe(this,a,!Ce(this))}function rg(a){Fe(this,a,!De(this))}function sg(){this.ra(12,0,-9)}function tg(a){Fe(this,a,!0)}function ug(a){Fe(this,a,!Be(this))}function vg(a){Fe(this,a,Be(this))}function wg(a){a&1&&(this.C=0);a&2&&(this.G=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function xg(a){var b=Ue(this,a);a=Xe(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Je(this,c,a,b);this.b-=this.u?4+(this.Y&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function yg(a){var b=Te(this,a);a=We(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Je(this,c,a,b);this.b-=this.u?4+(this.Y&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}
function zg(a){var b=Xe(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.G=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.G=32768,this.C=65536,this.b-=7}function Ag(){this.ra(24,0,-9);this.b-=20}
function Bg(){this.w&49152?(this.P|=128,this.ra(4,0,-8)):(this.sa&&1120==this.ka&&this.sa.setData(this.g[0],!0),this.F?Cg(this.F):this.ba());this.b-=7}function Dg(){this.ra(16,0,-9);this.b-=20}var Eg=[0,7,7,10,7,11,9,13];function Fg(a){this.la=this.b;qc(this,Ve(this,a));this.b=this.la-Eg[this.u]}var Gg=[0,14,14,17,14,18,16,20];function Hg(a){this.la=this.b;var b=Ve(this,a);a=a>>6&7;Ke(this,this.g[a]);this.g[a]=this.g[7];qc(this,b);this.b=this.la-Gg[this.u]}
function Bg(){this.w&49152?(this.P|=128,this.ra(4,0,-8)):(this.sa&&1120==this.ka&&this.sa.setData(this.g[0],!0),this.D?Cg(this.D):this.ca());this.b-=7}function Dg(){this.ra(16,0,-9);this.b-=20}var Eg=[0,7,7,10,7,11,9,13];function Fg(a){this.la=this.b;qc(this,Ve(this,a));this.b=this.la-Eg[this.u]}var Gg=[0,14,14,17,14,18,16,20];function Hg(a){this.la=this.b;var b=Ve(this,a);a=a>>6&7;Ke(this,this.g[a]);this.g[a]=this.g[7];qc(this,b);this.b=this.la-Gg[this.u]}
var Ig=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Jg(a){var b=Ue(this,a);this.la=this.b;$e(this,a,b,this.Da);this.b=this.la-Ig[(this.U?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Kg(a){var b=Te(this,a);Ze(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}var Lg=[7,13,13,17,14,18,17,21];
function Mg(a){var b=Xe(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.G=0;this.C=-32768>b||32767<b?65536:0;this.b-=23}function Ng(){this.b-=5}function Og(){this.w&49152||(this.D.reset(),rc(this),this.sa&&this.sa.setData(this.g[0],!0));this.b-=667}function Pg(a){if(a&8)Q.call(this,a);else{var b=Me(this);a&=7;7==a?qc(this,b):(qc(this,this.g[a]),this.g[a]=b);this.b-=9}}function Qg(){Le(this);this.b-=13}
function Mg(a){var b=Xe(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.G=0;this.C=-32768>b||32767<b?65536:0;this.b-=23}function Ng(){this.b-=5}function Og(){this.w&49152||(this.F.reset(),rc(this),this.sa&&this.sa.setData(this.g[0],!0));this.b-=667}function Pg(a){if(a&8)Q.call(this,a);else{var b=Me(this);a&=7;7==a?qc(this,b):(qc(this,this.g[a]),this.g[a]=b);this.b-=9}}function Qg(){Le(this);this.b-=13}
function Rg(a){a&1&&(this.C=65536);a&2&&(this.G=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Sg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)qc(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Tg(a){P(this,a,Ue(this,a),Uf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function Ug(a){P(this,a,0,Wf);this.b-=this.u?9:3+(7==this.j?2:0)}function Vg(){this.ra(28,0,-9)}
function Wg(){this.sa&&(this.sa.Gd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Ee(this,-2);this.b-=3}function Xg(a){P(this,a,this.g[(a>>6&7)+this.zc],Xf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.F)b=this.F,z(b,1)?(C(b,"undefined opcode "+K(b,a),!0,!0),b=Cg(b)):b=!1;b||this.ra(8,0,-9)}function ve(a){Yg[a>>12].call(this,a)}function Zg(a){$g[a>>6&3].call(this,a)}function ah(a){bh[a>>6&3].call(this,a)}function ch(a){dh[a>>6&3].call(this,a)}
function Wg(){this.sa&&(this.sa.Gd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Ee(this,-2);this.b-=3}function Xg(a){P(this,a,this.g[(a>>6&7)+this.zc],Xf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,z(b,1)?(C(b,"undefined opcode "+K(b,a),!0,!0),b=Cg(b)):b=!1;b||this.ra(8,0,-9)}function ve(a){Yg[a>>12].call(this,a)}function Zg(a){$g[a>>6&3].call(this,a)}function ah(a){bh[a>>6&3].call(this,a)}function ch(a){dh[a>>6&3].call(this,a)}
function eh(a){fh[a&15].call(this,a)}function gh(a){hh[a&15].call(this,a)}function ih(a){jh[a>>6&3].call(this,a)}function kh(a){lh[a>>6&3].call(this,a)}function mh(a){nh[a>>6&3].call(this,a)}
var Yg=[function(a){oh[a>>8&15].call(this,a)},Jg,xg,gg,cg,eg,Yf,Q,function(a){ph[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Tg,Q],oh=[function(a){qh[a>>4&15].call(this,a)},tg,qg,ig,jg,og,kg,mg,Hg,Hg,Zg,ah,ch,Q,Q,Q],$g=[function(a){$e(this,a,0,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,If);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Mf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Kf);this.b-=this.u?9:3+(7==this.j?2:0)}],bh=[function(a){P(this,a,0,Of);
this.b-=this.u?11:6},function(a){P(this,a,Ae(this)?1:0,cf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Ae(this)?1:0,Uf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Xe(this,a);this.qb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],dh=[function(a){P(this,a,0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Qf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Cf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Af);this.b-=this.u?9:3+(7==this.j?2:0)}],qh=
@ -191,52 +191,53 @@ a);this.qb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],nh=[function(a){Ye(this,a,
var sh=[function(a){th[a>>8&15].call(this,a)},Jg,xg,gg,cg,eg,Yf,function(a){uh[a>>8&15].call(this,a)},function(a){vh[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Tg,Q],th=[function(a){wh[a>>4&15].call(this,a)},tg,qg,ig,jg,og,kg,mg,Hg,Hg,Zg,ah,ch,function(a){xh[a>>6&3].call(this,a)},Q,Q],xh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.oa(a|this.Ia);qc(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Re(this,a,0);this.Da(a);Ke(this,a);this.b-=11},function(a){var b=Me(this);
this.la=this.b;this.Da(b);Se(this,a,0,b);this.b=this.la-Lg[this.u]},function(a){$e(this,a,De(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],wh=[function(a){yh[a&15].call(this,a)},Q,Q,Q,Fg,Fg,Fg,Fg,Pg,function(a){!(a&8)||1145>this.ka?Q.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},eh,gh,Ug,Ug,Ug,Ug],yh=[Bg,Wg,function(){Le(this);this.i|=this.w&16;this.b-=13},sg,Dg,Og,Qg,function(a){Q.call(this,a)},Q,Q,Q,Q,Q,Q,Q,Q],uh=[Mg,Mg,zg,zg,Zf,Zf,$f,$f,
Xg,Xg,Q,Q,Q,Q,Sg,Sg],vh=[rg,pg,lg,ng,ug,vg,ag,bg,Ag,Vg,ih,kh,mh,function(a){1145>this.ka?Q.call(this,a):zh[a>>6&3].call(this,a)},Q,Q],zh=[function(a){Q.call(this,a)},function(a){a=Re(this,a,65536);this.Da(a);Ke(this,a);this.b-=11},function(a){var b=Me(this);this.la=this.b;this.Da(b);Se(this,a,65536,b);this.b=this.la-Lg[this.u]},function(a){Q.call(this,a)}];
function Ah(a){u.call(this,"ROM",a,128);this.ga=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=Oa(this.j);if(this.j){a=this.j;var b=Pa(this.B);"json"!=b&&"hex"!=b&&(a=db()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;bb(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(na(c.vb,a,b),(a=cb(a,b))?(c.g=a.ca,c.ga=a.ga):c.j=null);Bh(c)})}}p(Ah,u);
h=Ah.prototype;h.za=function(a,b,c,d){this.D=b;this.f=c;this.F=d;Bh(this)};h.Ca=function(){this.ga&&(this.F&&Ch(this.F,this.id,this.u,this.b,this.ga),delete this.ga);return!0};h.Ba=function(){return!0};
function Bh(a){if(!Ga(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Ea(a,"ROM size ("+F(a.g.length,8,!0)+") does not match specified size ("+F(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Gc){var c={},c=(c[b]=[Ah.prototype.Jg,Ah.prototype.$h,null,null,null,a.b>>1],c);if(Xb(a.D,a,c)){a.status("Added "+a.b+"-byte ROM at "+E(b));b=a.w=!0;break a}}else if(Xc(a.D,b,a.b,Hd)){for(c=0;c<a.g.length;c++)fd(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}y(a)}}h.Jg=function(a){return this.g[a-this.u]};h.$h=function(){};rb(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new Ah(d);xa(d,c)}});
function Dh(a){u.call(this,"RAM",a);this.ga=this.g=null;this.i=+a.addr;this.j=+a.size;this.ya=a.load;this.xa=a.exec;null!=this.ya&&(this.ya=+this.ya);null!=this.xa&&(this.xa=+this.xa);this.u=!1;this.b=a.file;this.w=Oa(this.b);if(this.b){a=this.b;var b=Pa(this.w);"json"!=b&&"hex"!=b&&(a=db()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;bb(a,null,!0,function(a,b,f){f?(c.T("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(na(c.vb,a,b),(a=cb(a,b))?(c.g=a.ca,c.ga=a.ga,
null==c.ya&&(c.ya=a.ya),null==c.xa&&(c.xa=a.xa)):c.b=null);Eh(c)})}}p(Dh,u);Dh.prototype.za=function(a,b,c,d){this.D=b;this.f=c;this.F=d;Eh(this)};Dh.prototype.Ca=function(a,b){this.ga&&(this.F&&Ch(this.F,this.id,this.i,this.j,this.ga),delete this.ga);b||this.reset();return!0};Dh.prototype.Ba=function(){return!0};
function Eh(a){if(a.D&&(!a.u&&a.j&&(Xc(a.D,a.i,a.j,hd)?a.u=!0:a.j=0),!Ga(a))){if(!a.u)v("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;Fh(a,a.g,a.ya,a.xa,a.i)?a.status('Loaded image "'+a.w+'"'):a.T('Error loading image "'+a.w+'"')}y(a)}}
Dh.prototype.reset=function(){if(this.u){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Fb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.F(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&Fh(this,this.g,this.ya,this.xa,this.i,!this.F)}};
function Ah(a){u.call(this,"ROM",a,128);this.ga=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=Oa(this.j);if(this.j){a=this.j;var b=Pa(this.B);"json"!=b&&"hex"!=b&&(a=db()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;bb(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(na(c.vb,a,b),(a=cb(a,b))?(c.g=a.Z,c.ga=a.ga):c.j=null);Bh(c)})}}p(Ah,u);
h=Ah.prototype;h.za=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Bh(this)};h.Ca=function(){this.ga&&(this.D&&Ch(this.D,this.id,this.u,this.b,this.ga),delete this.ga);return!0};h.Ba=function(){return!0};
function Bh(a){if(!Ga(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)Ea(a,"ROM size ("+F(a.g.length,8,!0)+") does not match specified size ("+F(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Gc){var c={},c=(c[b]=[Ah.prototype.Jg,Ah.prototype.$h,null,null,null,a.b>>1],c);if(Xb(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+E(b));b=a.w=!0;break a}}else if(Xc(a.F,b,a.b,Hd)){for(c=0;c<a.g.length;c++)fd(a.F,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?
b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.F,g=d.b,k=[],l=d.u>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.F;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}y(a)}}h.Jg=function(a){return this.g[a-this.u]};h.$h=function(){};rb(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new Ah(d);xa(d,c)}});
function Dh(a){u.call(this,"RAM",a);this.ga=this.g=null;this.i=+a.addr;this.j=+a.size;this.ya=a.load;this.xa=a.exec;null!=this.ya&&(this.ya=+this.ya);null!=this.xa&&(this.xa=+this.xa);this.u=this.B=!1;this.b=a.file;this.w=Oa(this.b);if(this.b){a=this.b;var b=Pa(this.w);"json"!=b&&"hex"!=b&&(a=db()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;bb(a,null,!0,function(a,b,f){f?(c.T("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(na(c.vb,a,b),(a=cb(a,b))?(c.g=a.Z,
c.ga=a.ga,null==c.ya&&(c.ya=a.ya),null==c.xa&&(c.xa=a.xa)):c.b=null);Eh(c)})}}p(Dh,u);Dh.prototype.za=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Eh(this)};Dh.prototype.Ca=function(a,b){this.ga&&(this.D&&Ch(this.D,this.id,this.i,this.j,this.ga),delete this.ga);b||this.reset();return!0};Dh.prototype.Ba=function(){return!0};
function Eh(a){if(a.F&&(!a.u&&a.j&&(Xc(a.F,a.i,a.j,hd)?a.u=!0:a.j=0),!Ga(a))){if(!a.u)v("No RAM allocated");else if(a.b){if(!a.g)return;Fh(a,a.g,a.ya,a.xa,a.i)?a.status('Loaded image "'+a.w+'"'):a.T('Error loading image "'+a.w+'"')}a.B=!0;y(a)}}
Dh.prototype.reset=function(){if(this.u&&!this.B){for(var a=this.F,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Fb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.F(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&Fh(this,this.g,this.ya,this.xa,this.i,!this.D)}this.B=!1};
function Fh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){C(a,"invalid signature ("+Na(m)+") at offset "+Na(n),4096);break}if(l+6>=b.length){C(a,"invalid block at offset "+Na(n),4096);break}for(var l=l+2,q=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((q&255)+(q>>8)+(t&255)+(t>>8)),r=l,D=q-=6;0<q&&l<b.length;)m+=b[l++]&255,q--;if(q||l>=b.length){C(a,"insufficient data for block at offset "+Na(n),4096);
break}m+=b[l++]&255;if(m&255){C(a,"invalid checksum ("+F(m,2,!0)+") for block at offset "+Na(n),4096);break}if(D)for(C(a,"loading "+Na(D)+" bytes at "+Na(t)+"-"+Na(t+D),4096);D--;)fd(a.D,t++,b[r++]&255);else t&1?g=!0:null==d&&(d=t),null!=d&&C(a,"starting address: "+Na(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)fd(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.ba(),f=!1;null!=d&&ye(a.f,d,f)}return k}
rb(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new Dh(d);xa(d,c)}});function Gh(a){u.call(this,"Keyboard",a,1024);y(this)}p(Gh,u);Gh.prototype.va=function(){return!1};Gh.prototype.za=function(a,b,c,d){this.J=a;this.f=c;this.F=d};rb(function(){for(var a=x(document,w,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new Gh(d);xa(d,c)}});
break}m+=b[l++]&255;if(m&255){C(a,"invalid checksum ("+F(m,2,!0)+") for block at offset "+Na(n),4096);break}if(D)for(C(a,"loading "+Na(D)+" bytes at "+Na(t)+"-"+Na(t+D),4096);D--;)fd(a.F,t++,b[r++]&255);else t&1?g=!0:null==d&&(d=t),null!=d&&C(a,"starting address: "+Na(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)fd(a.F,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.ca(),f=!1;null!=d&&ye(a.f,d,f)}return k}
rb(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new Dh(d);xa(d,c)}});function Gh(a){u.call(this,"Keyboard",a,1024);y(this)}p(Gh,u);Gh.prototype.va=function(){return!1};Gh.prototype.za=function(a,b,c,d){this.J=a;this.f=c;this.D=d};rb(function(){for(var a=x(document,w,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new Gh(d);xa(d,c)}});
function Hh(a){u.call(this,"SerialPort",a,1048576);this.M=+a.adapter;this.S=+a.baudReceive||9600;this.Y=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.u=this.w=null;this.W=+a.tabSize;this.U=+a.charBOL;this.B=0;this.I=!0;this.P=this.N=null;this.R=this.X=-1;this.C=this.b=this.g=0;this.i=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Ih;b&&(void 0===c&&(c="Panel"),(c=va(c,this.id))&&(b=c.H[b])&&this.va(null,a,b))}this.j=this.G=this.O=null;this.exports=
{connect:this.ue,receiveData:this.Oc,receiveStatus:this.fh,setConnection:this.jh}}p(Hh,u);h=Hh.prototype;
h.va=function(a,b,c){var d=this;switch(b){case Ih:return this.H[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?la.Nd:la.cc:46==c?b=la.Nd:a.ctrlKey&&c>=la.Jd&&c<=la.xf&&(b=c-(la.Jd-la.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Oc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.He&&(b=la.Ge);d.Oc(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.Oc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.za=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.P=od(this.f,this.M?-1:48,4,1048576);this.R=ld(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,C(e,"receiveByte("+F(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),nd(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&md(c,e.P))});this.N=od(this.f,this.M?-1:52,4,1048576);this.X=ld(this.f,function(){e.g|=128;e.g&64&&md(c,e.N)});Xb(b,this,Jh,this.M?64832+8*(this.M-1)-65392:0);ec(b,this.reset.bind(this));
h.za=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;var e=this;this.P=od(this.f,this.M?-1:48,4,1048576);this.R=ld(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,C(e,"receiveByte("+F(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),nd(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&md(c,e.P))});this.N=od(this.f,this.M?-1:52,4,1048576);this.X=ld(this.f,function(){e.g|=128;e.g&64&&md(c,e.N)});Xb(b,this,Jh,this.M?64832+8*(this.M-1)-65392:0);ec(b,this.reset.bind(this));
y(this)};h.ue=function(a){if(!this.j){var b=fe(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ya(c[0]);if(d!=this.Mb)return;c=Ya(c[1]);if(this.j=ua(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.I);if(this.G=e.receiveData){this.I=a;this.O=e.receiveStatus;this.status("Connected "+this.vb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.Ca=function(a,b){if(!b)if(this.ue(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){Kh(this)};h.save=function(){var a=new G(this);a.set(0,[this.C,this.b,this.g,this.i]);return a.data()};h.restore=function(a){return Kh(this,a[0])};function Kh(a,b){b||(b=[0,8192,128,a.i]);b=ia(b);a.C=b.next().value;a.b=b.next().value;a.g=b.next().value;a.i=b.next().value;return!0}
h.Oc=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);nd(this.f,this.R,1E3/Math.round(this.S/10));return!0};h.fh=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&md(this.f,this.P))};h.jh=function(a,b){return this.j?!1:(this.j=a,this.G=b,!0)};
h.wg=function(){var a=this.b&65534;this.b&=-32769;return a};h.Nh=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.O&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.O.call(this.j,b))};h.vg=function(){this.b&=-129;return this.C};h.Mh=function(){};h.eh=function(){return this.g};h.vi=function(a){this.g&128&&(a&64?md(this.f,this.N):sd(this.f,this.N));this.g=this.g&-70|a&69};h.dh=function(){return 0};
h.ui=function(a){a&=255;this.G&&this.G.call(this.j,a);a&=127;if(this.u)if(13==a)this.B=0;else if(8==a)this.u.value=this.u.value.slice(0,-1),0<this.B&&this.B--;else{if(a){var b;13!=a&&10!=a&&(b=Za[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.B%a,this.W&&(b=Xa("",c)));this.U&&!this.B&&c&&(b=String.fromCharCode(this.U)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==a||1024<=this.w.length)this.v(this.w),
this.w="";10!=a&&(this.w+=String.fromCharCode(a))}nd(this.f,this.X,1E3/Math.round(this.Y/10));this.g&=-129};var Ih="buffer",Lh={},Jh=(Lh[65392]=[null,null,Hh.prototype.wg,Hh.prototype.Nh,"RCSR"],Lh[65394]=[null,null,Hh.prototype.vg,Hh.prototype.Mh,"RBUF"],Lh[65396]=[null,null,Hh.prototype.eh,Hh.prototype.vi,"XCSR"],Lh[65398]=[null,null,Hh.prototype.dh,Hh.prototype.ui,"XBUF"],Lh);rb(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new Hh(d);xa(d,c)}});
function Bd(a){u.call(this,"PC11",a,4096);this.N=Mh(this,a.autoMount);this.g=0;this.U=+a.baudReceive||3600;this.w=this.b=0;this.L=32768;this.i=this.R=0;this.C=[];this.B=Nh;this.j=Oh;this.M=this.u="";this.ca=this.ya=this.xa=null;this.P=-1;this.O=!ib("Mobi")&&window&&"FileReader"in window;this.G=null;this.S=-1;this.I=null}p(Bd,u);function Mh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Bd.prototype;
function Bd(a){u.call(this,"PC11",a,4096);this.N=Mh(this,a.autoMount);this.g=0;this.U=+a.baudReceive||3600;this.w=this.b=0;this.L=32768;this.i=this.R=0;this.C=[];this.B=Nh;this.j=Oh;this.M=this.u="";this.Z=this.ya=this.xa=null;this.P=-1;this.O=!ib("Mobi")&&window&&"FileReader"in window;this.G=null;this.S=-1;this.I=null}p(Bd,u);function Mh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Bd.prototype;
h.va=function(a,b,c){var d=this,e=Oh;switch(b){case "listTapes":return this.H[b]=c,c.onchange=function(){var a=d.H.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){v("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.H[b]=c,!0;case "readTape":e=Ph;case "loadTape":return e||(e=Qh),this.H[b]=c,c.onclick=
function(){var a=d.H.listTapes;a&&Rh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Rh(d,Oa(b,!0),b,Qh,a)}return!1};return!0;case Sh:return this.H[b]=c,!0}return!1};
h.za=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Th(a);var e=this;if(a=Mh(this,fe(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.G=od(this.f,56,4,4096);this.S=ld(this.f,function(){1!=(e.b&32769)||e.b&128||(e.i<e.C.length?(e.w=e.C[e.i]&255,z(e)&&C(e,e.type+".advanceReader("+e.i+"): "+F(e.w,2,!0),!0),e.i++,Uh(e,e.i/e.C.length*100)):e.b|=32768,e.b|=128,e.b&=-2049,e.b&64&&md(e.f,e.G))});Xb(b,this,Vh);ec(b,this.reset.bind(this));Wh(this,"None",Nh,!0);this.O&&Wh(this,
h.za=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;this.I=Th(a);var e=this;if(a=Mh(this,fe(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.G=od(this.f,56,4,4096);this.S=ld(this.f,function(){1!=(e.b&32769)||e.b&128||(e.i<e.C.length?(e.w=e.C[e.i]&255,z(e)&&C(e,e.type+".advanceReader("+e.i+"): "+F(e.w,2,!0),!0),e.i++,Uh(e,e.i/e.C.length*100)):e.b|=32768,e.b|=128,e.b&=-2049,e.b&64&&md(e.f,e.G))});Xb(b,this,Vh);ec(b,this.reset.bind(this));Wh(this,"None",Nh,!0);this.O&&Wh(this,
"Local Tape",Xh);Wh(this,"Remote Tape",Yh);Zh(this)||y(this)};h.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.w=0};function Zh(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.H.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=Oa(c,!0)}c&&b?$h(a,b,c,Qh,!0):ai(a)}return!!a.g}
function Rh(a,b,c,d,e){if(c)if(c==Xh)a.T('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Yh){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Oa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.B=Yh}else a.B=c;$h(a,b,c,d,!1,e)}else bi(a,!1)}
function $h(a,b,c,d,e,f){var g=-1;if(a.u.toLowerCase()!=c.toLowerCase()||a.j!=d)g++,bi(a,!0),a.A.eb?a.T("PC11 busy"):(e&&(a.g++,z(a)&&C(a,"auto-loading tape: "+b)),ci(a,b,c,d,f)?g++:a.A.eb=!0);g&&di(a,a.M,a.u,a.j,a.ca,a.ya,a.xa)}
function ci(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),di(a,b,c,d,e),a.B=Xh);a.A.eb=!1;ai(a)};g.readAsArrayBuffer(e);return!1}0>c.indexOf("/api/v1/dump")&&(e=Pa(c),f="json"==e||"gz"==e?encodeURI(c):db()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!bb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.aa;g?a.T('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(na(a.vb,e,f),(e=cb(e,f))&&di(a,b,c,d,
e.ca,e.ya,e.xa));a.A.eb=!1;a.g&&(a.g--,a.g||y(a));ai(a)})}function Wh(a,b,c,d){if((a=a.H.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function $h(a,b,c,d,e,f){var g=-1;if(a.u.toLowerCase()!=c.toLowerCase()||a.j!=d)g++,bi(a,!0),a.A.eb?a.T("PC11 busy"):(e&&(a.g++,z(a)&&C(a,"auto-loading tape: "+b)),ci(a,b,c,d,f)?g++:a.A.eb=!0);g&&di(a,a.M,a.u,a.j,a.Z,a.ya,a.xa)}
function ci(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),di(a,b,c,d,e),a.B=Xh);a.A.eb=!1;ai(a)};g.readAsArrayBuffer(e);return!1}0>c.indexOf("/api/v1/dump")&&(e=Pa(c),f="json"==e||"gz"==e?encodeURI(c):db()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!bb(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.ba;g?a.T('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(na(a.vb,e,f),(e=cb(e,f))&&di(a,b,c,d,
e.Z,e.ya,e.xa));a.A.eb=!1;a.g&&(a.g--,a.g||y(a));ai(a)})}function Wh(a,b,c,d){if((a=a.H.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function ai(a){var b=a.H.listTapes;if(b&&b.options){a=a.B||a.u;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Uh(a,b){b|=0;if(b!==a.P){var c=a.H[Sh];c&&(c=(c=x(c,ei))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function di(a,b,c,d,e,f,g){a.M=b;a.u=c;a.j=d;a.ca=e;a.ya=f;a.xa=g;d==Ph?a.I&&Fh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.T('No valid memory address for tape "'+b+'"'):(a.i=0,a.C=e,a.b&=-32769,a.status('Loaded tape "'+b+'" ('+e.length+" bytes)"),Uh(a,0))}function bi(a,b){if(a.u||!1===b)a.M="",a.u="",b||(a.j&&a.status(a.j==Qh?"tape detached":"tape unloaded"),a.B=Nh,a.j=Oh,ai(a))}h.save=function(){return(new G(this)).data()};h.restore=function(){return!0};h.pg=function(){return this.b&65534};
function di(a,b,c,d,e,f,g){a.M=b;a.u=c;a.j=d;a.Z=e;a.ya=f;a.xa=g;d==Ph?a.I&&Fh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.T('No valid memory address for tape "'+b+'"'):(a.i=0,a.C=e,a.b&=-32769,a.status('Loaded tape "'+b+'" ('+e.length+" bytes)"),Uh(a,0))}function bi(a,b){if(a.u||!1===b)a.M="",a.u="",b||(a.j&&a.status(a.j==Qh?"tape detached":"tape unloaded"),a.B=Nh,a.j=Oh,ai(a))}h.save=function(){return(new G(this)).data()};h.restore=function(){return!0};h.pg=function(){return this.b&65534};
h.Gh=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&md(this.f,this.G)):(this.b&=-129,this.b|=2048,this.w=0,nd(this.f,this.S,1E3/Math.round(this.U/10))));this.b=this.b&-66|a&65};h.og=function(){this.b&=-129;this.b|=2048;return this.w};h.Fh=function(){};h.ng=function(){return this.L};h.Eh=function(a){this.L=this.L&-65|a&64};h.mg=function(){return this.R};h.Dh=function(a){this.R=a&255};
var Nh="",Xh="?",Yh="??",Oh=0,Qh=1,Ph=2,Sh="readProgress",ei="pcjs-progress-bar",fi={},Vh=(fi[65384]=[null,null,Bd.prototype.pg,Bd.prototype.Gh,"PRS"],fi[65386]=[null,null,Bd.prototype.og,Bd.prototype.Fh,"PRB"],fi[65388]=[null,null,Bd.prototype.ng,Bd.prototype.Eh,"PPS"],fi[65390]=[null,null,Bd.prototype.mg,Bd.prototype.Dh,"PPB"],fi);
function gi(a,b,c){u.call(this,"Disk",{id:a.vb+".disk"+F(++hi,4)},8192);this.controller=a;this.J=a.J;this.F=a.F;this.u=b;this.Xa=b.name;this.Oa=this.Fd="";this.zd=b.zd;this.Z=this.ja=this.ea=this.ua=this.mode=0;this.b=[];this.i=null;this.j=!1;ii(this,c,b.Z,b.ja,b.ea,b.ua);this.g=this.w=null;y(this)}p(gi,u);h=gi.prototype;h.za=function(a,b,c,d){this.F=d};
function ii(a,b,c,d,e,f){a.mode=b;a.Z=c;a.ja=d;a.ea=e;a.ua=f;a.b=[];if("preload"!=a.mode){b=Array(a.Z);for(c=0;c<b.length;c++){d=Array(a.ja);for(e=0;e<d.length;e++){f=Array(a.ea);for(var g=1;g<=f.length;g++)f[g-1]=ji(null,c,e,g,a.ua,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function ki(a,b,c,d,e){var f=c;if(a.g)return!0;a.Xa=b;a.Oa=c;a.Fd=Oa(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.Z=e[0];a.ja=e[1];a.ea=e[2];a.ua=e[3]||512;c=a.ua>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.Z);for(d=0;d<a.b.length;d++)for(var t=a.b[d]=Array(a.ja),r=0;r<t.length;r++)for(var D=t[r]=Array(a.ea),A=0;A<D.length;A++){for(var B=ji(null,d,r,A+1,a.ua,0),J=B.data,vb=0;vb<c;vb++,f+=4)var Cd=J[vb]=b.getInt32(f,
function gi(a,b,c){u.call(this,"Disk",{id:a.vb+".disk"+F(++hi,4)},8192);this.controller=a;this.J=a.J;this.D=a.D;this.u=b;this.Xa=b.name;this.Oa=this.Fd="";this.zd=b.zd;this.aa=this.ja=this.ea=this.ua=this.mode=0;this.b=[];this.i=null;this.j=!1;ii(this,c,b.aa,b.ja,b.ea,b.ua);this.g=this.w=null;y(this)}p(gi,u);h=gi.prototype;h.za=function(a,b,c,d){this.D=d};
function ii(a,b,c,d,e,f){a.mode=b;a.aa=c;a.ja=d;a.ea=e;a.ua=f;a.b=[];if("preload"!=a.mode){b=Array(a.aa);for(c=0;c<b.length;c++){d=Array(a.ja);for(e=0;e<d.length;e++){f=Array(a.ea);for(var g=1;g<=f.length;g++)f[g-1]=ji(null,c,e,g,a.ua,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function ki(a,b,c,d,e){var f=c;if(a.g)return!0;a.Xa=b;a.Oa=c;a.Fd=Oa(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.aa=e[0];a.ja=e[1];a.ea=e[2];a.ua=e[3]||512;c=a.ua>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.aa);for(d=0;d<a.b.length;d++)for(var t=a.b[d]=Array(a.ja),r=0;r<t.length;r++)for(var D=t[r]=Array(a.ea),A=0;A<D.length;A++){for(var B=ji(null,d,r,A+1,a.ua,0),J=B.data,vb=0;vb<c;vb++,f+=4)var Cd=J[vb]=b.getInt32(f,
!0),e=e+Cd&-1;B.La=c;D[A]=B}a.i=e;c=a}else a.T("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.u,c,a.Xa,a.Oa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Pa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Qa(c,"/")&&(d="dir"),f=db()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.zd?"":e)+"&format=json"));return!!bb(f,
null,!0,function(b,c,d){li(a,b,c,d)})}
function li(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.aa;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Xa+'" (error '+d+": "+b+")",f);else{na(a.controller.vb,b,c);try{if(0<Oa(a.Fd,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Xa]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)v(k[0]);else{a.Z=k.length;a.ja=k[0].length;a.ea=k[0][0].length;var l=k[0][0][0];a.ua=l&&l.length||512;for(d=c=0;d<a.Z;d++)for(f=0;f<a.ja;f++)for(g=0;g<a.ea;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var q=l.data;if(void 0===q){var t=l.bytes;if(void 0!==t&&t.length){for(var r=m<<2,D=t.length;D<r;D++)t[D]=n;mi(l,t)}else q=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=q;delete l.bytes}ji(l,d,f);for(r=
0;r<q.length;r++)c=c+q[r]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Xa)}catch(A){v("Disk image error ("+b+"): "+A.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Xa,a.Oa),a.g=null)}function ji(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.yk=b;a.zk=c;a.Va=a.La=0;a.fb=!1;return a}
function li(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.ba;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Xa+'" (error '+d+": "+b+")",f);else{na(a.controller.vb,b,c);try{if(0<Oa(a.Fd,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Xa]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)v(k[0]);else{a.aa=k.length;a.ja=k[0].length;a.ea=k[0][0].length;var l=k[0][0][0];a.ua=l&&l.length||512;for(d=c=0;d<a.aa;d++)for(f=0;f<a.ja;f++)for(g=0;g<a.ea;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var q=l.data;if(void 0===q){var t=l.bytes;if(void 0!==t&&t.length){for(var r=m<<2,D=t.length;D<r;D++)t[D]=n;mi(l,t)}else q=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=q;delete l.bytes}ji(l,d,f);for(r=
0;r<q.length;r++)c=c+q[r]&-1}a.b=k;a.i=c;e=a}else v("Empty disk image: "+a.Xa)}catch(A){v("Disk image error ("+b+"): "+A.message)}}a.g&&(a.g.call(a.w,a.u,e,a.Xa,a.Oa),a.g=null)}function ji(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.zk=b;a.Ak=c;a.Va=a.La=0;a.fb=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.u,g=this.b[a];if(g){var k=g[b];if(!k&&f.zf&&b<f.ja)for(k=g[b]=Array(f.Af),g=0;g<k.length;g++)k[g]=ji(null,a,b,g+1,f.ve,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.zf&&9==f.je&&(d=k[g]=ji(null,a,b,f.je,f.ve,0))}}e&&e(d,!1);return d};function mi(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.La?f<a.Va?(a.La+=a.Va-f,a.Va=f):f>=a.Va+a.La&&(a.La+=f-(a.Va+a.La)+1):(a.Va=f,a.La=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function ni(a,b){var c=a.ja*a.ea,d=b/c|0;return d<a.Z?(b%=c,a.seek(d,b/a.ea|0,b%a.ea+1)):null}function oi(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}h.save=function(){var a=0,b=[];b[a++]=[this.Oa,this.i,this.Z,this.ja,this.ea,this.ua];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.La){for(var k=[],l=0,m=g.Va,n=g.Va+g.La;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Va,k]}}return b};
function ni(a,b){var c=a.ja*a.ea,d=b/c|0;return d<a.aa?(b%=c,a.seek(d,b/a.ea|0,b%a.ea+1)):null}function oi(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
h.save=function(){var a=0,b=[];b[a++]=[this.Oa,this.i,this.aa,this.ja,this.ea,this.ua];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.La){for(var k=[],l=0,m=g.Va,n=g.Va+g.La;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Va,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?ii(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Va=e;for(k.La=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.T("Unable to restore disk '"+this.Xa+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=ni(this,a++);)pi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
@ -245,40 +246,40 @@ function ri(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){v(a.typ
h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){si(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=Ka(c.value,10);null!=a&&ti(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Bd()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a=
d.g[Ka(a.value,10)||0])if(a=a.da){var b;b="";for(var c=0,k;k=ni(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(oi(a,k,l));b=btoa(b);a=a.Fd.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+
(a?" ("+a+")":"")+".");v(a)}else d.T("No disk loaded in drive.");else d.T("No disk drive selected.")};return!0;case "mountDisk":if(this.O)return this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;d.Bd(Oa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.za=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=ri(this,fe(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.N[e]=a[e]);this.reset();this.Qa=od(this.f,this.R.ud,this.R.qd,this.ha);Xb(b,this,this.U);ec(b,this.reset.bind(this));Ni(this,"None",Pi,!0);this.O&&Ni(this,"Local Disk",Qi);Ni(this,"Remote Disk",Ri);Si(this)||y(this)};
h.za=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;if(a=ri(this,fe(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.N[e]=a[e]);this.reset();this.Qa=od(this.f,this.R.ud,this.R.qd,this.ha);Xb(b,this,this.U);ec(b,this.reset.bind(this));Ni(this,"None",Pi,!0);this.O&&Ni(this,"Local Disk",Qi);Ni(this,"Remote Disk",Ri);Si(this)||y(this)};
h.Ca=function(a,b){if(!b){if(!a){if(this.reset(),this.J.M){this.B=[];for(a=0;a<this.g.length;a++)Ti(this,a,!0);Si(this,!0)}}else if(!this.restore(a))return!1;if(a=this.H.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.P;b++){var c=document.createElement("option");c.value=b;c.text=this.g[b].Qc||"---";a.appendChild(c)}0<this.P&&(a.value="0",ti(this,0))}}return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){this.Cb();Ui(this)};
h.save=function(){var a=new G(this);a.set(0,this.Rc());a.set(1,Vi(this));a.set(2,Wi(this));return a.data()};h.restore=function(a){var b=!0;this.Cb(a[0])||(b=!1);var c=a[1];c&&(this.B=c);Ui(this,a[2])||(b=!1);return b};h.Cb=function(){return!0};h.Rc=function(){return[]};
function Ui(a,b){for(var c=0;c<a.g.length;c++){var d=a.g[c];void 0===d&&(d=a.g[c]={});var e=a,f=d,d=c,g=a.S,k=b&&b[c],l=0;f.Tb=d;f.name=e.Mb;f.Mc=f.Pb=!1;f.ic=null;f.zd=!0;f.Qc=g[l++]+d;f.Z=g[l++];f.ja=g[l++];f.ea=g[l++];f.ua=g[l++];f.If=g[l++];f.Jf=g[l++];f.Kf=g[l++];f.Bf=g[l++];f.status=g[l++];f.sk=0;f.rk=0;f.je=1;f.Af=f.ea;f.ve=f.ua;f.Ak=0;f.Hk=null;f.da||(f.Oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],Ti(e,d,!0),g.Pb=!0,d=new gi(e,g,"preload"),e.oe(g,d,f,k,!0)):Xi(e,d,l,g,!0)?f.da&&g&&Yi(e,
function Ui(a,b){for(var c=0;c<a.g.length;c++){var d=a.g[c];void 0===d&&(d=a.g[c]={});var e=a,f=d,d=c,g=a.S,k=b&&b[c],l=0;f.Tb=d;f.name=e.Mb;f.Mc=f.Pb=!1;f.ic=null;f.zd=!0;f.Qc=g[l++]+d;f.aa=g[l++];f.ja=g[l++];f.ea=g[l++];f.ua=g[l++];f.If=g[l++];f.Jf=g[l++];f.Kf=g[l++];f.Bf=g[l++];f.status=g[l++];f.tk=0;f.sk=0;f.je=1;f.Af=f.ea;f.ve=f.ua;f.Bk=0;f.Ik=null;f.da||(f.Oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.g[d],Ti(e,d,!0),g.Pb=!0,d=new gi(e,g,"preload"),e.oe(g,d,f,k,!0)):Xi(e,d,l,g,!0)?f.da&&g&&Yi(e,
l,g,f.da):y(e,!1))}return!0}function Wi(a){for(var b=[],c=0;c<a.g.length;c++){var d=a.g[c];b.push([d.Pb,d.Xa,d.Oa])}return b}function Vi(a){for(var b=0;b<a.g.length;b++){var c=a.g[b];c.da&&Zi(a,c.Oa,c.da)}return a.B}
function Si(a,b){b||(a.M=0);for(var c in a.N){var d=a.N[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.H.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Oa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!Xi(a,g,f,e,!0)&&b&&y(a,!1);continue}a.T("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.M}
h.Bd=function(a,b,c){if(!a&&!b){var d=this.H.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.H.listDrives)&&Ka(d.value,10);if(void 0===d||0>d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return Ti(this,d),!0;if(b==Qi)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Ri){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=Oa(b);this.status("Attempting to load "+b+' as "'+
a+'"')}Xi(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives,b=b&&Ka(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;ye(this.f,0,!0,b);return(a=this.Ub(a,a.If,a.Jf,a.Kf,a.Bf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0};
function Xi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,Ti(a,b,!0),k.Mc?a.T(a.type+" busy"):(k.Mc=!0,e&&(k.yd=!0,a.M++,z(a)&&C(a,"auto-loading disk: "+c)),k.Pb=!!f,ki(new gi(a,k,"preload"),c,d,f,a.oe)&&g++));return g}
h.oe=function(a,b,c,d,e){a.Mc=!1;b&&(b.Z>a.Z||b.ja>a.ja)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Tb].Qc||"---")),b=null);b?(a.da=b,a.Xa=c,a.Oa=d,this.we(a.Tb),Yi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Tb].Qc||"---"),a.yd||e),this.J&&pe(this.J)):a.Pb=!1;a.yd&&(a.yd=!1,--this.M||y(this));ti(this,a.Tb);a.ic&&(a.ic(),a.ic=null)};
h.oe=function(a,b,c,d,e){a.Mc=!1;b&&(b.aa>a.aa||b.ja>a.ja)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Tb].Qc||"---")),b=null);b?(a.da=b,a.Xa=c,a.Oa=d,this.we(a.Tb),Yi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Tb].Qc||"---"),a.yd||e),this.J&&pe(this.J)):a.Pb=!1;a.yd&&(a.yd=!1,--this.M||y(this));ti(this,a.Tb);a.ic&&(a.ic(),a.ic=null)};
function Ni(a,b,c,d){if((a=a.H.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function ti(a,b,c){var d=!1;if(0<=b&&b<a.g.length){var e=a.g[b],f=a.H.listDisks;a=a.H.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(Ka(a.options[c].value,10)==e.Tb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=Ka(a.value,10);e=e.Pb?Qi:e.Oa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.ih=function(a){var b=this.H.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=Ka(b.options[d].value,10);if(0<=e)return ti(this,e,!0)}return!1};
function si(a){var b=a.H.listDisks,c=a.H.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){v(a.type+" option error: "+e.message)}a=b.desc;void 0===a&&(a="");b=b.href;void 0!==b&&(a='<a href="'+b+'" target="_blank">'+a+"</a>");c.innerHTML=a}}h.mh=function(a){for(var b=0;b<this.g.length;b++){var c=this.g[b];if(c&&c.Mc)return c.ic||(c.ic=a),!1}return!0};
function Ti(a,b,c){var d=a.g[b];if(d.da||!1===c)Zi(a,d.Oa,d.da),d.Xa="",d.Oa="",d.da=null,d.Pb=!1,c||(a.T("Drive "+(a.g[b].Qc||"---")+" unloaded",c),ti(a,b))}function Yi(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Zi(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}h.we=function(){};h.Ub=function(){return-1};h.Uc=function(){return-1};var Pi="",Qi="?",Ri="??";
function N(a){qi.call(this,"RK11",a,65536,Mb,Mb.Gc,$i);this.G=this.i=this.b=this.w=this.u=this.j=this.C=0}p(N,qi);h=N.prototype;h.Cb=function(a){a||(a=[aj.Gc|aj.de|aj.$d,0,R.Za,0,0,0,0]);a=ia(a);this.G=a.next().value;this.i=a.next().value;this.b=a.next().value;this.w=a.next().value;this.u=a.next().value;this.j=a.next().value;this.C=a.next().value;return!0};h.Rc=function(){return[this.G,this.i,this.b,this.w,this.u,this.j,this.C]};
h.Ub=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){if(!n){if(b>=a.Z){m=S.Ec;break}n=a.seek(b,c,d+1);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}var t,r;if(0>(t=a.read(n,q++))||0>(r=a.read(n,q++))){m=S.Fc;break}if(!k&&(zc(this.D,Ne(this.f,f),t|r<<8),kd(this.D))){m=S.ec;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Uc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){var t=Bc(this.D,Ne(this.f,f));if(kd(this.D)){m=S.ec;break}if(!n){if(b>=a.Z){m=S.Ec;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}if(k){var r,D;if(0>(r=a.read(n,q++))||0>(D=a.read(n,q++))){m=S.Fc;break}if(t!=(r|D<<8)){m=S.ge;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Fc;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Ub=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){if(!n){if(b>=a.aa){m=S.Ec;break}n=a.seek(b,c,d+1);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}var t,r;if(0>(t=a.read(n,q++))||0>(r=a.read(n,q++))){m=S.Fc;break}if(!k&&(zc(this.F,Ne(this.f,f),t|r<<8),kd(this.F))){m=S.ec;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Uc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){var t=Bc(this.F,Ne(this.f,f));if(kd(this.F)){m=S.ec;break}if(!n){if(b>=a.aa){m=S.Ec;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}if(k){var r,D;if(0>(r=a.read(n,q++))||0>(D=a.read(n,q++))){m=S.Fc;break}if(t!=(r|D<<8)){m=S.ge;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Fc;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Ze=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Jb|f>>16-R.ma.Jb&R.Jb;this.w=65536-e&65535;this.j=this.j&~bj.rd|d&bj.rd;this.i|=a;cj(this);return!0};function cj(a){a.b&=~R.hb;a.i&&(a.i|=S.Je,a.b|=R.hb,a.i&S.ed&&(a.b|=R.ed),z(a)&&C(a,a.type+": ERROR: "+E(a.i)))}h.Bg=function(){return this.G};h.Sh=function(){};h.Cg=function(){return this.i};h.Th=function(){};h.yg=function(){return this.b&R.fc};
h.Ph=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.dc){a=!0;var b,c,d="",e=(this.j&bj.sb)>>bj.ma.sb,f=this.g[e],g,k,l,m,n,q;this.b&=~(R.Za|R.sd);this.i&=~S.qf;switch(c=this.b&R.wa){case dj.Ee:z(this)&&C(this,this.type+": CRESET("+e+")",!0);this.i=this.j=0;this.b=R.Za;break;case dj.Ue:d="RCHK";case dj.tb:d||(d="READ"),b=this.Ub;case dj.vd:d||(d="WCHK");case dj.hc:d||(d="WRITE");b||(b=this.Uc);g=(this.j&bj.bc)>>bj.ma.bc;k=(this.j&bj.hd)>>bj.ma.hd;l=this.j&bj.rd;m=65536-this.w&65535;n=(this.b&R.Jb)<<
16-R.ma.Jb|this.u;q=this.b&R.Qe?0:2;z(this)&&C(this,this.type+": "+d+"("+g+":"+k+":"+l+") "+E(n)+"--"+E(n+(m<<1)),!0,!0);if(g>=f.Z){this.i|=S.Ec;break}if(l>=f.ea){this.i|=S.Fc;break}a=b.call(this,f,g,k,l,m,n,q,c>=dj.vd,this.Ze.bind(this));break;case dj.Kc:g=(this.j&bj.bc)>>bj.ma.bc;z(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.Z?this.b|=R.sd:this.i|=S.Ec;break;case dj.Ke:z(this)&&C(this,this.type+": DRESET("+e+")");this.i=this.j=0;this.b=R.Za|R.sd;break;default:z(this)&&C(this,this.type+": UNSUPPORTED("+
16-R.ma.Jb|this.u;q=this.b&R.Qe?0:2;z(this)&&C(this,this.type+": "+d+"("+g+":"+k+":"+l+") "+E(n)+"--"+E(n+(m<<1)),!0,!0);if(g>=f.aa){this.i|=S.Ec;break}if(l>=f.ea){this.i|=S.Fc;break}a=b.call(this,f,g,k,l,m,n,q,c>=dj.vd,this.Ze.bind(this));break;case dj.Kc:g=(this.j&bj.bc)>>bj.ma.bc;z(this)&&C(this,this.type+": SEEK("+g+")",!0);g<f.aa?this.b|=R.sd:this.i|=S.Ec;break;case dj.Ke:z(this)&&C(this,this.type+": DRESET("+e+")");this.i=this.j=0;this.b=R.Za|R.sd;break;default:z(this)&&C(this,this.type+": UNSUPPORTED("+
c+")")}this.G=f.status|(f.da?aj.Ea:0)|e<<aj.ma.kd|this.j&aj.pf;cj(this);a&&(this.b&=~R.dc,this.b|=R.Za,this.b&R.Ib&&md(this.f,this.Qa))}};h.Dg=function(){return this.w};h.Uh=function(a){this.w=a};h.xg=function(){return this.u};h.Oh=function(a){this.u=a};h.zg=function(){return this.j};h.Qh=function(a){this.j=a};h.Ag=function(){return this.C};h.Rh=function(a){this.C=a};
var aj=Mb.Hc,S=Mb.bf,R=Mb.$e,bj=Mb.af,dj=Mb.wa,ej={},$i=(ej[65280]=[null,null,N.prototype.Bg,N.prototype.Sh,"RKDS"],ej[65282]=[null,null,N.prototype.Cg,N.prototype.Th,"RKER"],ej[65284]=[null,null,N.prototype.yg,N.prototype.Ph,"RKCS"],ej[65286]=[null,null,N.prototype.Dg,N.prototype.Uh,"RKWC"],ej[65288]=[null,null,N.prototype.xg,N.prototype.Oh,"RKBA"],ej[65290]=[null,null,N.prototype.zg,N.prototype.Qh,"RKDA"],ej[65294]=[null,null,N.prototype.Ag,N.prototype.Rh,"RKDB"],ej);
function Dd(a){qi.call(this,"RL11",a,131072,Nb,Nb.cf,fj);this.b=this.C=this.i=this.j=this.w=this.u=0}p(Dd,qi);h=Dd.prototype;h.Cb=function(a){a||(a=[U.Ea|U.Za,0,0,0,0,0]);a=ia(a);this.b=a.next().value;this.C=a.next().value;this.i=a.next().value;this.j=a.next().value;this.w=a.next().value;this.u=a.next().value;return!0};h.Rc=function(){return[this.b,this.C,this.i,this.j,this.w,this.u]};
h.Ub=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;var m;a||(g=gj.$a,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=gj.$a;break}m=0}var n,q;if(0>(n=a.read(k,m++))||0>(q=a.read(k,m++))){g=gj.$a;break}zc(this.D,Ne(this.f,f),n|q<<8);if(kd(this.D)){g=gj.ec;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.Z)))){g=gj.$a;break}}return l?l(g,b,c,d,e,f):g};
h.Uc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;var m;a||(g=gj.$a,e=0);for(;e;){var n=Bc(this.D,Ne(this.f,f));if(kd(this.D)){g=gj.ec;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=gj.$a;break}m=0}if(!a.write(k,m++,n&255)||!a.write(k,m++,n>>8)){g=gj.$a;break}if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.Z)))){g=gj.$a;break}}return l?l(g,b,c,d,e,f):g};
h.Ub=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;var m;a||(g=gj.$a,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=gj.$a;break}m=0}var n,q;if(0>(n=a.read(k,m++))||0>(q=a.read(k,m++))){g=gj.$a;break}zc(this.F,Ne(this.f,f),n|q<<8);if(kd(this.F)){g=gj.ec;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.aa)))){g=gj.$a;break}}return l?l(g,b,c,d,e,f):g};
h.Uc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;var m;a||(g=gj.$a,e=0);for(;e;){var n=Bc(this.F,Ne(this.f,f));if(kd(this.F)){g=gj.ec;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=gj.$a;break}m=0}if(!a.write(k,m++,n&255)||!a.write(k,m++,n>>8)){g=gj.$a;break}if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.aa)))){g=gj.$a;break}}return l?l(g,b,c,d,e,f):g};
h.df=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Ya|f>>16-U.ma.Ya&U.Ya;this.u=f>>16&hj.ab;this.j=this.i=b<<ij.ma.gc|(c?ij.Jc:0)|d&ij.ae;this.w=65536-e&65535;a&&(this.b=this.b|a|U.hb);return!0};h.Gg=function(){return this.b&U.fc};
h.Xh=function(a){this.b=this.b&~U.Sa|a&U.Sa;this.u=this.u&60|(a&U.Ya)>>U.ma.Ya;if(!(this.b&U.Za)){a=!0;var b,c="",d=this.g[(this.b&U.sb)>>U.ma.sb],e=d.da,f,g,k;this.b&=~U.Ea;switch(this.b&U.wa){case jj.uf:this.w&kj.Rd&&(this.b&=U.Ea|U.wa|U.Ya);this.w=d.status|this.j&ij.Jc|(e&&512==e.Z?kj.Ne:0);break;case jj.Kc:(this.i&ij.Me)==ij.rf&&(b=this.i&ij.gc,c=(this.i&ij.tf)<<2,this.j=this.i&ij.sf?this.j+b:this.j-b,this.i=this.j=this.j&ij.gc|c);break;case jj.Ye:this.w=this.j;break;case jj.Ve:c="READ",b=this.Ub;
case jj.wf:c||(c="WRITE"),b||(b=this.Uc),f=this.i>>ij.ma.gc,g=this.i&ij.Jc?1:0,k=this.i&ij.ae,!e||f>=e.Z||k>=e.ea?this.b=this.b|gj.$a|U.hb:(a=65536-this.w&65535,e=(this.u&hj.ab)<<16|this.C,z(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+E(e)+"--"+E(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,2,!1,this.df.bind(this)))}a&&(this.b=this.b|U.Ea|U.Za,this.b&U.Ib&&md(this.f,this.Qa))}};h.Eg=function(){return this.C};h.Vh=function(a){this.C=a&lj.Sa};h.Hg=function(){return this.i};
h.Xh=function(a){this.b=this.b&~U.Sa|a&U.Sa;this.u=this.u&60|(a&U.Ya)>>U.ma.Ya;if(!(this.b&U.Za)){a=!0;var b,c="",d=this.g[(this.b&U.sb)>>U.ma.sb],e=d.da,f,g,k;this.b&=~U.Ea;switch(this.b&U.wa){case jj.uf:this.w&kj.Rd&&(this.b&=U.Ea|U.wa|U.Ya);this.w=d.status|this.j&ij.Jc|(e&&512==e.aa?kj.Ne:0);break;case jj.Kc:(this.i&ij.Me)==ij.rf&&(b=this.i&ij.gc,c=(this.i&ij.tf)<<2,this.j=this.i&ij.sf?this.j+b:this.j-b,this.i=this.j=this.j&ij.gc|c);break;case jj.Ye:this.w=this.j;break;case jj.Ve:c="READ",b=this.Ub;
case jj.wf:c||(c="WRITE"),b||(b=this.Uc),f=this.i>>ij.ma.gc,g=this.i&ij.Jc?1:0,k=this.i&ij.ae,!e||f>=e.aa||k>=e.ea?this.b=this.b|gj.$a|U.hb:(a=65536-this.w&65535,e=(this.u&hj.ab)<<16|this.C,z(this)&&C(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+E(e)+"--"+E(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,2,!1,this.df.bind(this)))}a&&(this.b=this.b|U.Ea|U.Za,this.b&U.Ib&&md(this.f,this.Qa))}};h.Eg=function(){return this.C};h.Vh=function(a){this.C=a&lj.Sa};h.Hg=function(){return this.i};
h.Yh=function(a){this.i=a};h.Ig=function(){return this.w};h.Zh=function(a){this.w=a};h.Fg=function(){return this.u};h.Wh=function(a){this.u=a&hj.ab;this.b=this.b&~U.Ya|(this.u&3)<<U.ma.Ya};
var U=Nb.gf,lj=Nb.ef,ij=Nb.hf,kj=Nb.Ic,hj=Nb.ff,gj=Nb.Qd,jj=Nb.wa,mj={},fj=(mj[63744]=[null,null,Dd.prototype.Gg,Dd.prototype.Xh,"RLCS"],mj[63746]=[null,null,Dd.prototype.Eg,Dd.prototype.Vh,"RLBA"],mj[63748]=[null,null,Dd.prototype.Hg,Dd.prototype.Yh,"RLDA"],mj[63750]=[null,null,Dd.prototype.Ig,Dd.prototype.Zh,"RLMP"],mj[63752]=[null,null,Dd.prototype.Fg,Dd.prototype.Wh,"RLBE"],mj);
function Ed(a){qi.call(this,"RX11",a,262144,Ob,Ob.jf,nj);this.I=this.G=this.i=this.L=this.b=this.C=0;this.j=V.Kb;this.u=0;this.w=Array(128).fill(0)}p(Ed,qi);h=Ed.prototype;h.Cb=function(a){a?(a=ia(a),this.b=a.next().value,this.C=a.next().value,this.I=a.next().value,this.G=a.next().value,this.i=a.next().value,this.L=a.next().value,this.j=a.next().value,this.u=a.next().value,this.w=a.next().value):(this.C=this.b=0,this.G=this.I=1,this.L=this.i=0,this.j=V.tb,this.u=0,sd(this.f,this.Qa),oj(this));return!0};
h.Rc=function(){return[this.b,this.C,this.I,this.G,this.i,this.L,this.j,this.u,this.w]};h.we=function(a){a||this.Cb()};function pj(a,b){b&&(a.L=b,a.C=a.i,a.b|=W.hb);a.j=V.Kb;a.b|=W.DONE;a.b&W.Ib&&md(a.f,a.Qa)}
h.Ub=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.da,n=null,q;z(this)&&C(this,this.type+".readData("+b+":"+c+":"+d+") "+E(f)+"--"+E(f+(e<<1)),!0,!0);m||(k=a.Tb?qj.gd:qj.fd,e=0);for(;e;){if(!n){if(b>=m.Z){k=qj.Se;break}n=m.seek(b,c,d+1);if(!n){k=qj.pd;break}q=0;++d>=m.ea&&(d=0,++c>=m.ja&&(c=0,++b))}var t;if(0>(a=m.read(n,q++))||0>(t=m.read(n,q++))){k=qj.od;break}zc(this.D,Ne(this.f,f),a|t<<8);q>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
h.Ub=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.da,n=null,q;z(this)&&C(this,this.type+".readData("+b+":"+c+":"+d+") "+E(f)+"--"+E(f+(e<<1)),!0,!0);m||(k=a.Tb?qj.gd:qj.fd,e=0);for(;e;){if(!n){if(b>=m.aa){k=qj.Se;break}n=m.seek(b,c,d+1);if(!n){k=qj.pd;break}q=0;++d>=m.ea&&(d=0,++c>=m.ja&&(c=0,++b))}var t;if(0>(a=m.read(n,q++))||0>(t=m.read(n,q++))){k=qj.od;break}zc(this.F,Ne(this.f,f),a|t<<8);q>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
function oj(a){var b=0,c=a.b&W.td?1:0,d=a.g[c],d=d&&d.da,e=a.I&rj.ab,f=a.G&sj.ab;a.i&=~(tj.Md|tj.Xd|tj.cc|tj.Ea);if(d)if(a.i|=tj.Ea,z(a)&&C(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;e<f;){var g=d.read(c,e);if(0>g){b=qj.od;break}a.w[e++]=g}c.Ef&&(a.i|=tj.cc)}else b=qj.pd;else b=c?qj.gd:qj.fd;pj(a,b)}
h.Kg=function(a,b){a=this.b;if(!b)switch(a&=W.fc,this.j){case V.bd:case V.EMPTY:this.u<this.w.length&&(this.b|=W.cb);break;case V.tb:case V.hc:case V.Lc:2>this.u&&(this.b|=W.cb)}return a};
h.ai=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Cb();else if(this.b&W.dc&&this.j==V.Kb)switch(this.j=this.b&W.wa,this.b&=~(W.dc|W.cb|W.DONE|W.hb),sd(this.f,this.Qa),z(this)&&C(this,this.type+".processCommand("+uj[this.j>>1]+")",!0,!0),this.j){case V.bd:case V.EMPTY:case V.tb:case V.hc:case V.Lc:this.u=0;break;case V.Xe:a=this.g[this.b&W.td?1:0];this.i&=~tj.Ea;a&&a.da&&(this.i|=tj.Ea);this.C=this.i;pj(this);break;case V.We:this.C=this.L,pj(this)}else this.b&W.Ib?this.b&W.DONE&&md(this.f,
@ -293,37 +294,37 @@ function zj(a,b,c){var d;if(b){b=Aj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.spli
d))}return d}function Aj(a,b){for(var c,d=a.ia?"(":"{",e=a.ia?")":"}",f=new RegExp(a.ia?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=zj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?K(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function Bj(a,b,c,d){var e;null!=b?(e=a.re(b),0<=e?e=a.Ad(e):(e=a.S[b],null==e&&(e=Ka(b,a.Aa))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}function Dj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=La(d&255,8)+g,d>>=8;d=F(c,0,!0)+" "+c+". "+E(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}
function Ej(a,b){if(b)return Dj(a,b,a.S[b]);var c=0;for(b in a.S)Dj(a,b,a.S[b]),c++;return 0<c}function K(a,b,c){c=void 0===c?0:c;switch(a.Aa){case 8:a=E(b,0<c?(c+2)/3|0:0);break;case 10:a=Ma(b,0<c?Math.ceil(.3*c):0);break;default:a=F(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Cj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Fj(a){wj.call(this,a);this.Ga=!1;this.ia=!0;this.G=X();this.Fa=X();this.N=X();this.B=[];this.b=this.L=this.C=[];Gj(this);this.P=this.Y=0;this.i=[];this.pa=void 0;Hj(this);this.F=this;this.ka={};this.ha=this.ke=0;this.R=null;this.M=[];Ij(this,a.messages);this.ta=a.commands;this.Ja=Jj;this.W=[];this.I=0;this.Ka=this.sa=null;this.w=this.Ia=this.Ha=this.X=this.la=0;this.g=this.U=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return ke(b,a)}):void 0===global[w]&&(global[w]=
function Fj(a){wj.call(this,a);this.Ga=!1;this.ia=!0;this.G=X();this.Fa=X();this.N=X();this.B=[];this.b=this.L=this.C=[];Gj(this);this.P=this.Y=0;this.i=[];this.pa=void 0;Hj(this);this.D=this;this.ka={};this.ha=this.ke=0;this.R=null;this.M=[];Ij(this,a.messages);this.ta=a.commands;this.Ja=Jj;this.W=[];this.I=0;this.Ka=this.sa=null;this.w=this.Ia=this.Ha=this.X=this.la=0;this.g=this.U=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return ke(b,a)}):void 0===global[w]&&(global[w]=
function(a){return ke(b,a)})}p(Fj,wj);function Kj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Ma:void 0===b?!1:b,Ua:!1,Aa:c}}h=Fj.prototype;h.Gd=function(a,b){a.K=b;a.Ua=!1;a.Aa=void 0;return a};function Lj(a){return[a.K,a.Ma,a.Aa,a.Ua,a.Pc]}function Mj(a,b){var c=X(b[0],b[1],b[2]);c.Ua=b[3];b[4]&&(c.he=xj(a,c.Pc=b[4]));return c}
h.za=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.g=a.i;(a=fe(a,"messages"))&&Ij(this,a);1140>this.f.ka&&(this.W=this.W.concat(Nj));1145>this.f.ka&&(this.W=this.W.concat(Oj));qd(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=Kj(Pj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
(c=n.type,m=cd[c],n&&d.v(F(n.id,8)+" %"+F(e<<d.D.g,8)+" %"+F(n.K,8)+" "+Na(n.Xb)+" "+Na(n.size)+" "+m),c!=Gd&&(c=-1),m=0);a+=d.D.j;e++}}});y(this)};
h.za=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=fe(a,"messages"))&&Ij(this,a);1140>this.f.ka&&(this.W=this.W.concat(Nj));1145>this.f.ka&&(this.W=this.W.concat(Oj));qd(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=Kj(Pj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
(c=n.type,m=cd[c],n&&d.v(F(n.id,8)+" %"+F(e<<d.F.g,8)+" %"+F(n.K,8)+" "+Na(n.Xb)+" "+Na(n.size)+" "+m),c!=Gd&&(c=-1),m=0);a+=d.F.j;e++}}});y(this)};
h.va=function(a,b,c){var d=this;switch(b){case "debugInput":return this.U=this.H[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ke(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.u<d.j.length-1&&(b=d.j[++d.u])):40==a.keyCode&&(0<d.u?b=d.j[--d.u]:(b="",d.u=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.H[b]=c,pb(c,function(){if(d.U){var a=d.U.value;d.U.value=
"";ke(d,a,!0);return!0}return!1}),!0;case "step":return this.H[b]=c,pb(c,function(a){var b=!1;Ha(d,!0)||(Ja(d,!0),b=uc(d,a?1:0,null),Ja(d,!1));return b}),!0}return!1};function je(a){if(a.U){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.U.focus();window&&window.scrollTo(b,c)}}h.Od=function(a,b){var c=255,d=Kj(a);-1!==d&&(a.Ma||65535<d?(c=this.D,d=Ne(this.f,d),c.C=!1,c.na++,d=ed(c,d).J(d&c.i,d),c.na--):(c=this.f,c.pa++,d=c.D.Kd(Ac(c,d,3)),c.pa--),c=d,b&&Qj(a,b));return c};
h.Ra=function(a,b){var c=65535,d=Kj(a);-1!==d&&(c=a.Ma||65535<d?Bc(this.D,Ne(this.f,d)):Cc(this.f,d),b&&Qj(a,b));return c};h.Pd=function(a,b,c){var d=Kj(a);if(-1!==d){if(a.Ma||65535<d)fd(this.D,Ne(this.f,d),b);else{var e=this.f;e.pa++;e.D.Ld(Ac(e,d,5),b);e.pa--}c&&Qj(a,c);H(this.J,-1)}};h.Le=function(a,b,c){var d=Kj(a);if(-1!==d){if(a.Ma||65535<d)zc(this.D,Ne(this.f,d),b);else{var e=this.f;e.pa++;e.D.ac(Ac(e,d,4),b);e.pa--}c&&Qj(a,c);H(this.J,-1)}};
function Pj(a,b,c){var d;c=(c?a.G:a.Fa).K;var e,f;if(void 0!==b){b=Aj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Pa){var m=+k;if(c.Pa[m][4]==l){k=c.B+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(l=a.B[c].ga[d],null!=l){k=l.o;break}null!=k&&(g=X(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=zj(a,b,void 0)}null!=c&&(d=X(c,e,f));return d}
"";ke(d,a,!0);return!0}return!1}),!0;case "step":return this.H[b]=c,pb(c,function(a){var b=!1;Ha(d,!0)||(Ja(d,!0),b=uc(d,a?1:0,null),Ja(d,!1));return b}),!0}return!1};function je(a){if(a.U){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.U.focus();window&&window.scrollTo(b,c)}}h.Od=function(a,b){var c=255,d=Kj(a);-1!==d&&(a.Ma||65535<d?(c=this.F,d=Ne(this.f,d),c.C=!1,c.na++,d=ed(c,d).J(d&c.i,d),c.na--):(c=this.f,c.pa++,d=c.F.Kd(Ac(c,d,3)),c.pa--),c=d,b&&Qj(a,b));return c};
h.Ra=function(a,b){var c=65535,d=Kj(a);-1!==d&&(c=a.Ma||65535<d?Bc(this.F,Ne(this.f,d)):Cc(this.f,d),b&&Qj(a,b));return c};h.Pd=function(a,b,c){var d=Kj(a);if(-1!==d){if(a.Ma||65535<d)fd(this.F,Ne(this.f,d),b);else{var e=this.f;e.pa++;e.F.Ld(Ac(e,d,5),b);e.pa--}c&&Qj(a,c);H(this.J,-1)}};h.Le=function(a,b,c){var d=Kj(a);if(-1!==d){if(a.Ma||65535<d)zc(this.F,Ne(this.f,d),b);else{var e=this.f;e.pa++;e.F.ac(Ac(e,d,4),b);e.pa--}c&&Qj(a,c);H(this.J,-1)}};
function Pj(a,b,c){var d;c=(c?a.G:a.Fa).K;var e,f;if(void 0!==b){b=Aj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.F;var l;l=d.toUpperCase();for(k in c.Pa){var m=+k;if(c.Pa[m][4]==l){k=c.B+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(l=a.B[c].ga[d],null!=l){k=l.o;break}null!=k&&(g=X(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=zj(a,b,void 0)}null!=c&&(d=X(c,e,f));return d}
function Rj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.he=xj(a,b.Pc=c[2]))}function Qj(a,b){null!=a.K&&(a.K+=b||1)}function Sj(a,b){return(b.Ma?"%":"")+K(a,b.K)}
function Ij(a,b){a.F=a;a.ha=a.ke=536870912;a.R=null;a.M=[];b=xj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Qb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ha|=Qb[c],a.v(c+" messages enabled"))}}function qd(a,b,c){for(var d in Qb)if(b==Qb[d]){a.ka[d]=c;break}}
function Ij(a,b){a.D=a;a.ha=a.ke=536870912;a.R=null;a.M=[];b=xj(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Qb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ha|=Qb[c],a.v(c+" messages enabled"))}}function qd(a,b,c){for(var d in Qb)if(b==Qb[d]){a.ka[d]=c;break}}
h.re=function(a){a=a.toUpperCase();var b=Tj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Uj(a,b){var c;if(b<Vj||a.g)c=Wj[b];return c||""}
h.Ad=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.g;switch(a){case Xj:b=zd(this.f);break;case Yj:b=c.ob;break;case Zj:b=c.P;break;case ak:b=c.Ga&65280;break;case bk:b=td(c);break;case ck:b=vd(c);break;case dk:b=wd(c);break;case ek:b=c.W;break;case Vj:d&&(b=d.fa);break;case fk:d&&(b=d.Eb);break;case gk:d&&(b=d.Wa)}}return b};
h.message=function(a,b){b&&(a+=" @"+Sj(this,X(this.f.O&65535)));if(!this.R||a!=this.R)if(this.R=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.V)||Ha(this,!0))this.ba(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,qe(a),a.Ab=0,a.J&&H(a.J,void 0))}};
h.message=function(a,b){b&&(a+=" @"+Sj(this,X(this.f.O&65535)));if(!this.R||a!=this.R)if(this.R=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.V)||Ha(this,!0))this.ca(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,qe(a),a.Ab=0,a.J&&H(a.J,void 0))}};
function Hj(a){var b;if(!af(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.P=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(hk);for(b=0;b<a.i.length;b++)a.i[b]=X();a.P=0;a.v("instruction history buffer allocated")}}function ik(a,b,c){if(!jk(a,c))return!1;tc(a.f,b);return!0}
function uc(a,b,c,d){if(!jk(a))return!1;var e="";null===c&&(e=(c=!a.sa||"tr"==a.sa)?"tr":"t");a.w=0;b||af(a)&&bf(a,a.f.g[7],0);try{b=re(a.f,b);var f=a.f.Cc(b);0<f&&(vc(a.f,f),a.w+=f,wc(a.f,f,!0),xc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Ea(a.f,g.stack||g.message))}!1!==d&&(a.g&&a.g.stop(),H(a.J,-1));ie(a,c||!1,e);return 0<a.w}h.ba=function(a){this.f&&this.f.ba(a)};
function ie(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(kk+c);c=a.f;if(c=c.i&128?c.Dc|c.Ac<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Lb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?lk(a):mk(a)}}function jk(a,b){var c;(c=!a.f||!Ga(a.f))||(c=a.f,c.A.aa?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Fa(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
function uc(a,b,c,d){if(!jk(a))return!1;var e="";null===c&&(e=(c=!a.sa||"tr"==a.sa)?"tr":"t");a.w=0;b||af(a)&&bf(a,a.f.g[7],0);try{b=re(a.f,b);var f=a.f.Cc(b);0<f&&(vc(a.f,f),a.w+=f,wc(a.f,f,!0),xc(a.f,f),a.X++)}catch(g){"number"!=typeof g&&(a.w=0,Ea(a.f,g.stack||g.message))}!1!==d&&(a.g&&a.g.stop(),H(a.J,-1));ie(a,c||!1,e);return 0<a.w}h.ca=function(a){this.f&&this.f.ca(a)};
function ie(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(kk+c);c=a.f;if(c=c.i&128?c.Dc|c.Ac<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Lb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?lk(a):mk(a)}}function jk(a,b){var c;(c=!a.f||!Ga(a.f))||(c=a.f,c.A.ba?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Fa(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};
h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Hj(this);this.X=0;this.R=null;this.w=0;this.G=X(this.f.g[7]);this.A.V=!1;nk(this);a||ie(this)};h.save=function(){var a=new G(this);a.set(0,Lj(this.G));a.set(1,Lj(this.N));a.set(2,[this.j,this.O,this.ha]);a.set(3,this.B);return a.data()};
h.restore=function(a){var b=0;void 0!==a[2]&&(this.G=Mj(this,a[b++]),this.N=Mj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.O=a[b][1],this.ha|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b};
h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.w=b-this.Ia;if(!this.I){b="stopped";if(this.w){a-=this.Ha;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";af(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else z(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.v(b)}ie(this,!0);je(this);nk(this,this.f.g[7]);this.R=null}};function af(a){return 1<a.b.length||!!a.Y}
function bf(a,b,c){var d=-1;c||(d=Cc(a.f,b))||(a.f.O&65535)!=b||(b=Ee(a.f,2));if(0<c&&(a.Y&&!--a.Y||ok(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=Cc(a.f,b)),65535!=(d&65535)&&(a.Gd(a.i[a.P],b),++a.P==a.i.length&&(a.P=0)));return!1}function Cg(a){var b=a.f;if(b.A.V)throw qc(b,a.f.O&65535),a.ba(),-1;return!1}function $d(a,b,c){ok(a,b,c||1,a.L)&&a.ba(!1)}function ae(a,b,c){ok(a,b,c||1,a.C)&&a.ba(!1)}
function Gj(a){var b,c,d;a.b=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=Kj(c),c.Ma?(c=a.D,Zd(c.b[d>>>c.g],!1)):Qe(a.f,!1);a.L=["br"];if(a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=Kj(c),c.Ma?(c=a.D,Zd(c.b[d>>>c.g],!0)):Qe(a.f,!0);a.C=["bw"];a.la=0;a.Y=0}
h.Bb=function(a,b,c){var d=!0;c||pk(this,a,b,!1,!0);if(a!=this.b){var e=Kj(b);if(-1===e)this.v("invalid address: "+Sj(this,b)),d=!1;else{var f=a==this.C;65535<e&&(b.Ma=!0);if(b.Ma){var g=this.D;g.b[e>>>g.g].Bb(e&g.i,f)}else e=this.f,(f?e.tc++:e.sc++)||xe(e)}}d&&(a.push(b),c?b.Ua=!0:(qk(this,a,a.length-1,"set"),Hj(this)));return d};
function pk(a,b,c,d,e){var f=!1;c=Kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==Kj(k)&&(!d||k.Ua)){f=!0;k.Ua||e||qk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.C,k.Ma?(d=a.D,Zd(d.b[c>>>d.g],b)):Qe(a.f,b));k.Ua||Hj(a);break}}return f}function rk(a,b){for(var c=1;c<b.length;c++)qk(a,b,c);return b.length-1}function qk(a,b,c,d){c=b[c];a.v(b[0]+" "+Sj(a,c)+(d?" "+d:c.Pc?' "'+c.Pc+'"':""))}
function bf(a,b,c){var d=-1;c||(d=Cc(a.f,b))||(a.f.O&65535)!=b||(b=Ee(a.f,2));if(0<c&&(a.Y&&!--a.Y||ok(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=Cc(a.f,b)),65535!=(d&65535)&&(a.Gd(a.i[a.P],b),++a.P==a.i.length&&(a.P=0)));return!1}function Cg(a){var b=a.f;if(b.A.V)throw qc(b,a.f.O&65535),a.ca(),-1;return!1}function $d(a,b,c){ok(a,b,c||1,a.L)&&a.ca(!1)}function ae(a,b,c){ok(a,b,c||1,a.C)&&a.ca(!1)}
function Gj(a){var b,c,d;a.b=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=Kj(c),c.Ma?(c=a.F,Zd(c.b[d>>>c.g],!1)):Qe(a.f,!1);a.L=["br"];if(a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=Kj(c),c.Ma?(c=a.F,Zd(c.b[d>>>c.g],!0)):Qe(a.f,!0);a.C=["bw"];a.la=0;a.Y=0}
h.Bb=function(a,b,c){var d=!0;c||pk(this,a,b,!1,!0);if(a!=this.b){var e=Kj(b);if(-1===e)this.v("invalid address: "+Sj(this,b)),d=!1;else{var f=a==this.C;65535<e&&(b.Ma=!0);if(b.Ma){var g=this.F;g.b[e>>>g.g].Bb(e&g.i,f)}else e=this.f,(f?e.tc++:e.sc++)||xe(e)}}d&&(a.push(b),c?b.Ua=!0:(qk(this,a,a.length-1,"set"),Hj(this)));return d};
function pk(a,b,c,d,e){var f=!1;c=Kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==Kj(k)&&(!d||k.Ua)){f=!0;k.Ua||e||qk(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(b=b==a.C,k.Ma?(d=a.F,Zd(d.b[c>>>d.g],b)):Qe(a.f,b));k.Ua||Hj(a);break}}return f}function rk(a,b){for(var c=1;c<b.length;c++)qk(a,b,c);return b.length-1}function qk(a,b,c,d){c=b[c];a.v(b[0]+" "+Sj(a,c)+(d?" "+d:c.Pc?' "'+c.Pc+'"':""))}
function nk(a,b){if(void 0!==b)ok(a,b,1,a.b,!0),a.I=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.Ua){if(!pk(a,a.b,c,!0))break;b=0}}}
function ok(a,b,c,d,e){var f=!1;if(!a.la++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Ua)for(var l=Kj(k)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Ua&&(pk(a,d,k,!0),e=!0);if(n=k.he){for(var f=!1,q=0;q<n.length;q++)if(!sk(a,n[q],!0)){if(n[q].indexOf("if")){f=!0;break}for(var t=q+1;t<n.length&&n[t].indexOf("else");t++)q++;if(t==n.length){f=!0;break}}a.f.A.V||(f=!0)}if(f){e||qk(a,d,g,"hit");break}}}a.la--;return f}
function tk(a,b,c,d){var e=X(b.K),f=a.Ra(b,2),g,k;for(k in a.Ja)if(g=a.Ja[k][f&k])break;g||(g=uk);var l=g[0];0<=a.W.indexOf(l)&&(g=uk,l=g[0]);var m=k="",n=vk[l],q=g.length-1;l||q||(k=K(a,f));for(l=1;l<=q;l++){var t=g[l];if(void 0!==t){var r;r=a;var D=t,t=b,A="",B=D&wk;if(B==Y)t=t.K+((f&255)<<24>>23)&65535,A=K(r,t);else if(B==xk)t=t.K-((f&63)<<1)&65535,A=K(r,t);else if(B==yk)A=K(r,f&7,3);else if(B==zk)A=K(r,f&63,6);else if(B==Ak)A=K(r,f&255,8);else if(B=f&D,D&Bk&&(B>>=6,D>>=6),D&Z){var D=null,J=B&
Ck;switch(B&Dk){case 0:A=Uj(r,J);break;case 8:A="@"+Uj(r,J);D=Ek(r,r.f.g[J]);break;case 16:7>J?A="("+Uj(r,J)+")+":(B=r.Ra(t,2),A="#"+K(r,B,-1));break;case 24:7>J?A="@("+Uj(r,J)+")+":(B=r.Ra(t,2),A="@#"+K(r,B,-1),D=Ek(r,B));break;case 32:A="-("+Uj(r,J)+")";break;case 40:A="@-("+Uj(r,J)+")";break;case 48:B=r.Ra(t,2);A=K(r,B,-1)+"("+Uj(r,J)+")";7==J&&(A=K(r,B=B+t.K&65535),D=Ek(r,B));break;case 56:B=r.Ra(t,2),A="@"+K(r,B)+"("+Uj(r,J)+")",7==J&&(A="@"+K(r,B=B+t.K&65535),D=Ek(r,Cc(r.f,B)))}D&&(A=[A,D])}r=
A;if(!r||!r.length){k="INVALID";break}"string"!=typeof r&&(m=r[1],r=r[0]);0<k.length&&(k+=",");k+=r||"???"}}f="";g=Sj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+K(a,a.Ra(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Xa(f,24);g+=Xa(n,5);k&&(g+=" "+k);if(c||m)g=Xa(g,60)+";"+(c||""),g=a.f.A.Nb?g+("cycles="+le(a.f).toString()+" cs="+F(a.f.oc)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function Ek(a,b){b=Oe(a.f,b)[0];b>=a.f.ub&&b<a.D.B&&(b=b-a.f.ub+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Pa[b&jd])&&(a=b[4]);return a}function Fk(a,b){switch(b){case "N":a=De(a.f);break;case "Z":a=Ce(a.f);break;case "V":a=Be(a.f);break;case "C":a=Ae(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Gk(a,b){var c=Uj(a,b);c&&(c+="="+K(a,a.Ad(b))+" ");return c}
function Ek(a,b){b=Oe(a.f,b)[0];b>=a.f.ub&&b<a.F.B&&(b=b-a.f.ub+a.F.B);var c=a.F;a=null;b>=c.B&&(b=c.Pa[b&jd])&&(a=b[4]);return a}function Fk(a,b){switch(b){case "N":a=De(a.f);break;case "Z":a=Ce(a.f);break;case "V":a=Be(a.f);break;case "C":a=Ae(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Gk(a,b){var c=Uj(a,b);c&&(c+="="+K(a,a.Ad(b))+" ");return c}
function Hk(a,b){var c,d="";for(c=0;6>c;c++)d+=Gk(a,c);d=d+"\n"+(Gk(a,6)+Gk(a,7));d+=Gk(a,Xj)+Gk(a,Yj)+Gk(a,ak);d+=Fk(a,"T")+Fk(a,"N")+Fk(a,"Z")+Fk(a,"V")+Fk(a,"C");b&&(b=d,c=""+(Gk(a,bk)+Gk(a,ck)),c+=Gk(a,dk)+Gk(a,ek)+Gk(a,Zj),c=c+"\n"+(Gk(a,gk)+Gk(a,Vj)+Gk(a,fk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Ch(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],q=$a(n,l,a.me);0>q&&n.splice(-(q+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Gk:b,K:c,Lf:d,ga:e,ie:f})}function Ik(a,b,c){var d=[],e=Kj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Lf;if(e>=g&&e<g+k){e=$a(f.ie,[e-g],a.me);0<=e?Jk(a,b,e,d):c&&(e=~e,Jk(a,b,e-1,d),Jk(a,b,e,d));break}}return d}
function Ch(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],q=$a(n,l,a.me);0>q&&n.splice(-(q+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Hk:b,K:c,Lf:d,ga:e,ie:f})}function Ik(a,b,c){var d=[],e=Kj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Lf;if(e>=g&&e<g+k){e=$a(f.ie,[e-g],a.me);0<=e?Jk(a,b,e,d):c&&(e=~e,Jk(a,b,e-1,d),Jk(a,b,e,d));break}}return d}
function Jk(a,b,c,d){var e={},f=a.B[b].ie,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ga[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function Kk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ej(a)||a.v("no variables"),!0;if(!c[2])return Ej(a,c[1]);if(!c[3])return delete a.S[c[1]],!0;b=zj(a,c[3]);return void 0!==b?(a.S[c[1]]=b,!0):!1}a.v("invalid assignment:"+b);return!1}
function Lk(a,b,c){var d=null;if(b=Pj(a,b,!0)){var e=Ik(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+Na(f)),f=e[0]+" ("+K(a,e[1])+")"+g,c&&a.v(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+Na(f)),f=e[4]+" ("+K(a,e[5])+")"+g,c&&a.v(f),d||(d=f))}else c&&a.v("no symbols")}return d}
function lk(a,b){var c;if(b&&"?"==b[1])a.v("register commands:"),a.v("\tr\tdump registers"),a.v("\trm\tdump misc registers"),a.v("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.v("missing value for "+b[1]);return}g=zj(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":qc(e,
@ -341,7 +342,7 @@ nl=Ca--,Ci=tk(a,Mc,"history",nl);(!gf.length||0<=Ci.indexOf(gf[0]))&&a.v(Ci);Mc.
La(O[0],22,3)+" "+E(O[0],8))):(a.v(" OFFSET: "+La(O[1],13,3)+" "+E(O[1],8)),a.v("+ "+Pk[O[2]]+"PAR"+O[3]+": "+La(O[4],22,3)+" "+E(O[4],8)),a.v("& MMUMASK: "+La(O[5],22,3)+" "+E(O[5],8)),a.v("= PHYSICAL: "+La(O[0],22,3)+" "+E(O[0],8)))}else{var xb=0,jf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||ml,xb=Bj(a,kb);else{var Di=Pj(a,kb);Di&&(xb=Di.K-oa.K)}0>xb&&(xb=0);65536<xb&&(xb=65536)}var pl=a.Aa;oa.Aa&&(a.Aa=oa.Aa);for(var yb="dd"==jb?4:"db"==jb?1:2,Ld=yb*xb||128,kf=
jf?16:a.Aa,ql=(Ld+kf-1)/kf|0||1,zb="";ql--&&0<Ld;){for(var Ab="",lf="",Ta=Sj(a,oa),Md=kf,Nc=0,Oc=0;0<Md&&0<Ld;){var ac=1,Nd=1==yb?a.Od(oa,ac):a.Ra(oa,ac=2),Nc=Nc|Nd<<(Oc<<3),Oc=Oc+ac;Oc==yb&&(jf?(Ab&&(Ab+=","),Ab+="0x"+F(Nc,yb<<1)):(Ab+=K(a,Nc,yb<<3),Ab+=1==yb?9==Md?"-":" ":" "),Nc=Oc=0);Md-=ac;for(Ld-=ac;1==yb&&ac--;)var mf=Nd&255,lf=lf+(32<=mf&&128>mf?String.fromCharCode(mf):"."),Nd=Nd>>8}zb&&(zb+="\n");zb=jf?zb+(Ab+","):zb+(Ta+": "+Ab+(Md?"":" "+lf))}zb&&a.v(zb);a.Fa=oa;a.Aa=pl}}}}break;case "e":if("else"==
g[0])break;var bc,nf,of,pf,qf=g[0],rf=g[1];"eb"==qf?(bc=1,nf=255,of=a.Od,pf=a.Pd):"e"==qf||"ew"==qf?(bc=2,nf=65535,of=a.Ra,pf=a.Le):rf=null;if(null==rf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Pj(a,rf);if(Od)for(var Pd=2;Pd<g.length;Pd++){var Pc=zj(a,g[Pd]);if(void 0===Pc){a.v("unrecognized value: "+g[Pd]);break}Pc&~nf&&a.v("warning: "+F(Pc)+" exceeds "+bc+"-byte value");a.v("changing "+Sj(a,Od)+(z(a,16)?
"":" from "+K(a,of.call(a,Od),bc<<3))+" to "+K(a,Pc,bc<<3));pf.call(a,Od,Pc,bc)}}break;case "g":a:{var Ei=g[1],rl=b;if(void 0!==Ei){var sf=Pj(a,Ei,!0);if(!sf)break a;Rj(a,sf,rl);a.Bb(a.b,sf,!0)}ik(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.ba()):Ha(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var tf;var Qc=b.substr(2),Qc=Ya(Qc);zj(a,Qc)?(c||a.v("true: "+Qc),tf=!0):(c||a.v("false: "+Qc),tf=!1);tf||(d=!1);break}f=!0;break;case "k":var sl=g[0];if("?"==g[1])a.v("stack trace commands:"),
"":" from "+K(a,of.call(a,Od),bc<<3))+" to "+K(a,Pc,bc<<3));pf.call(a,Od,Pc,bc)}}break;case "g":a:{var Ei=g[1],rl=b;if(void 0!==Ei){var sf=Pj(a,Ei,!0);if(!sf)break a;Rj(a,sf,rl);a.Bb(a.b,sf,!0)}ik(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.ca()):Ha(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var tf;var Qc=b.substr(2),Qc=Ya(Qc);zj(a,Qc)?(c||a.v("true: "+Qc),tf=!0):(c||a.v("false: "+Qc),tf=!1);tf||(d=!1);break}f=!0;break;case "k":var sl=g[0];if("?"==g[1])a.v("stack trace commands:"),
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var uf=0,vf=X(),Rc=X(a.f.g[6]);for(a.v("stack trace for "+Sj(a,Rc));10>uf;){for(var Bb=null,tl=256;65536>Rc.K>>>0;){vf.K=a.Ra(Rc,2);if(null==Rc.K||!tl--)break;if(!(vf.K&1)){for(var ul=a,Qd=vf,Fi=null,Sc=Qd.K,Gi=Sc,wf=1;6>=wf&&Sc;wf++){if(2<wf){Qd.K=Sc;var Rd=tk(ul,Qd);if(0<=Rd.indexOf("JSR")){var Hi=Rd.indexOf(" ");if(Sc+(Rd.indexOf(" ",Hi+1)-Hi-1)/2==Gi){Fi=Rd;break}}}Sc-=2}Qd.K=Gi;if(Bb=Fi)break}}if(!Bb||null==Bb)break;var Ii=
null;if("ks"==sl){var Ji=Bb.match(/[0-9A-F]+$/);Ji&&(Ii=Lk(a,Ji[0]))}Bb=Xa(Bb,50)+" ;"+(Ii||"stack="+Sj(a,Rc));a.v(Bb);uf++}uf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Lk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Qb)if(T==Va){lb=Qb[Va];Wa=!!(a.ha&lb);break}if(!lb){a.v("unknown message category: "+
T);break a}}if(lb)if("on"==g[2])a.ha|=lb,Wa=!0;else if("off"==g[2]&&(a.ha&=~lb,Wa=!1,1073741824==lb)){for(var Ki=1E3<=a.M.length?a.M.length-1E3:0;Ki<a.M.length;)a.v(a.M[Ki++]);a.M=[]}}var vl=0,Tc="";for(Va in Qb)if(!T||T==Va){var wl=!!(a.ha&Qb[Va]);if(null===Wa||Wa==wl)Tc&&(Tc+=","),++vl%10||(Tc+="\n\t"),"key"==Va&&(Va="keys"),Tc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+
@ -355,29 +356,29 @@ Xj=20,Yj=21,Zj=22,ak=23,bk=24,ck=25,dk=26,ek=27,Vj=28,fk=29,gk=30,Tj={SP:6,PC:7,
Bk,Z],45056:[19,Bk,Z],49152:[15,Bk,Z],53248:[17,Bk,Z],57344:[94,Bk,Z]},65024:{2048:[57,448,Z],28672:[100,Z,448],29184:[101,Z,448],29696:[102,Z,448],30208:[103,Z,448],30720:[104,448,Z],32256:[105,448,xk]},65280:{256:[27,Y],512:[24,Y],768:[10,Y],1024:[11,Y],1280:[22,Y],1536:[12,Y],1792:[20,Y],32768:[25,Y],33024:[23,Y],33280:[13,Y],33536:[21,Y],33792:[28,Y],34048:[29,Y],34304:[8,Y],34560:[9,Y],34816:[106,Ak],35072:[107,Ak]},65472:{64:[56,Z],192:[95,Z],2560:[39,Z],2624:[49,Z],2688:[53,Z],2752:[51,Z],
2816:[67,Z],2880:[1,Z],2944:[77,Z],3008:[97,Z],3072:[73,Z],3136:[71,Z],3200:[6,Z],3264:[4,Z],3328:[58,zk],3392:[60,Z],3456:[65,Z],3520:[96,Z],35328:[40,Z],35392:[50,Z],35456:[54,Z],35520:[52,Z],35584:[68,Z],35648:[2,Z],35712:[78,Z],35776:[98,Z],35840:[74,Z],35904:[72,Z],35968:[7,Z],36032:[5,Z],36096:[66,Z],36160:[59,Z],36224:[64,Z],36288:[61,Z]},65528:{128:[76,Ck],152:[108,yk]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],
166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},uk=[0],Nj=[58,60,65,96,110,100,101,102,103,104,105],Oj=[108,59,64],hk=1E3,kk=">> ";rb(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=wa(c),d=new Fj(d);xa(d,c)}});
function Rk(a,b,c){u.call(this,"Computer",a,33554432);this.A.aa=!1;this.O=null;Sk(this,b);this.L=fe(this,"autoPower",a,6);this.j=0;this.S=+a.busWidth||+a.buswidth;this.G=this.w=this.I=null;this.C=this.R=!1;this.B=this.u=null;this.P=this.M=this.N=!1;this.U=fe(this,"url")||"";(Math.random()+.1).toString(36);this.g=Tk(this);if(this.f=va("CPU",this.id)){this.F=va("Debugger",this.id);this.D=new Fc({id:this.vb+".bus",busWidth:this.S},this.f,this.F);var d,e=ta(this.id);if((this.i=va("Panel",this.id))&&this.i.Ta)for(b=
0;b<e.length;b++)d=e[b],d.T=this.i.T,d.v=this.i.v,d.Ta=this.i.Ta;this.v(Gb+" v1.34.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.za&&d.za(this,this.D,this.f,this.F);b=null;d=fe(this,"resume",a);void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var f;if(a=fe(this,"state")||
function Rk(a,b,c){u.call(this,"Computer",a,33554432);this.A.ba=!1;this.O=null;Sk(this,b);this.L=fe(this,"autoPower",a,6);this.j=0;this.S=+a.busWidth||+a.buswidth;this.G=this.w=this.I=null;this.C=this.R=!1;this.B=this.u=null;this.P=this.M=this.N=!1;this.U=fe(this,"url")||"";(Math.random()+.1).toString(36);this.g=Tk(this);if(this.f=va("CPU",this.id)){this.D=va("Debugger",this.id);this.F=new Fc({id:this.vb+".bus",busWidth:this.S},this.f,this.D);var d,e=ta(this.id);if((this.i=va("Panel",this.id))&&this.i.Ta)for(b=
0;b<e.length;b++)d=e[b],d.T=this.i.T,d.v=this.i.v,d.Ta=this.i.Ta;this.v(Gb+" v1.34.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.za&&d.za(this,this.F,this.f,this.D);b=null;d=fe(this,"resume",a);void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var f;if(a=fe(this,"state")||
(f=!0,a.state))this.I=b=a,f||(this.C=!0,this.b=Uk),this.b&&(this.B=new G(this,"1.34.0"),Vk(this.B)?b=null:delete this.B);!b&&this.b&&(b=Wk(this))&&(this.C=!0);if(b){var g=this;bb(b,null,!0,function(a,b,c){c?(g.w=null,g.C=!1,g.T("Unable to load machine state from server (error "+c+(b?": "+Ya(b):"")+")")):(g.G=b,g.R=!0);y(g)})}else y(this);this.H.power||(this.L=!0);!c&&this.L&&this.yc(this.rc)}else v("Unable to find CPU component")}p(Rk,u);
function Sk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.O=b}function fe(a,b,c,d){var e=b.toLowerCase(),e=mb(b)||mb(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}h=Rk.prototype;
h.yc=function(a,b){for(var c=this,d=ta(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!Ga(f)){Ga(f,function(){c.yc(a,b)});return}}a.call(this,b)};function Xk(a,b){var c=new G(a,"1.34.0",Yk);if(Vk(c)&&Zk(c)){var d=c.get($k),e=b?b.get($k):"unknown";d!=e&&(a.T("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
h.rc=function(a){void 0===a&&(a=this.b||(this.G?al:Uk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.B||new G(this,"1.34.0");if(a==bl)b=!0;else if(a>Uk){if(Vk(d,this.G)){this.u=new G(this,"1.34.0",cl);Vk(this.u)&&(dl(this,d),a=el,fl(this.u));this.u.set($k,ab());gl(this.u);var e=this.b&&!this.C;if(a==al||ra("Click OK to restore the previous "+Gb+" machine state, or CANCEL to reset the machine.")){if(c=Zk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Vk(d,g):("error"==f&&"no machine state"!=
g?(this.T("Error: "+g),"unable to verify user"==g&&(hb(hl,""),this.g=null)):this.v(f+": "+g),fl(d),Vk(d)?(c=Zk(d),e=!0):c=!1))}e&&Xk(this,c?d:null)}else a==el&&d.clear()}else Xk(this);delete this.G;delete this.B}e=ta(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=il(this,g,d,b,c));b=[d,a,c];a!=bl?this.yc(this.ne,b):this.ne(b)}};
function il(a,b,c,d,e){if(!b.A.aa){b.A.aa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.Ca(f,d)&&f&&(v("Unable to restore state for "+b.type),a.I&&!a.R?(c.clear(),a.b=Uk,window&&window.location.reload()):a.N=!0,b.Ca(null),e=!1),!d&&b.Vd){var g=b.Vd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.ne=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.A.aa=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(il(this,this.f,b,c,a),H(this,-2),this.f.qa());this.N&&(dl(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function il(a,b,c,d,e){if(!b.A.ba){b.A.ba=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.Ca(f,d)&&f&&(v("Unable to restore state for "+b.type),a.I&&!a.R?(c.clear(),a.b=Uk,window&&window.location.reload()):a.N=!0,b.Ca(null),e=!1),!d&&b.Vd){var g=b.Vd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){v("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.ne=function(a){var b=a[0],c=0>a[1];a=a[2];this.P=!0;this.A.ba=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(il(this,this.f,b,c,a),H(this,-2),this.f.qa());this.N&&(dl(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function dl(a,b){if(ra("There may be a problem with your "+Gb+" machine.\n\nTo help us diagnose it, click OK to send this "+Gb+" machine state to http://www.pcjs.org.")){var c=a.U;a=a.g||"";b=b.toString();var d={};d.app=Gb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;bb("http://www.pcjs.org/api/v1/report",d,!0)}}
function Ok(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new G(a,"1.34.0"),g=new G(a,"1.34.0",Yk),k=ab();g.set($k,k);f.set($k,k);f.set(jl,"1.34.0");f.set(kl,window?window.location.href:null);f.set(ll,window?window.navigator.userAgent:"");a.f&&a.f.Ba&&(c&&(b&&(a.f.A.qa=a.f.A.V),a.f.ba()),d=a.f.Ba(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.aa=!1,!1===d&&(e=null)));for(var k=ta(a.id),l=0;l<k.length;l++){var m=k[l];m.A.aa&&(m.Ba&&(d=m.Ba(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.aa=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.g&&ol(a,a.g,f.toString()),gl(g)&&gl(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==yl),d&&f.clear(k)):e=f.toString());c&&(a.A.aa=!1,b=a.H.power)&&(b.textContent="Power");a.j=0;return e}
h.reset=function(){this.A.reset=!0;this.D&&this.D.reset&&(C(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=ta(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;H(this,-1)};h.start=function(a,b){for(var c=ta(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}H(this,-1)};
function Ok(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new G(a,"1.34.0"),g=new G(a,"1.34.0",Yk),k=ab();g.set($k,k);f.set($k,k);f.set(jl,"1.34.0");f.set(kl,window?window.location.href:null);f.set(ll,window?window.navigator.userAgent:"");a.f&&a.f.Ba&&(c&&(b&&(a.f.A.qa=a.f.A.V),a.f.ca()),d=a.f.Ba(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.ba=!1,!1===d&&(e=null)));for(var k=ta(a.id),l=0;l<k.length;l++){var m=k[l];m.A.ba&&(m.Ba&&(d=m.Ba(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.ba=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.g&&ol(a,a.g,f.toString()),gl(g)&&gl(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==yl),d&&f.clear(k)):e=f.toString());c&&(a.A.ba=!1,b=a.H.power)&&(b.textContent="Power");a.j=0;return e}
h.reset=function(){this.A.reset=!0;this.F&&this.F.reset&&(C(this,"Resetting "+this.F.type),this.F.reset());this.f&&this.f.reset&&(C(this,"Resetting "+this.f.type),this.f.reset());for(var a=ta(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c!==this.f&&c.reset&&(C(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;H(this,-1)};h.start=function(a,b){for(var c=ta(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}H(this,-1)};
h.stop=function(a,b){for(var c=ta(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}H(this,-1)};
function H(a,b){if(a.f){var c=a.f,d=b||0,e=c.H.speed;e&&(0>=d||30<=(c.$c+=d))&&(e.textContent=c.A.V?c.wb.toFixed(2)+"Mhz":"Stopped",c.$c=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.V;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)mc(a,"R"+e,a.f.g[e]);e=zd(a.f);mc(a,"PS",e);mc(a,"NF",e&8?1:0,1);mc(a,"ZF",e&4?1:0,1);mc(a,"VF",e&2?1:0,1);mc(a,"CF",e&1?1:0,1);a.j=0}-1>b?a.fa=a.f.g[7]:0<b&&c&&!d&&(a.fa=a.f.ib);ic(a,a.fa);Ub(a,a.Eb);b=a.f;b=b.yb?b.W&16?1:2:4;Dc(a,"B22",b&1);Dc(a,"B18",b&2);
Dc(a,"B16",b&4)}}
h.va=function(a,b,c){var d=this;switch(b){case "power":return this.H[b]=c,c.onclick=function(){d.j||(d.A.aa?Ok(d,!1,!0):d.yc(d.rc))},!0;case "reset":return this.H[b]=c,c.onclick=function(){if(d.A.aa&&!d.j)if(d.b&&!d.w){var a=ra("Click OK to save changes to this "+Gb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ok(d,a,!0);!a&&d.I?window&&window.location.reload():(a||(d.M=!0),d.rc(Uk),d.M=!1)}else d.reset(),d.f&&!d.F&&d.f.qa()},!0;case "save":if(Qa(db(),"pcjs.org"))c.parentNode.removeChild(c);
h.va=function(a,b,c){var d=this;switch(b){case "power":return this.H[b]=c,c.onclick=function(){d.j||(d.A.ba?Ok(d,!1,!0):d.yc(d.rc))},!0;case "reset":return this.H[b]=c,c.onclick=function(){if(d.A.ba&&!d.j)if(d.b&&!d.w){var a=ra("Click OK to save changes to this "+Gb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ok(d,a,!0);!a&&d.I?window&&window.location.reload():(a||(d.M=!0),d.rc(Uk),d.M=!1)}else d.reset(),d.f&&!d.D&&d.f.qa()},!0;case "save":if(Qa(db(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.H[b]=c,c.onclick=function(){var a=Tk(d,!0);if(a){var b=!!(d.b&&!d.w||d.I),c=Ok(d,b);b?ol(d,a,c):d.T("Resume disabled, machine state not saved")}},!0}return!1};
function Tk(a,b){var c=a.g;c||((c=gb(hl),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=zl(a,c))||a.T("The user ID is invalid.")):b&&a.T("Browser local storage is not available"));return c}
function zl(a,b){a.g=null;b=bb(db()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(hb(hl,b.data),a.g=b.data)}catch(d){v(d.message+" ("+c+")")}return a.g}function Wk(a){var b=null;a.g&&(b=db()+"/api/v1/user?req=load&user="+a.g+"&state="+Al(a,"1.34.0"));return b}
function ol(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Al(a,"1.34.0");d.data=c;b=bb(db()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.T("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.T(c),hb(hl,""),a.g=null)}}
function Th(a){var b;a=ta(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function pe(a,b){if(a.Ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Ta.focus();!b&&window&&window.scrollTo(c,d)}}var cl="failsafe",Yk="validate",$k="timestamp",jl="version",kl="url",ll="browser",hl="user",bl=-1,Uk=0,al=1,el=2,yl=3;
rb(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=wa(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=wa(f),g=new Rk(g,d,!0);xa(g,f);g.L&&g.yc(g.rc)}});sb.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=wa(a[b]);(c=va("Computer",c.id))&&c.P&&!c.A.aa&&c.rc(bl)}});sb.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=wa(a[b]);(c=va("Computer",c.id))&&c.A.aa&&Ok(c,!(!c.b||c.w),!0)}});
rb(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=wa(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=wa(f),g=new Rk(g,d,!0);xa(g,f);g.L&&g.yc(g.rc)}});sb.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=wa(a[b]);(c=va("Computer",c.id))&&c.P&&!c.A.ba&&c.rc(bl)}});sb.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=wa(a[b]);(c=va("Computer",c.id))&&c.A.ba&&Ok(c,!(!c.b||c.w),!0)}});
function G(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.D=!1;this.key=Al(a,b,c);fl(this,a.vf)}h=G.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function Vk(a,b){return b?(a.b=b,a.g=!0,a.D=!1,!0):a.g?!0:eb()&&(b=gb(a.key))?(a.b=b,a.g=!0):!1}function Zk(a){var b=!0;if(!a.D)try{a.f=JSON.parse(a.b),a.D=!0}catch(c){v(c.message||c),b=!1}return b}
function gl(a){var b=!0;if(eb()){var c=JSON.stringify(a.f);hb(a.key,c)||(v("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function fl(a,b){a.b="";a.f={};a.g=a.D=!1;b&&a.set("parms",b)}
h.clear=function(a){fl(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Al(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Bl=0;

View file

@ -39,8 +39,8 @@ function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("
function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ja(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
ja("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});ja("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c<d;c++)this[c]=a;return this}});
var ka={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},la={Ph:0,Ud:1,Wh:2,Xh:3,Yh:4,Zh:5,$h:6,ai:7,kd:8,bi:9,Vd:10,ci:11,di:12,Wd:13,ei:14,fi:15,gi:16,hi:17,ii:18,ji:19,ki:20,li:21,mi:22,ni:23,oi:24,pi:25,ri: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,hd:65,Lh:66,Rh:67,si:68,E:69,yi:70,Bi:71,Ni:72,Pi:73,Qi:74,Ri:75,Si:76,Vi:77,Xi:78,cj:79,fj:80,Q:81,hj:82,kj:83,tj:84,vj:85,xj:86,yj:87,Cj:88,Dj:89,Ke:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ej:97,Fj:98,Ij:99,d:100,e:101,Jj:102,Kj:103,Lj:104,Mj:105,Qj:106,k:107,Rj:108,Sj:109,n:110,Tj:111,p:112,q:113,r:114,Uj:115,t:116,Wj:117,Xj:118,Yj:119,x:120,
y:121,z:122,"{":123,"|":124,"}":125,"~":126,Cb:127};function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.qd=b.comment;this.Ie=b;this.exports={};this.o=this.bindings={};a=this.id.indexOf(".");0>a?this.ib=this.id:(this.Ua=this.id.substr(0,a),this.ib=this.id.substr(a+1));this.j={ready:!1,Ra:!1,Wc:!1,R:!1,error:!1};this.ic=null;this.j.error=!1;this.pd=c||0;this.D=this.c=this.u=this.A=this.ob=null;t.push(this)}function na(a,b,c){oa[a]&&b&&(oa[a][b]=c)}
"(":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,hd:65,Lh:66,Rh:67,si:68,E:69,yi:70,Bi:71,Ni:72,Pi:73,Qi:74,Ri:75,Si:76,Vi:77,Xi:78,cj:79,fj:80,Q:81,hj:82,kj:83,tj:84,vj:85,xj:86,yj:87,Cj:88,Dj:89,Ke:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ej:97,Gj:98,Jj:99,d:100,e:101,Kj:102,Lj:103,Mj:104,Nj:105,Rj:106,k:107,Sj:108,Tj:109,n:110,Uj:111,p:112,q:113,r:114,Vj:115,t:116,Xj:117,Yj:118,Zj:119,x:120,
y:121,z:122,"{":123,"|":124,"}":125,"~":126,Cb:127};function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.qd=b.comment;this.Ie=b;this.exports={};this.o=this.bindings={};a=this.id.indexOf(".");0>a?this.ib=this.id:(this.Ua=this.id.substr(0,a),this.ib=this.id.substr(a+1));this.j={ready:!1,Ra:!1,Wc:!1,R:!1,error:!1};this.ic=null;this.j.error=!1;this.pd=c||0;this.D=this.c=this.v=this.A=this.ob=null;t.push(this)}function na(a,b,c){oa[a]&&b&&(oa[a][b]=c)}
function pa(){return Date.now()||+new Date}function u(a){window&&window.alert(a)}function qa(a){var b=!1;window&&(b=window.confirm(a));return b}function ra(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<t.length;b++){var d=t[b];a&&d.id.indexOf(a)||c.push(d)}return c}function sa(a){if(void 0!==a){var b;for(b=0;b<t.length;b++)if(t[b].id===a)return t[b]}return null}
function ta(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<t.length;d++)if(c)c==t[d]&&(c=null);else if(!(a!=t[d].type||b&&t[d].id.indexOf(b)))return t[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
function x(a,b){var c=z;b=A(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=w(g))&&k.binding&&a.ma(k.type,k.binding,g,k.value),m=l.length}}}}
@ -60,8 +60,8 @@ var Ia={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},Ka={0:"NUL"
function La(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function Ma(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Na(a,b){var c,d={N:null,ia:null,ea:null,da:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ea=g.load;d.da=g.exec;if(e=g.bytes)d.N=e;else if(e=g.words)for(d.N=Array(2*e.length),f=c=0;c<e.length;c++)d.N[f++]=e[c]&255,d.N[f++]=e[c]>>8&255;else if(e=g.data)for(d.N=Array(4*e.length),f=c=0;c<e.length;c++)d.N[f++]=e[c]&
255,d.N[f++]=e[c]>>8&255,d.N[f++]=e[c]>>16&255,d.N[f++]=e[c]>>24&255;else d.N=g;d.ia=g.symbols;d.N.length?1==d.N.length&&(u(d.N[0]),d=null):(u("Empty resource: "+a),d=null)}catch(k){u("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){u("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.N=e)}return d}
function Na(a,b){var c,d={L:null,ia:null,ea:null,da: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.ea=g.load;d.da=g.exec;if(e=g.bytes)d.L=e;else if(e=g.words)for(d.L=Array(2*e.length),f=c=0;c<e.length;c++)d.L[f++]=e[c]&255,d.L[f++]=e[c]>>8&255;else if(e=g.longs)for(d.L=Array(4*e.length),f=c=0;c<e.length;c++)d.L[f++]=
e[c]&255,d.L[f++]=e[c]>>8&255,d.L[f++]=e[c]>>16&255,d.L[f++]=e[c]>>24&255;else(e=g.data)?d.Fj=e:d.L=g;d.L&&(d.L.length?1==d.L.length&&(u(d.L[0]),d=null):(u("Empty resource: "+a),d=null));d.ia=g.symbols}catch(k){u("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){u("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.L=e)}return d}
function Oa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Pa(){if(null==Qa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Qa=a}return Qa}function Ra(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Sa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ua(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Va(a){if(!Wa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Wa=c}return Wa[a]}function Xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ya(a){Za.init.push(a)}
@ -70,37 +70,37 @@ var fb="undefined"!==typeof ArrayBuffer,z="pdp11",gb="PDPjs",hb=!0,ib=!0,C={Qc:5
Va:4,Vc:6,ec:8,he:10,Zd:12,Aj:14}},D={Qc:5,Uc:112,Bc:4,ge:"DY",ue:{ha:1,ca:14,ya:48,eb:64,za:128,Ta:768,ld:15360,ui:16384,Ja:32768,Sh:16254,oj:128,Fb:65535,va:1022,V:{ca:1,ya:4,Ta:8}},se:{va:65534},ve:{De:1,Ee:4,Fe:16,mj:65408,yd:63,dc:64,Gb:65408,$d:3,Gi:8,V:{dc:6,Gb:7}},cc:{ce:{Ti:0,rj:1,Qh:2,Ui:3,ec:4,ee:5,wj:6,qj:7},md:8,be:16,Di:32,Fi:64,ae:128,Ei:256,Ji:512,Li:1024,Ii:2048,Hi:4096,Mi:8192,Ci:16384,Ki:32768},te:{Fa:63},ld:{dj:1024,ti:2048,Cd:2048,Oi:3072,Xd:4096,Ba:5120,Eb:8192,Wi:9216},ca:{Yi:0,
Vc:2,Ge:4,ec:6,le:8,Je:10,ie:12,ij:14}},jb={Qc:5,Uc:180,Bc:2,ge:"DX",xe:{Db:1,ca:14,Tc:16,DONE:32,eb:64,Ga:128,INIT:16384,Ja:32768,gb:16128,Fb:32992,va:16479},jj:{},Ae:{Fa:127},ze:{Fa:31},ye:{jd:1,ud:2,Mc:4,Cb:64,ha:128},ca:{Ec:0,EMPTY:2,Hb:4,Va:6,gb:8,ke:10,fc:12,je:14},ERROR:{Ic:8,Jc:16,Mh:24,fe:32,Ai:40,nj:48,Pc:56,bj:72,aj:80,$i:88,Uh:96,Oh:104,Zi:112,Oc:120,Th:128,Nh:136}},kb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11",180:"RX11"};
jb.we=["DX",77,1,26,128,1,0,0,128,0];C.ac=["RK",203,2,12,512,0,0,0,512,C.bc.ac|C.bc.Bd|C.bc.xd];D.qe=["RL",512,2,40,256,0,0,0,256,D.cc.ce.ee|D.cc.md|D.cc.be];z="pdp11";gb="PDPjs";ib=hb=!0;
function lb(a,b){r.call(this,"Panel",a,512);this.i=this.m=0;this.F=b;this.U=this.g=this.f=this.b=0;this.s=this.v=-1;this.w=this.B=this.l=!1;this.C=mb;this.h={};this.a={START:[1,1,!0,!1,this.gf],STEP:[1,1,!1,!1,this.hf],ENABLE:[1,1,!1,!1,this.bf],CONT:[1,1,!0,!1,this.$e],DEP:[0,0,!0,!1,this.af],EXAM:[1,1,!0,!1,this.cf],LOAD:[1,1,!0,!1,this.ef],TEST:[0,0,!0,!1,this.df]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.ff,a];this.D=this.c=this.u=this.A=null;this.exports={hold:this.We,toggle:this.Bg,reset:this.ug,
function lb(a,b){r.call(this,"Panel",a,512);this.i=this.l=0;this.F=b;this.U=this.g=this.f=this.b=0;this.s=this.u=-1;this.w=this.B=this.m=!1;this.C=mb;this.h={};this.a={START:[1,1,!0,!1,this.gf],STEP:[1,1,!1,!1,this.hf],ENABLE:[1,1,!1,!1,this.bf],CONT:[1,1,!0,!1,this.$e],DEP:[0,0,!0,!1,this.af],EXAM:[1,1,!0,!1,this.cf],LOAD:[1,1,!0,!1,this.ef],TEST:[0,0,!0,!1,this.df]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.ff,a];this.D=this.c=this.v=this.A=null;this.exports={hold:this.We,toggle:this.Bg,reset:this.ug,
set:this.zg};B(this)}n(lb,r);h=lb.prototype;h.reset=function(a){this.stop();a&&nb(this,this.b=0)};
h.ma=function(a,b,c,d){if(this.A&&this.A.ma(a,b,c,d)||this.c&&this.c.ma(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.o[b]=c,this.m++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.h[b]=d?1:0,this.m++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ob(a,
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){pb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ob(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){pb(a,b)}}(this,b),!0):r.prototype.ma.call(this,a,b,c,d)}};h.ja=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;qb(b,this,rb);sb(b,this.reset.bind(this));tb(this);ub(this)};h.la=function(a,b){if(!b)if(this.F&&vb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};
h.ma=function(a,b,c,d){if(this.A&&this.A.ma(a,b,c,d)||this.c&&this.c.ma(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.o[b]=c,this.l++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.h[b]=d?1:0,this.l++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ob(a,
b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){pb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ob(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){pb(a,b)}}(this,b),!0):r.prototype.ma.call(this,a,b,c,d)}};h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;qb(b,this,rb);sb(b,this.reset.bind(this));tb(this);ub(this)};h.la=function(a,b){if(!b)if(this.F&&vb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};
h.ka=function(a){return a?this.save():!0};h.save=function(){var a=new E(this);a.set(0,[this.U,this.b,this.f]);return a.data()};h.restore=function(a){if(a=a[0])wb(this,this.U=a[0]),nb(this,this.b=a[1]),xb(this,a[2]);return!0};h.ug=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}ub(this);return!0};function yb(a,b,c){if(a=a.o[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function tb(a,b){for(var c in a.h)yb(a,c,null!=b?b:a.h[c])}
function zb(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ub(a){for(var b in a.a)zb(a,b,a.a[b][1])}function Ab(a,b,c,d){if(a.o[b]){var e=a.D&&a.D.h||8;c=c||0;c=8==e?Ca(c,d):Da(c,d);a.o[b].textContent!=c&&(a.o[b].textContent=c)}}h.We=function(a,b,c){if(ob(this,b)){if(c){var d=this;setTimeout(function(){pb(d,b);a&&a()},+c);return!1}pb(this,b)}return!0};
h.zg=function(a,b){if("SR"==a)return xb(this,Ba(b,8));var c=this.a[a];return c?(c[1]=+b?1:0,zb(this,a,c[1]),!0):!1};h.Bg=function(a){return ob(this,a)?(pb(this,a),!0):!1};function ob(a,b){var c=a.a[b];return c?(zb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=Bb&&(a.w=b==Cb,a.B=b==Db),!0):!1}function pb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(zb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
h.gf=function(a){a||this.c.j.M||(F(this.c,this.U),a=this.c,a.u.reset(),Eb(a),this.a[Fb]&&this.a[Fb][1]&&Gb(this.c))};h.hf=function(){};h.bf=function(a){a||G(this.c)};
h.$e=function(a){if(!a&&!this.c.j.M)if(this.a[Fb]&&this.a[Fb][1])Gb(this.c);else{a=this.D;var b;if(b=a)a.j.Ra&&(a.j.Wc=!0),b=!a.j.Ra;if(b)Aa(a,!0),a.f(0,null),Aa(a,!1);else try{var c=this.c.zc(1);0<c&&(Hb(this.c,c),Ib(this.c,c,!0),Jb(this.c,c))}catch(d){"number"!=typeof d&&(c=this.c,a=d.stack||d.message,c.j.error=!0,c.G(a))}this.stop();this.A&&Kb(this.A)}};
h.af=function(a){if(a&&!this.c.j.M)if(this.w&&Lb(this),a=nb(this,this.b=this.f),this.C==mb)Mb(this.u,this.U,a);else{var b=this.c,c=this.U;b.pb++;b.u.Yb(Nb(b,c,4),a);b.pb--}};h.cf=function(a){if(!a&&!this.c.j.M){this.B&&Lb(this);if(this.C==mb)a=Ob(this.u,this.U);else{a=this.c;var b=this.U;a.pb++;b=a.u.Xb(Nb(a,b,2));a.pb--;a=b}nb(this,this.b=a)}};h.ef=function(a){a||this.c.j.M||wb(this,this.f)};h.df=function(a){a?(this.l=!0,tb(this,!0)):(this.l=!1,tb(this),xb(this,0))};
h.ff=function(a,b){this.f=a?this.f|1<<b:this.f&~(1<<b)};function Lb(a){var b=1140>=a.c.sa?8:16,c=65472<=a.U&&a.U<65472+b,b=c?1:2,c=c?15:a.u.v;a.a[Bb]&&a.a[Bb][1]||(b=-b);wb(a,a.U&~c|a.U+b&c)}function wb(a,b){a.U=b&a.u.v;if(a.s!==a.U){a.s=a.U;b=a.s;for(var c=0;22>c;c++)Pb(a,"A"+c,b&1<<c)}}function nb(a,b){a.g=b&65535;if(a.v!==a.g){a.v=a.g;b=a.v;for(var c=0;16>c;c++)Pb(a,"D"+c,b&1<<c)}return a.g}function Pb(a,b,c){a.h[b]=c;a.l||yb(a,b,c)}
h.gf=function(a){a||this.c.j.N||(F(this.c,this.U),a=this.c,a.v.reset(),Eb(a),this.a[Fb]&&this.a[Fb][1]&&Gb(this.c))};h.hf=function(){};h.bf=function(a){a||G(this.c)};
h.$e=function(a){if(!a&&!this.c.j.N)if(this.a[Fb]&&this.a[Fb][1])Gb(this.c);else{a=this.D;var b;if(b=a)a.j.Ra&&(a.j.Wc=!0),b=!a.j.Ra;if(b)Aa(a,!0),a.f(0,null),Aa(a,!1);else try{var c=this.c.zc(1);0<c&&(Hb(this.c,c),Ib(this.c,c,!0),Jb(this.c,c))}catch(d){"number"!=typeof d&&(c=this.c,a=d.stack||d.message,c.j.error=!0,c.G(a))}this.stop();this.A&&Kb(this.A)}};
h.af=function(a){if(a&&!this.c.j.N)if(this.w&&Lb(this),a=nb(this,this.b=this.f),this.C==mb)Mb(this.v,this.U,a);else{var b=this.c,c=this.U;b.pb++;b.v.Yb(Nb(b,c,4),a);b.pb--}};h.cf=function(a){if(!a&&!this.c.j.N){this.B&&Lb(this);if(this.C==mb)a=Ob(this.v,this.U);else{a=this.c;var b=this.U;a.pb++;b=a.v.Xb(Nb(a,b,2));a.pb--;a=b}nb(this,this.b=a)}};h.ef=function(a){a||this.c.j.N||wb(this,this.f)};h.df=function(a){a?(this.m=!0,tb(this,!0)):(this.m=!1,tb(this),xb(this,0))};
h.ff=function(a,b){this.f=a?this.f|1<<b:this.f&~(1<<b)};function Lb(a){var b=1140>=a.c.sa?8:16,c=65472<=a.U&&a.U<65472+b,b=c?1:2,c=c?15:a.v.u;a.a[Bb]&&a.a[Bb][1]||(b=-b);wb(a,a.U&~c|a.U+b&c)}function wb(a,b){a.U=b&a.v.u;if(a.s!==a.U){a.s=a.U;b=a.s;for(var c=0;22>c;c++)Pb(a,"A"+c,b&1<<c)}}function nb(a,b){a.g=b&65535;if(a.u!==a.g){a.u=a.g;b=a.u;for(var c=0;16>c;c++)Pb(a,"D"+c,b&1<<c)}return a.g}function Pb(a,b,c){a.h[b]=c;a.m||yb(a,b,c)}
function xb(a,b){a.f=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.f&1<<b?1:0;ub(a);return!0}h.stop=function(){wb(this,this.c.b[7])};h.setData=function(a,b){b?this.b=a:this.g=a};h.nf=function(a,b){return(b?this.b:this.f)&65535};h.Hg=function(a){this.b=a};function vb(){for(var a=A(document,z,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=sa(d.id);e||(e=new lb(d,!0));x(e,c)}}var mb=7,Cb="DEP",Fb="ENABLE",Db="EXAM",Bb="STEP",Qb={},rb=(Qb[65400]=[null,null,lb.prototype.nf,lb.prototype.Hg,"CNSW"],Qb);Ya(vb);
function Rb(a,b,c){r.call(this,"Bus",a,16);this.c=b;this.D=c;this.S=+a.busWidth||16;this.C=1<<this.S;this.v=this.C-1;this.g=Sb;this.h=Math.log2(this.g);this.J=this.g>>2;this.f=this.g-1;this.s=this.C/this.g|0;this.K=this.s-1;this.Qa=[];this.m=0;this.l=!1;this.F=[];this.Le=[Tb,Ub,Vb,Wb];this.a=this.b=[];this.B=this.w=this.i=this.H=this.I=0;a=new H(this);Xb(a);this.a=Array(this.s);this.b=Array(this.s);for(b=0;b<this.s;b++)this.a[b]=this.b[b]=a;this.B=this.C-Sb;Yb(this,this.B,Sb,Zb,this);this.I=this.H=
(this.B&this.v)>>>this.h;this.w=0;this.i=this.v;B(this)}n(Rb,r);function $b(a,b){if(b!=a.w){for(var c=0;c<a.s;c++)a.b[c]=a.a[c];a.w=0;a.i=a.v;b&&(a.w=b,b=1<<b,a.i=b-1,b-=Sb,a.I=(b&a.i)>>>a.h,a.b[a.I]=a.a[a.H])}}h=Rb.prototype;h.reset=function(){for(var a=0;a<this.F.length;a++)this.F[a]();$b(this,16)};h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.save=function(){var a=new E(this);a.set(0,ac(this));return a.data()};
function Rb(a,b,c){r.call(this,"Bus",a,16);this.c=b;this.D=c;this.S=+a.busWidth||16;this.C=1<<this.S;this.u=this.C-1;this.g=Sb;this.h=Math.log2(this.g);this.J=this.g>>2;this.f=this.g-1;this.s=this.C/this.g|0;this.K=this.s-1;this.Qa=[];this.l=0;this.m=!1;this.F=[];this.Le=[Tb,Ub,Vb,Wb];this.a=this.b=[];this.B=this.w=this.i=this.H=this.I=0;a=new H(this);Xb(a);this.a=Array(this.s);this.b=Array(this.s);for(b=0;b<this.s;b++)this.a[b]=this.b[b]=a;this.B=this.C-Sb;Yb(this,this.B,Sb,Zb,this);this.I=this.H=
(this.B&this.u)>>>this.h;this.w=0;this.i=this.u;B(this)}n(Rb,r);function $b(a,b){if(b!=a.w){for(var c=0;c<a.s;c++)a.b[c]=a.a[c];a.w=0;a.i=a.u;b&&(a.w=b,b=1<<b,a.i=b-1,b-=Sb,a.I=(b&a.i)>>>a.h,a.b[a.I]=a.a[a.H])}}h=Rb.prototype;h.reset=function(){for(var a=0;a<this.F.length;a++)this.F[a]();$b(this,16)};h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.save=function(){var a=new E(this);a.set(0,ac(this));return a.data()};
h.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&d.length<this.J){for(var e=0,f=Array(this.J),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){u("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Yb(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.h;0<g&&k<a.a.length;){var l=a.a[k],m=k*a.g,p=a.g-(f-m);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.ab)return l.Tb+=l.ab-f,l.ab=f,!0;if(f>=l.ab+l.Tb){p=l.size-(f-m);p>g&&(p=g);l.Tb=f-l.ab+p;f=m+a.g;g-=p;k++;continue}}return bc(cc,f,g)}f=new H(a,f,p,a.g,d,e);Xb(f,l);a.a[k++]=f;f=m+a.g;g-=p}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+dc[d]+" at "+Ca(b)),!0):bc(ec,b,c)}h.Rd=function(a){return this.b[(a&this.i)>>>this.h].tb(a&this.f,a)};
h.Xb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return ib||b!=this.f?this.b[c].W(b,a):this.b[c++].tb(b,a)|this.b[c&this.K].tb(0,a+1)<<8};h.Sd=function(a,b){this.b[(a&this.i)>>>this.h].xb(a&this.f,b,a)};h.Yb=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;ib||c!=this.f?this.b[d].Ab(c,b,a):(this.b[d++].xb(c,b&255,a),this.b[d&this.K].xb(0,b>>8&255,a+1))};function fc(a,b){return a.a[(b&a.v)>>>a.h]}
function Ob(a,b){var c;a.l=!1;a.m++;var d=b&a.f,e=fc(a,b);ib||d!=a.f?c=e.D(d,b):c=e.i(d,b)|fc(a,b+1).i(0,b+1)<<8;a.m--;return c}function gc(a,b,c){a.l=!1;a.m++;fc(a,b).o(b&a.f,c&255,b);a.m--}function Mb(a,b,c){a.l=!1;a.m++;var d=b&a.f,e=fc(a,b);ib||d!=a.f?e.m(d,c&65535,b):(e.o(d,c&255,b),fc(a,b+1).o(0,c>>8&255,b+1));a.m--}
h.Xb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return ib||b!=this.f?this.b[c].W(b,a):this.b[c++].tb(b,a)|this.b[c&this.K].tb(0,a+1)<<8};h.Sd=function(a,b){this.b[(a&this.i)>>>this.h].xb(a&this.f,b,a)};h.Yb=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;ib||c!=this.f?this.b[d].Ab(c,b,a):(this.b[d++].xb(c,b&255,a),this.b[d&this.K].xb(0,b>>8&255,a+1))};function fc(a,b){return a.a[(b&a.u)>>>a.h]}
function Ob(a,b){var c;a.m=!1;a.l++;var d=b&a.f,e=fc(a,b);ib||d!=a.f?c=e.D(d,b):c=e.i(d,b)|fc(a,b+1).i(0,b+1)<<8;a.l--;return c}function gc(a,b,c){a.m=!1;a.l++;fc(a,b).o(b&a.f,c&255,b);a.l--}function Mb(a,b,c){a.m=!1;a.l++;var d=b&a.f,e=fc(a,b);ib||d!=a.f?e.l(d,c&65535,b):(e.o(d,c&255,b),fc(a,b+1).o(0,c>>8&255,b+1));a.l--}
function ac(a){for(var b=0,c=[],d=0;d<a.s;d++){var e=a.a[d];if(e.Ha||e.Se){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;l[k++]=p-g;l[k++]=m;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function hc(a){for(var b=ic,c=0,d=0;d<a.a.length;d++){var e=a.a[d];e.type==b&&(c=e.ab+e.Tb)}return c}
function jc(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var p=b&kc;if(void 0!==a.Qa[p])return u("I/O address already registered: "+Da(b,8,!0)),!1;var q=l||"unknown";q&&0<=m&&(q+=m++);a.Qa[p]=[d,e,f,g,q,k||16,!1]}return!0}
function qb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.c.sa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var q=g[4],v=g[5]||1,y=0;y<v;y++,f+=2)if(q&&1<v&&(q=g[4]+y),!jc(a,f,f,k,l,m,p,g[7]||b.pd,q||b.ib))return!1}}return!0}
function sb(a,b){a.F.push(b)}function I(a,b,c){a.l=!0;a.m||(c&&(a.c.F|=c),J(a.c,4,0,b))}function lc(a){var b=a.l;a.l=!1;return b}function bc(a,b,c){u("Memory block error ("+a+": "+Da(b)+","+Da(c)+")");return!1}var Sb=8192,kc=Sb-1,cc=1,ec=2;function Tb(a,b){var c=-1,d=this.controller,e=d.Qa[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Qa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;I(d,b,16);return 255}
function sb(a,b){a.F.push(b)}function I(a,b,c){a.m=!0;a.l||(c&&(a.c.F|=c),J(a.c,4,0,b))}function lc(a){var b=a.m;a.m=!1;return b}function bc(a,b,c){u("Memory block error ("+a+": "+Da(b)+","+Da(c)+")");return!1}var Sb=8192,kc=Sb-1,cc=1,ec=2;function Tb(a,b){var c=-1,d=this.controller,e=d.Qa[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Qa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;I(d,b,16);return 255}
function Ub(a,b,c){var d=!1,e=this.controller,f=e.Qa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Qa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||I(e,c,16)}function Vb(a,b){var c=-1,d=this.controller;a=d.Qa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;I(d,b,16);return 65535}
function Wb(a,b,c){var d=!1,e=this.controller;a=e.Qa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||I(e,c,16)}function K(a){r.call(this,"Device",a,256);this.a={Ia:128,dd:-1}}n(K,r);h=K.prototype;h.ja=function(a,b,c,d){this.u=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.dd=mc(c,function(){e.a.Ia|=128;e.a.Ia&64&&nc(e.c,e.a.qa);e.A&&Kb(e.A,1);oc(e.c,e.a.dd,1E3/60)});this.a.qa=pc(c,64,6,2097152);qb(b,this,qc);sb(b,this.reset.bind(this));B(this)};
function Wb(a,b,c){var d=!1,e=this.controller;a=e.Qa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||I(e,c,16)}function K(a){r.call(this,"Device",a,256);this.a={Ia:128,dd:-1}}n(K,r);h=K.prototype;h.ja=function(a,b,c,d){this.v=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.dd=mc(c,function(){e.a.Ia|=128;e.a.Ia&64&&nc(e.c,e.a.qa);e.A&&Kb(e.A,1);oc(e.c,e.a.dd,1E3/60)});this.a.qa=pc(c,64,6,2097152);qb(b,this,qc);sb(b,this.reset.bind(this));B(this)};
h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.a.Ia=128;oc(this.c,this.a.dd,1E3/60,!0)};h.save=function(){var a=new E(this);a.set(0,[this.a.Ia]);return a.data()};h.restore=function(a){a=ia(a[0]);this.a.Ia=a.next().value;return!0};h.vf=function(){return this.a.Ia};h.Og=function(a){this.a.Ia=a&192;this.a.Ia&64||(a=this.a.qa)&&rc(this.c,a)};h.xf=function(){return sc(this.c)};
h.Qg=function(a){tc(this.c,a&-129|this.c.J&128)};h.yf=function(){return uc(this.c)};h.zf=function(){return vc(this.c)};h.Af=function(){return this.c.ta};h.Rg=function(a){wc(this.c,a)};h.lg=function(a){a=a>>1&63;var b=this.c.Pa[a>>1];return a&1?b>>16:b&65535};h.Dh=function(a,b){b=b>>1&63;var c=b>>1;this.c.Pa[c]=b&1?this.c.Pa[c]&65535|(a&63)<<16:this.c.Pa[c]&-65536|a&65534};h.eg=function(a){return this.c.s[1][a>>1&7]};h.wh=function(a,b){this.c.s[1][b>>1&7]=a&65295};
h.cg=function(a){return this.c.s[1][(a>>1&7)+8]};h.uh=function(a,b){this.c.s[1][(b>>1&7)+8]=a&65295};h.dg=function(a){return this.c.H[1][a>>1&7]};h.vh=function(a,b){b=b>>1&7;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.bg=function(a){return this.c.H[1][(a>>1&7)+8]};h.th=function(a,b){b=(b>>1&7)+8;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.uf=function(a){return this.c.s[0][a>>1&7]};h.Ng=function(a,b){this.c.s[0][b>>1&7]=a&65295};h.sf=function(a){return this.c.s[0][(a>>1&7)+8]};
h.Lg=function(a,b){this.c.s[0][(b>>1&7)+8]=a&65295};h.tf=function(a){return this.c.H[0][a>>1&7]};h.Mg=function(a,b){b=b>>1&7;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.rf=function(a){return this.c.H[0][(a>>1&7)+8]};h.Kg=function(a,b){b=(b>>1&7)+8;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.kg=function(a){return this.c.s[3][a>>1&7]};h.Ch=function(a,b){this.c.s[3][b>>1&7]=a&65295};h.ig=function(a){return this.c.s[3][(a>>1&7)+8]};h.Ah=function(a,b){this.c.s[3][(b>>1&7)+8]=a&65295};
h.jg=function(a){return this.c.H[3][a>>1&7]};h.Bh=function(a,b){b=b>>1&7;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.hg=function(a){return this.c.H[3][(a>>1&7)+8]};h.zh=function(a,b){b=(b>>1&7)+8;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.vb=function(a){a&=7;return this.c.i&2048?this.c.ua[a]:this.c.b[a]};h.yb=function(a,b){b&=7;this.c.i&2048?this.c.ua[b]=a:this.c.b[b]=a};h.Hf=function(){return this.c.i&49152?this.c.ga[0]:this.c.b[6]};h.Yg=function(a){this.c.i&49152?this.c.ga[0]=a:this.c.b[6]=a};
h.Kf=function(){return this.c.b[7]};h.ah=function(a){this.c.b[7]=a};h.wb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.ua[a]};h.zb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.ua[b]=a};h.If=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.ga[1]};h.Zg=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ga[1]=a};h.Jf=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.ga[3]};h.$g=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ga[3]=a};
h.qf=function(a){return this.c.Rb[a-65504>>1]};h.Jg=function(a,b){this.c.Rb[b-65504>>1]=a};h.Md=function(a){return 65520==a?(hc(this.u)>>6)-1:0};h.Pd=function(){};h.gg=function(){return 1};h.yh=function(){};h.pf=function(){return this.c.F};h.Ig=function(){this.c.F=0};h.wf=function(){return this.c.Ob};h.Pg=function(a,b){b&1||(a&=255);this.c.Ob=a};h.Bf=function(a,b){return b?0:this.c.$a};h.Sg=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.$a=a};
h.qf=function(a){return this.c.Rb[a-65504>>1]};h.Jg=function(a,b){this.c.Rb[b-65504>>1]=a};h.Md=function(a){return 65520==a?(hc(this.v)>>6)-1:0};h.Pd=function(){};h.gg=function(){return 1};h.yh=function(){};h.pf=function(){return this.c.F};h.Ig=function(){this.c.F=0};h.wf=function(){return this.c.Ob};h.Pg=function(a,b){b&1||(a&=255);this.c.Ob=a};h.Bf=function(a,b){return b?0:this.c.$a};h.Sg=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.$a=a};
h.fg=function(a,b){return b?0:this.c.Oa&65280};h.xh=function(a){this.c.Oa=a|255};h.Gf=function(){return xc(this.c)};h.Xg=function(a){zc(this.c,a)};h.Od=function(){};
var L={},qc=(L[61568]=[null,null,K.prototype.lg,K.prototype.Dh,"UNIMAP",64,1170],L[62592]=[null,null,K.prototype.eg,K.prototype.wh,"SIPDR",8,1145,64],L[62608]=[null,null,K.prototype.cg,K.prototype.uh,"SDPDR",8,1145,64],L[62624]=[null,null,K.prototype.dg,K.prototype.vh,"SIPAR",8,1145,64],L[62640]=[null,null,K.prototype.bg,K.prototype.th,"SDPAR",8,1145,64],L[62656]=[null,null,K.prototype.uf,K.prototype.Ng,"KIPDR",8,1140,64],L[62672]=[null,null,K.prototype.sf,K.prototype.Lg,"KDPDR",8,1145,64],L[62688]=
[null,null,K.prototype.tf,K.prototype.Mg,"KIPAR",8,1140,64],L[62704]=[null,null,K.prototype.rf,K.prototype.Kg,"KDPAR",8,1145,64],L[62798]=[null,null,K.prototype.Af,K.prototype.Rg,"MMR3",1,1145,64],L[65382]=[null,null,K.prototype.vf,K.prototype.Og,"LKS"],L[65402]=[null,null,K.prototype.xf,K.prototype.Qg,"MMR0",1,1140,64],L[65404]=[null,null,K.prototype.yf,K.prototype.Od,"MMR1",1,1145,64],L[65406]=[null,null,K.prototype.zf,K.prototype.Od,"MMR2",1,1140,64],L[65408]=[null,null,K.prototype.kg,K.prototype.Ch,
@ -109,182 +109,182 @@ K.prototype.yb,"R4SET0"],L[65477]=[null,null,K.prototype.vb,K.prototype.yb,"R5SE
K.prototype.zb,"R4SET1",1,1145],L[65485]=[null,null,K.prototype.wb,K.prototype.zb,"R5SET1",1,1145],L[65486]=[null,null,K.prototype.If,K.prototype.Zg,"R6SUPER",1,1145],L[65487]=[null,null,K.prototype.Jf,K.prototype.$g,"R6USER",1,1145],L[65504]=[null,null,K.prototype.qf,K.prototype.Jg,"CTRL",8,1170],L[65520]=[null,null,K.prototype.Md,K.prototype.Pd,"LSIZE",1,1170],L[65522]=[null,null,K.prototype.Md,K.prototype.Pd,"HSIZE",1,1170],L[65524]=[null,null,K.prototype.gg,K.prototype.yh,"SYSID",1,1170],L[65526]=
[null,null,K.prototype.pf,K.prototype.Ig,"ERR",1,1170],L[65528]=[null,null,K.prototype.wf,K.prototype.Pg,"MBR",1,1170],L[65530]=[null,null,K.prototype.Bf,K.prototype.Sg,"PIR"],L[65532]=[null,null,K.prototype.fg,K.prototype.xh,"SLR"],L[65534]=[null,null,K.prototype.Gf,K.prototype.Xg,"PSW"],L);
Ya(function(){for(var a=A(document,z,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new K(c);x(c,d);break;case "pc11":c=new Ac(c);x(c,d);break;case "rl11":c=new M(c);x(c,d);break;case "rk11":c=new N(c);x(c,d);break;case "rx11":c=new Bc(c),x(c,d)}}});
function H(a,b,c,d,e,f){this.b=a;this.id=Cc+=2;this.c=null;this.ab=b;this.Tb=c;this.size=d||0;this.type=e||Dc;this.A=e==Ec;this.controller=null;this.tb=this.i=this.$c;this.W=this.D=this.ad;this.xb=this.o=this.Wb;this.Ab=this.m=this.ed;this.g=this.h=0;Xb(this);this.Ha=this.Se=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],Fc(this,f.Le);else if(fb)this.f=new ArrayBuffer(this.size),this.u=new DataView(this.f,0,this.size),this.a=new Uint8Array(this.f,0,this.size),this.l=new Uint16Array(this.f,
0,this.size>>1),this.c=new Int32Array(this.f,0,this.size>>2),Fc(this,Gc?Hc:Ic);else{a=this.c=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Fc(this,Jc)}else Fc(this)}h=H.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(fb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.u.getInt32(b<<2,!0);else a=this.c;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(fb)for(b=0;b<a.length;b++)this.u.setInt32(b<<2,a[b],!0);else this.c=a;return this.Ha=!0}return!1};function Fc(a,b){b||(b=Kc);Lc(a,b,void 0);Mc(a,b,void 0)}function Lc(a,b,c){c&&a.g||(a.tb=b[0]||a.$c,a.W=b[2]||a.ad);if(c||void 0===c)a.i=b[0]||a.$c,a.D=b[2]||a.ad}function Mc(a,b,c){c&&a.h||(a.xb=!a.A&&b[1]||a.Wb,a.Ab=!a.A&&b[3]||a.ed);if(c||void 0===c)a.o=b[1]||a.Wb,a.m=b[3]||a.ed}
function H(a,b,c,d,e,f){this.b=a;this.id=Cc+=2;this.c=null;this.ab=b;this.Tb=c;this.size=d||0;this.type=e||Dc;this.A=e==Ec;this.controller=null;this.tb=this.i=this.$c;this.W=this.D=this.ad;this.xb=this.o=this.Wb;this.Ab=this.l=this.ed;this.g=this.h=0;Xb(this);this.Ha=this.Se=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.c=a[0],Fc(this,f.Le);else if(fb)this.f=new ArrayBuffer(this.size),this.v=new DataView(this.f,0,this.size),this.a=new Uint8Array(this.f,0,this.size),this.m=new Uint16Array(this.f,
0,this.size>>1),this.c=new Int32Array(this.f,0,this.size>>2),Fc(this,Gc?Hc:Ic);else{a=this.c=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;Fc(this,Jc)}else Fc(this)}h=H.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(fb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.v.getInt32(b<<2,!0);else a=this.c;return a};
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(fb)for(b=0;b<a.length;b++)this.v.setInt32(b<<2,a[b],!0);else this.c=a;return this.Ha=!0}return!1};function Fc(a,b){b||(b=Kc);Lc(a,b,void 0);Mc(a,b,void 0)}function Lc(a,b,c){c&&a.g||(a.tb=b[0]||a.$c,a.W=b[2]||a.ad);if(c||void 0===c)a.i=b[0]||a.$c,a.D=b[2]||a.ad}function Mc(a,b,c){c&&a.h||(a.xb=!a.A&&b[1]||a.Wb,a.Ab=!a.A&&b[3]||a.ed);if(c||void 0===c)a.o=b[1]||a.Wb,a.l=b[3]||a.ed}
function Xb(a,b){a.g=a.h=0;b&&((a.g=b.g)&&Lc(a,Nc,!1),(a.h=b.h)&&Mc(a,Nc,!1))}h.$c=function(a,b){I(this.b,b,32);return 255};h.Wb=function(a,b,c){I(this.b,c,32)};h.ad=function(a,b){return this.tb(a++,b++)|this.tb(a,b)<<8};h.ed=function(a,b,c){this.xb(a++,b&255,c++);this.xb(a,b>>8,c)};h.mf=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.qg=function(a,b){hb&&a&1&&I(this.b,b,64);b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8};
h.Gg=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.Ha=!0};h.Hh=function(a,b,c){hb&&a&1&&I(this.b,c,64);c=a>>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<<a)|b<<a:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.Ha=!0};h.kf=function(a,b){return this.i(a,b)};h.ng=function(a,b){return this.D(a,b)};h.Eg=function(a,b,c){this.A?this.Wb(0,0,c):this.o(a,b,c)};h.Fh=function(a,b,c){this.A?this.Wb(0,0,c):this.m(a,b,c)};h.jf=function(a){return this.a[a]};
h.lf=function(a){return this.a[a]};h.mg=function(a,b){hb&&a&1&&I(this.b,b,64);return this.u.getUint16(a,!0)};h.pg=function(a,b){hb&&a&1&&I(this.b,b,64);return!ib&&a&1?this.a[a]|this.a[a+1]<<8:this.l[a>>1]};h.Dg=function(a,b){this.a[a]=b;this.Ha=!0};h.Fg=function(a,b){this.a[a]=b;this.Ha=!0};h.Eh=function(a,b,c){hb&&a&1&&I(this.b,c,64);this.u.setUint16(a,b,!0);this.Ha=!0};h.Gh=function(a,b,c){hb&&a&1&&I(this.b,c,64);!ib&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.l[a>>1]=b;this.Ha=!0};
h.Gg=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<<a)|b<<a;this.Ha=!0};h.Hh=function(a,b,c){hb&&a&1&&I(this.b,c,64);c=a>>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<<a)|b<<a:(this.c[c]=this.c[c]&16777215|b<<24,c++,this.c[c]=this.c[c]&-256|b>>8);this.Ha=!0};h.kf=function(a,b){return this.i(a,b)};h.ng=function(a,b){return this.D(a,b)};h.Eg=function(a,b,c){this.A?this.Wb(0,0,c):this.o(a,b,c)};h.Fh=function(a,b,c){this.A?this.Wb(0,0,c):this.l(a,b,c)};h.jf=function(a){return this.a[a]};
h.lf=function(a){return this.a[a]};h.mg=function(a,b){hb&&a&1&&I(this.b,b,64);return this.v.getUint16(a,!0)};h.pg=function(a,b){hb&&a&1&&I(this.b,b,64);return!ib&&a&1?this.a[a]|this.a[a+1]<<8:this.m[a>>1]};h.Dg=function(a,b){this.a[a]=b;this.Ha=!0};h.Fg=function(a,b){this.a[a]=b;this.Ha=!0};h.Eh=function(a,b,c){hb&&a&1&&I(this.b,c,64);this.v.setUint16(a,b,!0);this.Ha=!0};h.Gh=function(a,b,c){hb&&a&1&&I(this.b,c,64);!ib&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.m[a>>1]=b;this.Ha=!0};
var Dc=0,ic=1,Ec=2,Zb=4,dc=["NONE","RAM","ROM","VID","H/W"],Cc=0,Kc=[],Jc=[H.prototype.mf,H.prototype.Gg,H.prototype.qg,H.prototype.Hh],Nc=[H.prototype.kf,H.prototype.Eg,H.prototype.ng,H.prototype.Fh];if(fb)var Ic=[H.prototype.jf,H.prototype.Dg,H.prototype.mg,H.prototype.Eh],Hc=[H.prototype.lf,H.prototype.Fg,H.prototype.pg,H.prototype.Gh];var Oc;if(fb){var Qc=new ArrayBuffer(2);(new DataView(Qc)).setUint16(0,256,!0);Oc=256===(new Uint16Array(Qc))[0]}else Oc=!1;var Gc=Oc;
function Rc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.fd=0;this.tc=b;this.Za=c;this.Dc=Math.round(this.tc/1E4)/100;this.jb=this.Dc*this.Za;this.Fc=this.Nb=this.mb=this.uc=0;this.j.M=this.j.cd=!1;this.j.Y=a.autoStart;"string"==typeof this.j.Y&&(this.j.Y="true"==this.j.Y);this.j.gc=!1;this.rc=this.lb=0;this.sc=+a.csStart;this.Lb=+a.csInterval;this.Mb=+a.csStop;this.X=[];this.td=this.vg.bind(this);this.Na=this.Da=this.Ma=this.a=this.ba=this.Ca=this.Kb=this.La=this.nb=this.Gc=
this.Wa=0;this.pa=null;B(this)}n(Rc,r);h=Rc.prototype;h.ja=function(a,b,c,d){this.A=a;this.u=b;this.D=d;this.pa=a.f;for(a=0;a<Sc.length;a++)(b=this.o[Sc[a]])&&this.A.ma(null,Sc[a],b);B(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.la=function(a,b){var c=Tc(this.A,"autoStart");null!=c?this.j.Y="true"==c?!0:"false"==c?!1:!!c:null==this.j.Y&&(this.j.Y=void 0===this.o.run);if(!b){if(a){Uc(this);if(!this.restore(a))return!1;Vc(this)}else this.reset();this.status("No debugger detected");this.j.Y||this.aa("CPU will not be auto-started "+(this.pa?"(click Run to start)":"(type 'go' to start)"))}return!0};h.ka=function(a){return a?this.save():!0};h.Y=function(){return this.j.M?!0:this.j.Y?(Gb(this),!0):!1};h.Hd=function(){return 0};
function Rc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.fd=0;this.tc=b;this.Za=c;this.Dc=Math.round(this.tc/1E4)/100;this.jb=this.Dc*this.Za;this.Fc=this.Nb=this.mb=this.uc=0;this.j.N=this.j.cd=!1;this.j.Y=a.autoStart;"string"==typeof this.j.Y&&(this.j.Y="true"==this.j.Y);this.j.gc=!1;this.rc=this.lb=0;this.sc=+a.csStart;this.Lb=+a.csInterval;this.Mb=+a.csStop;this.X=[];this.td=this.vg.bind(this);this.Na=this.Da=this.Ma=this.a=this.ba=this.Ca=this.Kb=this.La=this.nb=this.Gc=
this.Wa=0;this.pa=null;B(this)}n(Rc,r);h=Rc.prototype;h.ja=function(a,b,c,d){this.A=a;this.v=b;this.D=d;this.pa=a.f;for(a=0;a<Sc.length;a++)(b=this.o[Sc[a]])&&this.A.ma(null,Sc[a],b);B(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.la=function(a,b){var c=Tc(this.A,"autoStart");null!=c?this.j.Y="true"==c?!0:"false"==c?!1:!!c:null==this.j.Y&&(this.j.Y=void 0===this.o.run);if(!b){if(a){Uc(this);if(!this.restore(a))return!1;Vc(this)}else this.reset();this.status("No debugger detected");this.j.Y||this.aa("CPU will not be auto-started "+(this.pa?"(click Run to start)":"(type 'go' to start)"))}return!0};h.ka=function(a){return a?this.save():!0};h.Y=function(){return this.j.N?!0:this.j.Y?(Gb(this),!0):!1};h.Hd=function(){return 0};
function Vc(a){void 0===a.sc&&(a.sc=0);void 0===a.Lb&&(a.Lb=-1);void 0===a.Mb&&(a.Mb=-1);a.j.gc=0<=a.sc&&0<a.Lb;a.j.gc&&(a.rc=0,a.lb=a.sc-a.Na)}function Jb(a,b){if(a.j.gc){var c=!1;a.rc=a.rc+a.Hd()|0;a.lb-=b;0>=a.lb&&(a.lb+=a.Lb,c=!0);0<=a.Mb&&a.Mb<=Wc(a)&&(a.Lb=a.Mb=-1,Vc(a),G(a),c=!0);c&&a.aa(Wc(a)+" cycles: checksum="+Da(a.rc))}}
h.ma=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.j.R)a=!0;else{var b=null,c,k=ra(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.j.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.j.R);c++);c==k.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.ic?" (waiting for notification)":""))+".");a=!1}a&&(d.j.M?G(d):Gb(d))},!0;case "speed":return this.o[b]=
h.ma=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.j.R)a=!0;else{var b=null,c,k=ra(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.j.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.j.R);c++);c==k.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.ic?" (waiting for notification)":""))+".");a=!1}a&&(d.j.N?G(d):Gb(d))},!0;case "speed":return this.o[b]=
c,!0;case "setSpeed":return this.o[b]=c,c.onclick=function(){Xc(d,d.Za<<1,!0)},c.textContent=this.jb.toFixed(2)+"Mhz",!0}return!1};function Ib(a,b,c){a.Na+=b;c&&(a.Ma=a.a=a.ba=0)}function Yc(a,b){var c=1;b&&1<a.Za&&a.Wa&&(c=a.Wa/a.Dc);a.Fc=Math.round(1E3/Zc);a.Nb=Math.floor(a.tc/Zc*c);b||(a.mb=a.Nb);a.uc=0}function Wc(a){return a.Na+a.Da+a.Ma-a.a}function Uc(a){a.Wa=0;a.Gc=0;a.Na=a.Da=a.Ma=a.a=a.ba=0;Vc(a);Xc(a,1)}
function Xc(a,b,c){if(void 0!==b){.8>a.Wa/a.jb&&(b=1);a.Za=b;b=a.Dc*a.Za;if(a.jb!=b){a.jb=b;b=a.jb.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.aa("target speed: "+b)}c&&a.A&&$c(a.A)}Ib(a,a.Da);a.Da=0;a.Ca=pa();a.La=0;Yc(a)}function mc(a,b){var c=a.X.length;a.X.push([-1,b]);return c}function oc(a,b,c,d){0<=b&&b<a.X.length&&(d||0>a.X[b][0])&&(c=a.tc*a.Za/1E3*c|0,a.j.M&&(c+=ad(a)),a.X[b][0]=c)}function bd(a){for(var b=[],c=0;c<a.X.length;c++)b.push(a.X[c][0]);return b}
function Xc(a,b,c){if(void 0!==b){.8>a.Wa/a.jb&&(b=1);a.Za=b;b=a.Dc*a.Za;if(a.jb!=b){a.jb=b;b=a.jb.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.aa("target speed: "+b)}c&&a.A&&$c(a.A)}Ib(a,a.Da);a.Da=0;a.Ca=pa();a.La=0;Yc(a)}function mc(a,b){var c=a.X.length;a.X.push([-1,b]);return c}function oc(a,b,c,d){0<=b&&b<a.X.length&&(d||0>a.X[b][0])&&(c=a.tc*a.Za/1E3*c|0,a.j.N&&(c+=ad(a)),a.X[b][0]=c)}function bd(a){for(var b=[],c=0;c<a.X.length;c++)b.push(a.X[c][0]);return b}
function Hb(a,b){for(var c=a.X.length-1;0<=c;c--){var d=a.X[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ad(a,b){var c=a.Ma-=a.a;a.a=a.ba=0;b&&(a.Ma=0);return c}
h.vg=function(){if(this.j.M){this.uc>=this.tc&&Yc(this,!0);this.nb=0;this.Kb=pa();if(this.La){var a=this.Kb-this.La;a>this.Fc&&(this.Ca+=a,this.Ca>this.Kb&&(this.Ca=this.Kb))}try{do{for(var b,c=this.j.gc?1:this.Nb,d=this.X.length-1;0<=d;d--){var e=this.X[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.zc(b)}catch(f){if("number"!=typeof f)throw f;}b=ad(this,!0);this.nb+=b;this.Da+=b;Jb(this,b);Hb(this,b);this.mb-=b;if(0>=this.mb){this.mb+=this.Nb;++this.Gc>=cd&&(this.A&&Kb(this.A,void 0),this.Gc=0);break}}while(this.j.M)}catch(f){G(this);
this.A&&this.A.stop(pa(),Wc(this));a=f.stack||f.message;this.j.error=!0;this.G(a);return}if(this.j.M){a=setTimeout;b=this.td;this.La=pa();c=this.Fc;this.nb&&(c=Math.round(c*this.nb/this.Nb));c-=this.La-this.Kb;if(d=this.La-this.Ca)this.Wa=Math.round(this.Da/(10*d))/100,864E5<=d&&(this.Na=0,Xc(this));if(0>c||this.Wa<this.jb)-1E3>c&&(this.Ca-=c),c=0;this.uc+=this.nb;this.La+=c;a(b,c)}}};
function Gb(a){var b;a.j.error?(a.aa(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.M)a.aa(a.toString()+" busy");else{Xc(a);a.j.M=!0;a.j.cd=!0;if(b=a.o.run)b.textContent="Halt";a.A&&a.A.start(a.Ca,Wc(a));a.D||a.status("Started");setTimeout(a.td,0)}}h.zc=function(){return 0};function G(a){var b=!1;if(a.j.M){ad(a);Ib(a,a.Da);a.Da=0;a.j.M=!1;if(b=a.o.run)b.textContent="Run";a.A&&a.A.stop(pa(),Wc(a));b=!0;a.D||a.status("Stopped")}a.j.complete=void 0;return b}var Zc=30,cd=15,Sc=["power","reset"];
function dd(a){var b=+a.model||1170;Rc.call(this,a,6666667);this.sa=b;this.od=+a.addrReset||0;this.Ea=this.i=this.B=this.v=this.m=this.l=this.w=0;this.b=this.ua=this.ga=[];this.H=this.s=this.Pa=this.Rb=[];this.Ka=this.C=this.nd=this.kb=this.Xa=this.Ya=this.cb=this.F=this.Ob=this.$a=this.Oa=this.J=this.Pb=this.Qb=this.ta=this.g=0;this.He=[4,2,0,1];this.wc=0;this.sd=255;1120>=this.sa?(this.vd=ed.bind(this),this.hb=this.Pe,this.wc=8,this.sd=-1,this.zd=255,this.wd=0):(this.vd=fd.bind(this),this.hb=this.Qe,
h.vg=function(){if(this.j.N){this.uc>=this.tc&&Yc(this,!0);this.nb=0;this.Kb=pa();if(this.La){var a=this.Kb-this.La;a>this.Fc&&(this.Ca+=a,this.Ca>this.Kb&&(this.Ca=this.Kb))}try{do{for(var b,c=this.j.gc?1:this.Nb,d=this.X.length-1;0<=d;d--){var e=this.X[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.zc(b)}catch(f){if("number"!=typeof f)throw f;}b=ad(this,!0);this.nb+=b;this.Da+=b;Jb(this,b);Hb(this,b);this.mb-=b;if(0>=this.mb){this.mb+=this.Nb;++this.Gc>=cd&&(this.A&&Kb(this.A,void 0),this.Gc=0);break}}while(this.j.N)}catch(f){G(this);
this.A&&this.A.stop(pa(),Wc(this));a=f.stack||f.message;this.j.error=!0;this.G(a);return}if(this.j.N){a=setTimeout;b=this.td;this.La=pa();c=this.Fc;this.nb&&(c=Math.round(c*this.nb/this.Nb));c-=this.La-this.Kb;if(d=this.La-this.Ca)this.Wa=Math.round(this.Da/(10*d))/100,864E5<=d&&(this.Na=0,Xc(this));if(0>c||this.Wa<this.jb)-1E3>c&&(this.Ca-=c),c=0;this.uc+=this.nb;this.La+=c;a(b,c)}}};
function Gb(a){var b;a.j.error?(a.aa(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.N)a.aa(a.toString()+" busy");else{Xc(a);a.j.N=!0;a.j.cd=!0;if(b=a.o.run)b.textContent="Halt";a.A&&a.A.start(a.Ca,Wc(a));a.D||a.status("Started");setTimeout(a.td,0)}}h.zc=function(){return 0};function G(a){var b=!1;if(a.j.N){ad(a);Ib(a,a.Da);a.Da=0;a.j.N=!1;if(b=a.o.run)b.textContent="Run";a.A&&a.A.stop(pa(),Wc(a));b=!0;a.D||a.status("Stopped")}a.j.complete=void 0;return b}var Zc=30,cd=15,Sc=["power","reset"];
function dd(a){var b=+a.model||1170;Rc.call(this,a,6666667);this.sa=b;this.od=+a.addrReset||0;this.Ea=this.i=this.B=this.u=this.l=this.m=this.w=0;this.b=this.ua=this.ga=[];this.H=this.s=this.Pa=this.Rb=[];this.Ka=this.C=this.nd=this.kb=this.Xa=this.Ya=this.cb=this.F=this.Ob=this.$a=this.Oa=this.J=this.Pb=this.Qb=this.ta=this.g=0;this.He=[4,2,0,1];this.wc=0;this.sd=255;1120>=this.sa?(this.vd=ed.bind(this),this.hb=this.Pe,this.wc=8,this.sd=-1,this.zd=255,this.wd=0):(this.vd=fd.bind(this),this.hb=this.Qe,
this.zd=~(1792|(1140>=this.sa?2048:0))&65535,this.wd=1140<this.sa?2048:0);this.Nc=this.Lc=this.pb=0;this.I=null;this.Ib=[];this.kc=this.gd=this.Te;this.lc=this.xc=this.Ve;this.yc=this.Ac=this.xg;this.mc=this.Cc=this.Ag;this.Aa=this.jc=0;this.ra=this.Id;this.W=this.Nd;this.Ab=this.Qd;this.h=this.f=this.qc=this.K=this.S=0;this.j.complete=!1}n(dd,Rc);h=dd.prototype;h.ja=function(a,b,c,d){Rc.prototype.ja.call(this,a,b,c,d);this.gd=b.Rd.bind(b);this.xc=b.Xb.bind(b);this.Ac=b.Sd.bind(b);this.Cc=b.Yb.bind(b)};
h.la=function(a,b){for(var c=192,d=0;d<this.Ib.length;d++){var e=this.Ib[d];0>e.Ub&&(e.Ub=c,c+=4)}return Rc.prototype.la.call(this,a,b)};
h.reset=function(){this.status("Model "+this.sa);this.j.M&&G(this);this.v=65536;this.m=32768;this.l=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.od,-1,-2,-3,-4,-5,-6,-7,-8];this.ua=[0,0,0,0,0,0];this.ga=[0,0,0,0];this.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.s=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Pa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Rb=[0,0,0,0,0,0,0,0];this.B=0;this.Ea=-1;this.h=this.f=this.qc=this.K=this.S=this.g=this.Ob=0;Eb(this);Uc(this);this.j.error=!1;Rc.prototype.reset.call(this)};function Eb(a){a.J=0;a.Pb=0;a.Qb=0;a.ta=0;a.F=0;a.$a=0;a.Oa=255;a.kb=0;a.Xa=0;a.Ya=0;a.cb=262143;a.Ka=a.b[7];a.C=0;a.I=null;a.u&&(gd(a),a.nd=hc(a.u))}
function gd(a){a.kc=a.gd;a.lc=a.xc;a.yc=a.Ac;a.mc=a.Cc;a.kb?(a.Aa=65536,a.jc=a.ta&16?4186112:253952,a.ra=a.Id,a.W=a.Nd,a.Ab=a.Qd,$b(a.u,a.ta&16?22:18)):(a.Aa=0,a.jc=57344,a.ra=a.Ue,a.W=a.og,a.Ab=a.Ih,$b(a.u,16))}function sc(a){var b=a.J;b&57344||(b=b&-3199|a.Xa<<5|a.Ya<<1);return b}function tc(a,b){b&=-3073;if(a.J!=b){b&57344&&!(a.J&57344)&&(a.Pb=a.C>>16&65535,a.Qb=a.C&65535);a.J=b;a.Xa=(b&96)>>5;a.Ya=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.kb!=c&&(a.kb=c,gd(a))}}
function uc(a){a.J&57344||(a.Pb=a.C>>16&65535);a=a.Pb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function vc(a){a.J&57344||(a.Qb=a.C&65535);return a.Qb}function wc(a,b){1170>a.sa&&(b&=-49);a.ta!=b&&(a.ta=b,a.cb=b&16?4194303:262143,gd(a))}function hd(a,b,c,d){a.od=b;F(a,b);zc(a,0);a.u.reset();Eb(a);if(c){a.b[0]=d||0;for(b=1;5>=b;b++)a.b[b]=0;a.b[6]=1024;a.j.R?a.j.M||Gb(a):a.j.Y=!0}else a.D&&a.j.R?G(a)||a.A.j.reset||(a.D.g(),Kb(a.A,-1)):!1===c&&G(a);!a.j.M&&a.pa&&a.pa.stop()}h.Hd=function(){return 0};
h.reset=function(){this.status("Model "+this.sa);this.j.N&&G(this);this.u=65536;this.l=32768;this.m=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.od,-1,-2,-3,-4,-5,-6,-7,-8];this.ua=[0,0,0,0,0,0];this.ga=[0,0,0,0];this.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.s=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,
65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Pa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Rb=[0,0,0,0,0,0,0,0];this.B=0;this.Ea=-1;this.h=this.f=this.qc=this.K=this.S=this.g=this.Ob=0;Eb(this);Uc(this);this.j.error=!1;Rc.prototype.reset.call(this)};function Eb(a){a.J=0;a.Pb=0;a.Qb=0;a.ta=0;a.F=0;a.$a=0;a.Oa=255;a.kb=0;a.Xa=0;a.Ya=0;a.cb=262143;a.Ka=a.b[7];a.C=0;a.I=null;a.v&&(gd(a),a.nd=hc(a.v))}
function gd(a){a.kc=a.gd;a.lc=a.xc;a.yc=a.Ac;a.mc=a.Cc;a.kb?(a.Aa=65536,a.jc=a.ta&16?4186112:253952,a.ra=a.Id,a.W=a.Nd,a.Ab=a.Qd,$b(a.v,a.ta&16?22:18)):(a.Aa=0,a.jc=57344,a.ra=a.Ue,a.W=a.og,a.Ab=a.Ih,$b(a.v,16))}function sc(a){var b=a.J;b&57344||(b=b&-3199|a.Xa<<5|a.Ya<<1);return b}function tc(a,b){b&=-3073;if(a.J!=b){b&57344&&!(a.J&57344)&&(a.Pb=a.C>>16&65535,a.Qb=a.C&65535);a.J=b;a.Xa=(b&96)>>5;a.Ya=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.kb!=c&&(a.kb=c,gd(a))}}
function uc(a){a.J&57344||(a.Pb=a.C>>16&65535);a=a.Pb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function vc(a){a.J&57344||(a.Qb=a.C&65535);return a.Qb}function wc(a,b){1170>a.sa&&(b&=-49);a.ta!=b&&(a.ta=b,a.cb=b&16?4194303:262143,gd(a))}function hd(a,b,c,d){a.od=b;F(a,b);zc(a,0);a.v.reset();Eb(a);if(c){a.b[0]=d||0;for(b=1;5>=b;b++)a.b[b]=0;a.b[6]=1024;a.j.R?a.j.N||Gb(a):a.j.Y=!0}else a.D&&a.j.R?G(a)||a.A.j.reset||(a.D.g(),Kb(a.A,-1)):!1===c&&G(a);!a.j.N&&a.pa&&a.pa.stop()}h.Hd=function(){return 0};
h.save=function(){var a=new E(this);a.set(0,[this.b,this.ua,this.ga,this.H,this.s,this.Pa,this.Rb,this.F,this.Ob,this.$a,this.Oa,this.Xa,this.Ya,this.Ka,this.g,this.C,this.Ea,this.Lc,this.Nc]);a.set(1,[xc(this),sc(this),uc(this),vc(this),this.ta]);a.set(2,[this.Na,this.Za,this.j.Y]);a.set(3,id(this));a.set(4,bd(this));return a.data()};
h.restore=function(a){var b=ia(a[0]);this.b=b.next().value;this.ua=b.next().value;this.ga=b.next().value;this.H=b.next().value;this.s=b.next().value;this.Pa=b.next().value;this.Rb=b.next().value;this.F=b.next().value;this.Ob=b.next().value;this.$a=b.next().value;this.Oa=b.next().value;this.Xa=b.next().value;this.Ya=b.next().value;this.Ka=b.next().value;this.g=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Lc=b.next().value;this.Nc=b.next().value;b=a[1];zc(this,b[0]);tc(this,b[1]);
this.Pb=b[2];this.Qb=b[3];wc(this,b[4]);b=a[2];this.Na=b[0];Xc(this,b[1]);this.j.Y=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ib.length;d++){var e=this.Ib[d];if(e.Ub===b[c]){d=e;break a}}d=null}d&&(d.next=this.I,this.I=d)}a=a[4];for(b=0;b<this.X.length&&b<a.length;b++)this.X[b][0]=a[b];return!0};function jd(a){return a.v&65536?1:0}function kd(a){return a.w&32768?8:0}function ld(a,b){var c=a.b[7];a.b[7]=c+b&65535;return c}
this.Pb=b[2];this.Qb=b[3];wc(this,b[4]);b=a[2];this.Na=b[0];Xc(this,b[1]);this.j.Y=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ib.length;d++){var e=this.Ib[d];if(e.Ub===b[c]){d=e;break a}}d=null}d&&(d.next=this.I,this.I=d)}a=a[4];for(b=0;b<this.X.length&&b<a.length;b++)this.X[b][0]=a[b];return!0};function jd(a){return a.u&65536?1:0}function kd(a){return a.w&32768?8:0}function ld(a,b){var c=a.b[7];a.b[7]=c+b&65535;return c}
function O(a,b,c){c&&(F(a,a.b[7]+(b<<24>>23)),a.a-=2);a.a-=3}function F(a,b){a.b[7]=b&65535}function pc(a,b,c,d){b={Ub:b,sb:c,message:d||0,name:kb[b],next:null};a.Ib.push(b);return b}function rc(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.g|=1)}function nc(a,b){if(b){if(b!=a.I){var c=a.I;if(!c||c.sb<=b.sb)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.sb<=b.sb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}}
function id(a){var b=[];for(a=a.I;a;)b.push(a.Ub),a=a.next;return b}function md(a){return a.g&64?(J(a,168,64,-6),!0):a.g&32?(J(a,4,32,-5),!0):a.g&16?(J(a,12,16,-7),!0):!1}function xc(a){return a.i=a.i&63728|kd(a)|(a.l&65535?0:4)|(a.m&32768?2:0)|jd(a)}function zc(a,b){b&=a.zd;a.w=b<<12;a.l=~b&4;a.m=b<<14;a.v=b<<16;if((b^a.i)&a.wd)for(var c=a.ua.length;0<=--c;){var d=a.b[c];a.b[c]=a.ua[c];a.ua[c]=d}a.B=b>>14&3;c=a.i>>14&3;a.B!=c&&(a.ga[c]=a.b[6],a.b[6]=a.ga[a.B]);a.i=b;a.g&=-3;a.g|=a.I?2:1}
h.fa=function(a){this.w=this.l=a;this.m=0};h.Sa=function(a,b){this.w=this.l=this.v=a;this.m=b||0};function nd(a,b){a.w=a.l=a.v=b;a.m=a.w^a.v>>1}function od(a,b,c,d){a.w=a.l=a.v=b;a.m=(c^d)&(d^b)}
function id(a){var b=[];for(a=a.I;a;)b.push(a.Ub),a=a.next;return b}function md(a){return a.g&64?(J(a,168,64,-6),!0):a.g&32?(J(a,4,32,-5),!0):a.g&16?(J(a,12,16,-7),!0):!1}function xc(a){return a.i=a.i&63728|kd(a)|(a.m&65535?0:4)|(a.l&32768?2:0)|jd(a)}function zc(a,b){b&=a.zd;a.w=b<<12;a.m=~b&4;a.l=b<<14;a.u=b<<16;if((b^a.i)&a.wd)for(var c=a.ua.length;0<=--c;){var d=a.b[c];a.b[c]=a.ua[c];a.ua[c]=d}a.B=b>>14&3;c=a.i>>14&3;a.B!=c&&(a.ga[c]=a.b[6],a.b[6]=a.ga[a.B]);a.i=b;a.g&=-3;a.g|=a.I?2:1}
h.fa=function(a){this.w=this.m=a;this.l=0};h.Sa=function(a,b){this.w=this.m=this.u=a;this.l=b||0};function nd(a,b){a.w=a.m=a.u=b;a.l=a.w^a.u>>1}function od(a,b,c,d){a.w=a.m=a.u=b;a.l=(c^d)&(d^b)}
function J(a,b,c,d){if(!a.pb){0>a.Ea?a.Ea=xc(a):a.B||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.F|=4,a.b[6]=b=4);if(-1!=d){a.C=b|4143316992;a.B=0;var e=a.W(b|a.Aa),f=a.W(b+2&65535|a.Aa);zc(a,f&-12289|a.Ea>>2&12288);pd(a,a.Ea);pd(a,a.b[7]);F(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.Ea=-1;a.Lc=d;a.Nc=b;-1==d&&G(a);if(-4<=d)throw b;}}function qd(a){var b=rd(a),c=rd(a);a.i&49152&&(c=c&-225|a.i&63712);F(a,b);zc(a,c);a.g&=-17}
function sd(a,b){var c=b>>13&31;31>c&&(b=a.ta&32?a.Pa[c]+(b&8191)&4194303:b&-3932161);return b}
function Nb(a,b,c){var d,e,f;if(!(c&a.kb))return f=b&65535,57344<=f&&(f|=a.jc),f;d=b>>13;a.ta&a.He[a.B]||(d&=7);e=a.s[a.B][d];f=(a.H[a.B][d]<<6)+(b&8191)&a.cb;3932160<=f&&(f=sd(a,f));if(a.pb)return f;f>=a.nd&&f<a.jc?(a.F|=32,J(a,4,0,f)):f&1&&!(c&1)&&(a.F|=64,J(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.s[a.B][d]=e;if(f!=(4194170&a.cb)||a.B)a.Xa=a.B,a.Ya=d;g&&(g&57344&&(0<=a.Ea&&(g|=128),a.J&57344||(g|=a.J&4096|a.Xa<<5|a.Ya<<1,tc(a,a.J&-61695|g&61694)),J(a,168,64,-2)),a.J&61440||!(f<(4191360&a.cb)||f>(4194239&a.cb))||(a.J|=4096,a.J&512&&(a.g|=64)));return f}function rd(a){var b=a.W(a.b[6]|a.Aa);a.b[6]=a.b[6]+2&65535;return b}function pd(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.C=a.C&65535|(a.C&-65536)<<8|16121856;a.g&256||a.hb(4,-2,c);a.Ab(c,b)}
function td(a,b,c,d){var e,f,g=d&8?0:a.Aa;switch(b){case 0:return J(a,4,0,-3),0;case 1:return 6==c&&a.hb(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|g;case 2:f=2;e=a.b[c];6==c&&a.hb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.b[c];7!=c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.b[c]+f&65535;6==c&&a.hb(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.b[c]-2&65535;7!=c&&(e|=g);e=a.W(e)|g;a.a-=8;break;case 6:return e=a.W(ld(a,2)),e=e+a.b[c]&65535,6==c&&a.hb(d,0,
e),a.a-=6,e|g;case 7:return e=a.W(ld(a,2)),e=e+a.b[c]&65535,e=a.W(e|a.Aa),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.C=a.C&65535|(a.C&-65536)<<8|(f<<3&248|c)<<16;return e}h.Pe=function(a,b,c){!this.B&&0>=b&&c<=this.Oa&&(this.g|=32)};h.Qe=function(a,b,c){this.B||(65534<=c&&(c|=-65536),a&4&&c<=this.Oa&&(c<=this.Oa-32?J(this,4,0,-4):(this.F|=8,this.g|=32)))};h.Te=function(a){return this.gd(a)};h.Ve=function(a){return this.xc(a)};h.xg=function(a,b){this.Ac(a,b)};h.Ag=function(a,b){this.Cc(a,b)};
h.Ue=function(a,b,c){return td(this,a,b,c)};h.Id=function(a,b,c){return Nb(this,td(this,a,b,c),c)};h.og=function(a){return this.u.Xb(this.Ka=a)};h.Nd=function(a){return this.u.Xb(this.Ka=Nb(this,a,2))};h.Ih=function(a,b){this.u.Yb(this.Ka=a,b)};h.Qd=function(a,b){this.u.Yb(this.Ka=Nb(this,a,4),b)};
h.Ue=function(a,b,c){return td(this,a,b,c)};h.Id=function(a,b,c){return Nb(this,td(this,a,b,c),c)};h.og=function(a){return this.v.Xb(this.Ka=a)};h.Nd=function(a){return this.v.Xb(this.Ka=Nb(this,a,2))};h.Ih=function(a,b){this.v.Yb(this.Ka=a,b)};h.Qd=function(a,b){this.v.Yb(this.Ka=Nb(this,a,4),b)};
function ud(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=td(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.B=a.i>>12&3,c=a.W(d|c&a.Aa),a.B=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.ga[a.i>>12&3];return c}function vd(a,b,c,d){a.C=a.C&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=td(a,b,e,4),c&65536||(e&=65535),a.B=a.i>>12&3,e=Nb(a,e|c&65536,4),a.B=a.i>>14&3,a.mc(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.ga[a.i>>12&3]=d}
function wd(a,b){b>>=6;var c=a.S=b&7;return(b=a.K=(b&56)>>3)?a.kc(a.ra(b,c,3)):a.b[c+a.wc]&a.sd}function xd(a,b){var c;b>>=6;var d=a.S=b&7;(b=a.K=(b&56)>>3)?c=a.lc(a.ra(b,d,2)):c=a.b[d+a.wc];return c}function yd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return td(a,b,c,8)}function zd(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.kc(a.ra(b,c,3)):a.b[c]&255}function Ad(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.lc(a.ra(b,d,2)):c=a.b[d];return c}
function P(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.qc=a.ra(b,e,7),c=0>c?a.b[-c-1]&255:c,a.yc(e,d.call(a,c,a.kc(e))),e&1&&a.a--):(b=a.b[e],c=0>c?a.b[-c-1]&255:c,a.b[e]=b&65280|d.call(a,c,b&255))}function Q(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,6),a.mc(e,d.call(a,0>c?a.b[-c-1]:c,a.lc(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])}
function Bd(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.ra(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.yc(d,c),d&1&&a.a--):(c?(c=0>c?a.b[-c-1]&255:c,a.b[f]=a.b[f]&~d|c<<24>>24&d):a.b[f]&=~d,e.call(a,c<<8))}function Cd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.mc(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))}
h.zc=function(a){this.j.complete=!0;var b=a?this.j.cd?0:1:-1;this.j.cd=!1;this.Ma=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.$a&224)>>5,e=this.I&&this.I.sb>d?this.I:null;e&&(c=e.Ub,d=e.sb);d>(this.i&224)>>5?(this.g&8&&(ld(this,2),this.g&=-9),J(this,c,0,-10),d=!0):d=!1;d&&(e&&rc(this,e),a=!0);this.I||this.$a||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}if(this.g&112&&md(this)){if(this.g&
4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.C=this.b[7];e=this.W(a);this.b[7]=a+2&65535;this.vd(e)}while(0<this.a);return this.j.complete?this.Ma-this.a:!1===this.j.complete?-1:0};Ya(function(){for(var a=A(document,z,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new dd(d);x(d,c)}});function Dd(a,b){var c=b+a;this.w=this.l=this.v=c;this.m=(a^c)&(b^c);return c&65535}
function Ed(a,b){var c=b+a,d=c<<8;this.w=this.l=this.v=d;this.m=(a<<8^d)&(b<<8^d);return c&255}function Fd(a,b){a=b<<1;nd(this,a);return a&65535}function Gd(a,b){a=b<<1;nd(this,a<<8);return a&255}function Hd(a,b){a=b&32768|b>>1|b<<16;nd(this,a);return a&65535}function Id(a,b){a=b&128|b>>1|b<<8;nd(this,a<<8);return a&255}function Jd(a,b){a=b&~a;this.fa(a);return a}function Kd(a,b){a=b&~a;this.fa(a<<8);return a}function Ld(a,b){a|=b;this.fa(a);return a}function Md(a,b){a|=b;this.fa(a<<8);return a}
function Nd(a,b){a=~b|65536;this.Sa(a);return a&65535}function Od(a,b){a=~b|256;this.Sa(a<<8);return a&255}function Pd(a,b){this.w=this.l=a=b-a;this.m=b&(b^a);return a&65535}function Qd(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.l=c;this.m=b&(b^c);return a&255}function Rd(a,b){this.w=this.l=a=b+a;this.m=a&(b^a);return a&65535}function Sd(a,b){a=b+a;var c=a<<8;this.w=this.l=c;this.m=c&(b<<8^c);return a&255}function Td(a,b){a=-b;this.Sa(a,a&b&32768);return a&65535}
function Ud(a,b){a=-b;this.Sa(a<<8,(a&b&128)<<8);return a&255}function Vd(a,b){a=b<<1|this.v>>16&1;nd(this,a);return a&65535}function Wd(a,b){a=b<<1|this.v>>16&1;nd(this,a<<8);return a&255}function Xd(a,b){a=(this.v&65536|b)>>1|b<<16;nd(this,a);return a&65535}function Yd(a,b){a=((this.v&65536)>>8|b)>>1|b<<8;nd(this,a<<8);return a&255}function Zd(a,b){var c=b-a;od(this,c,a,b);return c&65535}function $d(a,b){var c=b-a;od(this,c<<8,a<<8,b<<8);return c&255}
function ae(a,b){this.w=this.l=b&65280;this.m=this.v=0;return(b<<8|b>>8)&65535}function be(a,b){a^=b;this.fa(a);return a&65535}function ce(a){Q(this,a,xd(this,a),Dd);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}
function de(a){var b=Ad(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.v=this.m=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.v=c<<17-b,c>>=b;else if(b)if(16<b)this.m=c,c=0;else{this.v=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.m=32768)}this.b[a]=c&65535;this.w=this.l=c;this.a-=(this.h?6:7)+b}
function ee(a){var b=Ad(this,a);a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.v=this.m=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.v=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.v=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.m=32768)):d=c;this.b[a]=d>>16&65535;this.b[a|1]=d&65535;this.w=d>>16;this.l=d>>16|d;this.a-=(this.h?6:7)+b}function fe(a){O(this,a,!jd(this))}function ge(a){O(this,a,jd(this))}
4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.C=this.b[7];e=this.W(a);this.b[7]=a+2&65535;this.vd(e)}while(0<this.a);return this.j.complete?this.Ma-this.a:!1===this.j.complete?-1:0};Ya(function(){for(var a=A(document,z,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new dd(d);x(d,c)}});function Dd(a,b){var c=b+a;this.w=this.m=this.u=c;this.l=(a^c)&(b^c);return c&65535}
function Ed(a,b){var c=b+a,d=c<<8;this.w=this.m=this.u=d;this.l=(a<<8^d)&(b<<8^d);return c&255}function Fd(a,b){a=b<<1;nd(this,a);return a&65535}function Gd(a,b){a=b<<1;nd(this,a<<8);return a&255}function Hd(a,b){a=b&32768|b>>1|b<<16;nd(this,a);return a&65535}function Id(a,b){a=b&128|b>>1|b<<8;nd(this,a<<8);return a&255}function Jd(a,b){a=b&~a;this.fa(a);return a}function Kd(a,b){a=b&~a;this.fa(a<<8);return a}function Ld(a,b){a|=b;this.fa(a);return a}function Md(a,b){a|=b;this.fa(a<<8);return a}
function Nd(a,b){a=~b|65536;this.Sa(a);return a&65535}function Od(a,b){a=~b|256;this.Sa(a<<8);return a&255}function Pd(a,b){this.w=this.m=a=b-a;this.l=b&(b^a);return a&65535}function Qd(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.m=c;this.l=b&(b^c);return a&255}function Rd(a,b){this.w=this.m=a=b+a;this.l=a&(b^a);return a&65535}function Sd(a,b){a=b+a;var c=a<<8;this.w=this.m=c;this.l=c&(b<<8^c);return a&255}function Td(a,b){a=-b;this.Sa(a,a&b&32768);return a&65535}
function Ud(a,b){a=-b;this.Sa(a<<8,(a&b&128)<<8);return a&255}function Vd(a,b){a=b<<1|this.u>>16&1;nd(this,a);return a&65535}function Wd(a,b){a=b<<1|this.u>>16&1;nd(this,a<<8);return a&255}function Xd(a,b){a=(this.u&65536|b)>>1|b<<16;nd(this,a);return a&65535}function Yd(a,b){a=((this.u&65536)>>8|b)>>1|b<<8;nd(this,a<<8);return a&255}function Zd(a,b){var c=b-a;od(this,c,a,b);return c&65535}function $d(a,b){var c=b-a;od(this,c<<8,a<<8,b<<8);return c&255}
function ae(a,b){this.w=this.m=b&65280;this.l=this.u=0;return(b<<8|b>>8)&65535}function be(a,b){a^=b;this.fa(a);return a&65535}function ce(a){Q(this,a,xd(this,a),Dd);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}
function de(a){var b=Ad(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.u=this.l=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.u=c<<17-b,c>>=b;else if(b)if(16<b)this.l=c,c=0;else{this.u=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.l=32768)}this.b[a]=c&65535;this.w=this.m=c;this.a-=(this.h?6:7)+b}
function ee(a){var b=Ad(this,a);a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.l=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.u=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.u=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.l=32768)):d=c;this.b[a]=d>>16&65535;this.b[a|1]=d&65535;this.w=d>>16;this.m=d>>16|d;this.a-=(this.h?6:7)+b}function fe(a){O(this,a,!jd(this))}function ge(a){O(this,a,jd(this))}
function he(a){Q(this,a,xd(this,a),Jd);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function ie(a){P(this,a,wd(this,a),Kd);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function je(a){Q(this,a,xd(this,a),Ld);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function ke(a){P(this,a,wd(this,a),Md);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}
function le(a){var b=xd(this,a);a=Ad(this,a);this.fa((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function me(a){var b=wd(this,a);a=zd(this,a);this.fa(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function ne(a){O(this,a,this.l&65535?0:4)}function oe(a){O(this,a,!kd(this)==!(this.m&32768))}function pe(a){O(this,a,!!(this.l&65535)&&!kd(this)==!(this.m&32768))}
function qe(a){O(this,a,!jd(this)&&!!(this.l&65535))}function re(a){O(this,a,(this.l&65535?0:4)||!kd(this)!=!(this.m&32768))}function se(a){O(this,a,jd(this)||(this.l&65535?0:4))}function te(a){O(this,a,!kd(this)!=!(this.m&32768))}function ue(a){O(this,a,kd(this))}function ve(a){O(this,a,!!(this.l&65535))}function we(a){O(this,a,!kd(this))}function xe(){J(this,12,0,-9)}function ye(a){O(this,a,!0)}function ze(a){O(this,a,!(this.m&32768))}function Ae(a){O(this,a,this.m&32768?2:0)}
function Be(a){a&1&&(this.v=0);a&2&&(this.m=0);a&4&&(this.l=1);a&8&&(this.w=0);this.a-=5}function Ce(a){var b=xd(this,a);a=Ad(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;od(this,c,a,b);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function De(a){var b=wd(this,a);a=zd(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);od(this,c,a,b);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}
function Ee(a){var b=Ad(this,a);if(b){a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.v=this.m=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.b[a]=d&65535,this.b[a|1]=c-d*b&65535,this.l=d>>16|d,this.w=d>>16):(this.m=32768,this.l=d>>15|d,this.w=c>>16,-1===b&&65534===this.b[a]&&(this.b[a]=this.b[a|1]=1));this.a-=53}else this.l=this.w=0,this.m=32768,this.v=65536,this.a-=7}function Fe(){J(this,24,0,-9);this.a-=20}
function le(a){var b=xd(this,a);a=Ad(this,a);this.fa((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function me(a){var b=wd(this,a);a=zd(this,a);this.fa(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function ne(a){O(this,a,this.m&65535?0:4)}function oe(a){O(this,a,!kd(this)==!(this.l&32768))}function pe(a){O(this,a,!!(this.m&65535)&&!kd(this)==!(this.l&32768))}
function qe(a){O(this,a,!jd(this)&&!!(this.m&65535))}function re(a){O(this,a,(this.m&65535?0:4)||!kd(this)!=!(this.l&32768))}function se(a){O(this,a,jd(this)||(this.m&65535?0:4))}function te(a){O(this,a,!kd(this)!=!(this.l&32768))}function ue(a){O(this,a,kd(this))}function ve(a){O(this,a,!!(this.m&65535))}function we(a){O(this,a,!kd(this))}function xe(){J(this,12,0,-9)}function ye(a){O(this,a,!0)}function ze(a){O(this,a,!(this.l&32768))}function Ae(a){O(this,a,this.l&32768?2:0)}
function Be(a){a&1&&(this.u=0);a&2&&(this.l=0);a&4&&(this.m=1);a&8&&(this.w=0);this.a-=5}function Ce(a){var b=xd(this,a);a=Ad(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;od(this,c,a,b);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function De(a){var b=wd(this,a);a=zd(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);od(this,c,a,b);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}
function Ee(a){var b=Ad(this,a);if(b){a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.l=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.b[a]=d&65535,this.b[a|1]=c-d*b&65535,this.m=d>>16|d,this.w=d>>16):(this.l=32768,this.m=d>>15|d,this.w=c>>16,-1===b&&65534===this.b[a]&&(this.b[a]=this.b[a|1]=1));this.a-=53}else this.m=this.w=0,this.l=32768,this.u=65536,this.a-=7}function Fe(){J(this,24,0,-9);this.a-=20}
function Ge(){this.i&49152?(this.F|=128,J(this,4,0,-8)):(this.pa&&1120==this.sa&&this.pa.setData(this.b[0],!0),this.D?this.D.i():G(this));this.a-=7}function He(){J(this,16,0,-9);this.a-=20}var Ie=[0,7,7,10,7,11,9,13];function Je(a){this.ba=this.a;F(this,yd(this,a));this.a=this.ba-Ie[this.h]}var Ke=[0,14,14,17,14,18,16,20];function Le(a){this.ba=this.a;var b=yd(this,a);a=a>>6&7;pd(this,this.b[a]);this.b[a]=this.b[7];F(this,b);this.a=this.ba-Ke[this.h]}
var Me=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Ne(a){var b=xd(this,a);this.ba=this.a;Cd(this,a,b,this.fa);this.a=this.ba-Me[(this.K?8:0)+this.h]+(7!=this.f||this.h?0:2)}function Oe(a){var b=wd(this,a);Bd(this,a,b,65535,this.fa);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}var Pe=[7,13,13,17,14,18,17,21];
function Qe(a){var b=Ad(this,a);a=a>>6&7;b=(b<<16>>16)*(this.b[a]<<16>>16);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;b|=0;this.w=b>>16;this.l=this.w|b;this.m=0;this.v=-32768>b||32767<b?65536:0;this.a-=23}function Re(){this.a-=5}function Se(){this.i&49152||(this.u.reset(),Eb(this),this.pa&&this.pa.setData(this.b[0],!0));this.a-=667}function Te(a){if(a&8)J(this,8,0,-9);else{var b=rd(this);a&=7;7==a?F(this,b):(F(this,this.b[a]),this.b[a]=b);this.a-=9}}function Ue(){qd(this);this.a-=13}
function Ve(a){a&1&&(this.v=65536);a&2&&(this.m=32768);a&4&&(this.l=0);a&8&&(this.w=32768);this.a-=5}function We(a){var b=(a&448)>>6;if(this.b[b]=this.b[b]-1&65535)F(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Xe(a){Q(this,a,xd(this,a),Zd);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Ye(a){Q(this,a,0,ae);this.a-=this.h?9:3+(7==this.f?2:0)}function Ze(){J(this,28,0,-9)}
function Qe(a){var b=Ad(this,a);a=a>>6&7;b=(b<<16>>16)*(this.b[a]<<16>>16);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;b|=0;this.w=b>>16;this.m=this.w|b;this.l=0;this.u=-32768>b||32767<b?65536:0;this.a-=23}function Re(){this.a-=5}function Se(){this.i&49152||(this.v.reset(),Eb(this),this.pa&&this.pa.setData(this.b[0],!0));this.a-=667}function Te(a){if(a&8)J(this,8,0,-9);else{var b=rd(this);a&=7;7==a?F(this,b):(F(this,this.b[a]),this.b[a]=b);this.a-=9}}function Ue(){qd(this);this.a-=13}
function Ve(a){a&1&&(this.u=65536);a&2&&(this.l=32768);a&4&&(this.m=0);a&8&&(this.w=32768);this.a-=5}function We(a){var b=(a&448)>>6;if(this.b[b]=this.b[b]-1&65535)F(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Xe(a){Q(this,a,xd(this,a),Zd);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Ye(a){Q(this,a,0,ae);this.a-=this.h?9:3+(7==this.f?2:0)}function Ze(){J(this,28,0,-9)}
function $e(){this.pa&&(this.pa.U=this.b[7],this.pa.setData(this.b[0],!0));this.g|=8;ld(this,-2);this.a-=3}function af(a){Q(this,a,this.b[(a>>6&7)+this.wc],be);this.a-=this.h?9:3+(7==this.f?2:0)}function R(){J(this,8,0,-9)}function ed(a){bf[a>>12].call(this,a)}function cf(a){df[a>>6&3].call(this,a)}function ef(a){ff[a>>6&3].call(this,a)}function gf(a){hf[a>>6&3].call(this,a)}function jf(a){kf[a&15].call(this,a)}function lf(a){mf[a&15].call(this,a)}function nf(a){of[a>>6&3].call(this,a)}
function pf(a){qf[a>>6&3].call(this,a)}function rf(a){sf[a>>6&3].call(this,a)}
var bf=[function(a){tf[a>>8&15].call(this,a)},Ne,Ce,le,he,je,ce,R,function(a){uf[a>>8&15].call(this,a)},Oe,De,me,ie,ke,Xe,R],tf=[function(a){vf[a>>4&15].call(this,a)},ye,ve,ne,oe,te,pe,re,Le,Le,cf,ef,gf,R,R,R],df=[function(a){Cd(this,a,0,this.Sa);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Nd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Rd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Pd);this.a-=this.h?9:3+(7==this.f?2:0)}],ff=[function(a){Q(this,a,0,Td);
this.a-=this.h?11:6},function(a){Q(this,a,jd(this)?1:0,Dd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,jd(this)?1:0,Zd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=Ad(this,a);this.Sa(a);this.a-=this.h?4:3+(7==this.f?2:0)}],hf=[function(a){Q(this,a,0,Xd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Vd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Hd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Fd);this.a-=this.h?9:3+(7==this.f?2:0)}],vf=
[function(a){wf[a&15].call(this,a)},R,R,R,Je,Je,Je,Je,Te,R,jf,lf,Ye,Ye,Ye,Ye],wf=[Ge,$e,Ue,xe,He,Se,R,R,R,R,R,R,R,R,R,R],kf=[Re,function(){this.v=0;this.a-=5},function(){this.m=0;this.a-=5},Be,function(){this.l=1;this.a-=5},Be,Be,Be,function(){this.w=0;this.a-=5},Be,Be,Be,Be,Be,Be,Be],mf=[Re,function(){this.v=65536;this.a-=5},function(){this.m=32768;this.a-=5},Ve,function(){this.l=0;this.a-=5},Ve,Ve,Ve,function(){this.w=32768;this.a-=5},Ve,Ve,Ve,Ve,Ve,Ve,Ve],uf=[we,ue,qe,se,ze,Ae,fe,ge,Fe,Ze,nf,pf,
[function(a){wf[a&15].call(this,a)},R,R,R,Je,Je,Je,Je,Te,R,jf,lf,Ye,Ye,Ye,Ye],wf=[Ge,$e,Ue,xe,He,Se,R,R,R,R,R,R,R,R,R,R],kf=[Re,function(){this.u=0;this.a-=5},function(){this.l=0;this.a-=5},Be,function(){this.m=1;this.a-=5},Be,Be,Be,function(){this.w=0;this.a-=5},Be,Be,Be,Be,Be,Be,Be],mf=[Re,function(){this.u=65536;this.a-=5},function(){this.l=32768;this.a-=5},Ve,function(){this.m=0;this.a-=5},Ve,Ve,Ve,function(){this.w=32768;this.a-=5},Ve,Ve,Ve,Ve,Ve,Ve,Ve],uf=[we,ue,qe,se,ze,Ae,fe,ge,Fe,Ze,nf,pf,
rf,R,R,R],of=[function(a){Bd(this,a,0,255,this.Sa);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Od);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,1,Sd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,1,Qd);this.a-=this.h?9:3+(7==this.f?2:0)}],qf=[function(a){P(this,a,0,Ud);this.a-=this.h?11:6},function(a){P(this,a,jd(this)?1:0,Ed);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,jd(this)?1:0,$d);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=zd(this,a);
this.Sa(a<<8);this.a-=this.h?4:3+(7==this.f?2:0)}],sf=[function(a){P(this,a,0,Yd);this.a-=this.h?9+(this.qc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Wd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Id);this.a-=this.h?9+(this.qc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Gd);this.a-=this.h?9:3+(7==this.f?2:0)}];function fd(a){xf[a>>12].call(this,a)}
var xf=[function(a){yf[a>>8&15].call(this,a)},Ne,Ce,le,he,je,ce,function(a){zf[a>>8&15].call(this,a)},function(a){Af[a>>8&15].call(this,a)},Oe,De,me,ie,ke,Xe,R],yf=[function(a){Bf[a>>4&15].call(this,a)},ye,ve,ne,oe,te,pe,re,Le,Le,cf,ef,gf,function(a){Cf[a>>6&3].call(this,a)},R,R],Cf=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.Aa);F(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=ud(this,a,0);this.fa(a);pd(this,a);this.a-=11},function(a){var b=rd(this);this.ba=
this.a;this.fa(b);vd(this,a,0,b);this.a=this.ba-Pe[this.h]},function(a){Cd(this,a,kd(this)?65535:0,this.fa);this.a-=this.h?9:3+(7==this.f?2:0)}],Bf=[function(a){Df[a&15].call(this,a)},R,R,R,Je,Je,Je,Je,Te,function(a){!(a&8)||1145>this.sa?J(this,8,0,-9):(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5)},jf,lf,Ye,Ye,Ye,Ye],Df=[Ge,$e,function(){qd(this);this.g|=this.i&16;this.a-=13},xe,He,Se,Ue,function(){J(this,8,0,-9)},R,R,R,R,R,R,R,R],zf=[Qe,Qe,Ee,Ee,de,de,ee,ee,af,af,R,
R,R,R,We,We],Af=[we,ue,qe,se,ze,Ae,fe,ge,Fe,Ze,nf,pf,rf,function(a){1145>this.sa?J(this,8,0,-9):Ef[a>>6&3].call(this,a)},R,R],Ef=[function(){J(this,8,0,-9)},function(a){a=ud(this,a,65536);this.fa(a);pd(this,a);this.a-=11},function(a){var b=rd(this);this.ba=this.a;this.fa(b);vd(this,a,65536,b);this.a=this.ba-Pe[this.h]},function(){J(this,8,0,-9)}];
function Ff(a){r.call(this,"ROM",a,128);this.ia=this.b=null;this.h=+a.addr;this.a=+a.size;this.i=!1;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.g=a.file;this.m=Ea(this.g);if(this.g){a=this.g;var b=Fa(this.m);"json"!=b&&"hex"!=b&&(a=Oa()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(na(c.Ua,a,b),(a=Na(a,b))?(c.b=a.N,c.ia=a.ia):c.g=null);Gf(c)})}}n(Ff,r);
h=Ff.prototype;h.ja=function(a,b,c,d){this.u=b;this.c=c;this.D=d;Gf(this)};h.la=function(){this.ia&&(this.D&&this.D.a(this.id,this.h,this.a,this.ia),delete this.ia);return!0};h.ka=function(){return!0};
function Gf(a){if(!za(a)){if(a.g){if(!a.b||!a.u)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a){var b="ROM size ("+Da(a.b.length,8,!0)+") does not match specified size ("+Da(a.a,8,!0)+")";a.j.error=!0;a.G(b)}else{a:{b=a.h;if(57344<=b&&b<57344+Sb){var c={},c=(c[b]=[Ff.prototype.Zf,Ff.prototype.qh,null,null,null,a.a>>1],c);if(qb(a.u,a,c)){a.status("Added "+a.a+"-byte ROM at "+Ca(b));b=a.i=!0;break a}}else if(Yb(a.u,b,a.a,Ec)){for(c=0;c<a.b.length;c++)gc(a.u,b+c,a.b[c]);b=!0;break a}b=!1}if(b){b=[];
"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.u,g=d.a,k=[],l=d.h>>>f.h;0<g&&l<f.a.length;)k.push(f.a[l++]),g-=f.g;f=d.u;d=d.a;g=0;for(e>>>=f.h;0<d&&e<f.a.length;){l=k[g++];if(!l)break;f.a[e++]=l;d-=f.g}}a.i||delete a.b}}}B(a)}}h.Zf=function(a){return this.b[a-this.h]};h.qh=function(){};Ya(function(){for(var a=A(document,z,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ff(d);x(d,c)}});
function Hf(a){r.call(this,"RAM",a);this.ia=this.b=null;this.f=+a.addr;this.g=+a.size;this.ea=a.load;this.da=a.exec;null!=this.ea&&(this.ea=+this.ea);null!=this.da&&(this.da=+this.da);this.h=!1;this.a=a.file;this.i=Ea(this.a);if(this.a){a=this.a;var b=Fa(this.i);"json"!=b&&"hex"!=b&&(a=Oa()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.G("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(na(c.Ua,a,b),(a=Na(a,b))?(c.b=a.N,c.ia=a.ia,
null==c.ea&&(c.ea=a.ea),null==c.da&&(c.da=a.da)):c.a=null);If(c)})}}n(Hf,r);Hf.prototype.ja=function(a,b,c,d){this.u=b;this.c=c;this.D=d;If(this)};Hf.prototype.la=function(a,b){this.ia&&(this.D&&this.D.a(this.id,this.f,this.g,this.ia),delete this.ia);b||this.reset();return!0};Hf.prototype.ka=function(){return!0};
function If(a){if(a.u&&(!a.h&&a.g&&(Yb(a.u,a.f,a.g,ic)?a.h=!0:a.g=0),!za(a))){if(!a.h)u("No RAM allocated");else if(a.a){if(!a.b||!a.u)return;Jf(a,a.b,a.ea,a.da,a.f)?a.status('Loaded image "'+a.i+'"'):a.G('Error loading image "'+a.i+'"')}B(a)}}
Hf.prototype.reset=function(){if(this.h){for(var a=this.u,b=this.f,c=this.g,d=b&a.f,b=b>>>a.h;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(fb&&e.a)for(k=d;f--&&k<e.a.length;k++)e.a[k]=g;else for(k=d;f--&&k<e.size;k++)e.o(d,g,e.ab+d);c-=a.g;b++;d=0}this.b&&Jf(this,this.b,this.ea,this.da,this.f,!this.D)}};
function Jf(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){if(1!=m)break;if(l+6>=b.length)break;for(var l=l+2,p=b[l++]&255|(b[l++]&255)<<8,q=b[l++]&255|(b[l++]&255)<<8,m=m+((p&255)+(p>>8)+(q&255)+(q>>8)),v=l,y=p-=6;0<p&&l<b.length;)m+=b[l++]&255,p--;if(p||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(y)for(;y--;)gc(a.u,q++,b[v++]&255);else q&1?g=!0:null==d&&(d=q);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<
b.length;e++)gc(a.u,c+e,b[e]);k=!0}if(k){if(null==d||g)G(a.c),f=!1;null!=d&&hd(a.c,d,f)}return k}Ya(function(){for(var a=A(document,z,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Hf(d);x(d,c)}});function Kf(a){r.call(this,"Keyboard",a,1024);B(this)}n(Kf,r);Kf.prototype.ma=function(){return!1};Kf.prototype.ja=function(a,b,c,d){this.A=a;this.c=c;this.D=d};Ya(function(){for(var a=A(document,z,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Kf(d);x(d,c)}});
function Lf(a){r.call(this,"SerialPort",a,1048576);this.B=+a.adapter;this.J=+a.baudReceive||9600;this.ba=+a.baudTransmit||9600;this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.h=this.i=null;this.S=+a.tabSize;this.K=+a.charBOL;this.m=0;this.v=!0;this.H=this.C=null;this.I=this.X=-1;this.l=this.a=this.b=0;this.f=[];var b=a.binding;if("console"==b)this.i="";else{var c;a=Mf;b&&(void 0===c&&(c="Panel"),(c=ta(c,this.id))&&(b=c.o[b])&&this.ma(null,a,b))}this.g=this.s=this.F=null;this.exports=
function Ff(a){r.call(this,"ROM",a,128);this.ia=this.b=null;this.h=+a.addr;this.a=+a.size;this.i=!1;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.g=a.file;this.l=Ea(this.g);if(this.g){a=this.g;var b=Fa(this.l);"json"!=b&&"hex"!=b&&(a=Oa()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(na(c.Ua,a,b),(a=Na(a,b))?(c.b=a.L,c.ia=a.ia):c.g=null);Gf(c)})}}n(Ff,r);
h=Ff.prototype;h.ja=function(a,b,c,d){this.v=b;this.c=c;this.D=d;Gf(this)};h.la=function(){this.ia&&(this.D&&this.D.a(this.id,this.h,this.a,this.ia),delete this.ia);return!0};h.ka=function(){return!0};
function Gf(a){if(!za(a)){if(a.g){if(!a.b||!a.v)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a){var b="ROM size ("+Da(a.b.length,8,!0)+") does not match specified size ("+Da(a.a,8,!0)+")";a.j.error=!0;a.G(b)}else{a:{b=a.h;if(57344<=b&&b<57344+Sb){var c={},c=(c[b]=[Ff.prototype.Zf,Ff.prototype.qh,null,null,null,a.a>>1],c);if(qb(a.v,a,c)){a.status("Added "+a.a+"-byte ROM at "+Ca(b));b=a.i=!0;break a}}else if(Yb(a.v,b,a.a,Ec)){for(c=0;c<a.b.length;c++)gc(a.v,b+c,a.b[c]);b=!0;break a}b=!1}if(b){b=[];
"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.v,g=d.a,k=[],l=d.h>>>f.h;0<g&&l<f.a.length;)k.push(f.a[l++]),g-=f.g;f=d.v;d=d.a;g=0;for(e>>>=f.h;0<d&&e<f.a.length;){l=k[g++];if(!l)break;f.a[e++]=l;d-=f.g}}a.i||delete a.b}}}B(a)}}h.Zf=function(a){return this.b[a-this.h]};h.qh=function(){};Ya(function(){for(var a=A(document,z,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ff(d);x(d,c)}});
function Hf(a){r.call(this,"RAM",a);this.ia=this.b=null;this.f=+a.addr;this.g=+a.size;this.ea=a.load;this.da=a.exec;null!=this.ea&&(this.ea=+this.ea);null!=this.da&&(this.da=+this.da);this.h=this.l=!1;this.a=a.file;this.i=Ea(this.a);if(this.a){a=this.a;var b=Fa(this.i);"json"!=b&&"hex"!=b&&(a=Oa()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.G("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(na(c.Ua,a,b),(a=Na(a,b))?(c.b=a.L,
c.ia=a.ia,null==c.ea&&(c.ea=a.ea),null==c.da&&(c.da=a.da)):c.a=null);If(c)})}}n(Hf,r);Hf.prototype.ja=function(a,b,c,d){this.v=b;this.c=c;this.D=d;If(this)};Hf.prototype.la=function(a,b){this.ia&&(this.D&&this.D.a(this.id,this.f,this.g,this.ia),delete this.ia);b||this.reset();return!0};Hf.prototype.ka=function(){return!0};
function If(a){if(a.v&&(!a.h&&a.g&&(Yb(a.v,a.f,a.g,ic)?a.h=!0:a.g=0),!za(a))){if(!a.h)u("No RAM allocated");else if(a.a){if(!a.b)return;Jf(a,a.b,a.ea,a.da,a.f)?a.status('Loaded image "'+a.i+'"'):a.G('Error loading image "'+a.i+'"')}a.l=!0;B(a)}}
Hf.prototype.reset=function(){if(this.h&&!this.l){for(var a=this.v,b=this.f,c=this.g,d=b&a.f,b=b>>>a.h;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(fb&&e.a)for(k=d;f--&&k<e.a.length;k++)e.a[k]=g;else for(k=d;f--&&k<e.size;k++)e.o(d,g,e.ab+d);c-=a.g;b++;d=0}this.b&&Jf(this,this.b,this.ea,this.da,this.f,!this.D)}this.l=!1};
function Jf(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){if(1!=m)break;if(l+6>=b.length)break;for(var l=l+2,p=b[l++]&255|(b[l++]&255)<<8,q=b[l++]&255|(b[l++]&255)<<8,m=m+((p&255)+(p>>8)+(q&255)+(q>>8)),v=l,y=p-=6;0<p&&l<b.length;)m+=b[l++]&255,p--;if(p||l>=b.length)break;m+=b[l++]&255;if(m&255)break;if(y)for(;y--;)gc(a.v,q++,b[v++]&255);else q&1?g=!0:null==d&&(d=q);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<
b.length;e++)gc(a.v,c+e,b[e]);k=!0}if(k){if(null==d||g)G(a.c),f=!1;null!=d&&hd(a.c,d,f)}return k}Ya(function(){for(var a=A(document,z,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Hf(d);x(d,c)}});function Kf(a){r.call(this,"Keyboard",a,1024);B(this)}n(Kf,r);Kf.prototype.ma=function(){return!1};Kf.prototype.ja=function(a,b,c,d){this.A=a;this.c=c;this.D=d};Ya(function(){for(var a=A(document,z,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Kf(d);x(d,c)}});
function Lf(a){r.call(this,"SerialPort",a,1048576);this.B=+a.adapter;this.J=+a.baudReceive||9600;this.ba=+a.baudTransmit||9600;this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.h=this.i=null;this.S=+a.tabSize;this.K=+a.charBOL;this.l=0;this.u=!0;this.H=this.C=null;this.I=this.X=-1;this.m=this.a=this.b=0;this.f=[];var b=a.binding;if("console"==b)this.i="";else{var c;a=Mf;b&&(void 0===c&&(c="Panel"),(c=ta(c,this.id))&&(b=c.o[b])&&this.ma(null,a,b))}this.g=this.s=this.F=null;this.exports=
{connect:this.Jd,receiveData:this.nc,receiveStatus:this.tg,setConnection:this.yg}}n(Lf,r);h=Lf.prototype;
h.ma=function(a,b,c){var d=this;switch(b){case Mf:return this.o[b]=this.h=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?la.kd:la.Cb:46==c?b=la.kd:a.ctrlKey&&c>=la.hd&&c<=la.Ke&&(b=c-(la.hd-la.Ud));b&&(a.preventDefault&&a.preventDefault(),d.nc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.Wd&&(b=la.Vd);d.nc(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.nc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ja=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;var e=this;this.H=pc(this.c,this.B?-1:48,4,1048576);this.I=mc(this.c,function(){var a;a=-1;e.f.length&&(a=e.f.shift()&255,e.w&&97<=a&&122>a&&(a-=32),oc(e.c,e.I,1E3/Math.round(e.J/10)));0<=a&&(e.l=a,e.a&128?e.l|=49152:e.a|=128,e.a&64&&nc(c,e.H))});this.C=pc(this.c,this.B?-1:52,4,1048576);this.X=mc(this.c,function(){e.b|=128;e.b&64&&nc(c,e.C)});qb(b,this,Nf,this.B?64832+8*(this.B-1)-65392:0);sb(b,this.reset.bind(this));B(this)};
h.Jd=function(a){if(!this.g){var b=Tc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.ib)return;c=Ja(c[1]);if(this.g=sa(c)){var e=this.g.exports;if(e){var f=e.connect;f&&f.call(this.g,this.v);if(this.s=e.receiveData){this.v=a;this.F=e.receiveStatus;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.la=function(a,b){if(!b)if(this.Jd(this.v),!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.ka=function(a){return a?this.save():!0};h.reset=function(){Of(this)};h.save=function(){var a=new E(this);a.set(0,[this.l,this.a,this.b,this.f]);return a.data()};h.restore=function(a){return Of(this,a[0])};function Of(a,b){b||(b=[0,8192,128,a.f]);b=ia(b);a.l=b.next().value;a.a=b.next().value;a.b=b.next().value;a.f=b.next().value;return!0}
h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;var e=this;this.H=pc(this.c,this.B?-1:48,4,1048576);this.I=mc(this.c,function(){var a;a=-1;e.f.length&&(a=e.f.shift()&255,e.w&&97<=a&&122>a&&(a-=32),oc(e.c,e.I,1E3/Math.round(e.J/10)));0<=a&&(e.m=a,e.a&128?e.m|=49152:e.a|=128,e.a&64&&nc(c,e.H))});this.C=pc(this.c,this.B?-1:52,4,1048576);this.X=mc(this.c,function(){e.b|=128;e.b&64&&nc(c,e.C)});qb(b,this,Nf,this.B?64832+8*(this.B-1)-65392:0);sb(b,this.reset.bind(this));B(this)};
h.Jd=function(a){if(!this.g){var b=Tc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.ib)return;c=Ja(c[1]);if(this.g=sa(c)){var e=this.g.exports;if(e){var f=e.connect;f&&f.call(this.g,this.u);if(this.s=e.receiveData){this.u=a;this.F=e.receiveStatus;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.la=function(a,b){if(!b)if(this.Jd(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
h.ka=function(a){return a?this.save():!0};h.reset=function(){Of(this)};h.save=function(){var a=new E(this);a.set(0,[this.m,this.a,this.b,this.f]);return a.data()};h.restore=function(a){return Of(this,a[0])};function Of(a,b){b||(b=[0,8192,128,a.f]);b=ia(b);a.m=b.next().value;a.a=b.next().value;a.b=b.next().value;a.f=b.next().value;return!0}
h.nc=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.f.push(b)}else this.f=this.f.concat(a);oc(this.c,this.I,1E3/Math.round(this.J/10));return!0};h.tg=function(a){var b=this.a;this.a&=-12289;a&32&&(this.a|=8192);a&256&&(this.a|=4096);b!=this.a&&(this.a|=32768,this.a&32&&nc(this.c,this.H))};h.yg=function(a,b){return this.g?!1:(this.g=a,this.s=b,!0)};
h.Mf=function(){var a=this.a&65534;this.a&=-32769;return a};h.dh=function(a){var b=a^this.a;this.a=this.a&-112|a&111;this.F&&b&6&&(b=0,b=this.v?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.F.call(this.g,b))};h.Lf=function(){this.a&=-129;return this.l};h.bh=function(){};h.sg=function(){return this.b};h.Kh=function(a){if(this.b&128)if(a&64)nc(this.c,this.C);else{var b=this.C;b&&rc(this.c,b)}this.b=this.b&-70|a&69};h.rg=function(){return 0};
h.Jh=function(a){a&=255;this.s&&this.s.call(this.g,a);a&=127;if(this.h)if(13==a)this.m=0;else if(8==a)this.h.value=this.h.value.slice(0,-1),0<this.m&&this.m--;else{if(a){var b;13!=a&&10!=a&&(b=Ka[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.S||8,c=a-this.m%a,this.S&&(b=" ".slice(0,c)));this.K&&!this.m&&c&&(b=String.fromCharCode(this.K)+b);this.h.value+=b;this.h.scrollTop=this.h.scrollHeight;this.m+=c}}else if(null!=
h.Mf=function(){var a=this.a&65534;this.a&=-32769;return a};h.dh=function(a){var b=a^this.a;this.a=this.a&-112|a&111;this.F&&b&6&&(b=0,b=this.u?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.F.call(this.g,b))};h.Lf=function(){this.a&=-129;return this.m};h.bh=function(){};h.sg=function(){return this.b};h.Kh=function(a){if(this.b&128)if(a&64)nc(this.c,this.C);else{var b=this.C;b&&rc(this.c,b)}this.b=this.b&-70|a&69};h.rg=function(){return 0};
h.Jh=function(a){a&=255;this.s&&this.s.call(this.g,a);a&=127;if(this.h)if(13==a)this.l=0;else if(8==a)this.h.value=this.h.value.slice(0,-1),0<this.l&&this.l--;else{if(a){var b;13!=a&&10!=a&&(b=Ka[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.S||8,c=a-this.l%a,this.S&&(b=" ".slice(0,c)));this.K&&!this.l&&c&&(b=String.fromCharCode(this.K)+b);this.h.value+=b;this.h.scrollTop=this.h.scrollHeight;this.l+=c}}else if(null!=
this.i){if(10==a||1024<=this.i.length)this.aa(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}oc(this.c,this.X,1E3/Math.round(this.ba/10));this.b&=-129};var Mf="buffer",Pf={},Nf=(Pf[65392]=[null,null,Lf.prototype.Mf,Lf.prototype.dh,"RCSR"],Pf[65394]=[null,null,Lf.prototype.Lf,Lf.prototype.bh,"RBUF"],Pf[65396]=[null,null,Lf.prototype.sg,Lf.prototype.Kh,"XCSR"],Pf[65398]=[null,null,Lf.prototype.rg,Lf.prototype.Jh,"XBUF"],Pf);
Ya(function(){for(var a=A(document,z,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Lf(d);x(d,c)}});function Ac(a){r.call(this,"PC11",a,4096);this.C=Qf(this,a.autoMount);this.b=0;this.K=+a.baudReceive||3600;this.l=this.a=0;this.w=32768;this.h=this.I=0;this.m=[];this.i=Rf;this.f=Sf;this.B=this.g="";this.N=this.ea=this.da=null;this.H=-1;this.F=!Ua("Mobi")&&window&&"FileReader"in window;this.s=null;this.J=-1;this.v=null}n(Ac,r);
Ya(function(){for(var a=A(document,z,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Lf(d);x(d,c)}});function Ac(a){r.call(this,"PC11",a,4096);this.C=Qf(this,a.autoMount);this.b=0;this.K=+a.baudReceive||3600;this.m=this.a=0;this.w=32768;this.h=this.I=0;this.l=[];this.i=Rf;this.f=Sf;this.B=this.g="";this.L=this.ea=this.da=null;this.H=-1;this.F=!Ua("Mobi")&&window&&"FileReader"in window;this.s=null;this.J=-1;this.u=null}n(Ac,r);
function Qf(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){u(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Ac.prototype;
h.ma=function(a,b,c){var d=this,e=Sf;switch(b){case "listTapes":return this.o[b]=c,c.onchange=function(){var a=d.o.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){u("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.o[b]=c,!0;case "readTape":e=Tf;case "loadTape":return e||(e=Uf),this.o[b]=c,c.onclick=
function(){var a=d.o.listTapes;a&&Vf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.o[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Vf(d,Ea(b,!0),b,Uf,a)}return!1};return!0;case Wf:return this.o[b]=c,!0}return!1};
h.ja=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;this.v=Xf(a);var e=this;if(a=Qf(this,Tc(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.s=pc(this.c,56,4,4096);this.J=mc(this.c,function(){1!=(e.a&32769)||e.a&128||(e.h<e.m.length?(e.l=e.m[e.h]&255,e.h++,Yf(e,e.h/e.m.length*100)):e.a|=32768,e.a|=128,e.a&=-2049,e.a&64&&nc(e.c,e.s))});qb(b,this,Zf);sb(b,this.reset.bind(this));$f(this,"None",Rf,!0);this.F&&$f(this,"Local Tape",ag);$f(this,"Remote Tape",bg);cg(this)||B(this)};
h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.a&=-2241;this.l=0};function cg(a){a.b=0;var b=a.C.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.o.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=Ea(c,!0)}c&&b?dg(a,b,c,Uf,!0):eg(a)}return!!a.b}
function Vf(a,b,c,d,e){if(c)if(c==ag)a.G('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==bg){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Ea(c);a.status("Attempting to load "+c+' as "'+b+'"');a.i=bg}else a.i=c;dg(a,b,c,d,!1,e)}else fg(a,!1)}function dg(a,b,c,d,e,f){var g=-1;if(a.g.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,fg(a,!0),a.j.Ra?a.G("PC11 busy"):(e&&a.b++,gg(a,b,c,d,f)?g++:a.j.Ra=!0);g&&hg(a,a.B,a.g,a.f,a.N,a.ea,a.da)}
h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;this.u=Xf(a);var e=this;if(a=Qf(this,Tc(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.s=pc(this.c,56,4,4096);this.J=mc(this.c,function(){1!=(e.a&32769)||e.a&128||(e.h<e.l.length?(e.m=e.l[e.h]&255,e.h++,Yf(e,e.h/e.l.length*100)):e.a|=32768,e.a|=128,e.a&=-2049,e.a&64&&nc(e.c,e.s))});qb(b,this,Zf);sb(b,this.reset.bind(this));$f(this,"None",Rf,!0);this.F&&$f(this,"Local Tape",ag);$f(this,"Remote Tape",bg);cg(this)||B(this)};
h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.a&=-2241;this.m=0};function cg(a){a.b=0;var b=a.C.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.o.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=Ea(c,!0)}c&&b?dg(a,b,c,Uf,!0):eg(a)}return!!a.b}
function Vf(a,b,c,d,e){if(c)if(c==ag)a.G('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==bg){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=Ea(c);a.status("Attempting to load "+c+' as "'+b+'"');a.i=bg}else a.i=c;dg(a,b,c,d,!1,e)}else fg(a,!1)}function dg(a,b,c,d,e,f){var g=-1;if(a.g.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,fg(a,!0),a.j.Ra?a.G("PC11 busy"):(e&&a.b++,gg(a,b,c,d,f)?g++:a.j.Ra=!0);g&&hg(a,a.B,a.g,a.f,a.L,a.ea,a.da)}
function gg(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),hg(a,b,c,d,e),a.i=ag);a.j.Ra=!1;eg(a)};g.readAsArrayBuffer(e);return!1}0>c.indexOf("/api/v1/dump")&&(e=Fa(c),f="json"==e||"gz"==e?encodeURI(c):Oa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ma(f,null,!0,function(e,f,g){var k=0>g&&!!a.A&&!a.A.j.R;g?a.G('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(na(a.Ua,e,f),(e=Na(e,f))&&hg(a,b,c,d,
e.N,e.ea,e.da));a.j.Ra=!1;a.b&&(a.b--,a.b||B(a));eg(a)})}function $f(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
e.L,e.ea,e.da));a.j.Ra=!1;a.b&&(a.b--,a.b||B(a));eg(a)})}function $f(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function eg(a){var b=a.o.listTapes;if(b&&b.options){a=a.i||a.g;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Yf(a,b){b|=0;if(b!==a.H){var c=a.o[Wf];c&&(c=(c=A(c,ig))&&c[0])&&c.style&&(c.style.width=b+"%");a.H=b}}
function hg(a,b,c,d,e,f,g){a.B=b;a.g=c;a.f=d;a.N=e;a.ea=f;a.da=g;d==Tf?a.v&&Jf(a.v,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.G('No valid memory address for tape "'+b+'"'):(a.h=0,a.m=e,a.a&=-32769,a.status('Loaded tape "'+b+'" ('+e.length+" bytes)"),Yf(a,0))}function fg(a,b){if(a.g||!1===b)a.B="",a.g="",b||(a.f&&a.status(a.f==Uf?"tape detached":"tape unloaded"),a.i=Rf,a.f=Sf,eg(a))}h.save=function(){return(new E(this)).data()};h.restore=function(){return!0};h.Ff=function(){return this.a&65534};
h.Wg=function(a){a&1&&(this.a&32768?(a&=-2,this.a&64&&nc(this.c,this.s)):(this.a&=-129,this.a|=2048,this.l=0,oc(this.c,this.J,1E3/Math.round(this.K/10))));this.a=this.a&-66|a&65};h.Ef=function(){this.a&=-129;this.a|=2048;return this.l};h.Vg=function(){};h.Df=function(){return this.w};h.Ug=function(a){this.w=this.w&-65|a&64};h.Cf=function(){return this.I};h.Tg=function(a){this.I=a&255};
function hg(a,b,c,d,e,f,g){a.B=b;a.g=c;a.f=d;a.L=e;a.ea=f;a.da=g;d==Tf?a.u&&Jf(a.u,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.G('No valid memory address for tape "'+b+'"'):(a.h=0,a.l=e,a.a&=-32769,a.status('Loaded tape "'+b+'" ('+e.length+" bytes)"),Yf(a,0))}function fg(a,b){if(a.g||!1===b)a.B="",a.g="",b||(a.f&&a.status(a.f==Uf?"tape detached":"tape unloaded"),a.i=Rf,a.f=Sf,eg(a))}h.save=function(){return(new E(this)).data()};h.restore=function(){return!0};h.Ff=function(){return this.a&65534};
h.Wg=function(a){a&1&&(this.a&32768?(a&=-2,this.a&64&&nc(this.c,this.s)):(this.a&=-129,this.a|=2048,this.m=0,oc(this.c,this.J,1E3/Math.round(this.K/10))));this.a=this.a&-66|a&65};h.Ef=function(){this.a&=-129;this.a|=2048;return this.m};h.Vg=function(){};h.Df=function(){return this.w};h.Ug=function(a){this.w=this.w&-65|a&64};h.Cf=function(){return this.I};h.Tg=function(a){this.I=a&255};
var Rf="",ag="?",bg="??",Sf=0,Uf=1,Tf=2,Wf="readProgress",ig="pcjs-progress-bar",jg={},Zf=(jg[65384]=[null,null,Ac.prototype.Ff,Ac.prototype.Wg,"PRS"],jg[65386]=[null,null,Ac.prototype.Ef,Ac.prototype.Vg,"PRB"],jg[65388]=[null,null,Ac.prototype.Df,Ac.prototype.Ug,"PPS"],jg[65390]=[null,null,Ac.prototype.Cf,Ac.prototype.Tg,"PPB"],jg);
function kg(a,b,c){r.call(this,"Disk",{id:a.Ua+".disk"+Da(++lg,4)},8192);this.controller=a;this.A=a.A;this.D=a.D;this.h=b;this.xa=b.name;this.oa=this.bd="";this.Yc=b.Yc;this.L=this.T=this.P=this.Z=this.mode=0;this.a=[];this.f=null;this.g=!1;mg(this,c,b.L,b.T,b.P,b.Z);this.b=this.i=null;B(this)}n(kg,r);h=kg.prototype;h.ja=function(a,b,c,d){this.D=d};
function mg(a,b,c,d,e,f){a.mode=b;a.L=c;a.T=d;a.P=e;a.Z=f;a.a=[];if("preload"!=a.mode){b=Array(a.L);for(c=0;c<b.length;c++){d=Array(a.T);for(e=0;e<d.length;e++){f=Array(a.P);for(var g=1;g<=f.length;g++)f[g-1]=ng(null,c,e,g,a.Z,0);d[e]=f}b[c]=d}a.a=b}a.f=null}
function og(a,b,c,d,e){var f=c;if(a.b)return!0;a.xa=b;a.oa=c;a.bd=Ea(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.L=e[0];a.T=e[1];a.P=e[2];a.Z=e[3]||512;c=a.Z>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.L);for(d=0;d<a.a.length;d++)for(var v=a.a[d]=Array(a.T),y=0;y<v.length;y++)for(var ma=v[y]=Array(a.P),Ta=0;Ta<ma.length;Ta++){for(var yc=ng(null,d,y,Ta+1,a.Z,0),oh=yc.data,Pc=0;Pc<c;Pc++,f+=4)var ph=oh[Pc]=b.getInt32(f,
function kg(a,b,c){r.call(this,"Disk",{id:a.Ua+".disk"+Da(++lg,4)},8192);this.controller=a;this.A=a.A;this.D=a.D;this.h=b;this.xa=b.name;this.oa=this.bd="";this.Yc=b.Yc;this.M=this.T=this.P=this.Z=this.mode=0;this.a=[];this.f=null;this.g=!1;mg(this,c,b.M,b.T,b.P,b.Z);this.b=this.i=null;B(this)}n(kg,r);h=kg.prototype;h.ja=function(a,b,c,d){this.D=d};
function mg(a,b,c,d,e,f){a.mode=b;a.M=c;a.T=d;a.P=e;a.Z=f;a.a=[];if("preload"!=a.mode){b=Array(a.M);for(c=0;c<b.length;c++){d=Array(a.T);for(e=0;e<d.length;e++){f=Array(a.P);for(var g=1;g<=f.length;g++)f[g-1]=ng(null,c,e,g,a.Z,0);d[e]=f}b[c]=d}a.a=b}a.f=null}
function og(a,b,c,d,e){var f=c;if(a.b)return!0;a.xa=b;a.oa=c;a.bd=Ea(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.M=e[0];a.T=e[1];a.P=e[2];a.Z=e[3]||512;c=a.Z>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.M);for(d=0;d<a.a.length;d++)for(var v=a.a[d]=Array(a.T),y=0;y<v.length;y++)for(var ma=v[y]=Array(a.P),Ta=0;Ta<ma.length;Ta++){for(var yc=ng(null,d,y,Ta+1,a.Z,0),oh=yc.data,Pc=0;Pc<c;Pc++,f+=4)var ph=oh[Pc]=b.getInt32(f,
!0),e=e+ph&-1;yc.na=c;ma[Ta]=yc}a.f=e;c=a}else a.G("Unrecognized disk format ("+d+" bytes)");a.b&&(a.b.call(a.controller,a.h,c,a.xa,a.oa),a.b=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=Fa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):Ga(c,"/")&&(d="dir"),f=Oa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Yc?"":e)+"&format=json"));return!!Ma(f,
null,!0,function(b,c,d){pg(a,b,c,d)})}
function pg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.j.R;a.g=!1;if(d)a.controller.G('Unable to load disk "'+a.xa+'" (error '+d+": "+b+")",f);else{na(a.controller.Ua,b,c);try{if(0<Ea(a.bd,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.xa]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)u(k[0]);else{a.L=k.length;a.T=k[0].length;a.P=k[0][0].length;var l=k[0][0][0];a.Z=l&&l.length||512;for(d=c=0;d<a.L;d++)for(f=0;f<a.T;f++)for(g=0;g<a.P;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var q=l.data;if(void 0===q){var v=l.bytes;if(void 0!==v&&v.length){for(var y=m<<2,ma=v.length;ma<y;ma++)v[ma]=p;qg(l,v)}else q=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=q;delete l.bytes}ng(l,d,f);for(y=
0;y<q.length;y++)c=c+q[y]&-1}a.a=k;a.f=c;e=a}else u("Empty disk image: "+a.xa)}catch(Ta){u("Disk image error ("+b+"): "+Ta.message)}}a.b&&(a.b.call(a.i,a.h,e,a.xa,a.oa),a.b=null)}function ng(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Nj=b;a.Oj=c;a.wa=a.na=0;a.Ha=!1;return a}
c+")");if(k.length)if(1==k.length)u(k[0]);else{a.M=k.length;a.T=k[0].length;a.P=k[0][0].length;var l=k[0][0][0];a.Z=l&&l.length||512;for(d=c=0;d<a.M;d++)for(f=0;f<a.T;f++)for(g=0;g<a.P;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var q=l.data;if(void 0===q){var v=l.bytes;if(void 0!==v&&v.length){for(var y=m<<2,ma=v.length;ma<y;ma++)v[ma]=p;qg(l,v)}else q=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=q;delete l.bytes}ng(l,d,f);for(y=
0;y<q.length;y++)c=c+q[y]&-1}a.a=k;a.f=c;e=a}else u("Empty disk image: "+a.xa)}catch(Ta){u("Disk image error ("+b+"): "+Ta.message)}}a.b&&(a.b.call(a.i,a.h,e,a.xa,a.oa),a.b=null)}function ng(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Oj=b;a.Pj=c;a.wa=a.na=0;a.Ha=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.h,g=this.a[a];if(g){var k=g[b];if(!k&&f.Me&&b<f.T)for(k=g[b]=Array(f.Ne),g=0;g<k.length;g++)k[g]=ng(null,a,b,g+1,f.Kd,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Me&&9==f.Dd&&(d=k[g]=ng(null,a,b,f.Dd,f.Kd,0))}}e&&e(d,!1);return d};function qg(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.g)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.na?f<a.wa?(a.na+=a.wa-f,a.wa=f):f>=a.wa+a.na&&(a.na+=f-(a.wa+a.na)+1):(a.wa=f,a.na=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function rg(a,b){var c=a.T*a.P,d=b/c|0;return d<a.L?(b%=c,a.seek(d,b/a.P|0,b%a.P+1)):null}function sg(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}h.save=function(){var a=0,b=[];b[a++]=[this.oa,this.f,this.L,this.T,this.P,this.Z];if(!this.g)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.na){for(var k=[],l=0,m=g.wa,p=g.wa+g.na;m<p;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.wa,k]}}return b};
function rg(a,b){var c=a.T*a.P,d=b/c|0;return d<a.M?(b%=c,a.seek(d,b/a.P|0,b%a.P+1)):null}function sg(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}h.save=function(){var a=0,b=[];b[a++]=[this.oa,this.f,this.M,this.T,this.P,this.Z];if(!this.g)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.na){for(var k=[],l=0,m=g.wa,p=g.wa+g.na;m<p;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.wa,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?mg(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.a.length||l>=this.a[k].length||m>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.wa=e;for(k.na=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.G("Unable to restore disk '"+this.xa+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=rg(this,a++);)tg(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function tg(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var lg=0;function ug(a,b,c,d,e,f){r.call(this,a,b,c);this.C=vg(this,b.autoMount);this.B=0;this.I=d;this.J=e;this.K=f;this.H=d.Bc;this.b=Array(this.H);this.F=!Ua("Mobi")&&window&&"FileReader"in window;this.m=[];this.qa=null;this.exports={bootDisk:this.Ed,loadDisk:this.Zc,selectDrive:this.wg,wait:this.Cg}}n(ug,r);
function tg(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var lg=0;function ug(a,b,c,d,e,f){r.call(this,a,b,c);this.C=vg(this,b.autoMount);this.B=0;this.I=d;this.J=e;this.K=f;this.H=d.Bc;this.b=Array(this.H);this.F=!Ua("Mobi")&&window&&"FileReader"in window;this.l=[];this.qa=null;this.exports={bootDisk:this.Ed,loadDisk:this.Zc,selectDrive:this.wg,wait:this.Cg}}n(ug,r);
function vg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){u(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=ug.prototype;
h.ma=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){wg(d)},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=Ba(c.value,10);null!=a&&xg(d,a)},!0;case "loadDisk":return this.o[b]=c,c.onclick=function(){d.Zc()},!0;case "bootDisk":return this.o[b]=c,c.onclick=function(){d.Ed()},!0;case "saveDisk":if(!this.F){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a=
d.b[Ba(a.value,10)||0])if(a=a.O){var b;b="";for(var c=0,k;k=rg(a,c++);)for(var l=0,m=k.length;l<m;l++)b+=String.fromCharCode(sg(a,k,l));b=btoa(b);a=a.bd.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+
(a?" ("+a+")":"")+".");u(a)}else d.G("No disk loaded in drive.");else d.G("No disk drive selected.")};return!0;case "mountDisk":if(this.F)return this.o[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;d.Zc(Ea(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ja=function(a,b,c,d){this.A=a;this.u=b;this.c=c;this.D=d;if(a=vg(this,Tc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.C[e]=a[e]);this.reset();this.qa=pc(this.c,this.I.Uc,this.I.Qc,this.pd);qb(b,this,this.K);sb(b,this.reset.bind(this));yg(this,"None",zg,!0);this.F&&yg(this,"Local Disk",Ag);yg(this,"Remote Disk",Bg);Cg(this)||B(this)};
h.la=function(a,b){if(!b){if(!a){if(this.reset(),this.A.B){this.m=[];for(a=0;a<this.b.length;a++)Dg(this,a,!0);Cg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.o.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.H;b++){var c=document.createElement("option");c.value=b;c.text=this.b[b].oc||"---";a.appendChild(c)}0<this.H&&(a.value="0",xg(this,0))}}return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.bb();Eg(this)};
h.save=function(){var a=new E(this);a.set(0,this.pc());a.set(1,Fg(this));a.set(2,Gg(this));return a.data()};h.restore=function(a){var b=!0;this.bb(a[0])||(b=!1);var c=a[1];c&&(this.m=c);Eg(this,a[2])||(b=!1);return b};h.bb=function(){return!0};h.pc=function(){return[]};
function Eg(a,b){for(var c=0;c<a.b.length;c++){var d=a.b[c];void 0===d&&(d=a.b[c]={});var e=a,f=d,d=c,g=a.J,k=b&&b[c],l=0;f.rb=d;f.name=e.ib;f.hc=f.qb=!1;f.Jb=null;f.Yc=!0;f.oc=g[l++]+d;f.L=g[l++];f.T=g[l++];f.P=g[l++];f.Z=g[l++];f.Xe=g[l++];f.Ye=g[l++];f.Ze=g[l++];f.Oe=g[l++];f.status=g[l++];f.Hj=0;f.Gj=0;f.Dd=1;f.Ne=f.P;f.Kd=f.Z;f.Pj=0;f.Vj=null;f.O||(f.oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.b[d],Dg(e,d,!0),g.qb=!0,d=new kg(e,g,"preload"),e.Gd(g,d,f,k,!0)):Hg(e,d,l,g,!0)?f.O&&g&&Ig(e,l,g,f.O):
B(e,!1))}return!0}function Gg(a){for(var b=[],c=0;c<a.b.length;c++){var d=a.b[c];b.push([d.qb,d.xa,d.oa])}return b}function Fg(a){for(var b=0;b<a.b.length;b++){var c=a.b[b];c.O&&Jg(a,c.oa,c.O)}return a.m}
h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;if(a=vg(this,Tc(this.A,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.C[e]=a[e]);this.reset();this.qa=pc(this.c,this.I.Uc,this.I.Qc,this.pd);qb(b,this,this.K);sb(b,this.reset.bind(this));yg(this,"None",zg,!0);this.F&&yg(this,"Local Disk",Ag);yg(this,"Remote Disk",Bg);Cg(this)||B(this)};
h.la=function(a,b){if(!b){if(!a){if(this.reset(),this.A.B){this.l=[];for(a=0;a<this.b.length;a++)Dg(this,a,!0);Cg(this,!0)}}else if(!this.restore(a))return!1;if(a=this.o.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.H;b++){var c=document.createElement("option");c.value=b;c.text=this.b[b].oc||"---";a.appendChild(c)}0<this.H&&(a.value="0",xg(this,0))}}return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.bb();Eg(this)};
h.save=function(){var a=new E(this);a.set(0,this.pc());a.set(1,Fg(this));a.set(2,Gg(this));return a.data()};h.restore=function(a){var b=!0;this.bb(a[0])||(b=!1);var c=a[1];c&&(this.l=c);Eg(this,a[2])||(b=!1);return b};h.bb=function(){return!0};h.pc=function(){return[]};
function Eg(a,b){for(var c=0;c<a.b.length;c++){var d=a.b[c];void 0===d&&(d=a.b[c]={});var e=a,f=d,d=c,g=a.J,k=b&&b[c],l=0;f.rb=d;f.name=e.ib;f.hc=f.qb=!1;f.Jb=null;f.Yc=!0;f.oc=g[l++]+d;f.M=g[l++];f.T=g[l++];f.P=g[l++];f.Z=g[l++];f.Xe=g[l++];f.Ye=g[l++];f.Ze=g[l++];f.Oe=g[l++];f.status=g[l++];f.Ij=0;f.Hj=0;f.Dd=1;f.Ne=f.P;f.Kd=f.Z;f.Qj=0;f.Wj=null;f.O||(f.oa="");k&&(l=k[1],g=k[2],k[0]?(f=l,k=g,g=e.b[d],Dg(e,d,!0),g.qb=!0,d=new kg(e,g,"preload"),e.Gd(g,d,f,k,!0)):Hg(e,d,l,g,!0)?f.O&&g&&Ig(e,l,g,f.O):
B(e,!1))}return!0}function Gg(a){for(var b=[],c=0;c<a.b.length;c++){var d=a.b[c];b.push([d.qb,d.xa,d.oa])}return b}function Fg(a){for(var b=0;b<a.b.length;b++){var c=a.b[b];c.O&&Jg(a,c.oa,c.O)}return a.l}
function Cg(a,b){b||(a.B=0);for(var c in a.C){var d=a.C[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.o.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=Ea(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.b.length)){!Hg(a,g,f,e,!0)&&b&&B(a,!1);continue}a.G("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.B}
h.Zc=function(a,b,c){if(!a&&!b){var d=this.o.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.o.listDrives)&&Ba(d.value,10);if(void 0===d||0>d||d>=this.b.length)return this.G("Unable to load the selected drive"),!1;if(!b)return Dg(this,d),!0;if(b==Ag)return this.G('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Bg){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=Ea(b);this.status("Attempting to load "+b+' as "'+
a+'"')}Hg(this,d,a,b,!1,c);return!0};h.Ed=function(){var a,b=this.o.listDrives,b=b&&Ba(b.value,10);if(null==b||0>b||b>=this.b.length||!(a=this.b[b]))return this.G("Unable to boot the selected drive"),!1;if(!a.O)return this.G("Load a disk into the drive first"),!1;hd(this.c,0,!0,b);return(a=this.ub(a,a.Xe,a.Ye,a.Ze,a.Oe,0,2))?(this.G("Unable to read the boot sector ("+a+")"),!1):!0};
function Hg(a,b,c,d,e,f){var g=-1,k=a.b[b];k.oa.toLowerCase()!=d.toLowerCase()&&(g++,Dg(a,b,!0),k.hc?a.G(a.type+" busy"):(k.hc=!0,e&&(k.Xc=!0,a.B++),k.qb=!!f,og(new kg(a,k,"preload"),c,d,f,a.Gd)&&g++));return g}
h.Gd=function(a,b,c,d,e){a.hc=!1;b&&(b.L>a.L||b.T>a.T)&&(this.G('Disk "'+c+'" too large for drive '+(this.b[a.rb].oc||"---")),b=null);b?(a.O=b,a.xa=c,a.oa=d,this.Ld(a.rb),Ig(this,c,d,b),this.G('Loaded disk "'+c+'" in drive '+(this.b[a.rb].oc||"---"),a.Xc||e),this.A&&$c(this.A)):a.qb=!1;a.Xc&&(a.Xc=!1,--this.B||B(this));xg(this,a.rb);a.Jb&&(a.Jb(),a.Jb=null)};
h.Gd=function(a,b,c,d,e){a.hc=!1;b&&(b.M>a.M||b.T>a.T)&&(this.G('Disk "'+c+'" too large for drive '+(this.b[a.rb].oc||"---")),b=null);b?(a.O=b,a.xa=c,a.oa=d,this.Ld(a.rb),Ig(this,c,d,b),this.G('Loaded disk "'+c+'" in drive '+(this.b[a.rb].oc||"---"),a.Xc||e),this.A&&$c(this.A)):a.qb=!1;a.Xc&&(a.Xc=!1,--this.B||B(this));xg(this,a.rb);a.Jb&&(a.Jb(),a.Jb=null)};
function yg(a,b,c,d){if((a=a.o.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function xg(a,b,c){var d=!1;if(0<=b&&b<a.b.length){var e=a.b[b],f=a.o.listDisks;a=a.o.listDrives;if(f&&a&&f.options&&a.options){if(c)for(c=0;c<a.options.length;c++)if(Ba(a.options[c].value,10)==e.rb){a.selectedIndex!=c&&(a.selectedIndex=c);d=!0;break}c=Ba(a.value,10);e=e.qb?Ag:e.oa;if(!isNaN(c)&&c==b){for(c=0;c<f.options.length;c++)if(f.options[c].value==e){f.selectedIndex!=c&&(f.selectedIndex=c);d=!0;break}c==f.options.length&&(f.selectedIndex=0)}}}return d}
h.wg=function(a){var b=this.o.listDrives;if(b&&b.options)for(var c=b.options.length,d=0;d<c;d++)if(b.options[d].textContent==a){var e=Ba(b.options[d].value,10);if(0<=e)return xg(this,e,!0)}return!1};
function wg(a){var b=a.o.listDisks,c=a.o.descDisk,d=b.options&&b.options[b.selectedIndex];if(c&&d){b={};if(d=d.getAttribute("data-value"))try{b=eval("("+d+")")}catch(e){u(a.type+" option error: "+e.message)}a=b.desc;void 0===a&&(a="");b=b.href;void 0!==b&&(a='<a href="'+b+'" target="_blank">'+a+"</a>");c.innerHTML=a}}h.Cg=function(a){for(var b=0;b<this.b.length;b++){var c=this.b[b];if(c&&c.hc)return c.Jb||(c.Jb=a),!1}return!0};
function Dg(a,b,c){var d=a.b[b];if(d.O||!1===c)Jg(a,d.oa,d.O),d.xa="",d.oa="",d.O=null,d.qb=!1,c||(a.G("Drive "+(a.b[b].oc||"---")+" unloaded",c),xg(a,b))}function Ig(a,b,c,d){var e;for(e=0;e<a.m.length;e++)if(a.m[e][1]==c){d.restore(a.m[e][2]);return}a.m[e]=[b,c,[]]}function Jg(a,b,c){var d;for(d=0;d<a.m.length;d++)if(a.m[d][1]==b){a.m[d][2]=c.save();break}}h.Ld=function(){};h.ub=function(){return-1};h.vc=function(){return-1};var zg="",Ag="?",Bg="??";
function N(a){ug.call(this,"RK11",a,65536,C,C.ac,Kg);this.s=this.f=this.a=this.i=this.h=this.g=this.l=0}n(N,ug);h=N.prototype;h.bb=function(a){a||(a=[Lg.ac|Lg.Bd|Lg.xd,0,S.za,0,0,0,0]);a=ia(a);this.s=a.next().value;this.f=a.next().value;this.a=a.next().value;this.i=a.next().value;this.h=a.next().value;this.g=a.next().value;this.l=a.next().value;return!0};h.pc=function(){return[this.s,this.f,this.a,this.i,this.h,this.g,this.l]};
h.ub=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.O;var p=null,q;a||(m=T.rd,e=0);for(;e;){if(!p){if(b>=a.L){m=T.Zb;break}p=a.seek(b,c,d+1);if(!p){m=T.Ad;break}q=0;++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b))}var v,y;if(0>(v=a.read(p,q++))||0>(y=a.read(p,q++))){m=T.$b;break}if(!k&&(Mb(this.u,sd(this.c,f),v|y<<8),lc(this.u))){m=T.Eb;break}q>=a.Z&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.O;var p=null,q;a||(m=T.rd,e=0);for(;e;){var v=Ob(this.u,sd(this.c,f));if(lc(this.u)){m=T.Eb;break}if(!p){if(b>=a.L){m=T.Zb;break}p=a.seek(b,c,d+1,!0);if(!p){m=T.Ad;break}q=0;++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b))}if(k){var y,ma;if(0>(y=a.read(p,q++))||0>(ma=a.read(p,q++))){m=T.$b;break}if(v!=(y|ma<<8)){m=T.Cd;break}}else if(!a.write(p,q++,v&255)||!a.write(p,q++,v>>8)){m=T.$b;break}q>=a.Z&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
function Dg(a,b,c){var d=a.b[b];if(d.O||!1===c)Jg(a,d.oa,d.O),d.xa="",d.oa="",d.O=null,d.qb=!1,c||(a.G("Drive "+(a.b[b].oc||"---")+" unloaded",c),xg(a,b))}function Ig(a,b,c,d){var e;for(e=0;e<a.l.length;e++)if(a.l[e][1]==c){d.restore(a.l[e][2]);return}a.l[e]=[b,c,[]]}function Jg(a,b,c){var d;for(d=0;d<a.l.length;d++)if(a.l[d][1]==b){a.l[d][2]=c.save();break}}h.Ld=function(){};h.ub=function(){return-1};h.vc=function(){return-1};var zg="",Ag="?",Bg="??";
function N(a){ug.call(this,"RK11",a,65536,C,C.ac,Kg);this.s=this.f=this.a=this.i=this.h=this.g=this.m=0}n(N,ug);h=N.prototype;h.bb=function(a){a||(a=[Lg.ac|Lg.Bd|Lg.xd,0,S.za,0,0,0,0]);a=ia(a);this.s=a.next().value;this.f=a.next().value;this.a=a.next().value;this.i=a.next().value;this.h=a.next().value;this.g=a.next().value;this.m=a.next().value;return!0};h.pc=function(){return[this.s,this.f,this.a,this.i,this.h,this.g,this.m]};
h.ub=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.O;var p=null,q;a||(m=T.rd,e=0);for(;e;){if(!p){if(b>=a.M){m=T.Zb;break}p=a.seek(b,c,d+1);if(!p){m=T.Ad;break}q=0;++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b))}var v,y;if(0>(v=a.read(p,q++))||0>(y=a.read(p,q++))){m=T.$b;break}if(!k&&(Mb(this.v,sd(this.c,f),v|y<<8),lc(this.v))){m=T.Eb;break}q>=a.Z&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.O;var p=null,q;a||(m=T.rd,e=0);for(;e;){var v=Ob(this.v,sd(this.c,f));if(lc(this.v)){m=T.Eb;break}if(!p){if(b>=a.M){m=T.Zb;break}p=a.seek(b,c,d+1,!0);if(!p){m=T.Ad;break}q=0;++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b))}if(k){var y,ma;if(0>(y=a.read(p,q++))||0>(ma=a.read(p,q++))){m=T.$b;break}if(v!=(y|ma<<8)){m=T.Cd;break}}else if(!a.write(p,q++,v&255)||!a.write(p,q++,v>>8)){m=T.$b;break}q>=a.Z&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.me=function(a,b,c,d,e,f){this.h=f&65535;this.a=this.a&~S.fb|f>>16-S.V.fb&S.fb;this.i=65536-e&65535;this.g=this.g&~Mg.Rc|d&Mg.Rc;this.f|=a;Ng(this);return!0};function Ng(a){a.a&=~S.Ja;a.f&&(a.f|=T.Yd,a.a|=S.Ja,a.f&T.Hc&&(a.a|=S.Hc))}h.Rf=function(){return this.s};h.ih=function(){};h.Sf=function(){return this.f};h.jh=function(){};h.Of=function(){return this.a&S.Fb};
h.fh=function(a){this.a=this.a&~S.va|a&S.va;if(this.a&S.Db){a=!0;var b,c,d=(this.g&Mg.Ta)>>Mg.V.Ta,e=this.b[d],f,g,k,l,m,p;this.a&=~(S.za|S.Sc);this.f&=~T.Ce;switch(c=this.a&S.ca){case Og.Td:this.f=this.g=0;this.a=S.za;break;case Og.he:case Og.Va:b=this.ub;case Og.Vc:case Og.Hb:b||(b=this.vc);f=(this.g&Mg.Bb)>>Mg.V.Bb;g=(this.g&Mg.Kc)>>Mg.V.Kc;k=this.g&Mg.Rc;l=65536-this.i&65535;m=(this.a&S.fb)<<16-S.V.fb|this.h;p=this.a&S.de?0:2;if(f>=e.L){this.f|=T.Zb;break}if(k>=e.P){this.f|=T.$b;break}a=b.call(this,
e,f,g,k,l,m,p,c>=Og.Vc,this.me.bind(this));break;case Og.ec:f=(this.g&Mg.Bb)>>Mg.V.Bb;f<e.L?this.a|=S.Sc:this.f|=T.Zb;break;case Og.Zd:this.f=this.g=0,this.a=S.za|S.Sc}this.s=e.status|(e.O?Lg.ha:0)|d<<Lg.V.Mc|this.g&Lg.Be;Ng(this);a&&(this.a&=~S.Db,this.a|=S.za,this.a&S.eb&&nc(this.c,this.qa))}};h.Tf=function(){return this.i};h.kh=function(a){this.i=a};h.Nf=function(){return this.h};h.eh=function(a){this.h=a};h.Pf=function(){return this.g};h.gh=function(a){this.g=a};h.Qf=function(){return this.l};
h.hh=function(a){this.l=a};var Lg=C.bc,T=C.pe,S=C.ne,Mg=C.oe,Og=C.ca,Pg={},Kg=(Pg[65280]=[null,null,N.prototype.Rf,N.prototype.ih,"RKDS"],Pg[65282]=[null,null,N.prototype.Sf,N.prototype.jh,"RKER"],Pg[65284]=[null,null,N.prototype.Of,N.prototype.fh,"RKCS"],Pg[65286]=[null,null,N.prototype.Tf,N.prototype.kh,"RKWC"],Pg[65288]=[null,null,N.prototype.Nf,N.prototype.eh,"RKBA"],Pg[65290]=[null,null,N.prototype.Pf,N.prototype.gh,"RKDA"],Pg[65294]=[null,null,N.prototype.Qf,N.prototype.hh,"RKDB"],Pg);
function M(a){ug.call(this,"RL11",a,131072,D,D.qe,Qg);this.a=this.l=this.f=this.g=this.i=this.h=0}n(M,ug);h=M.prototype;h.bb=function(a){a||(a=[U.ha|U.za,0,0,0,0,0]);a=ia(a);this.a=a.next().value;this.l=a.next().value;this.f=a.next().value;this.g=a.next().value;this.i=a.next().value;this.h=a.next().value;return!0};h.pc=function(){return[this.a,this.l,this.f,this.g,this.i,this.h]};
h.ub=function(a,b,c,d,e,f,g,k,l){g=0;a=a.O;k=null;var m;a||(g=Rg.Ba,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=Rg.Ba;break}m=0}var p,q;if(0>(p=a.read(k,m++))||0>(q=a.read(k,m++))){g=Rg.Ba;break}Mb(this.u,sd(this.c,f),p|q<<8);if(lc(this.u)){g=Rg.Eb;break}f+=2;e--;if(m>=a.Z&&(k=null,++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b>=a.L)))){g=Rg.Ba;break}}return l?l(g,b,c,d,e,f):g};
h.vc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.O;k=null;var m;a||(g=Rg.Ba,e=0);for(;e;){var p=Ob(this.u,sd(this.c,f));if(lc(this.u)){g=Rg.Eb;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=Rg.Ba;break}m=0}if(!a.write(k,m++,p&255)||!a.write(k,m++,p>>8)){g=Rg.Ba;break}if(m>=a.Z&&(k=null,++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b>=a.L)))){g=Rg.Ba;break}}return l?l(g,b,c,d,e,f):g};
h.re=function(a,b,c,d,e,f){this.l=f&65535;this.a=this.a&~U.ya|f>>16-U.V.ya&U.ya;this.h=f>>16&Sg.Fa;this.g=this.f=b<<V.V.Gb|(c?V.dc:0)|d&V.yd;this.i=65536-e&65535;a&&(this.a=this.a|a|U.Ja);return!0};h.Wf=function(){return this.a&U.Fb};
h.nh=function(a){this.a=this.a&~U.va|a&U.va;this.h=this.h&60|(a&U.ya)>>U.V.ya;if(!(this.a&U.za)){a=!0;var b,c=this.b[(this.a&U.Ta)>>U.V.Ta],d=c.O,e,f,g;this.a&=~U.ha;switch(this.a&U.ca){case Tg.Ge:this.i&Ug.md&&(this.a&=U.ha|U.ca|U.ya);this.i=c.status|this.g&V.dc|(d&&512==d.L?Ug.ae:0);break;case Tg.ec:(this.f&V.$d)==V.De&&(b=this.f&V.Gb,c=(this.f&V.Fe)<<2,this.g=this.f&V.Ee?this.g+b:this.g-b,this.f=this.g=this.g&V.Gb|c);break;case Tg.le:this.i=this.g;break;case Tg.ie:b=this.ub;case Tg.Je:b||(b=this.vc),
e=this.f>>V.V.Gb,f=this.f&V.dc?1:0,g=this.f&V.yd,!d||e>=d.L||g>=d.P?this.a=this.a|Rg.Ba|U.Ja:(a=65536-this.i&65535,d=(this.h&Sg.Fa)<<16|this.l,a=b.call(this,c,e,f,g,a,d,2,!1,this.re.bind(this)))}a&&(this.a=this.a|U.ha|U.za,this.a&U.eb&&nc(this.c,this.qa))}};h.Uf=function(){return this.l};h.lh=function(a){this.l=a&Vg.va};h.Xf=function(){return this.f};h.oh=function(a){this.f=a};h.Yf=function(){return this.i};h.ph=function(a){this.i=a};h.Vf=function(){return this.h};
h.fh=function(a){this.a=this.a&~S.va|a&S.va;if(this.a&S.Db){a=!0;var b,c,d=(this.g&Mg.Ta)>>Mg.V.Ta,e=this.b[d],f,g,k,l,m,p;this.a&=~(S.za|S.Sc);this.f&=~T.Ce;switch(c=this.a&S.ca){case Og.Td:this.f=this.g=0;this.a=S.za;break;case Og.he:case Og.Va:b=this.ub;case Og.Vc:case Og.Hb:b||(b=this.vc);f=(this.g&Mg.Bb)>>Mg.V.Bb;g=(this.g&Mg.Kc)>>Mg.V.Kc;k=this.g&Mg.Rc;l=65536-this.i&65535;m=(this.a&S.fb)<<16-S.V.fb|this.h;p=this.a&S.de?0:2;if(f>=e.M){this.f|=T.Zb;break}if(k>=e.P){this.f|=T.$b;break}a=b.call(this,
e,f,g,k,l,m,p,c>=Og.Vc,this.me.bind(this));break;case Og.ec:f=(this.g&Mg.Bb)>>Mg.V.Bb;f<e.M?this.a|=S.Sc:this.f|=T.Zb;break;case Og.Zd:this.f=this.g=0,this.a=S.za|S.Sc}this.s=e.status|(e.O?Lg.ha:0)|d<<Lg.V.Mc|this.g&Lg.Be;Ng(this);a&&(this.a&=~S.Db,this.a|=S.za,this.a&S.eb&&nc(this.c,this.qa))}};h.Tf=function(){return this.i};h.kh=function(a){this.i=a};h.Nf=function(){return this.h};h.eh=function(a){this.h=a};h.Pf=function(){return this.g};h.gh=function(a){this.g=a};h.Qf=function(){return this.m};
h.hh=function(a){this.m=a};var Lg=C.bc,T=C.pe,S=C.ne,Mg=C.oe,Og=C.ca,Pg={},Kg=(Pg[65280]=[null,null,N.prototype.Rf,N.prototype.ih,"RKDS"],Pg[65282]=[null,null,N.prototype.Sf,N.prototype.jh,"RKER"],Pg[65284]=[null,null,N.prototype.Of,N.prototype.fh,"RKCS"],Pg[65286]=[null,null,N.prototype.Tf,N.prototype.kh,"RKWC"],Pg[65288]=[null,null,N.prototype.Nf,N.prototype.eh,"RKBA"],Pg[65290]=[null,null,N.prototype.Pf,N.prototype.gh,"RKDA"],Pg[65294]=[null,null,N.prototype.Qf,N.prototype.hh,"RKDB"],Pg);
function M(a){ug.call(this,"RL11",a,131072,D,D.qe,Qg);this.a=this.m=this.f=this.g=this.i=this.h=0}n(M,ug);h=M.prototype;h.bb=function(a){a||(a=[U.ha|U.za,0,0,0,0,0]);a=ia(a);this.a=a.next().value;this.m=a.next().value;this.f=a.next().value;this.g=a.next().value;this.i=a.next().value;this.h=a.next().value;return!0};h.pc=function(){return[this.a,this.m,this.f,this.g,this.i,this.h]};
h.ub=function(a,b,c,d,e,f,g,k,l){g=0;a=a.O;k=null;var m;a||(g=Rg.Ba,e=0);for(;e;){if(!k){k=a.seek(b,c,d+1);if(!k){g=Rg.Ba;break}m=0}var p,q;if(0>(p=a.read(k,m++))||0>(q=a.read(k,m++))){g=Rg.Ba;break}Mb(this.v,sd(this.c,f),p|q<<8);if(lc(this.v)){g=Rg.Eb;break}f+=2;e--;if(m>=a.Z&&(k=null,++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=Rg.Ba;break}}return l?l(g,b,c,d,e,f):g};
h.vc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.O;k=null;var m;a||(g=Rg.Ba,e=0);for(;e;){var p=Ob(this.v,sd(this.c,f));if(lc(this.v)){g=Rg.Eb;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=Rg.Ba;break}m=0}if(!a.write(k,m++,p&255)||!a.write(k,m++,p>>8)){g=Rg.Ba;break}if(m>=a.Z&&(k=null,++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=Rg.Ba;break}}return l?l(g,b,c,d,e,f):g};
h.re=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&~U.ya|f>>16-U.V.ya&U.ya;this.h=f>>16&Sg.Fa;this.g=this.f=b<<V.V.Gb|(c?V.dc:0)|d&V.yd;this.i=65536-e&65535;a&&(this.a=this.a|a|U.Ja);return!0};h.Wf=function(){return this.a&U.Fb};
h.nh=function(a){this.a=this.a&~U.va|a&U.va;this.h=this.h&60|(a&U.ya)>>U.V.ya;if(!(this.a&U.za)){a=!0;var b,c=this.b[(this.a&U.Ta)>>U.V.Ta],d=c.O,e,f,g;this.a&=~U.ha;switch(this.a&U.ca){case Tg.Ge:this.i&Ug.md&&(this.a&=U.ha|U.ca|U.ya);this.i=c.status|this.g&V.dc|(d&&512==d.M?Ug.ae:0);break;case Tg.ec:(this.f&V.$d)==V.De&&(b=this.f&V.Gb,c=(this.f&V.Fe)<<2,this.g=this.f&V.Ee?this.g+b:this.g-b,this.f=this.g=this.g&V.Gb|c);break;case Tg.le:this.i=this.g;break;case Tg.ie:b=this.ub;case Tg.Je:b||(b=this.vc),
e=this.f>>V.V.Gb,f=this.f&V.dc?1:0,g=this.f&V.yd,!d||e>=d.M||g>=d.P?this.a=this.a|Rg.Ba|U.Ja:(a=65536-this.i&65535,d=(this.h&Sg.Fa)<<16|this.m,a=b.call(this,c,e,f,g,a,d,2,!1,this.re.bind(this)))}a&&(this.a=this.a|U.ha|U.za,this.a&U.eb&&nc(this.c,this.qa))}};h.Uf=function(){return this.m};h.lh=function(a){this.m=a&Vg.va};h.Xf=function(){return this.f};h.oh=function(a){this.f=a};h.Yf=function(){return this.i};h.ph=function(a){this.i=a};h.Vf=function(){return this.h};
h.mh=function(a){this.h=a&Sg.Fa;this.a=this.a&~U.ya|(this.h&3)<<U.V.ya};var U=D.ue,Vg=D.se,V=D.ve,Ug=D.cc,Sg=D.te,Rg=D.ld,Tg=D.ca,Wg={},Qg=(Wg[63744]=[null,null,M.prototype.Wf,M.prototype.nh,"RLCS"],Wg[63746]=[null,null,M.prototype.Uf,M.prototype.lh,"RLBA"],Wg[63748]=[null,null,M.prototype.Xf,M.prototype.oh,"RLDA"],Wg[63750]=[null,null,M.prototype.Yf,M.prototype.ph,"RLMP"],Wg[63752]=[null,null,M.prototype.Vf,M.prototype.mh,"RLBE"],Wg);
function Bc(a){ug.call(this,"RX11",a,262144,jb,jb.we,Xg);this.v=this.s=this.f=this.w=this.a=this.l=0;this.g=W.gb;this.i=0;this.h=Array(128).fill(0)}n(Bc,ug);h=Bc.prototype;
h.bb=function(a){a?(a=ia(a),this.a=a.next().value,this.l=a.next().value,this.v=a.next().value,this.s=a.next().value,this.f=a.next().value,this.w=a.next().value,this.g=a.next().value,this.i=a.next().value,this.h=a.next().value):(this.l=this.a=0,this.s=this.v=1,this.w=this.f=0,this.g=W.Va,this.i=0,(a=this.qa)&&rc(this.c,a),Yg(this));return!0};h.pc=function(){return[this.a,this.l,this.v,this.s,this.f,this.w,this.g,this.i,this.h]};h.Ld=function(a){a||this.bb()};
function Zg(a,b){b&&(a.w=b,a.l=a.f,a.a|=X.Ja);a.g=W.gb;a.a|=X.DONE;a.a&X.eb&&nc(a.c,a.qa)}h.ub=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.O,p=null,q;m||(k=a.rb?Y.Jc:Y.Ic,e=0);for(;e;){if(!p){if(b>=m.L){k=Y.fe;break}p=m.seek(b,c,d+1);if(!p){k=Y.Pc;break}q=0;++d>=m.P&&(d=0,++c>=m.T&&(c=0,++b))}var v;if(0>(a=m.read(p,q++))||0>(v=m.read(p,q++))){k=Y.Oc;break}Mb(this.u,sd(this.c,f),a|v<<8);q>=m.Z&&(p=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
function Yg(a){var b=0,c=a.a&X.Tc?1:0,d=a.b[c],d=d&&d.O,e=a.v&$g.Fa,f=a.s&ah.Fa;a.f&=~(Z.jd|Z.ud|Z.Cb|Z.ha);if(d)if(a.f|=Z.ha,c=d.seek(e,0,f,!0)){e=0;for(f=a.h.length;e<f;){var g=d.read(c,e);if(0>g){b=Y.Oc;break}a.h[e++]=g}c.Re&&(a.f|=Z.Cb)}else b=Y.Pc;else b=c?Y.Jc:Y.Ic;Zg(a,b)}h.$f=function(a,b){a=this.a;if(!b)switch(a&=X.Fb,this.g){case W.Ec:case W.EMPTY:this.i<this.h.length&&(this.a|=X.Ga);break;case W.Va:case W.Hb:case W.fc:2>this.i&&(this.a|=X.Ga)}return a};
h.rh=function(a){this.a=this.a&~X.va|a&X.va;if(this.a&X.INIT)this.bb();else if(this.a&X.Db&&this.g==W.gb)switch(this.g=this.a&X.ca,this.a&=~(X.Db|X.Ga|X.DONE|X.Ja),(a=this.qa)&&rc(this.c,a),this.g){case W.Ec:case W.EMPTY:case W.Va:case W.Hb:case W.fc:this.i=0;break;case W.ke:a=this.b[this.a&X.Tc?1:0];this.f&=~Z.ha;a&&a.O&&(this.f|=Z.ha);this.l=this.f;Zg(this);break;case W.je:this.l=this.w,Zg(this)}else this.a&X.eb?this.a&X.DONE&&nc(this.c,this.qa):(a=this.qa)&&rc(this.c,a)};
h.ag=function(a,b){if(!b)switch(this.g){case W.EMPTY:this.a&X.Ga&&(this.a&=~X.Ga,this.l=this.h[this.i]&255,++this.i>=this.h.length&&Zg(this))}return this.l};
h.sh=function(a){switch(this.g){case W.Ec:this.a&X.Ga&&(this.a&=~X.Ga,this.h[this.i]=a&255,++this.i>=this.h.length&&Zg(this));break;case W.Va:case W.Hb:case W.fc:if(this.a&X.Ga)switch(this.a&=~X.Ga,this.i++){case 0:this.s=a;break;case 1:if(this.v=a,this.g==W.Va)Yg(this);else{var b=this.g==W.fc,c=0,d=this.a&X.Tc?1:0,e=this.b[d],e=e&&e.O,f=this.v&$g.Fa,g=this.s&ah.Fa;this.f&=~(Z.jd|Z.ud|Z.Cb|Z.ha);if(e)if(this.f|=Z.ha,d=e.seek(f,0,g,!0))for(b&&(d.Re=!0),b=0,f=this.h.length;b<f;){if(!e.write(d,b,this.h[b]&
255)){c=Y.Oc;break}b++}else c=Y.Pc;else c=d?Y.Jc:Y.Ic;Zg(this,c)}}}this.l=a};var X=jb.xe,$g=jb.Ae,ah=jb.ze,Z=jb.ye,W=jb.ca,Y=jb.ERROR,bh={},Xg=(bh[65144]=[null,null,Bc.prototype.$f,Bc.prototype.rh,"RXCS"],bh[65146]=[null,null,Bc.prototype.ag,Bc.prototype.sh,"RXDB"],bh);
function ch(a,b,c){r.call(this,"Computer",a,33554432);this.j.R=!1;this.F=null;dh(this,b);this.w=Tc(this,"autoPower",a,6);this.g=0;this.J=+a.busWidth||+a.buswidth;this.s=this.i=this.v=null;this.l=this.I=!1;this.m=this.h=null;this.H=this.B=this.C=!1;this.K=Tc(this,"url")||"";(Math.random()+.1).toString(36);this.b=eh(this);if(this.c=ta("CPU",this.id)){this.D=ta("Debugger",this.id);this.u=new Rb({id:this.Ua+".bus",busWidth:this.J},this.c,this.D);var d,e=ra(this.id);if((this.f=ta("Panel",this.id))&&this.f.ob)for(b=
0;b<e.length;b++)d=e[b],d.G=this.f.G,d.aa=this.f.aa,d.ob=this.f.ob;this.aa(gb+" v1.34.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.aa("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.ja&&d.ja(this,this.u,this.c,this.D);b=null;d=Tc(this,"resume",a);void 0!==d&&(1<d.length?b=this.i=d:this.a=parseInt(d,10));var f;if(a=Tc(this,
"state")||(f=!0,a.state))this.v=b=a,f||(this.l=!0,this.a=fh),this.a&&(this.m=new E(this,"1.34.0"),gh(this.m)?b=null:delete this.m);!b&&this.a&&(b=hh(this))&&(this.l=!0);if(b){var g=this;Ma(b,null,!0,function(a,b,c){c?(g.i=null,g.l=!1,g.G("Unable to load machine state from server (error "+c+(b?": "+Ja(b):"")+")")):(g.s=b,g.I=!0);B(g)})}else B(this);this.o.power||(this.w=!0);!c&&this.w&&this.Vb(this.Sb)}else u("Unable to find CPU component")}n(ch,r);
function Bc(a){ug.call(this,"RX11",a,262144,jb,jb.we,Xg);this.u=this.s=this.f=this.w=this.a=this.m=0;this.g=W.gb;this.i=0;this.h=Array(128).fill(0)}n(Bc,ug);h=Bc.prototype;
h.bb=function(a){a?(a=ia(a),this.a=a.next().value,this.m=a.next().value,this.u=a.next().value,this.s=a.next().value,this.f=a.next().value,this.w=a.next().value,this.g=a.next().value,this.i=a.next().value,this.h=a.next().value):(this.m=this.a=0,this.s=this.u=1,this.w=this.f=0,this.g=W.Va,this.i=0,(a=this.qa)&&rc(this.c,a),Yg(this));return!0};h.pc=function(){return[this.a,this.m,this.u,this.s,this.f,this.w,this.g,this.i,this.h]};h.Ld=function(a){a||this.bb()};
function Zg(a,b){b&&(a.w=b,a.m=a.f,a.a|=X.Ja);a.g=W.gb;a.a|=X.DONE;a.a&X.eb&&nc(a.c,a.qa)}h.ub=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.O,p=null,q;m||(k=a.rb?Y.Jc:Y.Ic,e=0);for(;e;){if(!p){if(b>=m.M){k=Y.fe;break}p=m.seek(b,c,d+1);if(!p){k=Y.Pc;break}q=0;++d>=m.P&&(d=0,++c>=m.T&&(c=0,++b))}var v;if(0>(a=m.read(p,q++))||0>(v=m.read(p,q++))){k=Y.Oc;break}Mb(this.v,sd(this.c,f),a|v<<8);q>=m.Z&&(p=null);f+=g;e--}return l?l(k,b,c,d,e,f):k};
function Yg(a){var b=0,c=a.a&X.Tc?1:0,d=a.b[c],d=d&&d.O,e=a.u&$g.Fa,f=a.s&ah.Fa;a.f&=~(Z.jd|Z.ud|Z.Cb|Z.ha);if(d)if(a.f|=Z.ha,c=d.seek(e,0,f,!0)){e=0;for(f=a.h.length;e<f;){var g=d.read(c,e);if(0>g){b=Y.Oc;break}a.h[e++]=g}c.Re&&(a.f|=Z.Cb)}else b=Y.Pc;else b=c?Y.Jc:Y.Ic;Zg(a,b)}h.$f=function(a,b){a=this.a;if(!b)switch(a&=X.Fb,this.g){case W.Ec:case W.EMPTY:this.i<this.h.length&&(this.a|=X.Ga);break;case W.Va:case W.Hb:case W.fc:2>this.i&&(this.a|=X.Ga)}return a};
h.rh=function(a){this.a=this.a&~X.va|a&X.va;if(this.a&X.INIT)this.bb();else if(this.a&X.Db&&this.g==W.gb)switch(this.g=this.a&X.ca,this.a&=~(X.Db|X.Ga|X.DONE|X.Ja),(a=this.qa)&&rc(this.c,a),this.g){case W.Ec:case W.EMPTY:case W.Va:case W.Hb:case W.fc:this.i=0;break;case W.ke:a=this.b[this.a&X.Tc?1:0];this.f&=~Z.ha;a&&a.O&&(this.f|=Z.ha);this.m=this.f;Zg(this);break;case W.je:this.m=this.w,Zg(this)}else this.a&X.eb?this.a&X.DONE&&nc(this.c,this.qa):(a=this.qa)&&rc(this.c,a)};
h.ag=function(a,b){if(!b)switch(this.g){case W.EMPTY:this.a&X.Ga&&(this.a&=~X.Ga,this.m=this.h[this.i]&255,++this.i>=this.h.length&&Zg(this))}return this.m};
h.sh=function(a){switch(this.g){case W.Ec:this.a&X.Ga&&(this.a&=~X.Ga,this.h[this.i]=a&255,++this.i>=this.h.length&&Zg(this));break;case W.Va:case W.Hb:case W.fc:if(this.a&X.Ga)switch(this.a&=~X.Ga,this.i++){case 0:this.s=a;break;case 1:if(this.u=a,this.g==W.Va)Yg(this);else{var b=this.g==W.fc,c=0,d=this.a&X.Tc?1:0,e=this.b[d],e=e&&e.O,f=this.u&$g.Fa,g=this.s&ah.Fa;this.f&=~(Z.jd|Z.ud|Z.Cb|Z.ha);if(e)if(this.f|=Z.ha,d=e.seek(f,0,g,!0))for(b&&(d.Re=!0),b=0,f=this.h.length;b<f;){if(!e.write(d,b,this.h[b]&
255)){c=Y.Oc;break}b++}else c=Y.Pc;else c=d?Y.Jc:Y.Ic;Zg(this,c)}}}this.m=a};var X=jb.xe,$g=jb.Ae,ah=jb.ze,Z=jb.ye,W=jb.ca,Y=jb.ERROR,bh={},Xg=(bh[65144]=[null,null,Bc.prototype.$f,Bc.prototype.rh,"RXCS"],bh[65146]=[null,null,Bc.prototype.ag,Bc.prototype.sh,"RXDB"],bh);
function ch(a,b,c){r.call(this,"Computer",a,33554432);this.j.R=!1;this.F=null;dh(this,b);this.w=Tc(this,"autoPower",a,6);this.g=0;this.J=+a.busWidth||+a.buswidth;this.s=this.i=this.u=null;this.m=this.I=!1;this.l=this.h=null;this.H=this.B=this.C=!1;this.K=Tc(this,"url")||"";(Math.random()+.1).toString(36);this.b=eh(this);if(this.c=ta("CPU",this.id)){this.D=ta("Debugger",this.id);this.v=new Rb({id:this.Ua+".bus",busWidth:this.J},this.c,this.D);var d,e=ra(this.id);if((this.f=ta("Panel",this.id))&&this.f.ob)for(b=
0;b<e.length;b++)d=e[b],d.G=this.f.G,d.aa=this.f.aa,d.ob=this.f.ob;this.aa(gb+" v1.34.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.aa("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis <http://skn.noip.me/pdp11/pdp11.html>");for(b=0;b<e.length;b++)d=e[b],d.ja&&d.ja(this,this.v,this.c,this.D);b=null;d=Tc(this,"resume",a);void 0!==d&&(1<d.length?b=this.i=d:this.a=parseInt(d,10));var f;if(a=Tc(this,
"state")||(f=!0,a.state))this.u=b=a,f||(this.m=!0,this.a=fh),this.a&&(this.l=new E(this,"1.34.0"),gh(this.l)?b=null:delete this.l);!b&&this.a&&(b=hh(this))&&(this.m=!0);if(b){var g=this;Ma(b,null,!0,function(a,b,c){c?(g.i=null,g.m=!1,g.G("Unable to load machine state from server (error "+c+(b?": "+Ja(b):"")+")")):(g.s=b,g.I=!0);B(g)})}else B(this);this.o.power||(this.w=!0);!c&&this.w&&this.Vb(this.Sb)}else u("Unable to find CPU component")}n(ch,r);
function dh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.F=b}function Tc(a,b,c,d){var e=b.toLowerCase(),e=Va(b)||Va(e);void 0===e&&a.F&&(e=a.F[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}h=ch.prototype;
h.Vb=function(a,b){for(var c=this,d=ra(this.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:this;if(!za(f)){za(f,function(){c.Vb(a,b)});return}}a.call(this,b)};function ih(a,b){var c=new E(a,"1.34.0",jh);if(gh(c)&&kh(c)){var d=c.get(lh),e=b?b.get(lh):"unknown";d!=e&&(a.G("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
h.Sb=function(a){void 0===a&&(a=this.a||(this.s?mh:fh));if(!this.g){this.g++;var b=!1,c=!1;this.C=!1;var d=this.m||new E(this,"1.34.0");if(a==nh)b=!0;else if(a>fh){if(gh(d,this.s)){this.h=new E(this,"1.34.0",qh);gh(this.h)&&(rh(this,d),a=sh,th(this.h));this.h.set(lh,La());uh(this.h);var e=this.a&&!this.l;if(a==mh||qa("Click OK to restore the previous "+gb+" machine state, or CANCEL to reset the machine.")){if(c=kh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?gh(d,g):("error"==f&&"no machine state"!=
g?(this.G("Error: "+g),"unable to verify user"==g&&(Sa(vh,""),this.b=null)):this.aa(f+": "+g),th(d),gh(d)?(c=kh(d),e=!0):c=!1))}e&&ih(this,c?d:null)}else a==sh&&d.clear()}else ih(this);delete this.s;delete this.m}e=ra(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=wh(this,g,d,b,c));b=[d,a,c];a!=nh?this.Vb(this.Fd,b):this.Fd(b)}};
function wh(a,b,c,d,e){if(!b.j.R){b.j.R=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.la(f,d)&&f&&(u("Unable to restore state for "+b.type),a.v&&!a.I?(c.clear(),a.a=fh,window&&window.location.reload()):a.C=!0,b.la(null),e=!1),!d&&b.qd){var g=b.qd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){u("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.Sb=function(a){void 0===a&&(a=this.a||(this.s?mh:fh));if(!this.g){this.g++;var b=!1,c=!1;this.C=!1;var d=this.l||new E(this,"1.34.0");if(a==nh)b=!0;else if(a>fh){if(gh(d,this.s)){this.h=new E(this,"1.34.0",qh);gh(this.h)&&(rh(this,d),a=sh,th(this.h));this.h.set(lh,La());uh(this.h);var e=this.a&&!this.m;if(a==mh||qa("Click OK to restore the previous "+gb+" machine state, or CANCEL to reset the machine.")){if(c=kh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?gh(d,g):("error"==f&&"no machine state"!=
g?(this.G("Error: "+g),"unable to verify user"==g&&(Sa(vh,""),this.b=null)):this.aa(f+": "+g),th(d),gh(d)?(c=kh(d),e=!0):c=!1))}e&&ih(this,c?d:null)}else a==sh&&d.clear()}else ih(this);delete this.s;delete this.l}e=ra(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.c&&(c=wh(this,g,d,b,c));b=[d,a,c];a!=nh?this.Vb(this.Fd,b):this.Fd(b)}};
function wh(a,b,c,d,e){if(!b.j.R){b.j.R=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.la(f,d)&&f&&(u("Unable to restore state for "+b.type),a.u&&!a.I?(c.clear(),a.a=fh,window&&window.location.reload()):a.C=!0,b.la(null),e=!1),!d&&b.qd){var g=b.qd.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(k){u("Error restoring state for "+b.type+" ("+k.message+")")}}return e}
h.Fd=function(a){var b=a[0],c=0>a[1];a=a[2];this.H=!0;this.j.R=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.c&&(wh(this,this.c,b,c,a),Kb(this,-2),this.c.Y());this.C&&(rh(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0};
function rh(a,b){if(qa("There may be a problem with your "+gb+" machine.\n\nTo help us diagnose it, click OK to send this "+gb+" machine state to http://www.pcjs.org.")){var c=a.K;a=a.b||"";b=b.toString();var d={};d.app=gb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}}
function xh(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new E(a,"1.34.0"),g=new E(a,"1.34.0",jh),k=La();g.set(lh,k);f.set(lh,k);f.set(yh,"1.34.0");f.set(zh,window?window.location.href:null);f.set(Ah,window?window.navigator.userAgent:"");a.c&&a.c.ka&&(c&&(b&&(a.c.j.Y=a.c.j.M),G(a.c)),d=a.c.ka(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.j.R=!1,!1===d&&(e=null)));for(var k=ra(a.id),l=0;l<k.length;l++){var m=k[l];m.j.R&&(m.ka&&(d=m.ka(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.j.R=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.b&&Bh(a,a.b,f.toString()),uh(g)&&uh(f)||(e=null,d=k=!0)):a.a&&(d=!0,k=a.a==Ch),d&&f.clear(k)):e=f.toString());c&&(a.j.R=!1,b=a.o.power)&&(b.textContent="Power");a.g=0;return e}h.reset=function(){this.j.reset=!0;this.u&&this.u.reset&&this.u.reset();this.c&&this.c.reset&&this.c.reset();for(var a=ra(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.u&&c!==this.c&&c.reset&&c.reset()}this.j.reset=!1;Kb(this,-1)};
function xh(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new E(a,"1.34.0"),g=new E(a,"1.34.0",jh),k=La();g.set(lh,k);f.set(lh,k);f.set(yh,"1.34.0");f.set(zh,window?window.location.href:null);f.set(Ah,window?window.navigator.userAgent:"");a.c&&a.c.ka&&(c&&(b&&(a.c.j.Y=a.c.j.N),G(a.c)),d=a.c.ka(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.j.R=!1,!1===d&&(e=null)));for(var k=ra(a.id),l=0;l<k.length;l++){var m=k[l];m.j.R&&(m.ka&&(d=m.ka(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.j.R=
!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.b&&Bh(a,a.b,f.toString()),uh(g)&&uh(f)||(e=null,d=k=!0)):a.a&&(d=!0,k=a.a==Ch),d&&f.clear(k)):e=f.toString());c&&(a.j.R=!1,b=a.o.power)&&(b.textContent="Power");a.g=0;return e}h.reset=function(){this.j.reset=!0;this.v&&this.v.reset&&this.v.reset();this.c&&this.c.reset&&this.c.reset();for(var a=ra(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.v&&c!==this.c&&c.reset&&c.reset()}this.j.reset=!1;Kb(this,-1)};
h.start=function(a,b){for(var c=ra(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}Kb(this,-1)};h.stop=function(a,b){for(var c=ra(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}Kb(this,-1)};
function Kb(a,b){if(a.c){var c=a.c,d=b||0,e=c.o.speed;e&&(0>=d||30<=(c.fd+=d))&&(e.textContent=c.j.M?c.Wa.toFixed(2)+"Mhz":"Stopped",c.fd=0)}if(a.f&&(a=a.f,b=b||0,a.m)){c=a.c.j.M;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;e<a.c.b.length;e++)Ab(a,"R"+e,a.c.b[e]);e=xc(a.c);Ab(a,"PS",e);Ab(a,"NF",e&8?1:0,1);Ab(a,"ZF",e&4?1:0,1);Ab(a,"VF",e&2?1:0,1);Ab(a,"CF",e&1?1:0,1);a.i=0}-1>b?a.U=a.c.b[7]:0<b&&c&&!d&&(a.U=a.c.Ka);wb(a,a.U);nb(a,a.b);b=a.c;b=b.kb?b.ta&16?1:2:4;Pb(a,"B22",b&1);Pb(a,"B18",b&2);Pb(a,
function Kb(a,b){if(a.c){var c=a.c,d=b||0,e=c.o.speed;e&&(0>=d||30<=(c.fd+=d))&&(e.textContent=c.j.N?c.Wa.toFixed(2)+"Mhz":"Stopped",c.fd=0)}if(a.f&&(a=a.f,b=b||0,a.l)){c=a.c.j.N;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;e<a.c.b.length;e++)Ab(a,"R"+e,a.c.b[e]);e=xc(a.c);Ab(a,"PS",e);Ab(a,"NF",e&8?1:0,1);Ab(a,"ZF",e&4?1:0,1);Ab(a,"VF",e&2?1:0,1);Ab(a,"CF",e&1?1:0,1);a.i=0}-1>b?a.U=a.c.b[7]:0<b&&c&&!d&&(a.U=a.c.Ka);wb(a,a.U);nb(a,a.b);b=a.c;b=b.kb?b.ta&16?1:2:4;Pb(a,"B22",b&1);Pb(a,"B18",b&2);Pb(a,
"B16",b&4)}}
h.ma=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.g||(d.j.R?xh(d,!1,!0):d.Vb(d.Sb))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.j.R&&!d.g)if(d.a&&!d.i){var a=qa("Click OK to save changes to this "+gb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");xh(d,a,!0);!a&&d.v?window&&window.location.reload():(a||(d.B=!0),d.Sb(fh),d.B=!1)}else d.reset(),d.c&&!d.D&&d.c.Y()},!0;case "save":if(Ga(Oa(),"pcjs.org"))c.parentNode.removeChild(c);else return this.o[b]=
c,c.onclick=function(){var a=eh(d,!0);if(a){var b=!!(d.a&&!d.i||d.v),c=xh(d,b);b?Bh(d,a,c):d.G("Resume disabled, machine state not saved")}},!0}return!1};function eh(a,b){var c=a.b;c||((c=Ra(vh),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Dh(a,c))||a.G("The user ID is invalid.")):b&&a.G("Browser local storage is not available"));return c}
h.ma=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.g||(d.j.R?xh(d,!1,!0):d.Vb(d.Sb))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.j.R&&!d.g)if(d.a&&!d.i){var a=qa("Click OK to save changes to this "+gb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");xh(d,a,!0);!a&&d.u?window&&window.location.reload():(a||(d.B=!0),d.Sb(fh),d.B=!1)}else d.reset(),d.c&&!d.D&&d.c.Y()},!0;case "save":if(Ga(Oa(),"pcjs.org"))c.parentNode.removeChild(c);else return this.o[b]=
c,c.onclick=function(){var a=eh(d,!0);if(a){var b=!!(d.a&&!d.i||d.u),c=xh(d,b);b?Bh(d,a,c):d.G("Resume disabled, machine state not saved")}},!0}return!1};function eh(a,b){var c=a.b;c||((c=Ra(vh),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Dh(a,c))||a.G("The user ID is invalid.")):b&&a.G("Browser local storage is not available"));return c}
function Dh(a,b){a.b=null;b=Ma(Oa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Sa(vh,b.data),a.b=b.data)}catch(d){u(d.message+" ("+c+")")}return a.b}function hh(a){var b=null;a.b&&(b=Oa()+"/api/v1/user?req=load&user="+a.b+"&state="+Eh(a,"1.34.0"));return b}
function Bh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Eh(a,"1.34.0");d.data=c;b=Ma(Oa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.G("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.G(c),Sa(vh,""),a.b=null)}}
function Xf(a){var b;a=ra(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function $c(a){if(a.ob){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ob.focus();window&&window.scrollTo(b,c)}}var qh="failsafe",jh="validate",lh="timestamp",yh="version",zh="url",Ah="browser",vh="user",nh=-1,fh=0,mh=1,sh=2,Ch=3;