Codify reasons for assorted traps

This commit is contained in:
Jeff 2016-09-28 15:35:22 -07:00 • committed by Jeff Parsons
commit c858fd0699
7 changed files with 375 additions and 295 deletions

View file

@ -219,10 +219,18 @@ BusPDP11.IOController = {
var bus = this.controller; var bus = this.controller;
var afn = bus.aIOHandlers[off]; var afn = bus.aIOHandlers[off];
if (afn) { if (afn) {
/*
* If a writeByte() handler exists, call it; we're done
*/
if (afn[1]) { if (afn[1]) {
afn[1](b, addr); afn[1](b, addr);
return; return;
} else if (afn[3]) { }
/*
* If a writeWord() handler exists, call the readWord() handler first to get the original data,
* then call writeWord() with the new data pre-inserted into the original data.
*/
if (afn[3]) {
w = afn[2]? afn[2](addr) : 0; w = afn[2]? afn[2](addr) : 0;
if (!(addr & 0x1)) { if (!(addr & 0x1)) {
afn[3]((w & ~0xff) | b, addr) afn[3]((w & ~0xff) | b, addr)
@ -232,6 +240,11 @@ BusPDP11.IOController = {
return; return;
} }
} else if (addr & 0x1) { } else if (addr & 0x1) {
/*
* If no handler existed, and this address was odd, then perhaps a handler exists for the even address;
* if so, call the readWord() handler first to get the original data, then call writeWord() with the new
* data pre-inserted into (the high byte of) the original data.
*/
afn = bus.aIOHandlers[off & ~0x1]; afn = bus.aIOHandlers[off & ~0x1];
if (afn[3]) { if (afn[3]) {
addr &= ~0x1; addr &= ~0x1;

View file

@ -37,6 +37,22 @@ if (NODE) {
var PDP11 = require("./defines"); var PDP11 = require("./defines");
} }
/*
* Decoding starts at the bottom of this file, in op1170(). The basic decoding approach is to
* dispatch on the top 4 bits of the opcode, and if further decoding is required, then dispatch on
* the next 4 bits, and so on (although some of the intermediate levels dispatch only on 2 bits).
*
* Eventually, every opcode should end up either in an opXXX() function or opUndefined(). For
* opcodes that perform a simple read and/or write operation, the entire functionality is handled
* by the opXXX() function. For opcodes that perform a more extensive read/modify/write operation
* (also known as an update operation), those opXXX() functions usually rely on a corresponding
* fnXXX() helper function.
*
* For example, opADD() passes the helper function fnADD() to the appropriate update method. This
* allows the update method to perform the entire read/modify/write operation, because the modification
* is handled by the helper function.
*/
/** /**
* fnADD(src, dst) * fnADD(src, dst)
* *
@ -803,7 +819,7 @@ PDP11.opBPL = function(opCode)
*/ */
PDP11.opBPT = function(opCode) PDP11.opBPT = function(opCode)
{ {
this.trap(PDP11.TRAP.BREAKPOINT, 6); this.trap(PDP11.TRAP.BREAKPOINT, PDP11.REASON.BPT);
this.nStepCycles -= 1; this.nStepCycles -= 1;
}; };
@ -1061,7 +1077,7 @@ PDP11.opDIV = function(opCode)
*/ */
PDP11.opEMT = function(opCode) PDP11.opEMT = function(opCode)
{ {
this.trap(PDP11.TRAP.EMULATOR, 2); this.trap(PDP11.TRAP.EMULATOR, PDP11.REASON.EMT);
this.nStepCycles -= 1; this.nStepCycles -= 1;
}; };
@ -1075,7 +1091,7 @@ PDP11.opHALT = function(opCode)
{ {
if (this.regPSW & PDP11.PSW.CMODE) { if (this.regPSW & PDP11.PSW.CMODE) {
this.regErr |= PDP11.CPUERR.BADHALT; this.regErr |= PDP11.CPUERR.BADHALT;
this.trap(PDP11.TRAP.BUS_ERROR, 46); this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.HALT);
} else { } else {
this.runState = 3; this.runState = 3;
this.endBurst(); this.endBurst();
@ -1115,7 +1131,7 @@ PDP11.opINCB = function(opCode)
*/ */
PDP11.opIOT = function(opCode) PDP11.opIOT = function(opCode)
{ {
this.trap(PDP11.TRAP.IOT, 8); this.trap(PDP11.TRAP.IOT, PDP11.REASON.IOT);
this.nStepCycles -= 1; this.nStepCycles -= 1;
}; };
@ -1548,7 +1564,7 @@ PDP11.opSXT = function(opCode)
*/ */
PDP11.opTRAP = function(opCode) PDP11.opTRAP = function(opCode)
{ {
this.trap(PDP11.TRAP.TRAP, 4); this.trap(PDP11.TRAP.TRAP, PDP11.REASON.TRAP);
this.nStepCycles -= 1; this.nStepCycles -= 1;
}; };
@ -1612,18 +1628,7 @@ PDP11.opXOR = function(opCode)
*/ */
PDP11.opUndefined = function(opCode) PDP11.opUndefined = function(opCode)
{ {
this.trap(PDP11.TRAP.RESERVED, 48); this.trap(PDP11.TRAP.RESERVED, PDP11.REASON.RESERVED);
};
/**
* op1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op1170 = function(opCode)
{
PDP11.aOpsXnnn_1170[opCode >> 12].call(this, opCode);
}; };
/** /**
@ -1802,6 +1807,17 @@ PDP11.op8DXn_1170 = function(opCode)
PDP11.aOps8DXn_1170[(opCode >> 6) & 0x3].call(this, opCode); PDP11.aOps8DXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
}; };
/**
* op1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op1170 = function(opCode)
{
PDP11.aOpsXnnn_1170[opCode >> 12].call(this, opCode);
};
PDP11.aOpsXnnn_1170 = [ PDP11.aOpsXnnn_1170 = [
PDP11.op0Xnn_1170, // 0x0nnn PDP11.op0Xnn_1170, // 0x0nnn
PDP11.opMOV, // 0x1nnn 01SSDD PDP11.opMOV, // 0x1nnn 01SSDD

View file

@ -184,10 +184,10 @@ CPUStatePDP11.prototype.resetRegs = function()
this.regSL = 0xff; // 177774 this.regSL = 0xff; // 177774
this.regErr = 0; // 177766 this.regErr = 0; // 177766
this.regPIR = 0; // 177772 this.regPIR = 0; // 177772
this.MMR0 = 0; // 177572 this.regMMR0 = 0; // 177572
this.MMR1 = 0; // 177574 this.regMMR1 = 0; // 177574
this.MMR2 = 0; // 177576 this.regMMR2 = 0; // 177576
this.MMR3 = 0; // 172516 this.regMMR3 = 0; // 172516
this.mmuEnable = 0; // MMU enabled for PDP11.ACCESS.READ or PDP11.ACCESS.WRITE this.mmuEnable = 0; // MMU enabled for PDP11.ACCESS.READ or PDP11.ACCESS.WRITE
this.mmuLastMode = 0; this.mmuLastMode = 0;
this.mmuMask = [ // mask to control I&D access for each mode this.mmuMask = [ // mask to control I&D access for each mode
@ -230,7 +230,7 @@ CPUStatePDP11.prototype.initMemoryAccess = function()
*/ */
CPUStatePDP11.prototype.getMMR0 = function() CPUStatePDP11.prototype.getMMR0 = function()
{ {
return (this.MMR0 & 0xf381) | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); return (this.regMMR0 & 0xf381) | (this.mmuLastMode << 5) | (this.mmuLastPage << 1);
}; };
/** /**
@ -242,7 +242,7 @@ CPUStatePDP11.prototype.getMMR0 = function()
*/ */
CPUStatePDP11.prototype.setMMR0 = function(newMMR0) CPUStatePDP11.prototype.setMMR0 = function(newMMR0)
{ {
this.MMR0 = newMMR0 &= 0xf381; this.regMMR0 = newMMR0 &= 0xf381;
this.mmuLastMode = (newMMR0 >> 5) & 3; this.mmuLastMode = (newMMR0 >> 5) & 3;
this.mmuLastPage = (newMMR0 >> 1) & 0xf; this.mmuLastPage = (newMMR0 >> 1) & 0xf;
if (newMMR0 & 0x101) { if (newMMR0 & 0x101) {
@ -255,7 +255,7 @@ CPUStatePDP11.prototype.setMMR0 = function(newMMR0)
this.mmuEnable = 0; this.mmuEnable = 0;
} }
this.initMemoryAccess(); this.initMemoryAccess();
return this.MMR0; return this.regMMR0;
}; };
/** /**
@ -655,9 +655,9 @@ CPUStatePDP11.prototype.checkInterruptQueue = function()
} }
if (savePSW > (this.regPSW & 0xe0)) { if (savePSW > (this.regPSW & 0xe0)) {
if (!interruptEvent) { if (!interruptEvent) {
this.trap(PDP11.TRAP.PIRQ, 42); this.trap(PDP11.TRAP.PIRQ, PDP11.REASON.INTERRUPT);
} else { } else {
this.trap(interruptEvent.vector, 44); this.trap(interruptEvent.vector, PDP11.REASON.INTERRUPT);
} }
} }
} }
@ -882,9 +882,9 @@ CPUStatePDP11.prototype.trap = function(vector, reason)
doubleTrap = true; doubleTrap = true;
} }
if (!(this.MMR0 & 0xe000)) { if (!(this.regMMR0 & 0xe000)) {
this.MMR1 = 0xf6f6; this.regMMR1 = 0xf6f6;
this.MMR2 = vector; this.regMMR2 = vector;
} }
/* /*
@ -897,7 +897,7 @@ CPUStatePDP11.prototype.trap = function(vector, reason)
/* /*
* Set new PSW with previous mode * Set new PSW with previous mode
*/ */
this.setPSW((newPSW & 0xcfff) | ((this.trapPSW >> 2) & 0x3000)); this.setPSW((newPSW & ~PDP11.PSW.PMODE) | ((this.trapPSW >> 2) & PDP11.PSW.PMODE));
if (doubleTrap) { if (doubleTrap) {
this.regErr |= PDP11.CPUERR.RED; this.regErr |= PDP11.CPUERR.RED;
@ -911,7 +911,11 @@ CPUStatePDP11.prototype.trap = function(vector, reason)
this.opFlags &= ~PDP11.OPFLAG.TRAP_MASK; // lose interest in traps after an abort this.opFlags &= ~PDP11.OPFLAG.TRAP_MASK; // lose interest in traps after an abort
this.trapPSW = -1; // reset flag that we have a trap within a trap this.trapPSW = -1; // reset flag that we have a trap within a trap
if (DEBUG && this.dbg) this.dbg.println("trap to vector " + this.dbg.toBase(vector) + (reason? " (reason " + reason + ")" : "")); if (DEBUG && this.dbg) {
if (reason != PDP11.REASON.INTERRUPT) {
this.dbg.println("trap to vector " + this.dbg.toBase(vector, 0, true) + (reason? " (reason " + reason + ")" : ""));
}
}
throw vector; throw vector;
}; };
@ -954,7 +958,7 @@ CPUStatePDP11.prototype.mapUnibus = function(unibusAddress)
{ {
var idx = (unibusAddress >> 13) & 0x1f; var idx = (unibusAddress >> 13) & 0x1f;
if (idx < 31) { if (idx < 31) {
if (this.MMR3 & PDP11.MMR3.UNIBUS_MAP) { if (this.regMMR3 & PDP11.MMR3.UNIBUS_MAP) {
unibusAddress = (this.unibusMap[idx] + (unibusAddress & 0x1ffe)) & 0x3ffffe; unibusAddress = (this.unibusMap[idx] + (unibusAddress & 0x1ffe)) & 0x3ffffe;
if (unibusAddress >= BusPDP11.IOPAGE_UNIBUS && unibusAddress < BusPDP11.IOPAGE_22BIT) this.panic(898); if (unibusAddress >= BusPDP11.IOPAGE_UNIBUS && unibusAddress < BusPDP11.IOPAGE_22BIT) this.panic(898);
} }
@ -1026,7 +1030,7 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(virtualAddress, accessFl
} else { // no max_memory check in 16 bit mode } else { // no max_memory check in 16 bit mode
if ((physicalAddress & 1) && !(accessFlags & PDP11.ACCESS.BYTE)) { if ((physicalAddress & 1) && !(accessFlags & PDP11.ACCESS.BYTE)) {
this.regErr |= PDP11.CPUERR.ODDADDR; this.regErr |= PDP11.CPUERR.ODDADDR;
this.trap(PDP11.TRAP.BUS_ERROR, 22); this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.ODDMEMADDR);
} }
} }
} else { } else {
@ -1034,7 +1038,7 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(virtualAddress, accessFl
page = (virtualAddress >> 13) & this.mmuMask[this.mmuMode]; page = (virtualAddress >> 13) & this.mmuMask[this.mmuMode];
pdr = this.mmuMap[this.mmuMode][page]; pdr = this.mmuMap[this.mmuMode][page];
physicalAddress = ((this.mmuMap[this.mmuMode][page + 16] << 6) + (virtualAddress & 0x1fff)) & 0x3fffff; physicalAddress = ((this.mmuMap[this.mmuMode][page + 16] << 6) + (virtualAddress & 0x1fff)) & 0x3fffff;
if (this.MMR3 & 0x10) { // if 22 bit MM mode if (this.regMMR3 & 0x10) { // if 22 bit MM mode
if (physicalAddress >= BusPDP11.IOPAGE_UNIBUS && physicalAddress < BusPDP11.IOPAGE_22BIT) { if (physicalAddress >= BusPDP11.IOPAGE_UNIBUS && physicalAddress < BusPDP11.IOPAGE_22BIT) {
physicalAddress = this.mapUnibus(physicalAddress & 0x3ffff); // 18bit unibus space physicalAddress = this.mapUnibus(physicalAddress & 0x3ffff); // 18bit unibus space
} }
@ -1045,11 +1049,11 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(virtualAddress, accessFl
if (physicalAddress < BusPDP11.IOPAGE_UNIBUS) { if (physicalAddress < BusPDP11.IOPAGE_UNIBUS) {
if (physicalAddress >= BusPDP11.MAX_MEMORY) { if (physicalAddress >= BusPDP11.MAX_MEMORY) {
this.regErr |= PDP11.CPUERR.NOMEMORY; this.regErr |= PDP11.CPUERR.NOMEMORY;
this.trap(PDP11.TRAP.BUS_ERROR, 24); // KB11-EM does this after ABORT handling - KB11-CM before this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.NOMEMORY); // KB11-EM does this after ABORT handling - KB11-CM before
} }
if ((physicalAddress & 1) && !(accessFlags & PDP11.ACCESS.BYTE)) { if ((physicalAddress & 1) && !(accessFlags & PDP11.ACCESS.BYTE)) {
this.regErr |= PDP11.CPUERR.ODDADDR; this.regErr |= PDP11.CPUERR.ODDADDR;
this.trap(PDP11.TRAP.BUS_ERROR, 26); this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.ODDMMUADDR);
} }
} }
switch (pdr & 0x7) { switch (pdr & 0x7) {
@ -1100,16 +1104,16 @@ CPUStatePDP11.prototype.mapVirtualToPhysical = function(virtualAddress, accessFl
if (errorMask) { if (errorMask) {
if (errorMask & 0xe000) { if (errorMask & 0xe000) {
if (this.trapPSW >= 0) errorMask |= 0x80; // Instruction complete if (this.trapPSW >= 0) errorMask |= 0x80; // Instruction complete
if (!(this.MMR0 & 0xe000)) { if (!(this.regMMR0 & 0xe000)) {
this.MMR0 |= errorMask | (this.mmuLastMode << 5) | (this.mmuLastPage << 1); this.regMMR0 |= errorMask | (this.mmuLastMode << 5) | (this.mmuLastPage << 1);
} }
this.trap(PDP11.TRAP.MMU_FAULT, 28); this.trap(PDP11.TRAP.MMU_FAULT, PDP11.REASON.MAPERROR);
} }
if (!(this.MMR0 & 0xf000)) { if (!(this.regMMR0 & 0xf000)) {
//if (physicalAddress < 017772200 || physicalAddress > 017777677) { //if (physicalAddress < 017772200 || physicalAddress > 017777677) {
if (physicalAddress < 0x3ff480 || physicalAddress > 0x3fffbf) { if (physicalAddress < 0x3ff480 || physicalAddress > 0x3fffbf) {
this.MMR0 |= 0x1000; // MMU trap flag this.regMMR0 |= 0x1000; // MMU trap flag
if (this.MMR0 & 0x0200) { if (this.regMMR0 & 0x0200) {
this.opFlags |= PDP11.OPFLAG.TRAP_MMU; this.opFlags |= PDP11.OPFLAG.TRAP_MMU;
} }
} }
@ -1214,15 +1218,15 @@ CPUStatePDP11.prototype.pushWord = function(data)
this.regsGen[6] = virtualAddress; // BSD needs SP updated before any fault :-( this.regsGen[6] = virtualAddress; // BSD needs SP updated before any fault :-(
if (!(this.MMR0 & 0xe000)) { if (!(this.regMMR0 & 0xe000)) {
this.MMR1 = (this.MMR1 << 8) | 0xf6; this.regMMR1 = (this.regMMR1 << 8) | 0xf6;
} }
if ((!this.mmuMode) && virtualAddress <= this.regSL && virtualAddress > 4) { if ((!this.mmuMode) && virtualAddress <= this.regSL && virtualAddress > 4) {
if (virtualAddress <= this.regSL - 32) { if (virtualAddress <= this.regSL - 32) {
this.regErr |= PDP11.CPUERR.RED; this.regErr |= PDP11.CPUERR.RED;
this.regsGen[6] = 4; this.regsGen[6] = 4;
this.trap(PDP11.TRAP.BUS_ERROR, 32); this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.PUSHERROR);
} else { } else {
this.regErr |= PDP11.CPUERR.YELLOW; this.regErr |= PDP11.CPUERR.YELLOW;
this.opFlags |= 4; this.opFlags |= 4;
@ -1274,7 +1278,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
* Mode 0: Registers don't have a virtual address so trap * Mode 0: Registers don't have a virtual address so trap
*/ */
case 0: case 0:
this.trap(PDP11.TRAP.BUS_ERROR, 34); this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.NOREGADDR);
break; break;
/* /*
@ -1286,7 +1290,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
if (this.regsGen[6] <= this.regSL - 32 || this.regsGen[6] >= 0xfffe) { if (this.regsGen[6] <= this.regSL - 32 || this.regsGen[6] >= 0xfffe) {
this.regErr |= PDP11.CPUERR.RED; this.regErr |= PDP11.CPUERR.RED;
this.regsGen[6] = 4; this.regsGen[6] = 4;
this.trap(PDP11.TRAP.BUS_ERROR, 36); this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.STACKMODE1);
} else { } else {
this.regErr |= PDP11.CPUERR.YELLOW; this.regErr |= PDP11.CPUERR.YELLOW;
this.opFlags |= PDP11.OPFLAG.TRAP_SP; this.opFlags |= PDP11.OPFLAG.TRAP_SP;
@ -1383,15 +1387,15 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
this.regsGen[reg] = (this.regsGen[reg] + stepSize) & 0xffff; this.regsGen[reg] = (this.regsGen[reg] + stepSize) & 0xffff;
if (addrDSpace && !(this.MMR0 & 0xe000)) { if (addrDSpace && !(this.regMMR0 & 0xe000)) {
this.MMR1 = (this.MMR1 << 8) | ((stepSize << 3) & 0xf8) | reg; this.regMMR1 = (this.regMMR1 << 8) | ((stepSize << 3) & 0xf8) | reg;
} }
if (reg === 6 && (!this.mmuMode) && (accessFlags & PDP11.ACCESS.WRITE) && stepSize <= 0 && (this.regsGen[6] <= this.regSL || this.regsGen[6] >= 0xfffe)) { if (reg == 6 && (!this.mmuMode) && (accessFlags & PDP11.ACCESS.WRITE) && stepSize <= 0 && (this.regsGen[6] <= this.regSL || this.regsGen[6] >= 0xfffe)) {
if (this.regsGen[6] <= this.regSL - 32) { if (this.regsGen[6] <= this.regSL - 32) {
this.regErr |= PDP11.CPUERR.RED; this.regErr |= PDP11.CPUERR.RED;
this.regsGen[6] = 4; this.regsGen[6] = 4;
this.trap(PDP11.TRAP.BUS_ERROR, 38); this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.STACKERROR);
} else { } else {
this.regErr |= PDP11.CPUERR.YELLOW; this.regErr |= PDP11.CPUERR.YELLOW;
this.opFlags |= PDP11.OPFLAG.TRAP_SP; this.opFlags |= PDP11.OPFLAG.TRAP_SP;
@ -1469,8 +1473,8 @@ CPUStatePDP11.prototype.readWordFromPrevSpace = function(opCode, accessFlags)
*/ */
CPUStatePDP11.prototype.writeWordToPrevSpace = function(opCode, accessFlags, data) CPUStatePDP11.prototype.writeWordToPrevSpace = function(opCode, accessFlags, data)
{ {
if (!(this.MMR0 & 0xe000)) { if (!(this.regMMR0 & 0xe000)) {
this.MMR1 = 0x16; this.regMMR1 = 0x16;
} }
if (!(opCode & 0x38)) { if (!(opCode & 0x38)) {
var reg = opCode & 7; var reg = opCode & 7;
@ -1702,13 +1706,13 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles)
*/ */
if (this.opFlags & PDP11.OPFLAG.TRAP_MASK) { if (this.opFlags & PDP11.OPFLAG.TRAP_MASK) {
if (this.opFlags & PDP11.OPFLAG.TRAP_MMU) { if (this.opFlags & PDP11.OPFLAG.TRAP_MMU) {
this.trap(PDP11.TRAP.MMU_FAULT, 52); // MMU trap has priority this.trap(PDP11.TRAP.MMU_FAULT, PDP11.REASON.TRAPMMU); // MMU trap has priority
} else { } else {
if (this.opFlags & PDP11.OPFLAG.TRAP_SP) { if (this.opFlags & PDP11.OPFLAG.TRAP_SP) {
this.trap(PDP11.TRAP.BUS_ERROR, 54); // then SP trap this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.TRAPSP); // then SP trap
} else { } else {
if (this.opFlags & PDP11.OPFLAG.TRAP_TF) { if (this.opFlags & PDP11.OPFLAG.TRAP_TF) {
this.trap(PDP11.TRAP.BREAKPOINT, 56); // and finally a TF trap this.trap(PDP11.TRAP.BREAKPOINT, PDP11.REASON.TRAPTF); // and finally a TF trap
} }
} }
} }
@ -1719,9 +1723,9 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles)
this.checkInterruptQueue(); this.checkInterruptQueue();
} }
if (!(this.MMR0 & 0xe000)) { if (!(this.regMMR0 & 0xe000)) {
this.MMR1 = 0; this.regMMR1 = 0;
this.MMR2 = this.regsGen[7]; this.regMMR2 = this.regsGen[7];
} }
/* /*

View file

@ -218,6 +218,26 @@ var PDP11 = {
PIRQ: 0xA0, // 240 PIRQ, program interrupt request PIRQ: 0xA0, // 240 PIRQ, program interrupt request
MMU_FAULT: 0xA8 // 250 MMU aborts and traps MMU_FAULT: 0xA8 // 250 MMU aborts and traps
}, },
REASON: {
BPT: 1,
EMT: 2,
HALT: 3,
IOT: 4,
TRAP: 5,
RESERVED: 6,
ODDMEMADDR: 22,
NOMEMORY: 24,
ODDMMUADDR: 26,
MAPERROR: 28,
PUSHERROR: 32,
NOREGADDR: 34,
STACKMODE1: 36,
STACKERROR: 38,
INTERRUPT: 44,
TRAPMMU: 52,
TRAPSP: 54,
TRAPTF: 56
},
/* /*
* Internal memory access flags * Internal memory access flags
*/ */
@ -366,11 +386,12 @@ var PDP11 = {
MMR3: 0o172516, // 772516 17772516 MMR3: 0o172516, // 772516 17772516
XBUF: 0o177566, // Console Terminal: Transmitter Data Buffer Register
XCSR: 0o177564, // Console Terminal: Transmitter Status Register
RBUF: 0o177562, // Console Terminal: Receiver Data Buffer Register
RCSR: 0o177560, // Console Terminal: Receiver Status Register
LKS: 0o177546, // KW11-L Clock Status LKS: 0o177546, // KW11-L Clock Status
RCSR: 0o177560, // Console Terminal: Receiver Status Register
RBUF: 0o177562, // Console Terminal: Receiver Data Buffer Register
XCSR: 0o177564, // Console Terminal: Transmitter Status Register
XBUF: 0o177566, // Console Terminal: Transmitter Data Buffer Register
DISPLAY: 0o177570, // Console Switch and Display DISPLAY: 0o177570, // Console Switch and Display
MMR0: 0o177572, // 777572 17777572 MMR0: 0o177572, // 777572 17777572

View file

@ -263,11 +263,35 @@ DevicePDP11.prototype.writeMMR0 = function(data, addr)
var idx = 4; var idx = 4;
data = this.cpu.setMMR0(data); data = this.cpu.setMMR0(data);
if (data & PDP11.MMR0.ENABLED | PDP11.MMR0.DSTMODE) { if (data & PDP11.MMR0.ENABLED | PDP11.MMR0.DSTMODE) {
idx = (this.cpu.MMR3 & PDP11.MMR3.MMU_22BIT)? 1 : 2; idx = (this.cpu.regMMR3 & PDP11.MMR3.MMU_22BIT)? 1 : 2;
} }
this.display.misc = (this.display.misc & ~7) | idx; this.display.misc = (this.display.misc & ~7) | idx;
}; };
/**
* readRCSR(addr)
*
* @this {DevicePDP11}
* @param {number} addr (eg, PDP11.UNIBUS.RCSR or 177560)
* @return {number}
*/
DevicePDP11.prototype.readRCSR = function(addr)
{
return this.tty.rcsr;
};
/**
* writeRCSR(data, addr)
*
* @this {DevicePDP11}
* @param {number} data
* @param {number} addr (eg, PDP11.UNIBUS.RCSR or 177560)
*/
DevicePDP11.prototype.writeRCSR = function(data, addr)
{
this.tty.rcsr = (this.tty.rcsr & 0x80) | (data & ~0x80);
};
/** /**
* readXCSR(addr) * readXCSR(addr)
* *
@ -1090,26 +1114,26 @@ DevicePDP11.prototype.access = function(physicalAddress, data, byteFlag)
var kw11 = this.kw11; var kw11 = this.kw11;
switch (physicalAddress & ~1) { switch (physicalAddress & ~1) {
case 0x3FFF7E: /*017777576*/ // MMR2 case 0x3FFF7E: /*017777576*/ // MMR2
result = this.insertData(cpu.MMR2, physicalAddress, data, byteFlag); result = this.insertData(cpu.regMMR2, physicalAddress, data, byteFlag);
if (result >= 0) cpu.MMR2 = result; if (result >= 0) cpu.regMMR2 = result;
break; break;
case 0x3FFF7C: /*017777574*/ // MMR1 case 0x3FFF7C: /*017777574*/ // MMR1
result = cpu.MMR1; result = cpu.regMMR1;
if (result & 0xff00) result = ((result << 8) | (result >> 8)) & 0xffff; if (result & 0xff00) result = ((result << 8) | (result >> 8)) & 0xffff;
break; break;
// case 0x3FFF7A: /*017777572*/ // MMR0 // case 0x3FFF7A: /*017777572*/ // MMR0
// cpu.MMR0 = (cpu.MMR0 & 0xf381) | (cpu.mmuLastMode << 5) | (cpu.mmuLastPage << 1); // cpu.regMMR0 = (cpu.regMMR0 & 0xf381) | (cpu.mmuLastMode << 5) | (cpu.mmuLastPage << 1);
// if (data < 0) { // if (data < 0) {
// result = cpu.MMR0; // result = cpu.regMMR0;
// } else { // } else {
// result = this.insertData(cpu.MMR0, physicalAddress, data, byteFlag); // result = this.insertData(cpu.regMMR0, physicalAddress, data, byteFlag);
// if (result >= 0) { // if (result >= 0) {
// cpu.MMR0 = result &= 0xf381; // cpu.regMMR0 = result &= 0xf381;
// cpu.mmuLastMode = (result >> 5) & 3; // cpu.mmuLastMode = (result >> 5) & 3;
// cpu.mmuLastPage = (result >> 1) & 0xf; // cpu.mmuLastPage = (result >> 1) & 0xf;
// if (result & 0x101) { // if (result & 0x101) {
// idx = 2; // 18 bit // idx = 2; // 18 bit
// if (cpu.MMR3 & 0x10) idx = 1; // 22 bit // if (cpu.regMMR3 & 0x10) idx = 1; // 22 bit
// if (result & 0x1) { // if (result & 0x1) {
// cpu.mmuEnable = PDP11.ACCESS.READ | PDP11.ACCESS.WRITE; // cpu.mmuEnable = PDP11.ACCESS.READ | PDP11.ACCESS.WRITE;
// } else { // } else {
@ -1421,18 +1445,18 @@ DevicePDP11.prototype.access = function(physicalAddress, data, byteFlag)
switch (physicalAddress & ~1) { switch (physicalAddress & ~1) {
case 0x3FF54E: /*017772516*/ // MMR3 - UB 22 x K S U case 0x3FF54E: /*017772516*/ // MMR3 - UB 22 x K S U
if (data < 0) { if (data < 0) {
result = cpu.MMR3; result = cpu.regMMR3;
} else { } else {
result = this.insertData(cpu.MMR3, physicalAddress, data, byteFlag); result = this.insertData(cpu.regMMR3, physicalAddress, data, byteFlag);
if (result >= 0) { if (result >= 0) {
if (cpu.cpuType !== 70) result &= ~0x30; // don't allow 11/45 to do 22 bit or use unibus map if (cpu.cpuType !== 70) result &= ~0x30; // don't allow 11/45 to do 22 bit or use unibus map
cpu.MMR3 = result; cpu.regMMR3 = result;
cpu.mmuMask[0] = (result & 4 ? 0xf : 0x7); cpu.mmuMask[0] = (result & 4 ? 0xf : 0x7);
cpu.mmuMask[1] = (result & 2 ? 0xf : 0x7); cpu.mmuMask[1] = (result & 2 ? 0xf : 0x7);
cpu.mmuMask[3] = (result & 1 ? 0xf : 0x7); cpu.mmuMask[3] = (result & 1 ? 0xf : 0x7);
if (cpu.mmuEnable) { if (cpu.mmuEnable) {
idx = 2; // 18 bit idx = 2; // 18 bit
if (cpu.MMR3 & 0x10) idx = 1; // 22 bit if (cpu.regMMR3 & 0x10) idx = 1; // 22 bit
this.display.misc = (this.display.misc & ~7) | idx; this.display.misc = (this.display.misc & ~7) | idx;
} }
} }
@ -1514,10 +1538,11 @@ DevicePDP11.prototype.access = function(physicalAddress, data, byteFlag)
* ES6 ALERT: As you can see below, I've finally started using computed property names. * ES6 ALERT: As you can see below, I've finally started using computed property names.
*/ */
DevicePDP11.UNIBUS_TABLE = { DevicePDP11.UNIBUS_TABLE = {
[PDP11.UNIBUS.LKS]: [null, null, DevicePDP11.prototype.readLKS, DevicePDP11.prototype.writeLKS], [PDP11.UNIBUS.LKS]: /* 177546 */ [null, null, DevicePDP11.prototype.readLKS, DevicePDP11.prototype.writeLKS],
[PDP11.UNIBUS.MMR0]: [null, null, DevicePDP11.prototype.readMMR0, DevicePDP11.prototype.writeMMR0], [PDP11.UNIBUS.RCSR]: /* 177560 */ [null, null, DevicePDP11.prototype.readRCSR, DevicePDP11.prototype.writeRCSR],
[PDP11.UNIBUS.XCSR]: [null, null, DevicePDP11.prototype.readXCSR, DevicePDP11.prototype.writeXCSR], [PDP11.UNIBUS.XCSR]: /* 177564 */ [null, null, DevicePDP11.prototype.readXCSR, DevicePDP11.prototype.writeXCSR],
[PDP11.UNIBUS.PSW]: [null, null, DevicePDP11.prototype.readPSW, DevicePDP11.prototype.writePSW] [PDP11.UNIBUS.MMR0]: /* 177572 */ [null, null, DevicePDP11.prototype.readMMR0, DevicePDP11.prototype.writeMMR0],
[PDP11.UNIBUS.PSW]: /* 177776 */ [null, null, DevicePDP11.prototype.readPSW, DevicePDP11.prototype.writePSW]
}; };
/** /**

View file

@ -7,95 +7,95 @@ function sa(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=res
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||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ja(){return"http://"+(window?window.location.host:"www.pcjs.org")} 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||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ja(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function t(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){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}xa=a}return xa}function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function t(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){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}xa=a}return xa}function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Da(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ea={init:[],show:[],exit:[]},Ka=!1,La=!1,Ma=!0;function Na(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Oa(a){Ea.init.push(a)} function Da(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,La=!1,Ma=!0;function Na(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Oa(a){Ea.init.push(a)}
function Pa(a){if(Ma)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Qa(a){!Ma&&a?(Ma=!0,Ka&&Ra("init"),La&&Ra("show")):Ma=a}function Ra(a){Ea[a]&&Pa(Ea[a])}Na("onload",function(){Ka=!0;Pa(Ea.init)});Na("onpageshow",function(){La=!0;Pa(Ea.show)});Na(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Pa(Ea.exit)}); function Pa(a){if(Ma)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Qa(a){!Ma&&a?(Ma=!0,Fa&&Ra("init"),La&&Ra("show")):Ma=a}function Ra(a){Ea[a]&&Pa(Ea[a])}Na("onload",function(){Fa=!0;Pa(Ea.init)});Na("onpageshow",function(){La=!0;Pa(Ea.show)});Na(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Pa(Ea.exit)});
function u(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.sc=b.comment;this.Oc=b;b=this.id.indexOf(".");0>b?this.Db=this.id:(this.rc=this.id.substr(0,b),this.Db=this.id.substr(b+1));this[a]=c;this.u={ready:!1,qb:!1,fc:!1,ga:!1,error:!1};this.Zb=null;this.u.error=!1;this.I={};this.C=null;this.ia=d||0;v.push(this)}var Sa=void 0,Ta={}; function u(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.sc=b.comment;this.Oc=b;b=this.id.indexOf(".");0>b?this.Db=this.id:(this.rc=this.id.substr(0,b),this.Db=this.id.substr(b+1));this[a]=c;this.u={ready:!1,qb:!1,fc:!1,ga:!1,error:!1};this.Yb=null;this.u.error=!1;this.I={};this.C=null;this.ia=d||0;v.push(this)}var Sa=void 0,Ta={};
if(window){Sa||(Sa=window.location.search.substr(1));for(var Ua,Va=/\+/g,Wa=/([^&=]+)=?([^&]*)/g;Ua=Wa.exec(Sa);)Ta[decodeURIComponent(Ua[1].replace(Va," "))]=decodeURIComponent(Ua[2].replace(Va," "))}function Xa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} if(window){Sa||(Sa=window.location.search.substr(1));for(var Ua,Va=/\+/g,Wa=/([^&=]+)=?([^&]*)/g;Ua=Wa.exec(Sa);)Ta[decodeURIComponent(Ua[1].replace(Va," "))]=decodeURIComponent(Ua[2].replace(Va," "))}function Xa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function w(a,b){b||(b=u);a.prototype=Xa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ya=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ya={},v=[];function Za(a,b,c){Ya[a]&&b&&(Ya[a][b]=c)}function $a(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 w(a,b){b||(b=u);a.prototype=Xa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ya=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ya={},v=[];function Za(a,b,c){Ya[a]&&b&&(Ya[a][b]=c)}function $a(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 ab(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<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 y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b} function ab(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<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 y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
function bb(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=y(e))&&g.binding&&a.ta(g.type,g.binding,e,g.value),k=h.length}}}} function bb(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=y(e))&&g.binding&&a.ua(g.type,g.binding,e,g.value),k=h.length}}}}
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c} function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ta: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.kb=this.I[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), u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ua: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.jb=this.I[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.pa=function(a){this.f(a,this.Db)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Db+": "+a)},pa:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},Pa:function(){return this.u.ga=!0},Oa:function(a,b){b&&(this.u.ga=!1);return!0}};function cb(a,b){if(a.C){a===a.C?b|=0:b=b||a.ia;var c=a.C.ia&b;return!!b&&c===b||!!(c&a.C.Jc)}return!1} this.pa=function(a){this.f(a,this.Db)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Db+": "+a)},pa:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},Pa:function(){return this.u.ga=!0},Oa:function(a,b){b&&(this.u.ga=!1);return!0}};function cb(a,b){if(a.C){a===a.C?b|=0:b=b||a.ia;var c=a.C.ia&b;return!!b&&c===b||!!(c&a.C.Jc)}return!1}
function db(a,b){if(a.u.fc)return a.u.qb&&(a.u.qb=!1),a.u.fc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.qb=b;return a.u.qb}function eb(a,b){a.u.qb&&(b?a.u.fc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.qb}function D(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Zb;a.Zb=null;b&&b()}}function fb(a,b){b&&(a.u.ready?b():a.Zb=b);return a.u.ready}function sb(a,b){a.u.error=!0;a.pa(b)} function db(a,b){if(a.u.fc)return a.u.qb&&(a.u.qb=!1),a.u.fc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.qb=b;return a.u.qb}function eb(a,b){a.u.qb&&(b?a.u.fc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.qb}function D(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Yb;a.Yb=null;b&&b()}}function fb(a,b){b&&(a.u.ready?b():a.Yb=b);return a.u.ready}function sb(a,b){a.u.error=!0;a.pa(b)}
var tb="undefined"!==typeof ArrayBuffer,E={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function ub(a){u.call(this,"Panel",a,ub)}w(ub);l=ub.prototype;l.ta=function(a,b,c,d){return this.i&&this.i.ta(a,b,c,d)||this.b&&this.b.ta(a,b,c,d)||this.C&&this.C.ta(a,b,c,d)?!0:this.parent.ta.call(this,a,b,c,d)};l.Ya=function(a,b,c,d){this.i=a;this.F=b;this.b=c;this.C=d}; var tb="undefined"!==typeof ArrayBuffer,E={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function ub(a){u.call(this,"Panel",a,ub)}w(ub);l=ub.prototype;l.ua=function(a,b,c,d){return this.i&&this.i.ua(a,b,c,d)||this.b&&this.b.ua(a,b,c,d)||this.C&&this.C.ua(a,b,c,d)?!0:this.parent.ua.call(this,a,b,c,d)};l.Xa=function(a,b,c,d){this.i=a;this.F=b;this.b=c;this.C=d};
l.Pa=function(a,b){b||vb();return!0};l.Oa=function(){return!0};l.za=function(){};function vb(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=y(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<v.length;g++)if(v[g].id===e){e=v[g];break a}}e=null}e||(a=!0,e=new ub(f));bb(e,d);a&&D(e)}}Oa(vb); l.Pa=function(a,b){b||vb();return!0};l.Oa=function(){return!0};l.Aa=function(){};function vb(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=y(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<v.length;g++)if(v[g].id===e){e=v[g];break a}}e=null}e||(a=!0,e=new ub(f));bb(e,d);a&&D(e)}}Oa(vb);
function wb(a,b,c){u.call(this,"Bus",a,wb);this.b=b;this.C=c;this.J=a.busWidth||16;this.D=Math.pow(2,this.J);this.j=this.D-1|0;this.X=(this.J>>1)+2;10>this.X&&(this.X=10);15<this.X&&(this.X=15);this.Ba=1<<this.X;this.P=this.Ba>>2;this.i=this.Ba-1;this.B=this.D/this.Ba|0;this.A=this.B-1;this.Ua=[];this.G=null;this.Lb=this.Fc;a=new F;xb(a,this.C);this.L=Array(this.B);for(b=0;b<this.B;b++)this.L[b]=a;this.Gb=Array(4);this.Gb[0]=yb;this.Gb[1]=zb;this.Gb[2]=Ab;this.Gb[3]=Bb;Cb(this,this.D-8192,8192,Db, function wb(a,b,c){u.call(this,"Bus",a,wb);this.b=b;this.C=c;this.J=a.busWidth||16;this.D=Math.pow(2,this.J);this.j=this.D-1|0;this.X=(this.J>>1)+2;10>this.X&&(this.X=10);15<this.X&&(this.X=15);this.Ca=1<<this.X;this.P=this.Ca>>2;this.i=this.Ca-1;this.B=this.D/this.Ca|0;this.A=this.B-1;this.Ta=[];this.G=null;this.Lb=this.Fc;a=new F;xb(a,this.C);this.L=Array(this.B);for(b=0;b<this.B;b++)this.L[b]=a;this.Gb=Array(4);this.Gb[0]=yb;this.Gb[1]=zb;this.Gb[2]=Ab;this.Gb[3]=Bb;Cb(this,this.D-8192,8192,Db,
this);Cb(this,57344,8192,Db,this);D(this)}w(wb);function yb(a,b){var c=this.controller,d=c.Ua[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.Ua[a&-2],d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+ba(b));return c.Lb(b,-1,1)} this);Cb(this,57344,8192,Db,this);D(this)}w(wb);function yb(a,b){var c=this.controller,d=c.Ta[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.Ta[a&-2],d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+ba(b));return c.Lb(b,-1,1)}
function zb(a,b,c){var d=this.controller,f=d.Ua[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Ua[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.f("warning: unconverted write access to byte @"+ba(c));d.Lb(c,b,1)} function zb(a,b,c){var d=this.controller,f=d.Ta[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Ta[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.f("warning: unconverted write access to byte @"+ba(c));d.Lb(c,b,1)}
function Ab(a,b){var c=this.controller;if(a=c.Ua[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+ba(b));return c.Lb(b,-1,0)}function Bb(a,b,c){var d=this.controller;if(a=d.Ua[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+ba(c));d.Lb(c,b,0)}l=wb.prototype;l.reset=function(){this.G&&this.G()};l.Fc=function(){return 0};l.Pa=function(a,b){b||this.reset();return!0}; function Ab(a,b){var c=this.controller;if(a=c.Ta[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+ba(b));return c.Lb(b,-1,0)}function Bb(a,b,c){var d=this.controller;if(a=d.Ta[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+ba(c));d.Lb(c,b,0)}l=wb.prototype;l.reset=function(){this.G&&this.G()};l.Fc=function(){return 0};l.Pa=function(a,b){b||this.reset();return!0};
function Cb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.X;0<g&&h<a.L.length;){var k=a.L[h],m=h*a.Ba,n=a.Ba-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.Ba;g-=n;h++;continue}}return Eb(1,e,g)}e=new F(e,n,a.Ba,d,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.Ba;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Fb[d]+" at "+r(b,8,!0)),!0):Eb(2,b,c)} function Cb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.X;0<g&&h<a.L.length;){var k=a.L[h],m=h*a.Ca,n=a.Ca-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.Ca;g-=n;h++;continue}}return Eb(1,e,g)}e=new F(e,n,a.Ca,d,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.Ca;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Fb[d]+" at "+r(b,8,!0)),!0):Eb(2,b,c)}
l.sb=function(a){return this.L[(a&this.j)>>>this.X].wb(a&this.i,a)};l.Ia=function(a){var b=a&this.i,c=(a&this.j)>>>this.X;return b!=this.i?this.L[c].Qb(b,a):this.L[c++].wb(b,a)|this.L[c&this.A].wb(0,a+1)<<8};function Gb(a,b){var c=b&a.i,d=(b&a.j)>>>a.X;return c!=a.i?a.L[d].lc(c,b):a.L[d++].Pb(c,b)|a.L[d&a.A].Pb(0,b+1)<<8}l.Ub=function(a,b){this.L[(a&this.j)>>>this.X].Bb(a&this.i,b&255,a)}; l.sb=function(a){return this.L[(a&this.j)>>>this.X].wb(a&this.i,a)};l.Ja=function(a){var b=a&this.i,c=(a&this.j)>>>this.X;return b!=this.i?this.L[c].Qb(b,a):this.L[c++].wb(b,a)|this.L[c&this.A].wb(0,a+1)<<8};function Gb(a,b){var c=b&a.i,d=(b&a.j)>>>a.X;return c!=a.i?a.L[d].lc(c,b):a.L[d++].Pb(c,b)|a.L[d&a.A].Pb(0,b+1)<<8}l.Ub=function(a,b){this.L[(a&this.j)>>>this.X].Bb(a&this.i,b&255,a)};
l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.X;c!=this.i?this.L[d].Ec(c,b&65535,a):(this.L[d++].Bb(c,b&255,a),this.L[d&this.A].Bb(0,b>>8&255,a+1))};function Hb(a){for(var b=0,c=[],d=0;d<a.B;d++){var f=a.L[d];if(f.Xa||f.Nc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c} l.pb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.X;c!=this.i?this.L[d].Ec(c,b&65535,a):(this.L[d++].Bb(c,b&255,a),this.L[d&this.A].Bb(0,b>>8&255,a+1))};function Hb(a){for(var b=0,c=[],d=0;d<a.B;d++){var f=a.L[d];if(f.Wa||f.Nc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
function Ib(a,b){var c=Jb,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,f=f[3]?f[3].bind(b):null,n=+d;n<=g;n+=2){var p=n&8191;void 0!==e.Ua[p]?t("I/O address already registered: "+r(n,8,!0)):e.Ua[p]=[h,k,m,f,!1]}}function Kb(a,b,c){a.G=b;a.Lb=c}function Eb(a,b,c){t("Memory block error ("+a+": "+r(b)+","+r(c)+")");return!1} function Ib(a,b){var c=Jb,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,f=f[3]?f[3].bind(b):null,n=+d;n<=g;n+=2){var p=n&8191;void 0!==e.Ta[p]?t("I/O address already registered: "+r(n,8,!0)):e.Ta[p]=[h,k,m,f,!1]}}function Kb(a,b,c){a.G=b;a.Lb=c}function Eb(a,b,c){t("Memory block error ("+a+": "+r(b)+","+r(c)+")");return!1}
function G(a){u.call(this,"Device",a,G);this.j={kc:[],Ja:0,ua:128,C:127,Lc:0};this.A={data:0,qd:0,tb:20,kd:0};this.i={K:0,pc:-1};this.B={Sb:2496,la:0,O:128,Tb:0,Rb:0,sa:0,zc:0,oa:[],ib:[406,406,406,406],$:[12,12,12,12]};this.D={K:129,Jb:0,ea:0,$a:0,Va:0,fb:0,oa:[],$:[40,40,40,40],ib:[1024,1024,512,512],Hc:[157,157,29,29]};this.G={b:[8210,8208,8210,8226],$:[22,22,22,50],hb:[19,19,19,32],ec:[815,411,815,630],oa:[],R:2176,zb:0,xb:0,Ea:[0,0,0,0,0,0,0,0],Da:0,qa:[4544,4544,4544,4544,4544,4544,4544,4544], function G(a){u.call(this,"Device",a,G);this.i={kc:[],sa:0,va:128,C:127,Lc:0};this.A={data:0,sd:0,tb:20,ld:0};this.j={K:0,pc:-1};this.B={Sb:2496,la:0,O:128,Tb:0,Rb:0,ta:0,zc:0,oa:[],hb:[406,406,406,406],$:[12,12,12,12]};this.D={K:129,Jb:0,ea:0,Za:0,Ua:0,fb:0,oa:[],$:[40,40,40,40],hb:[1024,1024,512,512],Hc:[157,157,29,29]};this.G={b:[8210,8208,8210,8226],$:[22,22,22,50],gb:[19,19,19,32],ec:[815,411,815,630],oa:[],R:2176,zb:0,xb:0,Fa:[0,0,0,0,0,0,0,0],Ea:0,qa:[4544,4544,4544,4544,4544,4544,4544,4544],
yb:[0,0,0,0,0,0,0,0],nb:0,hd:[0,0,0,0,0,0,0,0],Ac:0,Bc:[0,0,0,0,0,0,0,0],I:[0,0,0,0,0,0,0,0],jd:[1,2,3,4,5,6,7,8],Cc:[0,0,0,0,0,0,0,0],Ra:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],fd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],dd:[0,0,0,0,0,0,0,0],ed:[0,0,0,0,0,0,0,0],eb:0,nc:0}}w(G); yb:[0,0,0,0,0,0,0,0],nb:0,jd:[0,0,0,0,0,0,0,0],Ac:0,Bc:[0,0,0,0,0,0,0,0],I:[0,0,0,0,0,0,0,0],kd:[1,2,3,4,5,6,7,8],Cc:[0,0,0,0,0,0,0,0],Ra:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],ed:[0,0,0,0,0,0,0,0],fd:[0,0,0,0,0,0,0,0],eb:0,nc:0}}w(G);
var Lb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551, var Lb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769, 2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=G.prototype;l.Ya=function(a,b,c,d){this.F=b;this.b=c;this.C=d;var f=this;this.i.pc=Mb(this.b,function(){f.i.Za|=128;f.i.Za&64&&(H(f.b,0,6,64),Nb(f.b,f.i.pc))});Ib(b,this);Kb(b,this.reset.bind(this),this.Gc.bind(this));D(this)};l.Xc=function(){var a=this.i.Za;this.i.Za&=-129;return a}; 0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=G.prototype;l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;var f=this;this.j.pc=Mb(this.b,function(){f.j.Ya|=128;f.j.Ya&64&&(H(f.b,0,6,64),Nb(f.b,f.j.pc))});Ib(b,this);Kb(b,this.reset.bind(this),this.Gc.bind(this));D(this)};l.Xc=function(){var a=this.j.Ya;this.j.Ya&=-129;return a};
l.md=function(a){this.i.Za=a;a&64&&Nb(this.b,this.i.pc);this.i.Za=a&-129};l.Yc=function(){var a=this.b;return a.B&62337|a.ra<<5|a.va<<1};l.nd=function(a){var b=4,c=this.b;c.B=a&=62337;c.ra=a>>5&3;c.va=a>>1&15;c.$b=a&257?a&1?6:4:0;Ob(c);a=c.B;a&1|256&&(b=this.b.gb&16?1:2);this.A.tb=this.A.tb&-8|b};l.$c=function(){return this.j.ua};l.pd=function(a){if(128==(this.j.ua&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.j.ua|=128;return!!(b.j.ua&64)})}this.j.ua=this.j.ua&128|a&-129};l.Zc=function(){return Yb(this.b)}; l.nd=function(a){this.j.Ya=a;a&64&&Nb(this.b,this.j.pc);this.j.Ya=a&-129};l.Yc=function(){var a=this.b;return a.B&62337|a.ra<<5|a.wa<<1};l.od=function(a){var b=4,c=this.b;c.B=a&=62337;c.ra=a>>5&3;c.wa=a>>1&15;c.Zb=a&257?a&1?6:4:0;Ob(c);a=c.B;a&1|256&&(b=this.b.mb&16?1:2);this.A.tb=this.A.tb&-8|b};l.$c=function(){return this.i.sa};l.qd=function(a){this.i.sa=this.i.sa&128|a&-129};l.ad=function(){return this.i.va};
l.od=function(a){Zb(this.b,a&-1809|Yb(this.b)&1808);this.b.M|=128}; l.rd=function(a){if(128==(this.i.va&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.i.va|=128;return!!(b.i.va&64)})}this.i.va=this.i.va&128|a&-129};l.Zc=function(){return Yb(this.b)};l.pd=function(a){Zb(this.b,a&-1809|Yb(this.b)&1808);this.b.M|=128};
function $b(a){var b=a.B,c,d,f,e=b.sa>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.$[e],url:"rk"+e+".dsk"});b.O&=-129;switch(b.O>>1&7){case 0:b.Sb=2496;b.la=0;b.O=128;b.sa=0;break;case 1:if((b.sa>>4&511)>=b.ib[e]){b.la|=32832;b.O|=49152;break}if((b.sa&15)>=b.$[e]){b.la|=32800;b.O|=49152;break}c=(b.sa>>4&511)*b.$[e]+(b.sa&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;ac(a,b.oa[e],c,d,f);return;case 2:if((b.sa>>4&511)>=b.ib[e])b.la|= function $b(a){var b=a.B,c,d,f,e=b.ta>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.bd,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.$[e],url:"rk"+e+".dsk"});b.O&=-129;switch(b.O>>1&7){case 0:b.Sb=2496;b.la=0;b.O=128;b.ta=0;break;case 1:if((b.ta>>4&511)>=b.hb[e]){b.la|=32832;b.O|=49152;break}if((b.ta&15)>=b.$[e]){b.la|=32800;b.O|=49152;break}c=(b.ta>>4&511)*b.$[e]+(b.ta&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;ac(a,b.oa[e],c,d,f);return;case 2:if((b.ta>>4&511)>=b.hb[e])b.la|=
32832,b.O|=49152;else if((b.sa&15)>=b.$[e])b.la|=32800,b.O|=49152;else{c=(b.sa>>4&511)*b.$[e]+(b.sa&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;a.bc(b.oa[e],c,d,f);return}}b.Sb=e<<13|b.Sb&8176|b.sa%9&15;H(a.b,20,5,144,function(){b.O=b.O&65534|128;return!!(b.O&64)})}l.ad=function(a,b,c,d,f){var e=this.B;e.Rb=d&65535;e.O=e.O&-49|d>>12&48;e.Tb=65536-f&65535;switch(a){case 1:e.la|=33024;e.O|=49152;break;case 2:e.la|=33792,e.O|=49152}H(this.b,20,5,144,function(){e.O=e.O&65534|128;return!!(e.O&64)})}; 32832,b.O|=49152;else if((b.ta&15)>=b.$[e])b.la|=32800,b.O|=49152;else{c=(b.ta>>4&511)*b.$[e]+(b.ta&15);d=(b.O&48)<<12|b.Rb;f=65536-b.Tb&65535;a.ac(b.oa[e],c,d,f);return}}b.Sb=e<<13|b.Sb&8176|b.ta%9&15;H(a.b,20,5,144,function(){b.O=b.O&65534|128;return!!(b.O&64)})}l.bd=function(a,b,c,d,f){var e=this.B;e.Rb=d&65535;e.O=e.O&-49|d>>12&48;e.Tb=65536-f&65535;switch(a){case 1:e.la|=33024;e.O|=49152;break;case 2:e.la|=33792,e.O|=49152}H(this.b,20,5,144,function(){e.O=e.O&65534|128;return!!(e.O&64)})};
function bc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.$[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.$a&8&&(b.K&=63);b.$a=b.Hc[e]|b.fb&64;break;case 3:1==(b.ea&3)&&(b.fb=b.ea&4?b.fb+(b.ea&65408)&65408|b.ea<<2&64:b.fb-(b.ea&65408)&65408|b.ea<<2&64,b.ea=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.ea>>6>=b.ib[e]){b.K|=37888;break}if((b.ea&63)>=b.$[e]){b.K|=37888;break}c=(b.ea>>6)*b.$[e]+ function bc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.cd,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.$[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.Za&8&&(b.K&=63);b.Za=b.Hc[e]|b.fb&64;break;case 3:1==(b.ea&3)&&(b.fb=b.ea&4?b.fb+(b.ea&65408)&65408|b.ea<<2&64:b.fb-(b.ea&65408)&65408|b.ea<<2&64,b.ea=b.fb);break;case 4:b.Za=b.fb;break;case 5:if(b.ea>>6>=b.hb[e]){b.K|=37888;break}if((b.ea&63)>=b.$[e]){b.K|=37888;break}c=(b.ea>>6)*b.$[e]+
(b.ea&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.$a&65535;ac(a,b.oa[e],c,d,f);return;case 6:if(b.ea>>6>=b.ib[e])b.K|=37888;else if((b.ea&63)>=b.$[e])b.K|=37888;else{c=(b.ea>>6)*b.$[e]+(b.ea&63);d=(b.Va&63)<<16|b.Jb;f=65536-b.$a&65535;a.bc(b.oa[e],c,d,f);return}}H(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})} (b.ea&63);d=(b.Ua&63)<<16|b.Jb;f=65536-b.Za&65535;ac(a,b.oa[e],c,d,f);return;case 6:if(b.ea>>6>=b.hb[e])b.K|=37888;else if((b.ea&63)>=b.$[e])b.K|=37888;else{c=(b.ea>>6)*b.$[e]+(b.ea&63);d=(b.Ua&63)<<16|b.Jb;f=65536-b.Za&65535;a.ac(b.oa[e],c,d,f);return}}H(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})}
l.bd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Va=d>>16&63;e.ea=~~(c/e.$[b.Ma])<<6|c%e.$[b.Ma];e.fb=e.ea;e.$a=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}H(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function cc(a){a=a.G;a.R=2176;a.Da=0;a.qa=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.nb=a.zb=a.xb=a.eb=a.nc=0} l.cd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Ua=d>>16&63;e.ea=~~(c/e.$[b.Ma])<<6|c%e.$[b.Ma];e.fb=e.ea;e.Za=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}H(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function cc(a){a=a.G;a.R=2176;a.Ea=0;a.qa=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.nb=a.zb=a.xb=a.eb=a.nc=0}
function dc(a,b){var c=a.G,d,f,e;c.R&=-16513;c.Da&=-2049;c.qa[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.hb[0]*c.$[0],url:"rp"+b+".dsk"});switch(c.R&63){case 5:c.dc[b]=c.Ra[b];c.R|=32896;c.qa[b]|=32896;c.nb|=1<<b;break;case 9:cc(a);break;case 19:c.qa[b]|=64;break;case 49:if(c.Ra[b]>=c.ec[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.$[0]){c.yb[b]|=1024;c.R|=49152;break}d=(c.Ra[b]*c.hb[0]+(c.Ea[b]>>8))*c.$[0]+ function dc(a,b){var c=a.G,d,f,e;c.R&=-16513;c.Ea&=-2049;c.qa[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.dd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.gb[0]*c.$[0],url:"rp"+b+".dsk"});switch(c.R&63){case 5:c.dc[b]=c.Ra[b];c.R|=32896;c.qa[b]|=32896;c.nb|=1<<b;break;case 9:cc(a);break;case 19:c.qa[b]|=64;break;case 49:if(c.Ra[b]>=c.ec[0]||c.Fa[b]>>8>=c.gb[0]||(c.Fa[b]&255)>=c.$[0]){c.yb[b]|=1024;c.R|=49152;break}d=(c.Ra[b]*c.gb[0]+(c.Fa[b]>>8))*c.$[0]+
(c.Ea[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.oa[b],d,f,e);return;case 57:if(c.Ra[b]>=c.ec[0]||c.Ea[b]>>8>=c.hb[0]||(c.Ea[b]&255)>=c.$[0])c.yb[b]|=1024,c.R|=49152;else{d=(c.Ra[b]*c.hb[0]+(c.Ea[b]>>8))*c.$[0]+(c.Ea[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.bc(c.oa[b],d,f,e);return}}H(a.b,3,5,172,function(){c.R=c.R&65534|128;c.qa[b]|=128;return!!(c.R&64)})} (c.Fa[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.oa[b],d,f,e);return;case 57:if(c.Ra[b]>=c.ec[0]||c.Fa[b]>>8>=c.gb[0]||(c.Fa[b]&255)>=c.$[0])c.yb[b]|=1024,c.R|=49152;else{d=(c.Ra[b]*c.gb[0]+(c.Fa[b]>>8))*c.$[0]+(c.Fa[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.ac(c.oa[b],d,f,e);return}}H(a.b,3,5,172,function(){c.R=c.R&65534|128;c.qa[b]|=128;return!!(c.R&64)})}
l.cd=function(a,b,c,d,f){var e=this.G;e.zb=65536-f&65535;e.xb=d&65535;e.R=e.R&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.$[0]);d=~~(f/e.hb[0]);e.Ea[b.Ma]=f%e.hb[0]<<8|c%e.$[0];e.dc[b.Ma]=e.Ra[b.Ma]=d;e.nb|=1<<b.Ma;c>=b.Uc-1&&(e.qa[b.Ma]|=1024);switch(a){case 1:e.Da|=512;e.R|=49152;break;case 2:e.Da|=2048,e.R|=49152}H(this.b,20,5,172,function(){e.qa[b.Ma]|=128;e.R=e.R&65534|128;return!!(e.R&64)})}; l.dd=function(a,b,c,d,f){var e=this.G;e.zb=65536-f&65535;e.xb=d&65535;e.R=e.R&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.$[0]);d=~~(f/e.gb[0]);e.Fa[b.Ma]=f%e.gb[0]<<8|c%e.$[0];e.dc[b.Ma]=e.Ra[b.Ma]=d;e.nb|=1<<b.Ma;c>=b.Uc-1&&(e.qa[b.Ma]|=1024);switch(a){case 1:e.Ea|=512;e.R|=49152;break;case 2:e.Ea|=2048,e.R|=49152}H(this.b,20,5,172,function(){e.qa[b.Ma]|=128;e.R=e.R&65534|128;return!!(e.R&64)})};
function ec(a,b,c,d,f,e){var g=~~((e+c.Wa-1)/c.Wa),h=new XMLHttpRequest;2048>g&&d+2048<c.Uc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Wa<<1)+"-"+(((d+g)*c.Wa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,p,q;m=h.response;if(h.status&&206!=h.status||!m)c.jc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(q=0;q<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],p=0;p<c.Wa;p++)c.cache[n][p]=q<m.length? function ec(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048<c.Uc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Va<<1)+"-"+(((d+g)*c.Va<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,p,q;m=h.response;if(h.status&&206!=h.status||!m)c.jc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(q=0;q<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],p=0;p<c.Va;p++)c.cache[n][p]=q<m.length?
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Wa<<1;n++}g(c,d,f,e)}}};h.send(null)}function I(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:J(a.b,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ec(this,this.bc,a,b,c,d);return}for(f=0;f<a.Wa&&0<d;f++){var e=a.Tc?fc(this.b,c):c;this.b.F.pb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.jc(0,a,b,c,d)}; m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Va<<1;n++}g(c,d,f,e)}}};h.send(null)}function I(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:J(a.b,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.ac=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ec(this,this.ac,a,b,c,d);return}for(f=0;f<a.Va&&0<d;f++){var e=a.Tc?fc(this.b,c):c;this.b.F.pb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.jc(0,a,b,c,d)};
function ac(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Wa;e++)b.cache[c][e]=0;for(e=0;e<b.Wa&&0<f;e++){g=a.b.cc(b.Tc?fc(a.b,d):d);if(0>g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.A.tb=this.A.tb&-120|20;this.j.Ja=0;this.j.ua=128;this.i.Za=0;this.B.O=128;this.D.K=128;cc(this)}; function ac(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Va;e++)b.cache[c][e]=0;for(e=0;e<b.Va&&0<f;e++){g=a.b.bc(b.Tc?fc(a.b,d):d);if(0>g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.A.tb=this.A.tb&-120|20;this.i.sa=0;this.i.va=128;this.j.Ya=0;this.B.O=128;this.D.K=128;cc(this)};
l.Gc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.bb&65280:(a&1&&(b<<=8),e.bb=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.Qa=2}break;case 4194294:if(70!==e.lb)return J(e,4);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.lb)return J(e,4);d=1;break;case 4194290:if(70!==e.lb)return J(e,4);d=0;break;case 4194288:if(70!==e.lb)return J(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&= l.Gc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.bb&65280:(a&1&&(b<<=8),e.bb=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.Qa=2}break;case 4194294:if(70!==e.kb)return J(e,4);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.kb)return J(e,4);d=1;break;case 4194290:if(70!==e.kb)return J(e,4);d=0;break;case 4194288:if(70!==e.kb)return J(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return J(e,4);f=a-4194272>>1;0>b?d=e.hc[f]:(d=I(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.N>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[3]=b),d=e.Ca[3]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[1]=b),d=e.Ca[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.N&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.cb[f]=b),d=e.cb[f]),d;case 4194246:return a& 255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.kb)return J(e,4);f=a-4194272>>1;0>b?d=e.hc[f]:(d=I(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.N>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[3]=b),d=e.Da[3]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[1]=b),d=e.Da[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.N&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.cb[f]=b),d=e.cb[f]),d;case 4194246:return a&
1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ca[0]=b),d=e.Ca[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.N&2048?(0<=b&&(e.cb[f]=b),d=e.cb[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.ka[3][f],a,b,c);0<=d&&(e.ka[3][f]=d,e.ka[3][f&15]&=65295);break;case 4194112:var g=this.j;switch(a&-2){case 4194174:d=I(this,e.Yb,a,b,c);0<=d&&(e.Yb=d);break;case 4194172:d=e.Sa;d&65280&&(d=(d<<8|d>>8)&65535);break; 1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.N>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Da[0]=b),d=e.Da[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.N&2048?(0<=b&&(e.cb[f]=b),d=e.cb[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.ka[3][f],a,b,c);0<=d&&(e.ka[3][f]=d,e.ka[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=I(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=e.ab;d&65280&&(d=(d<<8|d>>8)&65535);break;
case 4194168:0>b?d=this.A.kd&65535:(d=I(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.ua&=-129,H(e,100,4,52,function(){g.ua|=128;return!!(g.ua&64)}));d=0;break;case 4194162:d=0;0>b&&(g.Ja&=-129,0<g.kc.length&&(d=g.kc.shift(),0<g.kc.length&&setTimeout(function(){g.Ja|=128;g.Ja&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?d=g.Ja:(d=I(this,g.Ja,a,b,c),0<=d&&(g.Ja=g.Ja&128|d&-129));break;default:return e.H|=16,J(e,4)}break;case 4194048:f=this.B;switch(a& case 4194168:0>b?d=this.A.ld&65535:(d=I(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.va&=-129,H(e,100,4,52,function(){g.va|=128;return!!(g.va&64)}));d=0;break;case 4194162:d=0;0>b&&(g.sa&=-129,0<g.kc.length&&(d=g.kc.shift(),0<g.kc.length&&setTimeout(function(){g.sa|=128;g.sa&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?d=g.sa:(d=I(this,g.sa,a,b,c),0<=d&&(g.sa=g.sa&128|d&-129));break;default:return e.H|=16,J(e,4)}break;case 4194048:f=this.B;switch(a&
-2){case 4194048:d=I(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194050:d=I(this,f.la,a,b,c);0<=d&&(f.la=d);break;case 4194052:d=I(this,f.O,a,b,c);0<=b&&0<=d&&(f.O=d&-36993|f.O&36992,f.O&1&&$b(this));break;case 4194054:d=I(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194056:d=I(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194058:d=I(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4194060:break;case 4194062:d=I(this,f.zc,a,b,c);0<=d&&(f.zc=d);break;default:return e.H|=16,J(e,4)}break;case 4193728:var h=this.G; -2){case 4194048:d=I(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194050:d=I(this,f.la,a,b,c);0<=d&&(f.la=d);break;case 4194052:d=I(this,f.O,a,b,c);0<=b&&0<=d&&(f.O=d&-36993|f.O&36992,f.O&1&&$b(this));break;case 4194054:d=I(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194056:d=I(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194058:d=I(this,f.ta,a,b,c);0<=d&&(f.ta=d);break;case 4194060:break;case 4194062:d=I(this,f.zc,a,b,c);0<=d&&(f.zc=d);break;default:return e.H|=16,J(e,4)}break;case 4193728:var h=this.G;
f=h.Da&7;switch(a&-2){case 4193728:d=I(this,h.R,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.R=d&17279|h.R&34944|2048,d&1&&h.R&128?dc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=I(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=I(this,h.Ea[f],a,b,c);0<=d&&(h.Ea[f]=d&7967);break;case 4193736:d=I(this,h.Da,a,b,c);0<=d&&(h.Da=d&63|h.Da&65472,d&128&&cc(this));break;case 4193738:d=h.qa[f];break;case 4193740:d=h.yb[f];break;case 4193742:d= f=h.Ea&7;switch(a&-2){case 4193728:d=I(this,h.R,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.R=d&17279|h.R&34944|2048,d&1&&h.R&128?dc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=I(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=I(this,h.Fa[f],a,b,c);0<=d&&(h.Fa[f]=d&7967);break;case 4193736:d=I(this,h.Ea,a,b,c);0<=d&&(h.Ea=d&63|h.Ea&65472,d&128&&cc(this));break;case 4193738:d=h.qa[f];break;case 4193740:d=h.yb[f];break;case 4193742:d=
I(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.hd[f];break;case 4193746:d=I(this,h.Ac,a,b,c);0<=d&&(h.Ac=d);break;case 4193748:d=I(this,h.Bc[f],a,b,c);0<=d&&(h.Bc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.jd[f];break;case 4193754:d=I(this,h.Cc[f],a,b,c);0<=d&&(h.Cc[f]=d);break;case 4193756:d=I(this,h.Ra[f],a,b,c);0<=d&&(h.Ra[f]=d&511);break;case 4193758:h.dc[f]=h.Ra[f];d=h.dc[f];break;case 4193760:d=h.fd[f];break;case 4193762:d=h.gd[f];break;case 4193764:d=h.dd[f]; I(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.jd[f];break;case 4193746:d=I(this,h.Ac,a,b,c);0<=d&&(h.Ac=d);break;case 4193748:d=I(this,h.Bc[f],a,b,c);0<=d&&(h.Bc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.kd[f];break;case 4193754:d=I(this,h.Cc[f],a,b,c);0<=d&&(h.Cc[f]=d);break;case 4193756:d=I(this,h.Ra[f],a,b,c);0<=d&&(h.Ra[f]=d&511);break;case 4193758:h.dc[f]=h.Ra[f];d=h.dc[f];break;case 4193760:d=h.gd[f];break;case 4193762:d=h.hd[f];break;case 4193764:d=h.ed[f];
break;case 4193766:d=h.ed[f];break;case 4193768:d=I(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.R=h.R&-769|(d&3)<<8);break;case 4193770:d=I(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.H|=16,J(e,4)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=I(this,f.K,a,b,c);0<=b&&0<=d&&(f.Va=f.Va&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||bc(this));break;case 4192514:d=I(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=I(this,f.ea,a,b,c);0<=d&&(f.ea=d);break;case 4192518:d=I(this,f.$a,a,b,c); break;case 4193766:d=h.fd[f];break;case 4193768:d=I(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.R=h.R&-769|(d&3)<<8);break;case 4193770:d=I(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.H|=16,J(e,4)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=I(this,f.K,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||bc(this));break;case 4192514:d=I(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=I(this,f.ea,a,b,c);0<=d&&(f.ea=d);break;case 4192518:d=I(this,f.Za,a,b,c);
0<=d&&(f.$a=d);break;case 4192520:d=I(this,f.Va,a,b,c);0<=d&&(f.Va=d&63,f.K=f.K&-49|(f.Va&3)<<4);break;default:return e.H|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.gb:(d=I(this,e.gb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.gb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.gb&16&&(f=1),this.A.tb=this.A.tb&-8|f)));break;default:return e.H|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.ka[0][f],a,b,c);0<=d&&(e.ka[0][f]=d,e.ka[0][f&15]&=65295);break;case 4191360:f= 0<=d&&(f.Za=d);break;case 4192520:d=I(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.K=f.K&-49|(f.Ua&3)<<4);break;default:return e.H|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.mb:(d=I(this,e.mb,a,b,c),0<=d&&(70!==e.kb&&(d&=-49),e.mb=d,e.$b[0]=d&4?15:7,e.$b[1]=d&2?15:7,e.$b[3]=d&1?15:7,e.Zb&&(f=2,e.mb&16&&(f=1),this.A.tb=this.A.tb&-8|f)));break;default:return e.H|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.ka[0][f],a,b,c);0<=d&&(e.ka[0][f]=d,e.ka[0][f&15]&=65295);break;case 4191360:f=
a>>1&31;d=I(this,e.ka[1][f],a,b,c);0<=d&&(e.ka[1][f]=d,e.ka[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return J(e,4);f=a>>2&31;d=e.Vb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.Vb[f]=a&2?d<<16|e.Vb[f]&65535:e.Vb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Lb[a>>1&255];else return e.H|=16,J(e,4);break;default:return e.H|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"=== a>>1&31;d=I(this,e.ka[1][f],a,b,c);0<=d&&(e.ka[1][f]=d,e.ka[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.kb)return J(e,4);f=a>>2&31;d=e.Vb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.Vb[f]=a&2?d<<16|e.Vb[f]&65535:e.Vb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Lb[a>>1&255];else return e.H|=16,J(e,4);break;default:return e.H|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===
typeof d&&console.log("panic(76)");return d};var gc={},Jb=(gc[65382]=[null,null,G.prototype.Xc,G.prototype.md],gc[65402]=[null,null,G.prototype.Yc,G.prototype.nd],gc[65396]=[null,null,G.prototype.$c,G.prototype.pd],gc[65534]=[null,null,G.prototype.Zc,G.prototype.od],gc);Oa(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new G(d);bb(d,c)}});var hc; typeof d&&console.log("panic(76)");return d};var gc={},Jb=(gc[65382]=[null,null,G.prototype.Xc,G.prototype.nd],gc[65392]=[null,null,G.prototype.$c,G.prototype.qd],gc[65396]=[null,null,G.prototype.ad,G.prototype.rd],gc[65402]=[null,null,G.prototype.Yc,G.prototype.od],gc[65534]=[null,null,G.prototype.Zc,G.prototype.pd],gc);Oa(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new G(d);bb(d,c)}});var hc;
if(tb){var ic=new ArrayBuffer(2);(new DataView(ic)).setUint16(0,256,!0);hc=256===(new Uint16Array(ic))[0]}else hc=!1;var jc=hc; if(tb){var ic=new ArrayBuffer(2);(new DataView(ic)).setUint16(0,256,!0);hc=256===(new Uint16Array(ic))[0]}else hc=!1;var jc=hc;
function F(a,b,c,d,f){this.id=kc+=2;this.b=null;this.w=a;this.Xb=b;this.size=c||0;this.type=d||lc;this.i=d==mc;this.controller=null;xb(this);this.Xa=this.Nc=!1;if(c)if(f)this.controller=f,this.b=null,nc(this,f.Gb);else if(tb)this.D=new ArrayBuffer(c),this.G=new DataView(this.D,0,c),this.I=new Uint8Array(this.D,0,c),this.P=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),nc(this,jc?oc:pc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;nc(this,qc)}else nc(this)} function F(a,b,c,d,f){this.id=kc+=2;this.b=null;this.w=a;this.Xb=b;this.size=c||0;this.type=d||lc;this.i=d==mc;this.controller=null;xb(this);this.Wa=this.Nc=!1;if(c)if(f)this.controller=f,this.b=null,nc(this,f.Gb);else if(tb)this.D=new ArrayBuffer(c),this.G=new DataView(this.D,0,c),this.I=new Uint8Array(this.D,0,c),this.P=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),nc(this,jc?oc:pc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;nc(this,qc)}else nc(this)}
var lc=0,mc=2,Db=4,Fb=["NONE","RAM","ROM","VID","H/W"],kc=0; var lc=0,mc=2,Db=4,Fb=["NONE","RAM","ROM","VID","H/W"],kc=0;
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(tb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(tb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},jb:function(a,b){b?this.A++||rc(this,sc,!1):this.j++||tc(this,sc,!1)},S:function(){this.C&&cb(this.C,129)&&this.C.message("attempt to read invalid block %"+ F.prototype={constructor:F,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(tb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(tb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1},ib:function(a,b){b?this.A++||rc(this,sc,!1):this.j++||tc(this,sc,!1)},S:function(){this.C&&cb(this.C,129)&&this.C.message("attempt to read invalid block %"+
r(this.w),!0);return 255},B:function(a,b){this.C&&cb(this.C,129)&&this.C.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.w),!0)},V:function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8},J:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Aa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa= r(this.w),!0);return 255},B:function(a,b){this.C&&cb(this.C,129)&&this.C.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.w),!0)},V:function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8},J:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Ba:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Wa=
!0},Ta:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Xa=!0},ba:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,1,c.V)&&c.ma(!0)}return this.Pb(a,b)},ha:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,2,c.V)&&c.ma(!0)}return this.lc(a,b)},wa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,1,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.Cb(a, !0},Sa:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Wa=!0},ba:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,1,c.V)&&c.ma(!0)}return this.Pb(a,b)},ha:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,2,c.V)&&c.ma(!0)}return this.lc(a,b)},xa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,1,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.Cb(a,
b,c)},Ka:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,2,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.qc(a,b,c)},Z:function(a){return this.I[a]},ca:function(a){return this.I[a]},fa:function(a){return this.G.getUint16(a,!0)},na:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.P[a>>1]},va:function(a,b){this.I[a]=b;this.Xa=!0},xa:function(a,b){this.I[a]=b;this.Xa=!0},Fa:function(a,b){this.G.setUint16(a,b,!0);this.Xa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.P[a>> b,c)},Ka:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,2,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.qc(a,b,c)},Z:function(a){return this.I[a]},ca:function(a){return this.I[a]},fa:function(a){return this.G.getUint16(a,!0)},na:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.P[a>>1]},wa:function(a,b){this.I[a]=b;this.Wa=!0},ya:function(a,b){this.I[a]=b;this.Wa=!0},Ga:function(a,b){this.G.setUint16(a,b,!0);this.Wa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.P[a>>
1]=b;this.Xa=!0}};function xb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&tc(a,sc,!1),(a.A=c.A)&&rc(a,sc,!1))}function vc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Ec=a.i?a.J:a.qc):--a.j||(a.wb=a.Pb,a.Qb=a.lc)}function rc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Ec=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.qc=b[3]||a.J}function tc(a,b,c){c&&a.j||(a.wb=b[0]||a.S,a.Qb=b[2]||a.V);if(c||void 0===c)a.Pb=b[0]||a.S,a.lc=b[2]||a.V}function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)} 1]=b;this.Wa=!0}};function xb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&tc(a,sc,!1),(a.A=c.A)&&rc(a,sc,!1))}function vc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Ec=a.i?a.J:a.qc):--a.j||(a.wb=a.Pb,a.Qb=a.lc)}function rc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Ec=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.qc=b[3]||a.J}function tc(a,b,c){c&&a.j||(a.wb=b[0]||a.S,a.Qb=b[2]||a.V);if(c||void 0===c)a.Pb=b[0]||a.S,a.lc=b[2]||a.V}function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)}
var wc=[],qc=[F.prototype.da,F.prototype.Aa,F.prototype.ra,F.prototype.Ta],sc=[F.prototype.ba,F.prototype.wa,F.prototype.ha,F.prototype.Ka];if(tb)var pc=[F.prototype.Z,F.prototype.va,F.prototype.fa,F.prototype.Fa],oc=[F.prototype.ca,F.prototype.xa,F.prototype.na,F.prototype.Db]; var wc=[],qc=[F.prototype.da,F.prototype.Ba,F.prototype.ra,F.prototype.Sa],sc=[F.prototype.ba,F.prototype.xa,F.prototype.ha,F.prototype.Ka];if(tb)var pc=[F.prototype.Z,F.prototype.wa,F.prototype.fa,F.prototype.Ga],oc=[F.prototype.ca,F.prototype.ya,F.prototype.na,F.prototype.Db];
function xc(a,b){u.call(this,"CPU",a,xc,1);var c=a.multiplier||1;this.xa=a.cycles||b;this.ab=c;this.Fa=Math.round(this.xa/1E4)/100;this.mb=this.Fa*this.ab;this.u.ja=!1;this.u.oc=!1;this.u.Hb=a.autoStart;this.u.wc=!1;this.u.rb=!1;this.Mb=this.ba=0;this.Nb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.D=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype; function xc(a,b){u.call(this,"CPU",a,xc,1);var c=a.multiplier||1;this.ya=a.cycles||b;this.$a=c;this.Ga=Math.round(this.ya/1E4)/100;this.lb=this.Ga*this.$a;this.u.ja=!1;this.u.oc=!1;this.u.Hb=a.autoStart;this.u.wc=!1;this.u.rb=!1;this.Mb=this.ba=0;this.Nb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.D=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype;
l.Ya=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b<yc.length;b++)(c=this.I[yc[b]])&&this.i.ta(null,yc[b],c);this.fa=null;a=zc(a,"autoStart");null!=a&&(this.u.Hb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1}; l.Xa=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b<yc.length;b++)(c=this.I[yc[b]])&&this.i.ua(null,yc[b],c);this.fa=null;a=zc(a,"autoStart");null!=a&&(this.u.Hb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.Pa=function(a,b){if(!b){if(a&&this.restore){Ac(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.C?(a=this.C,a.f("Type ? for help with PDP11 Debugger commands"),a.za(),a.Ta&&(b=a.Ta,a.Ta=null,Qc(a,b))):this.f("No debugger detected")}K(this);return!0};l.Oa=function(a){return a?this.save():!0};l.Hb=function(){return this.u.Hb||!this.C&&void 0===this.I.run?(this.ob(!0),!0):!1};l.yc=function(){return 0}; l.Pa=function(a,b){if(!b){if(a&&this.restore){Ac(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.C?(a=this.C,a.f("Type ? for help with PDP11 Debugger commands"),a.Aa(),a.Sa&&(b=a.Sa,a.Sa=null,Qc(a,b))):this.f("No debugger detected")}K(this);return!0};l.Oa=function(a){return a?this.save():!0};l.Hb=function(){return this.u.Hb||!this.C&&void 0===this.I.run?(this.ob(!0),!0):!1};l.yc=function(){return 0};
function Pc(a){void 0===a.Nb&&(a.Nb=0);void 0===a.ub&&(a.ub=-1);void 0===a.vb&&(a.vb=-1);a.u.rb=0<=a.Nb&&0<a.ub;a.u.rb&&(a.Mb=0,a.ba=a.Nb-a.Z)}function Rc(a,b){if(a.u.rb){var c=!1;a.Mb=a.Mb+a.yc()|0;a.ba-=b;0>=a.ba&&(a.ba+=a.ub,c=!0);0<=a.vb&&a.vb<=Sc(a)&&(a.ub=a.vb=-1,Pc(a),a.ma(),c=!0);c&&a.f(Sc(a)+" cycles: checksum="+r(a.Mb))}} function Pc(a){void 0===a.Nb&&(a.Nb=0);void 0===a.ub&&(a.ub=-1);void 0===a.vb&&(a.vb=-1);a.u.rb=0<=a.Nb&&0<a.ub;a.u.rb&&(a.Mb=0,a.ba=a.Nb-a.Z)}function Rc(a,b){if(a.u.rb){var c=!1;a.Mb=a.Mb+a.yc()|0;a.ba-=b;0>=a.ba&&(a.ba+=a.ub,c=!0);0<=a.vb&&a.vb<=Sc(a)&&(a.ub=a.vb=-1,Pc(a),a.ma(),c=!0);c&&a.f(Sc(a)+" cycles: checksum="+r(a.Mb))}}
function Tc(a,b,c,d){if(a.I[b]){void 0===c&&(sb(a,"Value for "+b+" is invalid"),a.ma());var f=a.C&&a.C.da||8;c=!a.u.ja||a.u.wc?8==f?ba(c,d):r(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}} function Tc(a,b,c,d){if(a.I[b]){void 0===c&&(sb(a,"Value for "+b+" is invalid"),a.ma());var f=a.C&&a.C.da||8;c=!a.u.ja||a.u.wc?8==f?ba(c,d):r(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}}
l.ta=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.I[b]=c;a=!0;break;case "run":this.I[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ga)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.u.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.u.ga);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Zb?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ja?d.ma():d.ob())}; l.ua=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.I[b]=c;a=!0;break;case "run":this.I[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ga)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.u.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.u.ga);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Yb?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ja?d.ma():d.ob())};
a=!0;break;case "speed":this.I[b]=c;a=!0;break;case "setSpeed":this.I[b]=c,c.onclick=function(){Uc(d,d.ab<<1,!0)},c.textContent=this.mb.toFixed(2)+"Mhz",a=!0}return a};function Vc(a,b,c){a.Z+=b;c&&(a.V=a.b=0)}function Wc(a,b){var c=1;b&&1<a.ab&&a.P&&(c=a.P/a.Fa);a.Fb=Math.round(1E3/30);a.Aa=Math.floor(a.xa/30*c);b||(a.ca=a.Aa);a.Ka=0}function Sc(a){return a.Z+a.J+a.V-a.b}function Ac(a){a.P=0;a.Ib=0;a.Z=a.J=a.V=a.b=0;Pc(a);Uc(a,1)} a=!0;break;case "speed":this.I[b]=c;a=!0;break;case "setSpeed":this.I[b]=c,c.onclick=function(){Uc(d,d.$a<<1,!0)},c.textContent=this.lb.toFixed(2)+"Mhz",a=!0}return a};function Vc(a,b,c){a.Z+=b;c&&(a.V=a.b=0)}function Wc(a,b){var c=1;b&&1<a.$a&&a.P&&(c=a.P/a.Ga);a.Fb=Math.round(1E3/30);a.Ba=Math.floor(a.ya/30*c);b||(a.ca=a.Ba);a.Ka=0}function Sc(a){return a.Z+a.J+a.V-a.b}function Ac(a){a.P=0;a.Ib=0;a.Z=a.J=a.V=a.b=0;Pc(a);Uc(a,1)}
function Uc(a,b,c){var d=!1;if(void 0!==b){.8>a.P/a.mb?b=1:d=!0;a.ab=b;b=a.Fa*a.ab;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Wb()}Vc(a,a.J);a.J=0;a.G=pa();a.S=0;Wc(a);return d}function Mb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Nb(a,b){var c;0<=b&&b<a.D.length&&0>a.D[b][0]&&(c=a.xa*a.ab/1E3*(1E3/60),a.D[b][0]=c)}function Xc(a){a.V-=a.b;a.b=0} function Uc(a,b,c){var d=!1;if(void 0!==b){.8>a.P/a.lb?b=1:d=!0;a.$a=b;b=a.Ga*a.$a;if(a.lb!=b){a.lb=b;b=a.lb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Wb()}Vc(a,a.J);a.J=0;a.G=pa();a.S=0;Wc(a);return d}function Mb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Nb(a,b){var c;0<=b&&b<a.D.length&&0>a.D[b][0]&&(c=a.ya*a.$a/1E3*(1E3/60),a.D[b][0]=c)}function Xc(a){a.V-=a.b;a.b=0}
l.ob=function(a){if(db(this,!0)){if(!this.u.ja){Uc(this);this.i&&this.i.start(this.G,Sc(this));this.u.ja=!0;this.u.oc=!0;this.fa&&this.fa.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.za(!0),a&&this.i.Wb(!0))}this.Ka>=this.xa&&Wc(this,!0);this.ha=0;this.wa=pa();this.S&&(a=this.wa-this.S,a>this.Fb&&(this.G+=a,this.G>this.wa&&(this.G=this.wa)));try{do{for(var c,d=this.u.rb?1:this.Aa,f=this.D.length-1;0<=f;f--){var e=this.D[f];0>e[0]||d>e[0]&&(d=e[0])}c=d;try{this.Ab(c)}catch(m){if("number"!= l.ob=function(a){if(db(this,!0)){if(!this.u.ja){Uc(this);this.i&&this.i.start(this.G,Sc(this));this.u.ja=!0;this.u.oc=!0;this.fa&&this.fa.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.Aa(!0),a&&this.i.Wb(!0))}this.Ka>=this.ya&&Wc(this,!0);this.ha=0;this.xa=pa();this.S&&(a=this.xa-this.S,a>this.Fb&&(this.G+=a,this.G>this.xa&&(this.G=this.xa)));try{do{for(var c,d=this.u.rb?1:this.Ba,f=this.D.length-1;0<=f;f--){var e=this.D[f];0>e[0]||d>e[0]&&(d=e[0])}c=d;try{this.Ab(c)}catch(m){if("number"!=
typeof m)throw m;}var g=this.V-this.b;a=g;for(var h=this.D.length-1;0<=h;h--){var k=this.D[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ha+=g;this.J+=g;Vc(this,0,!0);Rc(this,g);this.ca-=g;if(0>=this.ca){this.ca+=this.Aa;15<=++this.Ib&&(this.i&&this.i.za(),this.Ib=0);break}}while(this.u.ja)}catch(m){this.ma();K(this);this.i&&this.i.stop(pa(),Sc(this));db(this,!1);sb(this,m.stack||m.message);return}c=setTimeout;d=this.Kb;this.S=pa();f=this.Fb;this.ha&&(f=Math.round(f*this.ha/this.Aa));f-=this.S- typeof m)throw m;}var g=this.V-this.b;a=g;for(var h=this.D.length-1;0<=h;h--){var k=this.D[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ha+=g;this.J+=g;Vc(this,0,!0);Rc(this,g);this.ca-=g;if(0>=this.ca){this.ca+=this.Ba;15<=++this.Ib&&(this.i&&this.i.Aa(),this.Ib=0);break}}while(this.u.ja)}catch(m){this.ma();K(this);this.i&&this.i.stop(pa(),Sc(this));db(this,!1);sb(this,m.stack||m.message);return}c=setTimeout;d=this.Kb;this.S=pa();f=this.Fb;this.ha&&(f=Math.round(f*this.ha/this.Ba));f-=this.S-
this.wa;if(e=this.S-this.G)this.P=Math.round(this.J/(10*e))/100,864E5<=e&&(this.Z=0,Uc(this));if(0>f||this.P<this.mb)-1E3>f&&(this.G-=f),f=0;this.Ka+=this.ha;this.S+=f;c(d,f)}else K(this),this.i&&this.i.stop(pa(),Sc(this))};l.Ab=function(){return 0};l.ma=function(a){eb(this,!0);Xc(this);Vc(this,this.J);this.J=0;if(this.u.ja){this.u.ja=!1;this.fa&&this.fa.stop();var b=this.I.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.i&&a.i.za(b)} this.xa;if(e=this.S-this.G)this.P=Math.round(this.J/(10*e))/100,864E5<=e&&(this.Z=0,Uc(this));if(0>f||this.P<this.lb)-1E3>f&&(this.G-=f),f=0;this.Ka+=this.ha;this.S+=f;c(d,f)}else K(this),this.i&&this.i.stop(pa(),Sc(this))};l.Ab=function(){return 0};l.ma=function(a){eb(this,!0);Xc(this);Vc(this,this.J);this.J=0;if(this.u.ja){this.u.ja=!1;this.fa&&this.fa.stop();var b=this.I.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.i&&a.i.Aa(b)}
function Yc(a){this.Vc=+a.model||1170;this.ic=a.resetAddr||0;xc.call(this,a,1E6);this.Eb=0;this.decode=Zc.bind(this);this.T=65536;this.U=32768;this.Y=65535;this.W=32768;this.N=15;this.g=[0,0,0,0,0,0,0,this.ic];this.cb=[0,0,0,0,0,0];this.Ca=[0,0,0,0];this.va=this.A=0;this.ka=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, function Yc(a){this.Vc=+a.model||1170;this.ic=a.resetAddr||0;xc.call(this,a,1E6);this.Eb=0;this.decode=Zc.bind(this);this.T=65536;this.U=32768;this.Y=65535;this.W=32768;this.N=15;this.g=[0,0,0,0,0,0,0,this.ic];this.cb=[0,0,0,0,0,0];this.Da=[0,0,0,0];this.wa=this.A=0;this.ka=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0],[0,0,0,0,0,0,0,0,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.Vb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.hc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.M=0;this.lb=70;this.da=-1;this.na=0;$c(this);this.u.complete=this.u.Kc=!1}w(Yc,xc);l=Yc.prototype;l.reset=function(){this.u.ja&&this.ma();$c(this);Ac(this);this.u.error=!1;this.parent.reset.call(this)}; 0,0],[0,0,0,0,0,0,0,0,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.Vb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.hc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.M=0;this.kb=70;this.da=-1;this.na=0;$c(this);this.u.complete=this.u.Kc=!1}w(Yc,xc);l=Yc.prototype;l.reset=function(){this.u.ja&&this.ma();$c(this);Ac(this);this.u.error=!1;this.parent.reset.call(this)};
function $c(a){a.bb=255;a.H=0;a.mc=0;a.B=0;a.Sa=0;a.Yb=0;a.gb=0;a.$b=0;a.ra=0;a.ac=[7,7,7,7];a.j=[];a.Qa=2;Ob(a)}function Ob(a){a.$b?(a.Ta=65536,a.aa=a.Rc,a.Qb=a.ya):(a.Ta=0,a.aa=a.Qc,a.Qb=a.cc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.Z,this.ab]);a.set(2,Hb(this.F));return a.data()}; function $c(a){a.bb=255;a.H=0;a.mc=0;a.B=0;a.ab=0;a.cc=0;a.mb=0;a.Zb=0;a.ra=0;a.$b=[7,7,7,7];a.j=[];a.Qa=2;Ob(a)}function Ob(a){a.Zb?(a.Sa=65536,a.aa=a.Rc,a.Qb=a.za):(a.Sa=0,a.aa=a.Qc,a.Qb=a.bc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.Z,this.$a]);a.set(2,Hb(this.F));return a.data()};
l.restore=function(a){var b=a[1];this.Z=b[1];Uc(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.P){for(var e=0,g=Array(b.P),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.L[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b}; l.restore=function(a){var b=a[1];this.Z=b[1];Uc(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.P){for(var e=0,g=Array(b.P),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.L[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
l.ta=function(a,b,c){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":this.I[b]=c;this.Eb++;a=!0;break;default:a=this.parent.ta.call(this,a,b,c)}return a}; l.ua=function(a,b,c){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":this.I[b]=c;this.Eb++;a=!0;break;default:a=this.parent.ua.call(this,a,b,c)}return a};
l.za=function(a){if(this.Eb&&(a||!this.u.ja||this.u.wc)){for(a=0;a<this.g.length;a++)Tc(this,"R"+a,this.g[a]);a=Yb(this);Tc(this,"PS",a);Tc(this,"NF",a&8?1:0,1);Tc(this,"ZF",a&4?1:0,1);Tc(this,"VF",a&2?1:0,1);Tc(this,"CF",a&1?1:0,1)}if(a=this.I.speed)a.textContent=this.u.ja&&this.P?this.P.toFixed(2)+"Mhz":"Stopped"};function M(a){return a.T&65536?1:0}function ad(a){return a.U&32768?2:0}function bd(a){return a.Y&65535?0:4}l.Na=function(){return this.W&32768?8:0}; l.Aa=function(a){if(this.Eb&&(a||!this.u.ja||this.u.wc)){for(a=0;a<this.g.length;a++)Tc(this,"R"+a,this.g[a]);a=Yb(this);Tc(this,"PS",a);Tc(this,"NF",a&8?1:0,1);Tc(this,"ZF",a&4?1:0,1);Tc(this,"VF",a&2?1:0,1);Tc(this,"CF",a&1?1:0,1)}if(a=this.I.speed)a.textContent=this.u.ja&&this.P?this.P.toFixed(2)+"Mhz":"Stopped"};function M(a){return a.T&65536?1:0}function ad(a){return a.U&32768?2:0}function bd(a){return a.Y&65535?0:4}l.Na=function(){return this.W&32768?8:0};
function H(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].ld===d){0<e&&(a.j[e-1].Ga+=a.j[e].Ga);a.j.splice(e,1);break}if(0<=b){2===a.na&&(b=0,a.na=0,setTimeout(a.Kb,0));for(e=a.j.length;0<e--;){if(a.j[e].Ga>b){a.j[e].Ga-=b;break}b-=a.j[e].Ga}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Qa=2}function Yb(a){return a.N=a.N&63728|a.Na()|bd(a)|ad(a)|M(a)} function H(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].md===d){0<e&&(a.j[e-1].Ha+=a.j[e].Ha);a.j.splice(e,1);break}if(0<=b){2===a.na&&(b=0,a.na=0,setTimeout(a.Kb,0));for(e=a.j.length;0<e--;){if(a.j[e].Ha>b){a.j[e].Ha-=b;break}b-=a.j[e].Ha}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Qa=2}function Yb(a){return a.N=a.N&63728|a.Na()|bd(a)|ad(a)|M(a)}
function Zb(a,b){a.W=b<<12;a.Y=~b&4;a.U=b<<14;a.T=b<<16;if((b^a.N)&2048)for(var c=a.cb.length;0<=--c;){var d=a.g[c];a.g[c]=a.cb[c];a.cb[c]=d}a.A=b>>14&3;c=a.N>>14&3;a.A!=c&&(a.Ca[c]=a.g[6],a.g[6]=a.Ca[a.A]);a.Qa=2;a.N=b}function cd(a,b,c){a.M&128||(a.W=a.Y=a.T=b,a.U=c||0)}function N(a,b){a.M&128||(a.W=a.Y=b,a.U=0)}function dd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^b)&(d^b))}function ed(a,b){a.M&128||(a.W=a.Y=a.T=b,a.U=a.W^a.T>>1)}function fd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^d)&(d^b))} function Zb(a,b){a.W=b<<12;a.Y=~b&4;a.U=b<<14;a.T=b<<16;if((b^a.N)&2048)for(var c=a.cb.length;0<=--c;){var d=a.g[c];a.g[c]=a.cb[c];a.cb[c]=d}a.A=b>>14&3;c=a.N>>14&3;a.A!=c&&(a.Da[c]=a.g[6],a.g[6]=a.Da[a.A]);a.Qa=2;a.N=b}function cd(a,b,c){a.M&128||(a.W=a.Y=a.T=b,a.U=c||0)}function N(a,b){a.M&128||(a.W=a.Y=b,a.U=0)}function dd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^b)&(d^b))}function ed(a,b){a.M&128||(a.W=a.Y=a.T=b,a.U=a.W^a.T>>1)}function fd(a,b,c,d){a.M&128||(a.W=a.Y=a.T=b,a.U=(c^d)&(d^b))}
function J(a,b){var c=!1;0>a.da?a.da=Yb(a):a.A||(b=4,c=!0);a.B&57344||(a.Sa=63222,a.Yb=b);a.A=0;var d=a.ya(b|65536),f=a.ya(b+2&65535|65536);Zb(a,f&53247|a.da>>2&12288);c&&(a.H|=4,a.g[6]=4);gd(a,a.da);gd(a,a.g[7]);a.g[7]=d;a.M&=-113;a.da=-1;throw b;}function hd(a){var b=id(a),c=id(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);a.g[7]=b&65535;Zb(a,c);a.M&=-17}function fc(a,b){var c=b>>13&31;31>c?a.gb&32&&(b=a.Vb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} function J(a,b){var c=!1;0>a.da?a.da=Yb(a):a.A||(b=4,c=!0);a.B&57344||(a.ab=63222,a.cc=b);a.A=0;var d=a.za(b|65536),f=a.za(b+2&65535|65536);Zb(a,f&-12289|a.da>>2&12288);c&&(a.H|=4,a.g[6]=4);gd(a,a.da);gd(a,a.g[7]);a.g[7]=d;a.M&=-113;a.da=-1;throw b;}function hd(a){var b=id(a),c=id(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);a.g[7]=b&65535;Zb(a,c);a.M&=-17}function fc(a,b){var c=b>>13&31;31>c?a.mb&32&&(b=a.Vb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function jd(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.A];f=a.ka[a.A][d];e=(a.ka[a.A][d+16]<<6)+(b&8191)&4194303;a.gb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4)),e&1&&!(c&1)&&(a.H|=64,J(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&& function jd(a,b,c){var d,f,e,g=0;if(c&a.Zb){d=b>>13&a.$b[a.A];f=a.ka[a.A][d];e=(a.ka[a.A][d+16]<<6)+(b&8191)&4194303;a.mb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4)),e&1&&!(c&1)&&(a.H|=64,J(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&
(g|=16384));a.ka[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.va=d;g&&(g&57344&&(0<=a.da&&(g|=128),a.B&57344||(a.B=a.B|g|a.ra<<5|a.va<<1),J(a,168)),a.B&61440||!(4191360>e||4194239<e)||(a.B|=4096,a.B&512&&(a.M|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.H|=64,J(a,4));return e}l.cc=function(a){return 4194304<=a?this.g[a-4194304]:0<=a?this.F.Ia(a):a};l.ya=function(a){return this.cc(jd(this,a,2))};function id(a){var b=a.ya(a.g[6]|65536);a.g[6]=a.g[6]+2&65535;return b} (g|=16384));a.ka[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.wa=d;g&&(g&57344&&(0<=a.da&&(g|=128),a.B&57344||(a.B=a.B|g|a.ra<<5|a.wa<<1),J(a,168)),a.B&61440||!(4191360>e||4194239<e)||(a.B|=4096,a.B&512&&(a.M|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.H|=64,J(a,4));return e}l.bc=function(a){return 4194304<=a?this.g[a-4194304]:0<=a?this.F.Ja(a):a};l.za=function(a){return this.bc(jd(this,a,2))};function id(a){var b=a.za(a.g[6]|65536);a.g[6]=a.g[6]+2&65535;return b}
function gd(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.B&57344||(a.Sa=a.Sa<<8|246);!a.A&&c<=a.bb&&4<c&&(c<=a.bb-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=4));c=jd(a,c|65536,4);a.F.pb(c,b&65535)} function gd(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.B&57344||(a.ab=a.ab<<8|246);!a.A&&c<=a.bb&&4<c&&(c<=a.bb-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=4));c=jd(a,c|65536,4);a.F.pb(c,b&65535)}
function kd(a,b,c){var d,f,e=b&7,g=c&8?0:a.Ta;switch(b>>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);if(0>(d=a.ya(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.ya(d)))return d; function kd(a,b,c){var d,f,e=b&7,g=c&8?0:a.Sa;switch(b>>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);if(0>(d=a.za(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.za(d)))return d;
d|=g;break;case 6:if(0>(d=a.ya(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return d|g;case 7:if(0>(d=a.ya(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.ya(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.Sa=a.Sa<<8|f<<3&248|e);6===e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64));return d}l.Qc=function(a,b){return kd(this,a,b)};l.Rc=function(a,b){return jd(this,kd(this,a,b),b)}; d|=g;break;case 6:if(0>(d=a.za(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return d|g;case 7:if(0>(d=a.za(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.za(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.ab=a.ab<<8|f<<3&248|e);6==e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.bb||65534<=a.g[6])&&(a.g[6]<=a.bb-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64));return d}l.Qc=function(a,b){return kd(this,a,b)};l.Rc=function(a,b){return jd(this,kd(this,a,b),b)};
function ld(a,b,c){b&56?(b=kd(a,b,0),c&65536||61440!==(a.N&61440)&&(b&=65535),a.A=a.N>>12&3,c=a.ya(b|c&65536),a.A=a.N>>14&3):(c=b&7,c=6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]:a.Ca[a.N>>12&3]);return c}function md(a,b,c,d){a.B&57344||(a.Sa=22);b&56?(b=kd(a,b,0),c&65536||(b&=65535),a.A=a.N>>12&3,b=jd(a,b|c&65536,4),a.A=a.N>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]=d:a.Ca[a.N>>12&3]=d)}function O(a,b){return b&56?a.Qb(kd(a,b,2)):a.g[b&7]} function ld(a,b,c){b&56?(b=kd(a,b,0),c&65536||61440!==(a.N&61440)&&(b&=65535),a.A=a.N>>12&3,c=a.za(b|c&65536),a.A=a.N>>14&3):(c=b&7,c=6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]:a.Da[a.N>>12&3]);return c}function md(a,b,c,d){a.B&57344||(a.ab=22);b&56?(b=kd(a,b,0),c&65536||(b&=65535),a.A=a.N>>12&3,b=jd(a,b|c&65536,4),a.A=a.N>>14&3,a.F.pb(b,d&65535)):(c=b&7,6!=c||(a.N>>2&12288)===(a.N&12288)?a.g[c]=d:a.Da[a.N>>12&3]=d)}function O(a,b){return b&56?a.Qb(kd(a,b,2)):a.g[b&7]}
function nd(a,b){b&56?(b=a.aa(b,3),a=a.F.sb(b)):a=a.g[b&7]&255;return a}function P(a,b,c,d){b&56?(b=a.aa(b,6),c=d.call(a,c,a.cc(b)),a.F.pb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function R(a,b,c,d){b&56?(b=a.aa(b,7),c=d.call(a,c,a.F.sb(b)),a.F.Ub(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function od(a,b,c){b&56?(b=a.aa(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c} function nd(a,b){b&56?(b=a.aa(b,3),a=a.F.sb(b)):a=a.g[b&7]&255;return a}function P(a,b,c,d){b&56?(b=a.aa(b,6),c=d.call(a,c,a.bc(b)),a.F.pb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function R(a,b,c,d){b&56?(b=a.aa(b,7),c=d.call(a,c,a.F.sb(b)),a.F.Ub(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function od(a,b,c){b&56?(b=a.aa(b,4),a.F.pb(b,c&65535)):a.g[b&7]=c&65535;return c}
function pd(a,b,c,d){b&56?(d=a.aa(b,5),a.F.Ub(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function S(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535} function pd(a,b,c,d){b&56?(d=a.aa(b,5),a.F.Ub(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function S(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535}
l.Ab=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&qd(this.C),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.V=this.b=a;do{if(b){if(rd(this.C,this.g[7],c)){this.ma();break}c=1}this.M&112&&(this.M&32?J(this,168):this.M&64?J(this,4):this.M&16&&J(this,12),this.M&=-113);if(this.Qa)if(1==this.Qa)this.Qa=2;else{this.Qa=0;a=null;for(var d=this.mc&224,f=this.j.length;0<=--f;){if(0<this.j[f].Ga){this.j[f].Ga--;this.Qa=2;break}if(this.j[f].uc){if(!this.j[f].uc()){this.j.splice(f,1);continue}this.j[f].uc=null}this.j[f].Wc> l.Ab=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&qd(this.C),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.V=this.b=a;do{if(b){if(rd(this.C,this.g[7],c)){this.ma();break}c=1}this.M&112&&(this.M&32?J(this,168):this.M&64?J(this,4):this.M&16&&J(this,12),this.M&=-113);if(this.Qa)if(1==this.Qa)this.Qa=2;else{this.Qa=0;a=null;for(var d=this.mc&224,f=this.j.length;0<=--f;){if(0<this.j[f].Ha){this.j[f].Ha--;this.Qa=2;break}if(this.j[f].uc){if(!this.j[f].uc()){this.j.splice(f,1);continue}this.j[f].uc=null}this.j[f].Wc>
d&&(d=this.j[f].Wc,a=this.j[f],this.j.splice(f,1))}d>(this.N&224)&&(a?J(this,a.ld):J(this,160))}this.B&57344||(this.Sa=0,this.Yb=this.g[7]);this.M=this.N&16;a=this.ya(this.g[7]);0<=a&&(this.g[7]=this.g[7]+2&65535);this.decode(a)}while(0<this.b);return this.u.complete?this.V-this.b:void 0===this.u.complete?0:-1};Oa(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Yc(d);bb(d,c)}});function sd(a,b){var c=b+a;dd(this,c,a,b);return c&65535} d&&(d=this.j[f].Wc,a=this.j[f],this.j.splice(f,1))}d>(this.N&224)&&(a?J(this,a.md):J(this,160))}this.B&57344||(this.ab=0,this.cc=this.g[7]);this.M=this.N&16;a=this.za(this.g[7]);0<=a&&(this.g[7]=this.g[7]+2&65535);this.decode(a)}while(0<this.b);return this.u.complete?this.V-this.b:void 0===this.u.complete?0:-1};Oa(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Yc(d);bb(d,c)}});function sd(a,b){var c=b+a;dd(this,c,a,b);return c&65535}
function td(a,b){var c=b+a;dd(this,c<<8,a<<8,b<<8);return c&255}function ud(a,b){a=b<<1;ed(this,a);return a&65535}function vd(a,b){a=b<<1;ed(this,a<<8);return a&255}function wd(a,b){a=b&32768|b>>1|b<<16;ed(this,a);return a&65535}function xd(a,b){a=b&2048|b>>1|b<<8;ed(this,a<<8);return a&255}function yd(a,b){a=b&~a;N(this,a);return a}function zd(a,b){a=b&~a;N(this,a<<8);return a}function Ad(a,b){a|=b;N(this,a);return a}function Bd(a,b){a|=b;N(this,a<<8);return a} function td(a,b){var c=b+a;dd(this,c<<8,a<<8,b<<8);return c&255}function ud(a,b){a=b<<1;ed(this,a);return a&65535}function vd(a,b){a=b<<1;ed(this,a<<8);return a&255}function wd(a,b){a=b&32768|b>>1|b<<16;ed(this,a);return a&65535}function xd(a,b){a=b&2048|b>>1|b<<8;ed(this,a<<8);return a&255}function yd(a,b){a=b&~a;N(this,a);return a}function zd(a,b){a=b&~a;N(this,a<<8);return a}function Ad(a,b){a|=b;N(this,a);return a}function Bd(a,b){a|=b;N(this,a<<8);return a}
function Cd(a,b){a=~b|65536;cd(this,a);return a&65535}function Dd(a,b){a=~b|256;cd(this,a<<8);return a&255}function Ed(a,b){a=b-a;this.M&128||(this.W=this.Y=a,this.U=b&(b^a));return a&65535}function Fd(a,b){a=b-a;var c=a<<8;b<<=8;this.M&128||(this.W=this.Y=c,this.U=b&(b^c));return a&255}function Gd(a,b){a=b+a;this.M&128||(this.W=this.Y=a,this.U=a&(b^a));return a&65535}function Hd(a,b){a=b+a;var c=a<<8;this.M&128||(this.W=this.Y=c,this.U=c&(b<<8^c));return a&255} function Cd(a,b){a=~b|65536;cd(this,a);return a&65535}function Dd(a,b){a=~b|256;cd(this,a<<8);return a&255}function Ed(a,b){a=b-a;this.M&128||(this.W=this.Y=a,this.U=b&(b^a));return a&65535}function Fd(a,b){a=b-a;var c=a<<8;b<<=8;this.M&128||(this.W=this.Y=c,this.U=b&(b^c));return a&255}function Gd(a,b){a=b+a;this.M&128||(this.W=this.Y=a,this.U=a&(b^a));return a&65535}function Hd(a,b){a=b+a;var c=a<<8;this.M&128||(this.W=this.Y=c,this.U=c&(b<<8^c));return a&255}
function Id(a,b){a=-b;cd(this,a,a&b&32768);return a&65535}function Jd(a,b){a=-b;cd(this,a<<8,(a&b&128)<<8);return a&255}function Kd(a,b){a=b<<1|this.T>>16&1;ed(this,a);return a&65535}function Ld(a,b){a=b<<1|this.T>>16&1;ed(this,a<<8);return a&255}function Md(a,b){a=(this.T&65536|b)>>1|b<<16;ed(this,a);return a&65535}function Nd(a,b){a=((this.T&65536)>>8|b)>>1|b<<8;ed(this,a<<8);return a&255}function Od(a,b){var c=b-a;fd(this,c,a,b);return c&65535} function Id(a,b){a=-b;cd(this,a,a&b&32768);return a&65535}function Jd(a,b){a=-b;cd(this,a<<8,(a&b&128)<<8);return a&255}function Kd(a,b){a=b<<1|this.T>>16&1;ed(this,a);return a&65535}function Ld(a,b){a=b<<1|this.T>>16&1;ed(this,a<<8);return a&255}function Md(a,b){a=(this.T&65536|b)>>1|b<<16;ed(this,a);return a&65535}function Nd(a,b){a=((this.T&65536)>>8|b)>>1|b<<8;ed(this,a<<8);return a&255}function Od(a,b){var c=b-a;fd(this,c,a,b);return c&65535}
@ -108,52 +108,52 @@ var xe=[function(a){ye[a>>8&15].call(this,a)},function(a){N(this,od(this,a,O(thi
--this.b},function(a){var b=nd(this,a>>6)<<8;a=nd(this,a)<<8;fd(this,b-a,a,b);--this.b},function(a){N(this,(nd(this,a>>6)&nd(this,a))<<8);--this.b},function(a){R(this,a,nd(this,a>>6),zd);--this.b},function(a){R(this,a,nd(this,a>>6),Bd);--this.b},function(a){P(this,a,O(this,a>>6),Od);--this.b},W],ye=[function(a){Be[a>>4&15].call(this,a)},function(a){S(this,a);--this.b},function(a){bd(this)||S(this,a);--this.b},function(a){bd(this)&&S(this,a);--this.b},function(a){!this.Na()==!ad(this)&&S(this,a);--this.b}, --this.b},function(a){var b=nd(this,a>>6)<<8;a=nd(this,a)<<8;fd(this,b-a,a,b);--this.b},function(a){N(this,(nd(this,a>>6)&nd(this,a))<<8);--this.b},function(a){R(this,a,nd(this,a>>6),zd);--this.b},function(a){R(this,a,nd(this,a>>6),Bd);--this.b},function(a){P(this,a,O(this,a>>6),Od);--this.b},W],ye=[function(a){Be[a>>4&15].call(this,a)},function(a){S(this,a);--this.b},function(a){bd(this)||S(this,a);--this.b},function(a){bd(this)&&S(this,a);--this.b},function(a){!this.Na()==!ad(this)&&S(this,a);--this.b},
function(a){!this.Na()!=!ad(this)&&S(this,a);--this.b},function(a){bd(this)||!this.Na()!=!ad(this)||S(this,a);--this.b},function(a){(bd(this)||!this.Na()!=!ad(this))&&S(this,a);--this.b},Ud,Ud,function(a){Ce[a>>6&3].call(this,a)},function(a){De[a>>6&3].call(this,a)},function(a){Ee[a>>6&3].call(this,a)},function(a){Fe[a>>6&3].call(this,a)},W,W],Be=[function(a){Ge[a&15].call(this,a)},W,W,W,W,W,W,W,function(a){var b=id(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.N&49152||(this.N= function(a){!this.Na()!=!ad(this)&&S(this,a);--this.b},function(a){bd(this)||!this.Na()!=!ad(this)||S(this,a);--this.b},function(a){(bd(this)||!this.Na()!=!ad(this))&&S(this,a);--this.b},Ud,Ud,function(a){Ce[a>>6&3].call(this,a)},function(a){De[a>>6&3].call(this,a)},function(a){Ee[a>>6&3].call(this,a)},function(a){Fe[a>>6&3].call(this,a)},W,W],Be=[function(a){Ge[a&15].call(this,a)},W,W,W,W,W,W,W,function(a){var b=id(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.N&49152||(this.N=
this.N&-2017|(a&7)<<5,this.Qa=1);--this.b},function(a){He[a&15].call(this,a)},function(a){Ie[a&15].call(this,a)},W,W,W,W],He=[Wd,function(){this.T=0;--this.b},function(){this.U=0;--this.b},T,function(){this.Y=1;--this.b},T,T,T,function(){this.W=0;--this.b},T,T,T,T,T,T,T],Ie=[Wd,function(){this.T=65536;--this.b},function(){this.U=32768;--this.b},V,function(){this.Y=0;--this.b},V,V,V,function(){this.W=32768;--this.b},V,V,V,V,V,V,V],Ge=[function(){this.N&49152?(this.H|=128,J(this,4)):(this.na=3,Xc(this)); this.N&-2017|(a&7)<<5,this.Qa=1);--this.b},function(a){He[a&15].call(this,a)},function(a){Ie[a&15].call(this,a)},W,W,W,W],He=[Wd,function(){this.T=0;--this.b},function(){this.U=0;--this.b},T,function(){this.Y=1;--this.b},T,T,T,function(){this.W=0;--this.b},T,T,T,T,T,T,T],Ie=[Wd,function(){this.T=65536;--this.b},function(){this.U=32768;--this.b},V,function(){this.Y=0;--this.b},V,V,V,function(){this.W=32768;--this.b},V,V,V,V,V,V,V],Ge=[function(){this.N&49152?(this.H|=128,J(this,4)):(this.na=3,Xc(this));
--this.b},function(){for(var a=0,b=this.j.length;0<=--b;)a+=this.j[b].Ga,this.j[b].Ga=0;a||0!==this.na||(this.na=2,Xc(this));--this.b},function(){hd(this);this.M|=this.N&16;--this.b},function(){J(this,12);--this.b},function(){J(this,16);--this.b},function(){this.N&49152||($c(this),this.F.reset());--this.b},function(){hd(this);--this.b},W,W,W,W,W,W,W,W,W],ze=[Vd,Vd,Td,Td,Rd,Rd,Sd,Sd,we,we,W,W,W,W,ve,ve],Ae=[function(a){this.Na()||S(this,a);--this.b},function(a){this.Na()&&S(this,a);--this.b},function(a){M(this)|| --this.b},function(){for(var a=0,b=this.j.length;0<=--b;)a+=this.j[b].Ha,this.j[b].Ha=0;a||0!==this.na||(this.na=2,Xc(this));--this.b},function(){hd(this);this.M|=this.N&16;--this.b},function(){J(this,12);--this.b},function(){J(this,16);--this.b},function(){this.N&49152||($c(this),this.F.reset());--this.b},function(){hd(this);--this.b},W,W,W,W,W,W,W,W,W],ze=[Vd,Vd,Td,Td,Rd,Rd,Sd,Sd,we,we,W,W,W,W,ve,ve],Ae=[function(a){this.Na()||S(this,a);--this.b},function(a){this.Na()&&S(this,a);--this.b},function(a){M(this)||
bd(this)||S(this,a);--this.b},function(a){(M(this)||bd(this))&&S(this,a);--this.b},function(a){ad(this)||S(this,a);--this.b},function(a){ad(this)&&S(this,a);--this.b},function(a){M(this)||S(this,a);--this.b},function(a){M(this)&&S(this,a);--this.b},function(){J(this,24);--this.b},function(){J(this,28);--this.b},function(a){Je[a>>6&3].call(this,a)},function(a){Ke[a>>6&3].call(this,a)},function(a){Le[a>>6&3].call(this,a)},function(a){Me[a>>6&3].call(this,a)},W,W],Ce=[function(a){cd(this,od(this,a,0)); bd(this)||S(this,a);--this.b},function(a){(M(this)||bd(this))&&S(this,a);--this.b},function(a){ad(this)||S(this,a);--this.b},function(a){ad(this)&&S(this,a);--this.b},function(a){M(this)||S(this,a);--this.b},function(a){M(this)&&S(this,a);--this.b},function(){J(this,24);--this.b},function(){J(this,28);--this.b},function(a){Je[a>>6&3].call(this,a)},function(a){Ke[a>>6&3].call(this,a)},function(a){Le[a>>6&3].call(this,a)},function(a){Me[a>>6&3].call(this,a)},W,W],Ce=[function(a){cd(this,od(this,a,0));
--this.b},function(a){P(this,a,0,Cd);--this.b},function(a){P(this,a,1,Gd);--this.b},function(a){P(this,a,1,Ed);--this.b}],De=[function(a){P(this,a,0,Id);--this.b},function(a){P(this,a,M(this)?1:0,sd);--this.b},function(a){P(this,a,M(this)?1:0,Od);--this.b},function(a){a=O(this,a);cd(this,a);--this.b}],Ee=[function(a){P(this,a,0,Md);--this.b},function(a){P(this,a,0,Kd);--this.b},function(a){P(this,a,0,wd);--this.b},function(a){P(this,a,0,ud);--this.b}],Fe=[function(a){a=this.g[7]+((a&63)<<1)&65535; --this.b},function(a){P(this,a,0,Cd);--this.b},function(a){P(this,a,1,Gd);--this.b},function(a){P(this,a,1,Ed);--this.b}],De=[function(a){P(this,a,0,Id);--this.b},function(a){P(this,a,M(this)?1:0,sd);--this.b},function(a){P(this,a,M(this)?1:0,Od);--this.b},function(a){a=O(this,a);cd(this,a);--this.b}],Ee=[function(a){P(this,a,0,Md);--this.b},function(a){P(this,a,0,Kd);--this.b},function(a){P(this,a,0,wd);--this.b},function(a){P(this,a,0,ud);--this.b}],Fe=[function(a){a=this.g[7]+((a&63)<<1)&65535;
var b=this.ya(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=ld(this,a,0);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,0,b);N(this,b);--this.b},function(a){N(this,od(this,a,this.Na?65535:0));--this.b}],Je=[function(a){cd(this,pd(this,a,0));--this.b},function(a){R(this,a,0,Dd);--this.b},function(a){R(this,a,1,Hd);--this.b},function(a){R(this,a,1,Fd);--this.b}],Ke=[function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,M(this)?1: var b=this.za(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=ld(this,a,0);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,0,b);N(this,b);--this.b},function(a){N(this,od(this,a,this.Na?65535:0));--this.b}],Je=[function(a){cd(this,pd(this,a,0));--this.b},function(a){R(this,a,0,Dd);--this.b},function(a){R(this,a,1,Hd);--this.b},function(a){R(this,a,1,Fd);--this.b}],Ke=[function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,M(this)?1:
0,td);--this.b},function(a){R(this,a,M(this)?1:0,Pd);--this.b},function(a){a=nd(this,a);cd(this,a<<8);--this.b}],Le=[function(a){R(this,a,0,Nd);--this.b},function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,0,xd);--this.b},function(a){R(this,a,0,vd);--this.b}],Me=[W,function(a){a=ld(this,a,65536);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,65536,b);N(this,b);--this.b},W]; 0,td);--this.b},function(a){R(this,a,M(this)?1:0,Pd);--this.b},function(a){a=nd(this,a);cd(this,a<<8);--this.b}],Le=[function(a){R(this,a,0,Nd);--this.b},function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,0,xd);--this.b},function(a){R(this,a,0,vd);--this.b}],Me=[W,function(a){a=ld(this,a,65536);gd(this,a);N(this,a);--this.b},function(a){var b=id(this);md(this,a,65536,b);N(this,b);--this.b},W];
function Ne(a){u.call(this,"ROM",a,Ne);this.i=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.A=a.alias;this.B=a.file;this.J=ga(this.B);if(this.B){a=this.B;var b=ha(this.J);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Oe(c,a,b,e)})}}w(Ne);Ne.prototype.Ya=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Pe(this)}; function Ne(a){u.call(this,"ROM",a,Ne);this.i=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.A=a.alias;this.B=a.file;this.J=ga(this.B);if(this.B){a=this.B;var b=ha(this.J);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Oe(c,a,b,e)})}}w(Ne);Ne.prototype.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Pe(this)};
Ne.prototype.Pa=function(){if(this.La){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.La,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.vc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({rd:b,w:c,Sc:d,La:f,tc:e})}delete this.La}return!0};Ne.prototype.Oa=function(){return!0}; Ne.prototype.Pa=function(){if(this.La){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.La,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.vc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({td:b,w:c,Sc:d,La:f,tc:e})}delete this.La}return!0};Ne.prototype.Oa=function(){return!0};
function Oe(a,b,c,d){if(d)a.pa("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.rc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.La=h.symbols;if(!a.i.length){t("Empty ROM: "+ function Oe(a,b,c,d){if(d)a.pa("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.rc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.La=h.symbols;if(!a.i.length){t("Empty ROM: "+
b);return}if(1==a.i.length){t(a.i[0]);return}}catch(k){a.pa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f<b.length;f++)a.i[f]=aa(b[f],16);Pe(a)}} b);return}if(1==a.i.length){t(a.i[0]);return}}catch(k){a.pa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f<b.length;f++)a.i[f]=aa(b[f],16);Pe(a)}}
function Pe(a){if(!fb(a))if(!a.B)D(a);else if(a.i&&a.F){a.j||(a.j=a.i.length);if(a.i.length!=a.j)sb(a,"ROM size ("+r(a.i.length,8,!0)+") does not match specified size ("+r(a.j,8,!0)+")");else{var b;b=a.D;if(Cb(a.F,b,a.j,a.G?1:mc)){var c;for(c=0;c<a.i.length;c++){var d=a.F,f=b+c;d.L[(f&d.j)>>>d.X].Cb(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.F,g=e.j,h=[],k=e.D>>>f.X;0<g&&k<f.L.length;)h.push(f.L[k++]), function Pe(a){if(!fb(a))if(!a.B)D(a);else if(a.i&&a.F){a.j||(a.j=a.i.length);if(a.i.length!=a.j)sb(a,"ROM size ("+r(a.i.length,8,!0)+") does not match specified size ("+r(a.j,8,!0)+")");else{var b;b=a.D;if(Cb(a.F,b,a.j,a.G?1:mc)){var c;for(c=0;c<a.i.length;c++){var d=a.F,f=b+c;d.L[(f&d.j)>>>d.X].Cb(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.F,g=e.j,h=[],k=e.D>>>f.X;0<g&&k<f.L.length;)h.push(f.L[k++]),
g-=f.Ba;f=e.F;e=e.j;g=0;for(d>>>=f.X;0<e&&d<f.L.length;){k=h[g++];if(!k)break;f.L[d++]=k;e-=f.Ba}}delete a.i}}D(a)}}Oa(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Ne(d);bb(d,c)}});function Qe(a){u.call(this,"RAM",a,Qe);this.A=a.addr;this.j=a.size;this.i=!1}w(Qe);l=Qe.prototype;l.Ya=function(a,b,c,d){this.F=b;this.b=c;this.C=d;D(this)};l.Pa=function(a,b){b||this.reset();return!0};l.Oa=function(a){return a?this.save():!0}; g-=f.Ca;f=e.F;e=e.j;g=0;for(d>>>=f.X;0<e&&d<f.L.length;){k=h[g++];if(!k)break;f.L[d++]=k;e-=f.Ca}}delete a.i}}D(a)}}Oa(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Ne(d);bb(d,c)}});function Qe(a){u.call(this,"RAM",a,Qe);this.A=a.addr;this.j=a.size;this.i=!1}w(Qe);l=Qe.prototype;l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;D(this)};l.Pa=function(a,b){b||this.reset();return!0};l.Oa=function(a){return a?this.save():!0};
l.reset=function(){!this.i&&this.j&&Cb(this.F,this.A,this.j,1)&&(this.i=!0);this.i||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Oa(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Qe(d);bb(d,c)}});function Re(a){u.call(this,"Keyboard",a,Re,65536);D(this)}w(Re);Re.prototype.ta=function(){return!1};Re.prototype.Ya=function(a,b,c,d){this.i=a;this.b=c;this.C=d;this.fa=null}; l.reset=function(){!this.i&&this.j&&Cb(this.F,this.A,this.j,1)&&(this.i=!0);this.i||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Oa(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Qe(d);bb(d,c)}});function Re(a){u.call(this,"Keyboard",a,Re,65536);D(this)}w(Re);Re.prototype.ua=function(){return!1};Re.prototype.Xa=function(a,b,c,d){this.i=a;this.b=c;this.C=d;this.fa=null};
Oa(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Re(d);bb(d,c)}});function Se(a){u.call(this,"Debugger",a,Se);this.da=a.base||16;this.Z=this.Fa=this.J=0;this.ca=!1;this.B=-1;this.A=[];this.ha={}}w(Se);var Te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; Oa(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Re(d);bb(d,c)}});function Se(a){u.call(this,"Debugger",a,Se);this.da=a.base||16;this.Z=this.Ga=this.J=0;this.ca=!1;this.B=-1;this.A=[];this.ha={}}w(Se);var Te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Ue(a,b,c,d){if(c)if(b){0>a.B&&a.A.length&&(a.B=0);if(0>a.B||b!=a.A[a.B])a.A.splice(0,0,b),a.B=0;a.B--}else a.ca?b="end":b=a.A[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a} function Ue(a,b,c,d){if(c)if(b){0>a.B&&a.A.length&&(a.B=0);if(0>a.B||b!=a.A[a.B])a.A.splice(0,0,b),a.B=0;a.B--}else a.ca?b="end":b=a.A[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a}
function Ve(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break; function Ve(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break;
case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0} case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0}
function We(a,b,c){var d;if(b){b=Xe(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],p=n.length,n=na(n);if(!n){e=!0;break}n=Ye(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],q=n.length;k.length&&Te[n]<Te[k[k.length-1]]&&Ve(h,k,1);k.push(n);b=b.substr(p+q)}Ve(h,k)&&1==h.length||(e=!0);e?c&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ze(a,null, function We(a,b,c){var d;if(b){b=Xe(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],p=n.length,n=na(n);if(!n){e=!0;break}n=Ye(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],q=n.length;k.length&&Te[n]<Te[k[k.length-1]]&&Ve(h,k,1);k.push(n);b=b.substr(p+q)}Ve(h,k)&&1==h.length||(e=!0);e?c&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ze(a,null,
d))}return d}function Xe(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=We(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.Z-a.Fa}if(null==d)break;b=b.replace(c[0],d.toString())}return b} d))}return d}function Xe(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=We(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.Z-a.Ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function Ye(a,b,c,d){var f;null!=b?(f=a.ha[b],null==f&&(f=aa(b,a.da)),null!=f||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return f}function Ze(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=r(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f} function Ye(a,b,c,d){var f;null!=b?(f=a.ha[b],null==f&&(f=aa(b,a.da)),null!=f||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return f}function Ze(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=r(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f}
function $e(a,b){if(b)return Ze(a,b,a.ha[b]);var c=0;for(b in a.ha)Ze(a,b,a.ha[b]),c++;return 0<c}function X(a,b,c,d){switch(a.da){case 8:a=ba(b,3*c);break;case 10:a=b.toString();break;default:a=r(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a} function $e(a,b){if(b)return Ze(a,b,a.ha[b]);var c=0;for(b in a.ha)Ze(a,b,a.ha[b]),c++;return 0<c}function X(a,b,c,d){switch(a.da){case 8:a=ba(b,3*c);break;case 10:a=b.toString();break;default:a=r(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
function af(a){Se.call(this,a);this.S=Y();this.Eb=Y();this.ba=Y();this.G=[];this.j=this.V=this.D=[];bf(this);this.wa=0;cf(this);this.Ka={};df(this,a.messages);this.Ta=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Qc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Qc(b,a)})}w(af,Se); function af(a){Se.call(this,a);this.S=Y();this.Eb=Y();this.ba=Y();this.G=[];this.j=this.V=this.D=[];bf(this);this.xa=0;cf(this);this.Ka={};df(this,a.messages);this.Sa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Qc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Qc(b,a)})}w(af,Se);
var ef={"?":"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",v:"print version","var":"assign variable"},ff="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "), var ef={"?":"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",v:"print version","var":"assign variable"},ff="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
gf={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096], gf={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72, 33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},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]}};l=af.prototype; 63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},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]}};l=af.prototype;
l.Ya=function(a,b,c,d){this.F=b;this.b=c;this.i=a;(a=zc(a,"messages"))&&df(this,a);this.Kb=gf;hf(this,function(a){a:{var b=d.F.L,c=a[0],f=a=0,k=b.length;if(c){a=d.aa(jf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.F.X;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Fb[c],n&&d.f(r(n.id,8)+" %"+r(f<<d.F.X,8)+" %%"+r(n.w,8)+" "+r(n.Xb, l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.i=a;(a=zc(a,"messages"))&&df(this,a);this.Kb=gf;hf(this,function(a){a:{var b=d.F.L,c=a[0],f=a=0,k=b.length;if(c){a=d.aa(jf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.F.X;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Fb[c],n&&d.f(r(n.id,8)+" %"+r(f<<d.F.X,8)+" %%"+r(n.w,8)+" "+r(n.Xb,
4,!0)+" "+r(n.size,4,!0)+" "+m),c!=lc&&(c=-1),m=0);a+=d.F.Ba;f++}}});D(this)}; 4,!0)+" "+r(n.size,4,!0)+" "+m),c!=lc&&(c=-1),m=0);a+=d.F.Ca;f++}}});D(this)};
l.ta=function(a,b,c){var d=this;switch(b){case "debugInput":return this.va=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Qc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.B<d.A.length-1&&(b=d.A[++d.B])):40==a.keyCode&&(0<d.B?b=d.A[--d.B]:(b="",d.B=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.I[b]=c,Da(c,function(){if(d.va){var a=d.va.value; l.ua=function(a,b,c){var d=this;switch(b){case "debugInput":return this.wa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Qc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.B<d.A.length-1&&(b=d.A[++d.B])):40==a.keyCode&&(0<d.B?b=d.A[--d.B]:(b="",d.B=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.I[b]=c,Da(c,function(){if(d.wa){var a=d.wa.value;
d.va.value="";Qc(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,Da(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Ab(a?1:0),db(d,!1));return b}),!0}return!1};l.Wb=function(){this.va&&this.va.focus()};l.aa=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.sb=function(a,b){var c=255,d=this.aa(a,!1,1);-1!==d&&(c=this.F,c=c.L[(d&c.j)>>>c.X].Pb(d&c.i,d),b&&kf(a,b));return c};l.Ia=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(c=Gb(this.F,d),b&&kf(a,b));return c}; d.wa.value="";Qc(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,Da(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Ab(a?1:0),db(d,!1));return b}),!0}return!1};l.Wb=function(){this.wa&&this.wa.focus()};l.aa=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.sb=function(a,b){var c=255,d=this.aa(a,!1,1);-1!==d&&(c=this.F,c=c.L[(d&c.j)>>>c.X].Pb(d&c.i,d),b&&kf(a,b));return c};l.Ja=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(c=Gb(this.F,d),b&&kf(a,b));return c};
l.Ub=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){var f=this.F;f.L[(d&f.j)>>>f.X].Cb(d&f.i,b&255,d);c&&kf(a,c);K(this.b,!0)}};l.pb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.X;e!=f.i?f.L[g].qc(e,b&65535,d):(f.L[g++].Cb(e,b&255,d),f.L[g&f.A].Cb(0,b>>8&255,d+1));c&&kf(a,c);K(this.b,!0)}};function Y(a){return{w:a,Ha:!1}}function lf(a){return[a.w,a.Ha]}function mf(a){return{w:a[0],Ha:a[1]}} l.Ub=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){var f=this.F;f.L[(d&f.j)>>>f.X].Cb(d&f.i,b&255,d);c&&kf(a,c);K(this.b,!0)}};l.pb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.X;e!=f.i?f.L[g].qc(e,b&65535,d):(f.L[g++].Cb(e,b&255,d),f.L[g&f.A].Cb(0,b>>8&255,d+1));c&&kf(a,c);K(this.b,!0)}};function Y(a){return{w:a,Ia:!1}}function lf(a){return[a.w,a.Ia]}function mf(a){return{w:a[0],Ia:a[1]}}
function jf(a,b,c){var d;c=(c?a.S:a.Eb).w;if(void 0!==b){d=b=Xe(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var e=a.G[c].La[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Y(d));break}}if(d=f)return d;c=We(a,b,void 0)}null!=c&&(d=Y(c));return d}function nf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ic=Ue(a,b.Dc=c[2]))}function kf(a,b){null!=a.w&&(a.w+=b||1)} function jf(a,b,c){var d;c=(c?a.S:a.Eb).w;if(void 0!==b){d=b=Xe(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var e=a.G[c].La[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Y(d));break}}if(d=f)return d;c=We(a,b,void 0)}null!=c&&(d=Y(c));return d}function nf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ic=Ue(a,b.Dc=c[2]))}function kf(a,b){null!=a.w&&(a.w+=b||1)}
function df(a,b){a.C=a;a.ia=a.Jc=536870912;a.xa=null;a.Aa=[];b=Ue(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in E){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 f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=E[c],a.f(c+" messages enabled"))}}function hf(a,b){for(var c in E)if(64==E[c]){a.Ka[c]=b;break}} function df(a,b){a.C=a;a.ia=a.Jc=536870912;a.ya=null;a.Ba=[];b=Ue(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in E){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 f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=E[c],a.f(c+" messages enabled"))}}function hf(a,b){for(var c in E)if(64==E[c]){a.Ka[c]=b;break}}
l.message=function(a,b){b&&(a+=" at "+X(this,Y(this.b.g[7]).w));this.ia&1073741824?this.Aa.push(a):this.xa&&a==this.xa||(this.xa=a,this.ia&-2147483648&&(this.ma(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,Xc(a),a.ca=0,K(a)))}; l.message=function(a,b){b&&(a+=" at "+X(this,Y(this.b.g[7]).w));this.ia&1073741824?this.Ba.push(a):this.ya&&a==this.ya||(this.ya=a,this.ia&-2147483648&&(this.ma(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,Xc(a),a.ca=0,K(a)))};
function cf(a){var b;if(qd(a)){if(!a.P||!a.P.length){a.P=Array(1E3);for(b=0;b<a.P.length;b++)a.P[b]=Y();a.ra=0;a.f("instruction history buffer allocated")}if(!a.na||!a.na.length)for(a.na=Array(256),b=0;b<a.na.length;b++)a.na[b]=[b,0]}else a.P&&a.P.length&&a.f("instruction history buffer freed"),a.ra=0,a.P=[],a.na=[]}l.ob=function(a){if(!of(this))return!1;this.b.ob(a);return!0}; function cf(a){var b;if(qd(a)){if(!a.P||!a.P.length){a.P=Array(1E3);for(b=0;b<a.P.length;b++)a.P[b]=Y();a.ra=0;a.f("instruction history buffer allocated")}if(!a.na||!a.na.length)for(a.na=Array(256),b=0;b<a.na.length;b++)a.na[b]=[b,0]}else a.P&&a.P.length&&a.f("instruction history buffer freed"),a.ra=0,a.P=[],a.na=[]}l.ob=function(a){if(!of(this))return!1;this.b.ob(a);return!0};
l.Ab=function(a,b,c){if(!of(this))return!1;this.J=0;a||qd(this)&&rd(this,this.b.g[7],0);try{var d=this.b.Ab(a);0<d&&(this.J+=d,Vc(this.b,d,!0),Rc(this.b,d),this.Z++)}catch(f){"number"!=typeof f&&(this.J=0,sb(this.b,f.stack||f.message))}!1!==c&&K(this.b);this.za(b||!1);return 0<this.J};l.ma=function(a){this.b&&this.b.ma(a)};l.za=function(a){void 0===a&&(a=!0);this.S=Y(this.b.g[7]);a&&1!=this.fa?pf(this):qf(this)}; l.Ab=function(a,b,c){if(!of(this))return!1;this.J=0;a||qd(this)&&rd(this,this.b.g[7],0);try{var d=this.b.Ab(a);0<d&&(this.J+=d,Vc(this.b,d,!0),Rc(this.b,d),this.Z++)}catch(f){"number"!=typeof f&&(this.J=0,sb(this.b,f.stack||f.message))}!1!==c&&K(this.b);this.Aa(b||!1);return 0<this.J};l.ma=function(a){this.b&&this.b.ma(a)};l.Aa=function(a){void 0===a&&(a=!0);this.S=Y(this.b.g[7]);a&&1!=this.fa?pf(this):qf(this)};
function of(a){var b;if(b=a.b&&fb(a.b))b=a.b,b.u.ga?b=!0:(b.f(b.toString()+" not powered"),b=!1);b&&!eb(a.b)?(a=a.b,a.u.error?(a.f(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Pa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Oa=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){cf(this);this.Z=this.Fa=0;this.xa=null;this.J=0;this.S=Y(this.b.g[7]);this.u.ja=!1;rf(this);a||this.za()}; function of(a){var b;if(b=a.b&&fb(a.b))b=a.b,b.u.ga?b=!0:(b.f(b.toString()+" not powered"),b=!1);b&&!eb(a.b)?(a=a.b,a.u.error?(a.f(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Pa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Oa=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){cf(this);this.Z=this.Ga=0;this.ya=null;this.J=0;this.S=Y(this.b.g[7]);this.u.ja=!1;rf(this);a||this.Aa()};
l.save=function(){var a=new L(this);a.set(0,lf(this.S));a.set(1,lf(this.ba));a.set(2,[this.A,this.ca,this.ia]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.S=mf(a[b++]),this.ba=mf(a[b++]),this.A=a[b][0],"string"==typeof this.A&&(this.A=[this.A]),this.ca=a[b][1],this.ia|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.fa||this.f("running");this.u.ja=!0;this.ic=a;this.Mc=b}; l.save=function(){var a=new L(this);a.set(0,lf(this.S));a.set(1,lf(this.ba));a.set(2,[this.A,this.ca,this.ia]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.S=mf(a[b++]),this.ba=mf(a[b++]),this.A=a[b][0],"string"==typeof this.A&&(this.A=[this.A]),this.ca=a[b][1],this.ia|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.fa||this.f("running");this.u.ja=!0;this.ic=a;this.Mc=b};
l.stop=function(a,b){if(this.u.ja){this.u.ja=!1;this.J=b-this.Mc;if(!this.fa){b="stopped";if(this.J){a-=this.ic;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";qd(this)&&(b+=this.Z+" opcodes, ",this.Fa-=this.Z,this.Z=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else cb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.za(!0);this.Wb();rf(this,this.b.g[7])}};function qd(a){return 1<a.j.length||!!a.wa} l.stop=function(a,b){if(this.u.ja){this.u.ja=!1;this.J=b-this.Mc;if(!this.fa){b="stopped";if(this.J){a-=this.ic;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";qd(this)&&(b+=this.Z+" opcodes, ",this.Ga-=this.Z,this.Z=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else cb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.Aa(!0);this.Wb();rf(this,this.b.g[7])}};function qd(a){return 1<a.j.length||!!a.xa}
function rd(a,b,c){var d=a.b;if(0<c&&(a.wa&&!--a.wa||uc(a,b,1,a.j)))return!0;0<=c&&a.na.length&&(a.Z++,null!=Gb(a.F,b)&&(b=a.P[a.ra],b.w=d.g[7],b.Ha=!1,++a.ra==a.P.length&&(a.ra=0)));return!1}function bf(a){var b,c;a.j=["bp"];if(a.V)for(b=1;b<a.V.length;b++){c=a.V[b];var d=a.F;c=a.aa(c);vc(d.L[c>>>d.X],!1)}a.V=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.F,c=a.aa(c),vc(d.L[c>>>d.X],!0);a.D=["bw"];a.Fb=0} function rd(a,b,c){var d=a.b;if(0<c&&(a.xa&&!--a.xa||uc(a,b,1,a.j)))return!0;0<=c&&a.na.length&&(a.Z++,null!=Gb(a.F,b)&&(b=a.P[a.ra],b.w=d.g[7],b.Ia=!1,++a.ra==a.P.length&&(a.ra=0)));return!1}function bf(a){var b,c;a.j=["bp"];if(a.V)for(b=1;b<a.V.length;b++){c=a.V[b];var d=a.F;c=a.aa(c);vc(d.L[c>>>d.X],!1)}a.V=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.F,c=a.aa(c),vc(d.L[c>>>d.X],!0);a.D=["bw"];a.Fb=0}
l.jb=function(a,b,c){var d=!0;c||sf(this,a,b,!1,!0);if(a!=this.j){var f=this.aa(b);if(-1===f)this.f("invalid address: "+X(this,b.w)),d=!1;else{var e=this.F;e.L[f>>>e.X].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ha=!0:(tf(this,a,a.length-1,"set"),cf(this)));return d};function sf(a,b,c,d,f){var e=!1;c=a.aa(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.aa(h)&&(!d||h.Ha)){e=!0;h.Ha||f||tf(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.F,vc(d.L[c>>>d.X],b==a.D));h.Ha||cf(a);break}}return e} l.ib=function(a,b,c){var d=!0;c||sf(this,a,b,!1,!0);if(a!=this.j){var f=this.aa(b);if(-1===f)this.f("invalid address: "+X(this,b.w)),d=!1;else{var e=this.F;e.L[f>>>e.X].ib(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ia=!0:(tf(this,a,a.length-1,"set"),cf(this)));return d};function sf(a,b,c,d,f){var e=!1;c=a.aa(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.aa(h)&&(!d||h.Ia)){e=!0;h.Ia||f||tf(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.F,vc(d.L[c>>>d.X],b==a.D));h.Ia||cf(a);break}}return e}
function uf(a,b){for(var c=1;c<b.length;c++)tf(a,b,c);return b.length-1}function tf(a,b,c,d){c=b[c];a.f(b[0]+" "+X(a,c.w)+(d?" "+d:c.Dc?' "'+c.Dc+'"':""))}function rf(a,b){if(void 0!==b)uc(a,b,1,a.j,!0),a.fa=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Ha){if(!sf(a,a.j,c,!0))break;b=0}}} function uf(a,b){for(var c=1;c<b.length;c++)tf(a,b,c);return b.length-1}function tf(a,b,c,d){c=b[c];a.f(b[0]+" "+X(a,c.w)+(d?" "+d:c.Dc?' "'+c.Dc+'"':""))}function rf(a,b){if(void 0!==b)uc(a,b,1,a.j,!0),a.fa=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Ia){if(!sf(a,a.j,c,!0))break;b=0}}}
function uc(a,b,c,d,f){var e=!1;if(!a.Fb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ha)for(var k=a.aa(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ha&&(sf(a,d,h,!0),f=!0);if(n=h.Ic){for(var e=!1,p=0;p<n.length;p++)if(!vf(a,n[p],!0)){if(n[p].indexOf("if")){e=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){e=!0;break}}a.b.u.ja||(e=!0)}if(e){f||tf(a,d,g,"hit");break}}}a.Fb--;return e} function uc(a,b,c,d,f){var e=!1;if(!a.Fb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ia)for(var k=a.aa(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ia&&(sf(a,d,h,!0),f=!0);if(n=h.Ic){for(var e=!1,p=0;p<n.length;p++)if(!vf(a,n[p],!0)){if(n[p].indexOf("if")){e=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){e=!0;break}}a.b.u.ja||(e=!0)}if(e){f||tf(a,d,g,"hit");break}}}a.Fb--;return e}
function wf(a,b,c,d){var f=Y(b.w),e=a.Ia(b,2),g,h;for(h in a.Kb)if(g=a.Kb[h][e&h])break;g||(g=[0]);h="";for(var k=ff[g[0]],m=g.length-1,n=1;n<=m;n++){var p=g[n];if(void 0!==p){var q;q=a;var z=p,p=b,x="",A=z&61440;if(4096==A)p=p.w+((e&255)<<24>>23)&65535,x=X(q,p);else if(8192==A)p=p.w-((e&63)<<1)&65535,x=X(q,p);else if(12288==A)x=X(q,e&7,1);else if(24576==A)x=X(q,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=xf(z);break;case 8:x="@"+xf(z);break;case 16:7>z?x="("+xf(z)+ function wf(a,b,c,d){var f=Y(b.w),e=a.Ja(b,2),g,h;for(h in a.Kb)if(g=a.Kb[h][e&h])break;g||(g=[0]);h="";for(var k=ff[g[0]],m=g.length-1,n=1;n<=m;n++){var p=g[n];if(void 0!==p){var q;q=a;var z=p,p=b,x="",A=z&61440;if(4096==A)p=p.w+((e&255)<<24>>23)&65535,x=X(q,p);else if(8192==A)p=p.w-((e&63)<<1)&65535,x=X(q,p);else if(12288==A)x=X(q,e&7,1);else if(24576==A)x=X(q,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=xf(z);break;case 8:x="@"+xf(z);break;case 16:7>z?x="("+xf(z)+
")+":(A=q.Ia(p,2),x="#"+X(q,A,0,!0));break;case 24:7>z?x="@("+xf(z)+")+":(A=q.Ia(p,2),x="@#"+X(q,A,0,!0));break;case 32:x="-("+xf(z)+")";break;case 40:x="@-("+xf(z)+")";break;case 48:A=q.Ia(p,2);x=X(q,A,0,!0)+"("+xf(z)+")";7==z&&(x=[x,X(q,A+p.w&65535)]);break;case 56:A=q.Ia(p,2),x="@"+X(q,A)+"("+xf(z)+")",7==z&&(x=[x,X(q,A+p.w&65535)])}q=x;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0<h.length&&(h+=",");h+=q||"???"}}e="";g=X(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+= ")+":(A=q.Ja(p,2),x="#"+X(q,A,0,!0));break;case 24:7>z?x="@("+xf(z)+")+":(A=q.Ja(p,2),x="@#"+X(q,A,0,!0));break;case 32:x="-("+xf(z)+")";break;case 40:x="@-("+xf(z)+")";break;case 48:A=q.Ja(p,2);x=X(q,A,0,!0)+"("+xf(z)+")";7==z&&(x=[x,X(q,A+p.w&65535)]);break;case 56:A=q.Ja(p,2),x="@"+X(q,A)+"("+xf(z)+")",7==z&&(x=[x,X(q,A+p.w&65535)])}q=x;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0<h.length&&(h+=",");h+=q||"???"}}e="";g=X(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=
" "+X(a,a.Ia(f,2)),null==f.w)break;while(f.w!=b.w)}g+=ma(e,24);g+=ma(k,5);h&&(g+=" "+h);c&&(g=ma(g,60)+";"+c,g=a.b.u.rb?g+("cycles="+Sc(a.b).toString()+" cs="+r(a.b.Mb)):g+(null!=d?"="+d.toString():""));return g}function yf(a,b){switch(b){case "N":a=a.b.Na();break;case "Z":a=bd(a.b);break;case "V":a=ad(a.b);break;case "C":a=M(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function xf(a){return 6>a?"R"+a:6==a?"SP":"PC"} " "+X(a,a.Ja(f,2)),null==f.w)break;while(f.w!=b.w)}g+=ma(e,24);g+=ma(k,5);h&&(g+=" "+h);c&&(g=ma(g,60)+";"+c,g=a.b.u.rb?g+("cycles="+Sc(a.b).toString()+" cs="+r(a.b.Mb)):g+(null!=d?"="+d.toString():""));return g}function yf(a,b){switch(b){case "N":a=a.b.Na();break;case "Z":a=bd(a.b);break;case "V":a=ad(a.b);break;case "C":a=M(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function xf(a){return 6>a?"R"+a:6==a?"SP":"PC"}
function zf(a,b){var c="",d=a.b;8>b?(c=xf(b),c+="="+X(a,d.g[b])):13>b?c="A"+(b-8)+"="+X(a,d.cb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+X(a,d.Ca[b-16]):20==b&&(c="PS="+X(a,Yb(d)));c&&(c+=" ");return c}function Af(a){var b,c="";for(b=0;6>b;b++)c+=zf(a,b);c=c+"\n"+(zf(a,6)+zf(a,7)+zf(a,20));return c+=yf(a,"T")+yf(a,"N")+yf(a,"Z")+yf(a,"V")+yf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function zf(a,b){var c="",d=a.b;8>b?(c=xf(b),c+="="+X(a,d.g[b])):13>b?c="A"+(b-8)+"="+X(a,d.cb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+X(a,d.Da[b-16]):20==b&&(c="PS="+X(a,Yb(d)));c&&(c+=" ");return c}function Af(a){var b,c="";for(b=0;6>b;b++)c+=zf(a,b);c=c+"\n"+(zf(a,6)+zf(a,7)+zf(a,20));return c+=yf(a,"T")+yf(a,"N")+yf(a,"Z")+yf(a,"V")+yf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Bf(a,b,c){var d=[],f=a.aa(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.w>>>0,h=e.Sc;if(f>=g&&f<g+h){f=oa(e.tc,[f-g],a.vc);0<=f?Cf(a,b,f,d):c&&(f=~f,Cf(a,b,f-1,d),Cf(a,b,f,d));break}}return d}function Cf(a,b,c,d){var f={},e=a.G[b].tc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.G[b].La[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)} function Bf(a,b,c){var d=[],f=a.aa(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.w>>>0,h=e.Sc;if(f>=g&&f<g+h){f=oa(e.tc,[f-g],a.vc);0<=f?Cf(a,b,f,d):c&&(f=~f,Cf(a,b,f-1,d),Cf(a,b,f,d));break}}return d}function Cf(a,b,c,d){var f={},e=a.G[b].tc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.G[b].La[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
function Df(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return $e(a)||a.f("no variables"),!0;if(!c[2])return $e(a,c[1]);if(!c[3])return delete a.ha[c[1]],!0;b=We(a,c[3]);return void 0!==b?(a.ha[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1} function Df(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return $e(a)||a.f("no variables"),!0;if(!c[2])return $e(a,c[1]);if(!c[3])return delete a.ha[c[1]],!0;b=We(a,c[3]);return void 0!==b?(a.ha[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
function Ef(a,b,c){var d=null;if(b=jf(a,b,!0)){a.aa(b);var f=Bf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+r(e,4,!0)),e=f[0]+" ("+X(a,f[1])+")"+g,c&&a.f(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+r(e,4,!0)),e=f[4]+" ("+X(a,f[5])+")"+g,c&&a.f(e),d||(d=e))}else c&&a.f("no symbols")}return d} function Ef(a,b,c){var d=null;if(b=jf(a,b,!0)){a.aa(b);var f=Bf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+r(e,4,!0)),e=f[0]+" ("+X(a,f[1])+")"+g,c&&a.f(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+r(e,4,!0)),e=f[4]+" ("+X(a,f[5])+")"+g,c&&a.f(e),d||(d=e))}else c&&a.f("no symbols")}return d}
@ -161,25 +161,25 @@ function pf(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump
break;case "Z":d.Y=e?0:1;break;case "V":d.U=e?32768:0;break;case "C":d.T=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}K(d);a.f("updated registers:")}a.f(Af(a));c&&(a.S=Y(d.g[7]),qf(a,X(a,a.S.w)))}}function Ff(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):We(a,b,!0)} break;case "Z":d.Y=e?0:1;break;case "V":d.U=e?32768:0;break;case "C":d.T=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}K(d);a.f("updated registers:")}a.f(Af(a));c&&(a.S=Y(d.g[7]),qf(a,X(a,a.S.w)))}}function Ff(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):We(a,b,!0)}
function Gf(a,b,c){var d="t"!=b;c=Ye(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return db(a,!0)&&a.Ab(f,d,!1)},function(){K(a.b);db(a,!1)})} function Gf(a,b,c){var d="t"!=b;c=Ye(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return db(a,!0)&&a.Ab(f,d,!1)},function(){K(a.b);db(a,!1)})}
function qf(a,b,c,d){if(b=jf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=jf(a,c,!0);if(!d||d.w<b.w)return;f=d.w-b.w;if(256<f){a.f("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=eb(a,!1)||a.fa?a.J:null;var g=null!=e?"cycles":null,h=Bf(a,b),k=b.w;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],e=null);e=wf(a,b,g,e);a.f(e);a.S=b;f-=b.w-k;c++}}} function qf(a,b,c,d){if(b=jf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=jf(a,c,!0);if(!d||d.w<b.w)return;f=d.w-b.w;if(256<f){a.f("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=eb(a,!1)||a.fa?a.J:null;var g=null!=e?"cycles":null,h=Bf(a,b),k=b.w;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],e=null);e=wf(a,b,g,e);a.f(e);a.S=b;f-=b.w-k;c++}}}
function vf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.ca&&(a.f("ended assemble at "+X(a,a.ba.w)),a.S=a.ba,a.ca=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.xa=null;if(fb(a)&&0<b.length){a.ca&&(b="a "+X(a,a.ba.w)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=jf(a,e[1],!0); function vf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.ca&&(a.f("ended assemble at "+X(a,a.ba.w)),a.S=a.ba,a.ca=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.ya=null;if(fb(a)&&0<b.length){a.ca&&(b="a "+X(a,a.ba.w)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=jf(a,e[1],!0);
if(n)if(a.ba=n,void 0===e[2])a.f("begin assemble at "+X(a,n.w)),a.ca=!0,K(a.b);else{var p;a.f("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.Ub(n,p[q],1);a.f(wf(a,a.ba))}}break;case "b":a:{var z=e[0],x=e[1],A=b;if("?"==x)a.f("breakpoint commands:"),a.f("\tbp [a]\tset exec breakpoint at addr [a]"),a.f("\tbr [a]\tset read breakpoint at addr [a]"),a.f("\tbw [a]\tset write breakpoint at addr [a]"),a.f("\tbc [a]\tclear breakpoint at addr [a]"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [n]\tbreak after [n] instruction(s)"); if(n)if(a.ba=n,void 0===e[2])a.f("begin assemble at "+X(a,n.w)),a.ca=!0,K(a.b);else{var p;a.f("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.Ub(n,p[q],1);a.f(wf(a,a.ba))}}break;case "b":a:{var z=e[0],x=e[1],A=b;if("?"==x)a.f("breakpoint commands:"),a.f("\tbp [a]\tset exec breakpoint at addr [a]"),a.f("\tbr [a]\tset read breakpoint at addr [a]"),a.f("\tbw [a]\tset write breakpoint at addr [a]"),a.f("\tbc [a]\tclear breakpoint at addr [a]"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [n]\tbreak after [n] instruction(s)");
else{var ta=z.charAt(1);if("l"==ta){var Bc;Bc=0+uf(a,a.j);Bc+=uf(a,a.V);(Bc+=uf(a,a.D))||a.f("no breakpoints")}else if("n"==ta)a.wa=Ye(a,x),a.f("break after "+a.wa+" instruction(s)");else if(void 0===x)a.f("missing breakpoint address");else{var Q=Y();if("*"!=x&&(Q=jf(a,x,!0),!Q))break a;"c"==ta?null==Q.w?(bf(a),a.f("all breakpoints cleared")):sf(a,a.j,Q)||sf(a,a.V,Q)||sf(a,a.D,Q)||a.f("breakpoint missing: "+X(a,Q.w)):null!=Q.w&&(nf(a,Q,A),"p"==ta?a.jb(a.j,Q):"r"==ta?a.jb(a.V,Q):"w"==ta?a.jb(a.D,Q): else{var ta=z.charAt(1);if("l"==ta){var Bc;Bc=0+uf(a,a.j);Bc+=uf(a,a.V);(Bc+=uf(a,a.D))||a.f("no breakpoints")}else if("n"==ta)a.xa=Ye(a,x),a.f("break after "+a.xa+" instruction(s)");else if(void 0===x)a.f("missing breakpoint address");else{var Q=Y();if("*"!=x&&(Q=jf(a,x,!0),!Q))break a;"c"==ta?null==Q.w?(bf(a),a.f("all breakpoints cleared")):sf(a,a.j,Q)||sf(a,a.V,Q)||sf(a,a.D,Q)||a.f("breakpoint missing: "+X(a,Q.w)):null!=Q.w&&(nf(a,Q,A),"p"==ta?a.ib(a.j,Q):"r"==ta?a.ib(a.V,Q):"w"==ta?a.ib(a.D,Q):
a.f("unknown breakpoint command: "+ta))}}}break;case "c":a.kb&&(a.kb.value="");break;case "d":a:{var Fa,Ga=e[0],ca=e[1],ua=e[2],Zf=e[3];if("?"==ca){var Ha="";for(Fa in E)a.Ka[Fa]&&(Ha&&(Ha+=","),Ha+=Fa);Ha+=",state,symbols";a.f("dump memory commands:");a.f("\tdb [a] [#] dump # bytes at address a");a.f("\tdw [a] [#] dump # words at address a");a.f("\tdd [a] [#] dump # dwords at address a");a.f("\tdh [#] [#] dump # instructions from history");Ha.length&&a.f("dump extension commands:\n\t"+ a.f("unknown breakpoint command: "+ta))}}}break;case "c":a.jb&&(a.jb.value="");break;case "d":a:{var Ga,Ha=e[0],ca=e[1],ua=e[2],Zf=e[3];if("?"==ca){var Ia="";for(Ga in E)a.Ka[Ga]&&(Ia&&(Ia+=","),Ia+=Ga);Ia+=",state,symbols";a.f("dump memory commands:");a.f("\tdb [a] [#] dump # bytes at address a");a.f("\tdw [a] [#] dump # words at address a");a.f("\tdd [a] [#] dump # dwords at address a");a.f("\tdh [#] [#] dump # instructions from history");Ia.length&&a.f("dump extension commands:\n\t"+
Ha)}else if("state"==ca){var Xd=Hf(a.i,!0);"console"==ua?console.log(Xd):(a.kb&&(a.kb.value=""),a.f(Xd))}else if("symbols"==ca)for(var Cc=0;Cc<a.G.length;Cc++){var Dc=a.G[Cc],Ia;for(Ia in Dc.La)if("."!=Ia.charAt(0)){var Yd=Dc.La[Ia].o;if(void 0!==Yd){var Zd=Dc.La[Ia].l;Zd&&(Ia=Zd);a.f(X(a,Yd)+" "+Ia)}}}else{if("d"==Ga){for(Fa in E)if(e[1]==Fa){var $d=a.Ka[Fa];$d?(e.shift(),e.shift(),$d(e)):a.f("no dump registered for "+ca);break a}ca||(Ga=a.Pc||"db")}else a.Pc=Ga;if("dh"==Ga){var ae=ca,be=ua,ce="", Ia)}else if("state"==ca){var Xd=Hf(a.i,!0);"console"==ua?console.log(Xd):(a.jb&&(a.jb.value=""),a.f(Xd))}else if("symbols"==ca)for(var Cc=0;Cc<a.G.length;Cc++){var Dc=a.G[Cc],Ja;for(Ja in Dc.La)if("."!=Ja.charAt(0)){var Yd=Dc.La[Ja].o;if(void 0!==Yd){var Zd=Dc.La[Ja].l;Zd&&(Ja=Zd);a.f(X(a,Yd)+" "+Ja)}}}else{if("d"==Ha){for(Ga in E)if(e[1]==Ga){var $d=a.Ka[Ga];$d?(e.shift(),e.shift(),$d(e)):a.f("no dump registered for "+ca);break a}ca||(Ha=a.Pc||"db")}else a.Pc=Ha;if("dh"==Ha){var ae=ca,be=ua,ce="",
de=0,Z=a.ra,da=a.P;if(da.length){var U=+ae||a.Ib,gb=+be||10;isNaN(U)?U=gb:ce="more ";U>da.length&&(a.f("note: only "+da.length+" available"),U=da.length);Z-=U;0>Z&&(null==da[da.length-1].w?(U=Z+U,Z=0):Z+=da.length);var Ec=[];"call"==be&&(gb=1E5,Ec=["CALL"]);for(void 0!==ae&&a.f(U+" instructions earlier:");0<gb&&Z!=a.ra;){var ee=da[Z++];if(null==ee.w)break;var hb=Y(ee.w),$f=U--,fe=wf(a,hb,"history",$f);(!Ec.length||0<=fe.indexOf(Ec[0]))&&a.f(fe);hb.gc&&(Z+=hb.gc,gb-=hb.gc,U-=hb.gc);Z>=da.length&&(Z= de=0,Z=a.ra,da=a.P;if(da.length){var U=+ae||a.Ib,gb=+be||10;isNaN(U)?U=gb:ce="more ";U>da.length&&(a.f("note: only "+da.length+" available"),U=da.length);Z-=U;0>Z&&(null==da[da.length-1].w?(U=Z+U,Z=0):Z+=da.length);var Ec=[];"call"==be&&(gb=1E5,Ec=["CALL"]);for(void 0!==ae&&a.f(U+" instructions earlier:");0<gb&&Z!=a.ra;){var ee=da[Z++];if(null==ee.w)break;var hb=Y(ee.w),$f=U--,fe=wf(a,hb,"history",$f);(!Ec.length||0<=fe.indexOf(Ec[0]))&&a.f(fe);hb.gc&&(Z+=hb.gc,gb-=hb.gc,U-=hb.gc);Z>=da.length&&(Z=
0);a.Ib=U;de++;gb--}}de||(a.f("no "+ce+"history available"),a.Ib=void 0)}else{var Pb=jf(a,ca);if(Pb){var Qb=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Zf),Qb=Ye(a,ua)>>>0,65536<Qb&&(Qb=65536));for(var ib="",Ja="dd"==Ga?4:"dw"==Ga?2:1,Rb=Ja*Qb||128,ag=Rb+15>>4||1;ag--&&0<Rb;){var jb=0,Fc=0,kb,Gc="",ge="",ca=X(a,Pb.w);for(kb=4==Ja?16:a.da;0<kb&&0<Rb;kb--){var Sb=a.sb(Pb,1),jb=jb|Sb<<(Fc++<<3);Fc==Ja&&(Gc+=8==a.da?ba(jb,3*Ja):r(jb,2*Ja),Gc+=1==Ja?9==kb?"-":" ":" ",jb=Fc=0);ge+=32<=Sb&&128>Sb?String.fromCharCode(Sb): 0);a.Ib=U;de++;gb--}}de||(a.f("no "+ce+"history available"),a.Ib=void 0)}else{var Pb=jf(a,ca);if(Pb){var Qb=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Zf),Qb=Ye(a,ua)>>>0,65536<Qb&&(Qb=65536));for(var ib="",Ka="dd"==Ha?4:"dw"==Ha?2:1,Rb=Ka*Qb||128,ag=Rb+15>>4||1;ag--&&0<Rb;){var jb=0,Fc=0,kb,Gc="",ge="",ca=X(a,Pb.w);for(kb=4==Ka?16:a.da;0<kb&&0<Rb;kb--){var Sb=a.sb(Pb,1),jb=jb|Sb<<(Fc++<<3);Fc==Ka&&(Gc+=8==a.da?ba(jb,3*Ka):r(jb,2*Ka),Gc+=1==Ka?9==kb?"-":" ":" ",jb=Fc=0);ge+=32<=Sb&&128>Sb?String.fromCharCode(Sb):
".";Rb--}ib&&(ib+="\n");ib+=ca+" "+Gc+(0==kb?" "+ge:"")}ib&&a.f(ib);a.Eb=Pb}}}}break;case "e":if("else"==e[0])break;var Tb=1,he=255,ie=a.sb,je=a.Ub;"ew"==e[0]&&(Tb=2,he=65535,ie=a.Ia,je=a.pb);var ke=Tb<<1,le=e[1];if(null==le)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Ub=jf(a,le);if(Ub)for(var Vb=2;Vb<e.length;Vb++){var lb=We(a,e[Vb]);if(void 0===lb){a.f("unrecognized value: "+e[Vb]);break}lb&~he&&a.f("warning: "+ ".";Rb--}ib&&(ib+="\n");ib+=ca+" "+Gc+(0==kb?" "+ge:"")}ib&&a.f(ib);a.Eb=Pb}}}}break;case "e":if("else"==e[0])break;var Tb=1,he=255,ie=a.sb,je=a.Ub;"ew"==e[0]&&(Tb=2,he=65535,ie=a.Ja,je=a.pb);var ke=Tb<<1,le=e[1];if(null==le)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Ub=jf(a,le);if(Ub)for(var Vb=2;Vb<e.length;Vb++){var lb=We(a,e[Vb]);if(void 0===lb){a.f("unrecognized value: "+e[Vb]);break}lb&~he&&a.f("warning: "+
r(lb)+" exceeds "+Tb+"-byte value");var bg=ie.call(a,Ub);a.f("changing "+X(a,Ub.w)+" from "+r(bg,ke,!0)+" to "+r(lb,ke,!0));je.call(a,Ub,lb,Tb)}}break;case "g":a:{var me=e[1],cg=b;if(void 0!==me){var Hc=jf(a,me,!0);if(!Hc)break a;nf(a,Hc,cg);a.jb(a.j,Hc,!0)}a.ob(!0)||c||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Ic;if(a.u.ja)Ic="halting",a.ma();else{if(eb(a,!0))break a;Ic="already halted"}c||a.f(Ic)}break;case "i":if("if"==e[0]){var Jc;var mb=b.substr(2),mb=na(mb);We(a, r(lb)+" exceeds "+Tb+"-byte value");var bg=ie.call(a,Ub);a.f("changing "+X(a,Ub.w)+" from "+r(bg,ke,!0)+" to "+r(lb,ke,!0));je.call(a,Ub,lb,Tb)}}break;case "g":a:{var me=e[1],cg=b;if(void 0!==me){var Hc=jf(a,me,!0);if(!Hc)break a;nf(a,Hc,cg);a.ib(a.j,Hc,!0)}a.ob(!0)||c||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Ic;if(a.u.ja)Ic="halting",a.ma();else{if(eb(a,!0))break a;Ic="already halted"}c||a.f(Ic)}break;case "i":if("if"==e[0]){var Jc;var mb=b.substr(2),mb=na(mb);We(a,
mb)?(c||a.f("true: "+mb),Jc=!0):(c||a.f("false: "+mb),Jc=!1);Jc||(d=!1)}break;case "k":var dg=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Kc=0,ne=Y(),nb=Y(a.b.g[6]);for(a.f("stack trace for "+X(a,nb.w));10>Kc;){for(var va=null,eg=256;65536>nb.w>>>0;){ne.w=a.Ia(nb,2);if(null==nb.w||!eg--)break;for(var fg=a,Wb=ne,oe=null,ob=Wb.w,pe=ob,Lc=1;6>=Lc&&ob;Lc++){if(2<Lc){Wb.w=ob;var Xb=wf(fg,Wb);if(0<=Xb.indexOf("JSR")){var qe= mb)?(c||a.f("true: "+mb),Jc=!0):(c||a.f("false: "+mb),Jc=!1);Jc||(d=!1)}break;case "k":var dg=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Kc=0,ne=Y(),nb=Y(a.b.g[6]);for(a.f("stack trace for "+X(a,nb.w));10>Kc;){for(var va=null,eg=256;65536>nb.w>>>0;){ne.w=a.Ja(nb,2);if(null==nb.w||!eg--)break;for(var fg=a,Wb=ne,oe=null,ob=Wb.w,pe=ob,Lc=1;6>=Lc&&ob;Lc++){if(2<Lc){Wb.w=ob;var Xb=wf(fg,Wb);if(0<=Xb.indexOf("JSR")){var qe=
Xb.indexOf(" ");if(ob+(Xb.indexOf(" ",qe+1)-qe-1)/2==pe){oe=Xb;break}}}ob--}Wb.w=pe;if(va=oe)break}if(!va||null==va)break;var re=null;if("ks"==dg){var se=va.match(/[0-9A-F]+$/);se&&(re=Ef(a,se[0]))}va=ma(va,50)+" ;"+(re||"stack="+X(a,nb.w));a.f(va);Kc++}Kc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&Ef(a,e[1],!0);break;case "m":a:{var ea,fa=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var qa=0;if("all"==B)qa=1878917119,B=null;else if("on"==B)fa=!0,B=null;else if("off"==B)fa=!1, Xb.indexOf(" ");if(ob+(Xb.indexOf(" ",qe+1)-qe-1)/2==pe){oe=Xb;break}}}ob--}Wb.w=pe;if(va=oe)break}if(!va||null==va)break;var re=null;if("ks"==dg){var se=va.match(/[0-9A-F]+$/);se&&(re=Ef(a,se[0]))}va=ma(va,50)+" ;"+(re||"stack="+X(a,nb.w));a.f(va);Kc++}Kc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&Ef(a,e[1],!0);break;case "m":a:{var ea,fa=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var qa=0;if("all"==B)qa=1878917119,B=null;else if("on"==B)fa=!0,B=null;else if("off"==B)fa=!1,
B=null;else{"keys"==B&&(B="key");"kbd"==B&&(B="keyboard");for(ea in E)if(B==ea){qa=E[ea];fa=!!(a.ia&qa);break}if(!qa){a.f("unknown message category: "+B);break a}}if(qa)if("on"==e[2])a.ia|=qa,fa=!0;else if("off"==e[2]&&(a.ia&=~qa,fa=!1,1073741824==qa)){for(var Mc=0;Mc<a.Aa.length;Mc++)a.f(a.Aa[Mc]);a.Aa=[]}}var gg=0,pb="";for(ea in E)if(!B||B==ea){var hg=!!(a.ia&E[ea]);if(null===fa||fa==hg)pb&&(pb+=","),++gg%10||(pb+="\n\t"),"key"==ea&&(ea="keys"),pb+=ea}void 0===B&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off"); B=null;else{"keys"==B&&(B="key");"kbd"==B&&(B="keyboard");for(ea in E)if(B==ea){qa=E[ea];fa=!!(a.ia&qa);break}if(!qa){a.f("unknown message category: "+B);break a}}if(qa)if("on"==e[2])a.ia|=qa,fa=!0;else if("off"==e[2]&&(a.ia&=~qa,fa=!1,1073741824==qa)){for(var Mc=0;Mc<a.Ba.length;Mc++)a.f(a.Ba[Mc]);a.Ba=[]}}var gg=0,pb="";for(ea in E)if(!B||B==ea){var hg=!!(a.ia&E[ea]);if(null===fa||fa==hg)pb&&(pb+=","),++gg%10||(pb+="\n\t"),"key"==ea&&(ea="keys"),pb+=ea}void 0===B&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.f((null!==fa?fa?"messages on: ":"messages off: ":"message categories:\n\t")+(pb||"none"));cf(a)}break;case "p":if("print"==e[0]){Ff(a,b.substr(5));break}var ig="pr"==e[0]?1:0;if(a.fa)a.f("step in progress");else{var te=Y(a.b.g[7]);a.sb(te);a.fa?(a.jb(a.j,te,!0),a.ob()||(a.i&&a.i.Wb(),a.fa=0)):Gf(a,ig?"tr":"t")}break;case "r":if("reset"==b){a.i&&a.i.reset();break}pf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var qb=+e[2];if(8==qb||10==qb||16==qb)a.da=qb;else{a.f("invalid base: "+qb); a.f((null!==fa?fa?"messages on: ":"messages off: ":"message categories:\n\t")+(pb||"none"));cf(a)}break;case "p":if("print"==e[0]){Ff(a,b.substr(5));break}var ig="pr"==e[0]?1:0;if(a.fa)a.f("step in progress");else{var te=Y(a.b.g[7]);a.sb(te);a.fa?(a.ib(a.j,te,!0),a.ob()||(a.i&&a.i.Wb(),a.fa=0)):Gf(a,ig?"tr":"t")}break;case "r":if("reset"==b){a.i&&a.i.reset();break}pf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var qb=+e[2];if(8==qb||10==qb||16==qb)a.da=qb;else{a.f("invalid base: "+qb);
break}}a.f("default base: "+a.da);break;case "cs":var rb;void 0!==e[3]&&(rb=+e[3]);switch(e[2]){case "int":a.b.ub=rb;break;case "start":a.b.Nb=rb;break;case "stop":a.b.vb=rb;break;default:a.f("unknown cs option");break a}void 0!==rb&&Pc(a.b);a.f("checksums "+(a.b.u.rb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Uc(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.mb.toFixed(2)+"Mhz")+" ("+a.b.ab+"x)");break;case "?":a.f("debugger options:"); break}}a.f("default base: "+a.da);break;case "cs":var rb;void 0!==e[3]&&(rb=+e[3]);switch(e[2]){case "int":a.b.ub=rb;break;case "start":a.b.Nb=rb;break;case "stop":a.b.vb=rb;break;default:a.f("unknown cs option");break a}void 0!==rb&&Pc(a.b);a.f("checksums "+(a.b.u.rb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Uc(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.lb.toFixed(2)+"Mhz")+" ("+a.b.$a+"x)");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;default:e[1]&&a.f("unknown option: "+e[1])}break;case "t":Gf(a,e[0],e[1]);break;case "u":qf(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Df(a,b.substr(3))||(d=!1);break}a.f("PDP11js version 1.30.0 ("+a.b.Vc+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+ 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;default:e[1]&&a.f("unknown option: "+e[1])}break;case "t":Gf(a,e[0],e[1]);break;case "u":qf(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Df(a,b.substr(3))||(d=!1);break}a.f("PDP11js version 1.30.0 ("+a.b.Vc+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+
")");a.f(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Ff(a,b.substr(1));break}var Nc="commands:",Oc;for(Oc in ef)Nc+="\n"+ma(Oc,9)+ef[Oc];qd(a)||(Nc+="\nnote: history disabled if no exec breakpoints");a.f(Nc);break;default:a.f("unknown command: "+b),d=!1}}}catch(ue){a.f("debugger error: "+(ue.stack||ue.message)),d=!1}return d}function Qc(a,b,c){b=Ue(a,b,c);for(var d in b)if(!vf(a,b[+d]))return!1;return!0} ")");a.f(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Ff(a,b.substr(1));break}var Nc="commands:",Oc;for(Oc in ef)Nc+="\n"+ma(Oc,9)+ef[Oc];qd(a)||(Nc+="\nnote: history disabled if no exec breakpoints");a.f(Nc);break;default:a.f("unknown command: "+b),d=!1}}}catch(ue){a.f("debugger error: "+(ue.stack||ue.message)),d=!1}return d}function Qc(a,b,c){b=Ue(a,b,c);for(var d in b)if(!vf(a,b[+d]))return!1;return!0}
Oa(function(){for(var a=C(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new af(d);bb(d,c)}}); Oa(function(){for(var a=C(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new af(d);bb(d,c)}});
function If(a,b,c){u.call(this,"Computer",a,If,67108864);this.u.ga=!1;Jf(this,b);this.V=zc(this,"autoPower",a);this.A=0;this.fa=a.busWidth||a.buswidth;this.i=Kf;this.P=null;this.G=this.ca=!1;this.url=zc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Lf(this);if(this.b=ab("CPU",this.id)){this.C=ab("Debugger",this.id);this.F=new wb({id:this.rc+".bus",busWidth:this.fa},this.b,this.C);var d,f=$a(this.id);if((this.B=ab("Panel",this.id))&&this.B.kb)for(b=0;b<f.length;b++)d=f[b],d.pa=this.B.pa,d.f= function If(a,b,c){u.call(this,"Computer",a,If,67108864);this.u.ga=!1;Jf(this,b);this.V=zc(this,"autoPower",a);this.A=0;this.fa=a.busWidth||a.buswidth;this.i=Kf;this.P=null;this.G=this.ca=!1;this.url=zc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Lf(this);if(this.b=ab("CPU",this.id)){this.C=ab("Debugger",this.id);this.F=new wb({id:this.rc+".bus",busWidth:this.fa},this.b,this.C);var d,f=$a(this.id);if((this.B=ab("Panel",this.id))&&this.B.jb)for(b=0;b<f.length;b++)d=f[b],d.pa=this.B.pa,d.f=
this.B.f,d.kb=this.B.kb;this.f("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ya&&d.Ya(this,this.F,this.b,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.i=parseInt(d,10));var e;if(a=zc(this,"state")||(e=!0,a.state))b=this.Z=a,e||(this.G=!0,this.i=Kf),this.i&& this.B.f,d.jb=this.B.jb;this.f("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Xa&&d.Xa(this,this.F,this.b,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.i=parseInt(d,10));var e;if(a=zc(this,"state")||(e=!0,a.state))b=this.Z=a,e||(this.G=!0,this.i=Kf),this.i&&
(this.S=new L(this,"1.30.0"),Mf(this.S)?b=null:delete this.S);!b&&this.i&&(b=Nf(this))&&(this.G=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.J=null,g.G=!1,g.pa("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.P=b,g.ca=!0);D(g)})}else D(this);this.I.power||(this.V=!0);!c&&this.V&&Of(this,this.Ob)}else t("Unable to find CPU component")}w(If);var Kf=0; (this.S=new L(this,"1.30.0"),Mf(this.S)?b=null:delete this.S);!b&&this.i&&(b=Nf(this))&&(this.G=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.J=null,g.G=!1,g.pa("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.P=b,g.ca=!0);D(g)})}else D(this);this.I.power||(this.V=!0);!c&&this.V&&Of(this,this.Ob)}else t("Unable to find CPU component")}w(If);var Kf=0;
function Jf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.da=b}function zc(a,b,c){var d=b.toLowerCase(),d=Ta[b]||Ta[d];void 0===d&&a.da&&(d=a.da[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Of(a,b,c){for(var d=$a(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!fb(e)){fb(e,function(){Of(a,b,c)});return}}b.call(a,c)} function Jf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.da=b}function zc(a,b,c){var d=b.toLowerCase(),d=Ta[b]||Ta[d];void 0===d&&a.da&&(d=a.da[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Of(a,b,c){for(var d=$a(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!fb(e)){fb(e,function(){Of(a,b,c)});return}}b.call(a,c)}
function Pf(a,b){var c=new L(a,"1.30.0","validate");if(Mf(c)&&Qf(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.pa("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=If.prototype; function Pf(a,b){var c=new L(a,"1.30.0","validate");if(Mf(c)&&Qf(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.pa("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=If.prototype;
@ -192,12 +192,12 @@ function Hf(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new L(a,"1.30.0
d)),c&&(m.u.ga=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&Vf(a,a.j,e.toString()),Tf(g)&&Tf(e)||(f=null,d=h=!0)):a.i&&(d=!0,h=3==a.i),d&&e.clear(h)):f=e.toString());c&&(a.u.ga=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return f} d)),c&&(m.u.ga=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&Vf(a,a.j,e.toString()),Tf(g)&&Tf(e)||(f=null,d=h=!0)):a.i&&(d=!0,h=3==a.i),d&&e.clear(h)):f=e.toString());c&&(a.u.ga=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return f}
l.reset=function(){this.F&&this.F.reset&&(this.C&&cb(this,0)&&this.C.message("Resetting "+this.F.type,void 0),this.F.reset());for(var a=$a(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c.reset&&(this.C&&cb(this,0)&&this.C.message("Resetting "+c.type,void 0),c.reset())}};l.start=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}}; l.reset=function(){this.F&&this.F.reset&&(this.C&&cb(this,0)&&this.C.message("Resetting "+this.F.type,void 0),this.F.reset());for(var a=$a(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c.reset&&(this.C&&cb(this,0)&&this.C.message("Resetting "+c.type,void 0),c.reset())}};l.start=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
l.stop=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}}; l.stop=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
l.ta=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.u.ga?Hf(d,!1,!0):Of(d,d.Ob))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.u.ga&&!d.A)if(d.i&&!d.J){var a=wa("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Hf(d,a,!0);!a&&d.Z?window&&window.location.reload():d.Ob(Kf)}else d.reset(),d.b&&d.b.Hb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.I[b]= l.ua=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.u.ga?Hf(d,!1,!0):Of(d,d.Ob))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.u.ga&&!d.A)if(d.i&&!d.J){var a=wa("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Hf(d,a,!0);!a&&d.Z?window&&window.location.reload():d.Ob(Kf)}else d.reset(),d.b&&d.b.Hb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.I[b]=
c,c.onclick=function(){var a=Lf(d,!0);if(a){var b=!!(d.i&&!d.J||d.Z),c=Hf(d,b);b?Vf(d,a,c):d.pa("Resume disabled, machine state not saved")}},!0}return!1}; c,c.onclick=function(){var a=Lf(d,!0);if(a){var b=!!(d.i&&!d.J||d.Z),c=Hf(d,b);b?Vf(d,a,c):d.pa("Resume disabled, machine state not saved")}},!0}return!1};
function Lf(a,b){var c=a.j;c||((c=za("user"),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=Wf(a,c))||a.pa("The user ID is invalid.")):b&&a.pa("Browser local storage is not available"));return c} function Lf(a,b){var c=a.j;c||((c=za("user"),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=Wf(a,c))||a.pa("The user ID is invalid.")):b&&a.pa("Browser local storage is not available"));return c}
function Wf(a,b){a.j=null;b=sa(ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.j=b.data)}catch(d){t(d.message+" ("+c+")")}return a.j}function Nf(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+Xf(a,"1.30.0"));return b} function Wf(a,b){a.j=null;b=sa(ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.j=b.data)}catch(d){t(d.message+" ("+c+")")}return a.j}function Nf(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+Xf(a,"1.30.0"));return b}
function Vf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Xf(a,"1.30.0");d.data=c;b=sa(ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.pa("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.pa(c),Aa("user",""),a.j=null)}}l.Wb=function(){}; function Vf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Xf(a,"1.30.0");d.data=c;b=sa(ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.pa("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.pa(c),Aa("user",""),a.j=null)}}l.Wb=function(){};
l.za=function(a){this.b&&this.b.za(a);this.B&&this.B.za(a)};Oa(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=y(e),g=new If(g,d,!0);bb(g,e);g.V&&Of(g,g.Ob)}});Ea.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=ab("Computer",c.id))&&c.ha&&!c.u.ga&&c.Ob(-1)}}); l.Aa=function(a){this.b&&this.b.Aa(a);this.B&&this.B.Aa(a)};Oa(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=y(e),g=new If(g,d,!0);bb(g,e);g.V&&Of(g,g.Ob)}});Ea.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=ab("Computer",c.id))&&c.ha&&!c.u.ga&&c.Ob(-1)}});
Ea.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=ab("Computer",c.id))&&c.u.ga&&Hf(c,!(!c.i||c.J),!0)}});function L(a,b,c){this.id=a.id;this.key=Xf(a,b,c);this.C=a.C;Sf(this,a.Oc)}function Xf(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} Ea.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=ab("Computer",c.id))&&c.u.ga&&Hf(c,!(!c.i||c.J),!0)}});function L(a,b,c){this.id=a.id;this.key=Xf(a,b,c);this.C=a.C;Sf(this,a.Oc)}function Xf(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}
L.prototype={constructor:L,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Sf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c, L.prototype={constructor:L,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Sf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
1);c=0}}};function Sf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Tf(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Qf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Mf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.b=!0):!1}var Yf=0; 1);c=0}}};function Sf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Tf(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Qf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Mf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.b=!0):!1}var Yf=0;

View file

@ -8,88 +8,89 @@ typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encod
function r(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){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}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function r(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){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}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},qa=!1,ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)} function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},qa=!1,ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)}
function ua(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function va(a){!sa&&a?(sa=!0,qa&&wa("init"),ra&&wa("show")):sa=a}function wa(a){t[a]&&ua(t[a])}ta("onload",function(){qa=!0;ua(t.init)});ta("onpageshow",function(){ra=!0;ua(t.show)});ta(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){ua(t.exit)}); function ua(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function va(a){!sa&&a?(sa=!0,qa&&wa("init"),ra&&wa("show")):sa=a}function wa(a){t[a]&&ua(t[a])}ta("onload",function(){qa=!0;ua(t.init)});ta("onpageshow",function(){ra=!0;ua(t.show)});ta(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){ua(t.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mb=b.comment;this.gc=b;b=this.id.indexOf(".");0>b?this.yb=this.id:(this.Nb=this.id.substr(0,b),this.yb=this.id.substr(b+1));this[a]=c;this.g={ready:!1,ab:!1,Bb:!1,M:!1,error:!1};this.pb=null;this.g.error=!1;this.v={};this.I=null;w.push(this)}var xa=void 0,ya={}; function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mb=b.comment;this.gc=b;b=this.id.indexOf(".");0>b?this.yb=this.id:(this.Nb=this.id.substr(0,b),this.yb=this.id.substr(b+1));this[a]=c;this.g={ready:!1,ab:!1,Bb:!1,M:!1,error:!1};this.ob=null;this.g.error=!1;this.v={};this.I=null;w.push(this)}var xa=void 0,ya={};
if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function x(a,b){b||(b=v);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},w=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c} function x(a,b){b||(b=v);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},w=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Fa(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b} function Fa(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=A(e))&&g.binding&&a.ca(g.type,g.binding,e,g.value),k=h.length}}}} function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=z(e))&&g.binding&&a.da(g.type,g.binding,e,g.value),k=h.length}}}}
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c} function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ca:function(a,b,c){switch(b){case "clear":return this.v[b]||(this.v[b]=c,c.onclick=function(a){return function(){a.v.print&&(a.v.print.value="")}}(this)),!0;case "print":return this.v[b]||(this.Cb=this.v[b]=c,c.value="",this.N=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), v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},da:function(a,b,c){switch(b){case "clear":return this.v[b]||(this.v[b]=c,c.onclick=function(a){return function(){a.v.print&&(a.v.print.value="")}}(this)),!0;case "print":return this.v[b]||(this.Cb=this.v[b]=c,c.value="",this.N=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.L=function(a){this.N(a,this.yb)}),!0;default:return!1}},log:function(){},N:function(){},status:function(a){this.N(this.yb+": "+a)},L:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},xa:function(){return this.g.M=!0},wa:function(a,b){b&&(this.g.M=!1);return!0}};function Ga(a,b){if(a.g.Bb)return a.g.ab&&(a.g.ab=!1),a.g.Bb=!1;if(a.g.error)return a.N(a.toString()+" error"),!1;a.g.ab=b;return a.g.ab}function D(a){if(!a.g.error&&(a.g.ready=!0,a.g.ready)){var b=a.pb;a.pb=null;b&&b()}} this.L=function(a){this.N(a,this.yb)}),!0;default:return!1}},log:function(){},N:function(){},status:function(a){this.N(this.yb+": "+a)},L:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},wa:function(){return this.g.M=!0},va:function(a,b){b&&(this.g.M=!1);return!0}};function Ga(a,b){if(a.g.Bb)return a.g.ab&&(a.g.ab=!1),a.g.Bb=!1;if(a.g.error)return a.N(a.toString()+" error"),!1;a.g.ab=b;return a.g.ab}function D(a){if(!a.g.error&&(a.g.ready=!0,a.g.ready)){var b=a.ob;a.ob=null;b&&b()}}
function Ha(a,b){b&&(a.g.ready?b():a.pb=b);return a.g.ready}var Ia="undefined"!==typeof ArrayBuffer;function Ja(a){v.call(this,"Panel",a,Ja)}x(Ja);l=Ja.prototype;l.ca=function(a,b,c,d){return this.l&&this.l.ca(a,b,c,d)||this.a&&this.a.ca(a,b,c,d)?!0:this.parent.ca.call(this,a,b,c,d)};l.La=function(a,b,c,d){this.l=a;this.B=b;this.a=c;this.I=d};l.xa=function(a,b){b||Ka();return!0};l.wa=function(){return!0};l.Oa=function(){}; function Ha(a,b){b&&(a.g.ready?b():a.ob=b);return a.g.ready}var Ia="undefined"!==typeof ArrayBuffer;function Ja(a){v.call(this,"Panel",a,Ja)}x(Ja);l=Ja.prototype;l.da=function(a,b,c,d){return this.l&&this.l.da(a,b,c,d)||this.a&&this.a.da(a,b,c,d)?!0:this.parent.da.call(this,a,b,c,d)};l.Ka=function(a,b,c,d){this.l=a;this.B=b;this.a=c;this.I=d};l.wa=function(a,b){b||Ka();return!0};l.va=function(){return!0};l.Oa=function(){};
function Ka(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<w.length;g++)if(w[g].id===e){e=w[g];break a}}e=null}e||(a=!0,e=new Ja(f));B(e,d);a&&D(e)}}u(Ka); function Ka(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=z(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<w.length;g++)if(w[g].id===e){e=w[g];break a}}e=null}e||(a=!0,e=new Ja(f));B(e,d);a&&D(e)}}u(Ka);
function E(a,b,c){v.call(this,"Bus",a,E);this.a=b;this.I=c;this.G=a.busWidth||16;this.s=Math.pow(2,this.G);this.j=this.s-1|0;this.f=(this.G>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.h=1<<this.f;this.J=this.h>>2;this.i=this.h-1;this.l=this.s/this.h|0;this.K=this.l-1;this.pa=[];this.C=null;this.bb=this.T;a=new F;La(a,this.I);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=Ma;this.Ya[1]=Na;this.Ya[2]=Oa;this.Ya[3]=Pa;Qa(this,this.s-8192,8192,Ra,this); function E(a,b,c){v.call(this,"Bus",a,E);this.a=b;this.I=c;this.G=a.busWidth||16;this.s=Math.pow(2,this.G);this.j=this.s-1|0;this.f=(this.G>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.h=1<<this.f;this.J=this.h>>2;this.i=this.h-1;this.l=this.s/this.h|0;this.K=this.l-1;this.oa=[];this.C=null;this.bb=this.T;a=new F;La(a,this.I);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=Ma;this.Ya[1]=Na;this.Ya[2]=Oa;this.Ya[3]=Pa;Qa(this,this.s-8192,8192,Ra,this);
Qa(this,57344,8192,Ra,this);D(this)}x(E);function Ma(a,b){var c=this.controller,d=c.pa[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.pa[a&-2],d[2]))return d[2](b&-2)>>8;c.N("warning: unconverted read access to byte @"+ba(b));return c.bb(b,-1,1)} Qa(this,57344,8192,Ra,this);D(this)}x(E);function Ma(a,b){var c=this.controller,d=c.oa[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.oa[a&-2],d[2]))return d[2](b&-2)>>8;c.N("warning: unconverted read access to byte @"+ba(b));return c.bb(b,-1,1)}
function Na(a,b,c){var d=this.controller,f=d.pa[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.pa[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.N("warning: unconverted write access to byte @"+ba(c));d.bb(c,b,1)} function Na(a,b,c){var d=this.controller,f=d.oa[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.oa[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.N("warning: unconverted write access to byte @"+ba(c));d.bb(c,b,1)}
function Oa(a,b){var c=this.controller;if(a=c.pa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.N("warning: unconverted read access to word @"+ba(b));return c.bb(b,-1,0)}function Pa(a,b,c){var d=this.controller;if(a=d.pa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.N("warning: unconverted write access to word @"+ba(c));d.bb(c,b,0)}E.prototype.reset=function(){this.C&&this.C()};E.prototype.T=function(){return 0}; function Oa(a,b){var c=this.controller;if(a=c.oa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.N("warning: unconverted read access to word @"+ba(b));return c.bb(b,-1,0)}function Pa(a,b,c){var d=this.controller;if(a=d.oa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.N("warning: unconverted write access to word @"+ba(c));d.bb(c,b,0)}E.prototype.reset=function(){this.C&&this.C()};E.prototype.T=function(){return 0};
E.prototype.xa=function(a,b){b||this.reset();return!0};function Qa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.h,q=a.h-(e-m);q>g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.wb+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.wb){q=k.size-(e-m);q>g&&(q=g);k.wb=e-k.Xa+q;e=m+a.h;g-=q;h++;continue}}return Sa(1,e,g)}e=new F(e,q,a.h,d,f);La(e,a.I,k);a.b[h++]=e;e=m+a.h;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+n(b,8,!0)),!0):Sa(2,b,c)} E.prototype.wa=function(a,b){b||this.reset();return!0};function Qa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.h,q=a.h-(e-m);q>g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.wb+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.wb){q=k.size-(e-m);q>g&&(q=g);k.wb=e-k.Xa+q;e=m+a.h;g-=q;h++;continue}}return Sa(1,e,g)}e=new F(e,q,a.h,d,f);La(e,a.I,k);a.b[h++]=e;e=m+a.h;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+n(b,8,!0)),!0):Sa(2,b,c)}
function Ua(a,b){return a.b[(b&a.j)>>>a.f].eb(b&a.i,b)}function Va(a,b,c){var d=b&a.i,f=(b&a.j)>>>a.f;d!=a.i?a.b[f].Fc(d,c&65535,b):(a.b[f++].Wa(d,c&255,b),a.b[f&a.K].Wa(0,c>>8&255,b+1))}function Wa(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.b[d];if(f.sa||f.fc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;k[h++]=q-g;k[h++]=m;g=q}k.length<f.length&&(f=k)}c[e]=f}}return c} function Ua(a,b){return a.b[(b&a.j)>>>a.f].eb(b&a.i,b)}function Va(a,b,c){var d=b&a.i,f=(b&a.j)>>>a.f;d!=a.i?a.b[f].Hc(d,c&65535,b):(a.b[f++].Wa(d,c&255,b),a.b[f&a.K].Wa(0,c>>8&255,b+1))}function Wa(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.b[d];if(f.ra||f.fc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;k[h++]=q-g;k[h++]=m;g=q}k.length<f.length&&(f=k)}c[e]=f}}return c}
function Xa(a,b){var c=Ya,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,f=f[3]?f[3].bind(b):null,q=+d;q<=g;q+=2){var z=q&8191;void 0!==e.pa[z]?r("I/O address already registered: "+n(q,8,!0)):e.pa[z]=[h,k,m,f,!1]}}function Za(a,b,c){a.C=b;a.bb=c}function Sa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1} function Xa(a,b){var c=Ya,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,f=f[3]?f[3].bind(b):null,q=+d;q<=g;q+=2){var A=q&8191;void 0!==e.oa[A]?r("I/O address already registered: "+n(q,8,!0)):e.oa[A]=[h,k,m,f,!1]}}function Za(a,b,c){a.C=b;a.bb=c}function Sa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
function G(a){v.call(this,"Device",a,G);this.f={Fb:[],ea:0,V:128,b:127,ec:0};this.h={data:0,Hc:0,Sa:20,Ac:0};this.b={o:0,Jb:-1};this.i={gb:2496,P:0,A:128,hb:0,fb:0,U:0,Vb:0,R:[],Ja:[406,406,406,406],F:[12,12,12,12]};this.j={o:129,$a:0,H:0,va:0,qa:0,Aa:0,R:[],F:[40,40,40,40],Ja:[1024,1024,512,512],cc:[157,157,29,29]};this.l={a:[8210,8208,8210,8226],F:[22,22,22,50],Ia:[19,19,19,32],xb:[815,411,815,630],R:[],D:2176,Va:0,Ta:0,ba:[0,0,0,0,0,0,0,0],aa:0,S:[4544,4544,4544,4544,4544,4544,4544,4544],Ua:[0, function G(a){v.call(this,"Device",a,G);this.b={Fb:[],U:0,W:128,b:127,ec:0};this.h={data:0,Jc:0,Sa:20,Bc:0};this.f={o:0,Jb:-1};this.i={gb:2496,P:0,A:128,hb:0,fb:0,V:0,Vb:0,R:[],Ia:[406,406,406,406],F:[12,12,12,12]};this.j={o:129,$a:0,H:0,ua:0,pa:0,Aa:0,R:[],F:[40,40,40,40],Ia:[1024,1024,512,512],cc:[157,157,29,29]};this.l={a:[8210,8208,8210,8226],F:[22,22,22,50],Ha:[19,19,19,32],xb:[815,411,815,630],R:[],D:2176,Va:0,Ta:0,ca:[0,0,0,0,0,0,0,0],ba:0,S:[4544,4544,4544,4544,4544,4544,4544,4544],Ua:[0,
0,0,0,0,0,0,0],Na:0,yc:[0,0,0,0,0,0,0,0],Wb:0,Xb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],zc:[1,2,3,4,5,6,7,8],Yb:[0,0,0,0,0,0,0,0],ja:[0,0,0,0,0,0,0,0],vb:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],xc:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],za:0,Hb:0}}x(G); 0,0,0,0,0,0,0],Na:0,zc:[0,0,0,0,0,0,0,0],Wb:0,Xb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],Ac:[1,2,3,4,5,6,7,8],Yb:[0,0,0,0,0,0,0,0],ja:[0,0,0,0,0,0,0,0],vb:[0,0,0,0,0,0,0,0],xc:[0,0,0,0,0,0,0,0],yc:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],za:0,Hb:0}}x(G);
var $a=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551, var $a=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769, 2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=G.prototype;l.La=function(a,b,c,d){this.B=b;this.a=c;this.I=d;var f=this;this.b.Jb=ab(this.a,function(){f.b.ua|=128;f.b.ua&64&&(H(f.a,0,6,64),bb(f.a,f.b.Jb))});Xa(b,this);Za(b,this.reset.bind(this),this.bc.bind(this));D(this)};l.nc=function(){var a=this.b.ua;this.b.ua&=-129;return a}; 0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=G.prototype;l.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;var f=this;this.f.Jb=ab(this.a,function(){f.f.ta|=128;f.f.ta&64&&(H(f.a,0,6,64),bb(f.a,f.f.Jb))});Xa(b,this);Za(b,this.reset.bind(this),this.bc.bind(this));D(this)};l.nc=function(){var a=this.f.ta;this.f.ta&=-129;return a};
l.Cc=function(a){this.b.ua=a;a&64&&bb(this.a,this.b.Jb);this.b.ua=a&-129};l.oc=function(){var a=this.a;return a.C&62337|a.Pa<<5|a.Qa<<1};l.Dc=function(a){var b=4,c=this.a;c.C=a&=62337;c.Pa=a>>5&3;c.Qa=a>>1&15;c.qb=a&257?a&1?6:4:0;cb(c);a=c.C;a&1|256&&(b=this.a.Fa&16?1:2);this.h.Sa=this.h.Sa&-8|b};l.qc=function(){return this.f.V};l.Gc=function(a){if(128==(this.f.V&192)&&a&64){var b=this;H(this.a,8,4,52,function(){b.f.V|=128;return!!(b.f.V&64)})}this.f.V=this.f.V&128|a&-129};l.pc=function(){return db(this.a)}; l.Dc=function(a){this.f.ta=a;a&64&&bb(this.a,this.f.Jb);this.f.ta=a&-129};l.oc=function(){var a=this.a;return a.C&62337|a.Pa<<5|a.Qa<<1};l.Ec=function(a){var b=4,c=this.a;c.C=a&=62337;c.Pa=a>>5&3;c.Qa=a>>1&15;c.pb=a&257?a&1?6:4:0;cb(c);a=c.C;a&1|256&&(b=this.a.La&16?1:2);this.h.Sa=this.h.Sa&-8|b};l.qc=function(){return this.b.U};l.Gc=function(a){this.b.U=this.b.U&128|a&-129};l.rc=function(){return this.b.W};
l.Ec=function(a){eb(this.a,a&-1809|db(this.a)&1808);this.a.u|=128}; l.Ic=function(a){if(128==(this.b.W&192)&&a&64){var b=this;H(this.a,8,4,52,function(){b.b.W|=128;return!!(b.b.W&64)})}this.b.W=this.b.W&128|a&-129};l.pc=function(){return db(this.a)};l.Fc=function(a){eb(this.a,a&-1809|db(this.a)&1808);this.a.u|=128};
function fb(a){var b=a.i,c,d,f,e=b.U>>13&7;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.rc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.gb=2496;b.P=0;b.A=128;b.U=0;break;case 1:if((b.U>>4&511)>=b.Ja[e]){b.P|=32832;b.A|=49152;break}if((b.U&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.U>>4&511)*b.F[e]+(b.U&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;gb(a,b.R[e],c,d,f);return;case 2:if((b.U>>4&511)>=b.Ja[e])b.P|=32832, function fb(a){var b=a.i,c,d,f,e=b.V>>13&7;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.sc,drive:e,blocksize:256,mapped:0,maxblock:b.Ia[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.gb=2496;b.P=0;b.A=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Ia[e]){b.P|=32832;b.A|=49152;break}if((b.V&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;gb(a,b.R[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Ia[e])b.P|=32832,
b.A|=49152;else if((b.U&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.U>>4&511)*b.F[e]+(b.U&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;a.sb(b.R[e],c,d,f);return}}b.gb=e<<13|b.gb&8176|b.U%9&15;H(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.rc=function(a,b,c,d,f){var e=this.i;e.fb=d&65535;e.A=e.A&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}H(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})}; b.A|=49152;else if((b.V&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.fb;f=65536-b.hb&65535;a.rb(b.R[e],c,d,f);return}}b.gb=e<<13|b.gb&8176|b.V%9&15;H(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.sc=function(a,b,c,d,f){var e=this.i;e.fb=d&65535;e.A=e.A&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}H(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})};
function hb(a){var b=a.j,c,d,f,e=b.o>>8&3;b.o&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.sc,drive:e,blocksize:128,mapped:1,maxblock:b.Ja[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.o>>1&7){case 2:b.va&8&&(b.o&=63);b.va=b.cc[e]|b.Aa&64;break;case 3:1==(b.H&3)&&(b.Aa=b.H&4?b.Aa+(b.H&65408)&65408|b.H<<2&64:b.Aa-(b.H&65408)&65408|b.H<<2&64,b.H=b.Aa);break;case 4:b.va=b.Aa;break;case 5:if(b.H>>6>=b.Ja[e]){b.o|=37888;break}if((b.H&63)>=b.F[e]){b.o|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63); function hb(a){var b=a.j,c,d,f,e=b.o>>8&3;b.o&=-2;"undefined"===typeof b.R[e]&&(b.R[e]={cache:[],postProcess:a.tc,drive:e,blocksize:128,mapped:1,maxblock:b.Ia[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.o>>1&7){case 2:b.ua&8&&(b.o&=63);b.ua=b.cc[e]|b.Aa&64;break;case 3:1==(b.H&3)&&(b.Aa=b.H&4?b.Aa+(b.H&65408)&65408|b.H<<2&64:b.Aa-(b.H&65408)&65408|b.H<<2&64,b.H=b.Aa);break;case 4:b.ua=b.Aa;break;case 5:if(b.H>>6>=b.Ia[e]){b.o|=37888;break}if((b.H&63)>=b.F[e]){b.o|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);
d=(b.qa&63)<<16|b.$a;f=65536-b.va&65535;gb(a,b.R[e],c,d,f);return;case 6:if(b.H>>6>=b.Ja[e])b.o|=37888;else if((b.H&63)>=b.F[e])b.o|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.qa&63)<<16|b.$a;f=65536-b.va&65535;a.sb(b.R[e],c,d,f);return}}H(a.a,20,5,112,function(){b.o|=129;return!!(b.o&64)})} d=(b.pa&63)<<16|b.$a;f=65536-b.ua&65535;gb(a,b.R[e],c,d,f);return;case 6:if(b.H>>6>=b.Ia[e])b.o|=37888;else if((b.H&63)>=b.F[e])b.o|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.pa&63)<<16|b.$a;f=65536-b.ua&65535;a.rb(b.R[e],c,d,f);return}}H(a.a,20,5,112,function(){b.o|=129;return!!(b.o&64)})}
l.sc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.o=e.o&-49|d>>12&48;e.qa=d>>16&63;e.H=~~(c/e.F[b.ha])<<6|c%e.F[b.ha];e.Aa=e.H;e.va=65536-f&65535;switch(a){case 1:e.o|=33792;break;case 2:e.o|=40960}H(this.a,20,5,112,function(){e.o|=129;return!!(e.o&64)})};function ib(a){a=a.l;a.D=2176;a.aa=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ua=[0,0,0,0,0,0,0,0];a.Na=a.Va=a.Ta=a.za=a.Hb=0} l.tc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.o=e.o&-49|d>>12&48;e.pa=d>>16&63;e.H=~~(c/e.F[b.ha])<<6|c%e.F[b.ha];e.Aa=e.H;e.ua=65536-f&65535;switch(a){case 1:e.o|=33792;break;case 2:e.o|=40960}H(this.a,20,5,112,function(){e.o|=129;return!!(e.o&64)})};function ib(a){a=a.l;a.D=2176;a.ba=0;a.S=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ua=[0,0,0,0,0,0,0,0];a.Na=a.Va=a.Ta=a.za=a.Hb=0}
function jb(a,b){var c=a.l,d,f,e;c.D&=-16513;c.aa&=-2049;c.S[b]&=-1153;H(a.a,-1,0,172);"undefined"===typeof c.R[b]&&(c.R[b]={cache:[],postProcess:a.tc,drive:b,blocksize:256,mapped:0,maxblock:c.xb[0]*c.Ia[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.vb[b]=c.ja[b];c.D|=32896;c.S[b]|=32896;c.Na|=1<<b;break;case 9:ib(a);break;case 19:c.S[b]|=64;break;case 49:if(c.ja[b]>=c.xb[0]||c.ba[b]>>8>=c.Ia[0]||(c.ba[b]&255)>=c.F[0]){c.Ua[b]|=1024;c.D|=49152;break}d=(c.ja[b]*c.Ia[0]+(c.ba[b]>>8))*c.F[0]+ function jb(a,b){var c=a.l,d,f,e;c.D&=-16513;c.ba&=-2049;c.S[b]&=-1153;H(a.a,-1,0,172);"undefined"===typeof c.R[b]&&(c.R[b]={cache:[],postProcess:a.uc,drive:b,blocksize:256,mapped:0,maxblock:c.xb[0]*c.Ha[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.vb[b]=c.ja[b];c.D|=32896;c.S[b]|=32896;c.Na|=1<<b;break;case 9:ib(a);break;case 19:c.S[b]|=64;break;case 49:if(c.ja[b]>=c.xb[0]||c.ca[b]>>8>=c.Ha[0]||(c.ca[b]&255)>=c.F[0]){c.Ua[b]|=1024;c.D|=49152;break}d=(c.ja[b]*c.Ha[0]+(c.ca[b]>>8))*c.F[0]+
(c.ba[b]&255);f=(c.za&63)<<16|c.Ta;e=65536-c.Va&65535;gb(a,c.R[b],d,f,e);return;case 57:if(c.ja[b]>=c.xb[0]||c.ba[b]>>8>=c.Ia[0]||(c.ba[b]&255)>=c.F[0])c.Ua[b]|=1024,c.D|=49152;else{d=(c.ja[b]*c.Ia[0]+(c.ba[b]>>8))*c.F[0]+(c.ba[b]&255);f=(c.za&63)<<16|c.Ta;e=65536-c.Va&65535;a.sb(c.R[b],d,f,e);return}}H(a.a,3,5,172,function(){c.D=c.D&65534|128;c.S[b]|=128;return!!(c.D&64)})} (c.ca[b]&255);f=(c.za&63)<<16|c.Ta;e=65536-c.Va&65535;gb(a,c.R[b],d,f,e);return;case 57:if(c.ja[b]>=c.xb[0]||c.ca[b]>>8>=c.Ha[0]||(c.ca[b]&255)>=c.F[0])c.Ua[b]|=1024,c.D|=49152;else{d=(c.ja[b]*c.Ha[0]+(c.ca[b]>>8))*c.F[0]+(c.ca[b]&255);f=(c.za&63)<<16|c.Ta;e=65536-c.Va&65535;a.rb(c.R[b],d,f,e);return}}H(a.a,3,5,172,function(){c.D=c.D&65534|128;c.S[b]|=128;return!!(c.D&64)})}
l.tc=function(a,b,c,d,f){var e=this.l;e.Va=65536-f&65535;e.Ta=d&65535;e.D=e.D&-769|d>>8&768;e.za=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ia[0]);e.ba[b.ha]=f%e.Ia[0]<<8|c%e.F[0];e.vb[b.ha]=e.ja[b.ha]=d;e.Na|=1<<b.ha;c>=b.lc-1&&(e.S[b.ha]|=1024);switch(a){case 1:e.aa|=512;e.D|=49152;break;case 2:e.aa|=2048,e.D|=49152}H(this.a,20,5,172,function(){e.S[b.ha]|=128;e.D=e.D&65534|128;return!!(e.D&64)})}; l.uc=function(a,b,c,d,f){var e=this.l;e.Va=65536-f&65535;e.Ta=d&65535;e.D=e.D&-769|d>>8&768;e.za=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ha[0]);e.ca[b.ha]=f%e.Ha[0]<<8|c%e.F[0];e.vb[b.ha]=e.ja[b.ha]=d;e.Na|=1<<b.ha;c>=b.lc-1&&(e.S[b.ha]|=1024);switch(a){case 1:e.ba|=512;e.D|=49152;break;case 2:e.ba|=2048,e.D|=49152}H(this.a,20,5,172,function(){e.S[b.ha]|=128;e.D=e.D&65534|128;return!!(e.D&64)})};
function kb(a,b,c,d,f,e){var g=~~((e+c.ra-1)/c.ra),h=new XMLHttpRequest;2048>g&&d+2048<c.lc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.ra<<1)+"-"+(((d+g)*c.ra<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,z,L;m=h.response;if(h.status&&206!=h.status||!m)c.Eb(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(L=0;L<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],z=0;z<c.ra;z++)c.cache[q][z]=L<m.length? function kb(a,b,c,d,f,e){var g=~~((e+c.qa-1)/c.qa),h=new XMLHttpRequest;2048>g&&d+2048<c.lc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.qa<<1)+"-"+(((d+g)*c.qa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,A,L;m=h.response;if(h.status&&206!=h.status||!m)c.Eb(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(L=0;L<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],A=0;A<c.qa;A++)c.cache[q][A]=L<m.length?
m[L]&255|m[L+1]<<8&65280:0,L+=2;else L+=c.ra<<1;q++}g(c,d,f,e)}}};h.send(null)}function I(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:J(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.sb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){kb(this,this.sb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){var e=a.kc?lb(this.a,c):c;Va(this.a.B,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Eb(0,a,b,c,d)}; m[L]&255|m[L+1]<<8&65280:0,L+=2;else L+=c.qa<<1;q++}g(c,d,f,e)}}};h.send(null)}function I(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:J(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.rb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){kb(this,this.rb,a,b,c,d);return}for(f=0;f<a.qa&&0<d;f++){var e=a.kc?lb(this.a,c):c;Va(this.a.B,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Eb(0,a,b,c,d)};
function gb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.ra;e++)b.cache[c][e]=0;for(e=0;e<b.ra&&0<f;e++){g=a.a.ub(b.kc?lb(a.a,d):d);if(0>g){b.Eb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Eb(0,b,c,d,f)}l.reset=function(){this.h.Sa=this.h.Sa&-120|20;this.f.ea=0;this.f.V=128;this.b.ua=0;this.i.A=128;this.j.o=128;ib(this)}; function gb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.qa;e++)b.cache[c][e]=0;for(e=0;e<b.qa&&0<f;e++){g=a.a.tb(b.kc?lb(a.a,d):d);if(0>g){b.Eb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Eb(0,b,c,d,f)}l.reset=function(){this.h.Sa=this.h.Sa&-120|20;this.b.U=0;this.b.W=128;this.f.ta=0;this.i.A=128;this.j.o=128;ib(this)};
l.bc=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ya&65280:(a&1&&(b<<=8),e.ya=b|255,d=0);break;case 4194298:if(0>b)d=e.Gb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Gb=d;e.ia=2}break;case 4194294:if(70!==e.Ka)return J(e,4);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Ka)return J(e,4);d=1;break;case 4194290:if(70!==e.Ka)return J(e,4);d=0;break;case 4194288:if(70!==e.Ka)return J(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&= l.bc=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ya&65280:(a&1&&(b<<=8),e.ya=b|255,d=0);break;case 4194298:if(0>b)d=e.Gb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Gb=d;e.ia=2}break;case 4194294:if(70!==e.Ja)return J(e,4);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Ja)return J(e,4);d=1;break;case 4194290:if(70!==e.Ja)return J(e,4);d=0;break;case 4194288:if(70!==e.Ja)return J(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ka)return J(e,4);f=a-4194272>>1;0>b?d=e.Db[f]:(d=I(this,e.Db[f],a,b,c),0<=d&&(e.Db[f]=d));break;case 4194254:return a&1?e.w>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[3]=b),d=e.fa[3]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[1]=b),d=e.fa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.w&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ma[f]=b),d=e.Ma[f]),d;case 4194246:return a& 255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ja)return J(e,4);f=a-4194272>>1;0>b?d=e.Db[f]:(d=I(this,e.Db[f],a,b,c),0<=d&&(e.Db[f]=d));break;case 4194254:return a&1?e.w>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[3]=b),d=e.fa[3]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[1]=b),d=e.fa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.w&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ma[f]=b),d=e.Ma[f]),d;case 4194246:return a&
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[0]=b),d=e.fa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.w&2048?(0<=b&&(e.Ma[f]=b),d=e.Ma[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.f;switch(a&-2){case 4194174:d=I(this,e.jb,a,b,c);0<=d&&(e.jb=d);break;case 4194172:d=e.oa;d&65280&&(d=(d<<8|d>>8)&65535);break; 1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[0]=b),d=e.fa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.w&2048?(0<=b&&(e.Ma[f]=b),d=e.Ma[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=I(this,e.ub,a,b,c);0<=d&&(e.ub=d);break;case 4194172:d=e.xa;d&65280&&(d=(d<<8|d>>8)&65535);break;
case 4194168:0>b?d=this.h.Ac&65535:(d=I(this,this.h.data,a,b,c),0<=d&&(this.h.data=d));break;case 4194166:0<=b&&(b&127&&(g.ec=0),g.V&=-129,H(e,100,4,52,function(){g.V|=128;return!!(g.V&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ea&=-129,0<g.Fb.length&&(d=g.Fb.shift(),0<g.Fb.length&&setTimeout(function(){g.ea|=128;g.ea&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?d=g.ea:(d=I(this,g.ea,a,b,c),0<=d&&(g.ea=g.ea&128|d&-129));break;default:return e.m|=16,J(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d= case 4194168:0>b?d=this.h.Bc&65535:(d=I(this,this.h.data,a,b,c),0<=d&&(this.h.data=d));break;case 4194166:0<=b&&(b&127&&(g.ec=0),g.W&=-129,H(e,100,4,52,function(){g.W|=128;return!!(g.W&64)}));d=0;break;case 4194162:d=0;0>b&&(g.U&=-129,0<g.Fb.length&&(d=g.Fb.shift(),0<g.Fb.length&&setTimeout(function(){g.U|=128;g.U&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?d=g.U:(d=I(this,g.U,a,b,c),0<=d&&(g.U=g.U&128|d&-129));break;default:return e.m|=16,J(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d=
I(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=I(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=I(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&fb(this));break;case 4194054:d=I(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=I(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=I(this,f.U,a,b,c);0<=d&&(f.U=d);break;case 4194060:break;case 4194062:d=I(this,f.Vb,a,b,c);0<=d&&(f.Vb=d);break;default:return e.m|=16,J(e,4)}break;case 4193728:var h=this.l;f=h.aa&7;switch(a& I(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=I(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=I(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&fb(this));break;case 4194054:d=I(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=I(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=I(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=I(this,f.Vb,a,b,c);0<=d&&(f.Vb=d);break;default:return e.m|=16,J(e,4)}break;case 4193728:var h=this.l;f=h.ba&7;switch(a&
-2){case 4193728:d=I(this,h.D,a,b,c);0<=b&&0<=d&&(h.za=h.za&60|d>>8&3,h.D=d&17279|h.D&34944|2048,d&1&&h.D&128?jb(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.Va,a,b,c);0<=d&&(h.Va=d);break;case 4193732:d=I(this,h.Ta,a,b,c);0<=d&&(h.Ta=d&65534);break;case 4193734:d=I(this,h.ba[f],a,b,c);0<=d&&(h.ba[f]=d&7967);break;case 4193736:d=I(this,h.aa,a,b,c);0<=d&&(h.aa=d&63|h.aa&65472,d&128&&ib(this));break;case 4193738:d=h.S[f];break;case 4193740:d=h.Ua[f];break;case 4193742:d=I(this, -2){case 4193728:d=I(this,h.D,a,b,c);0<=b&&0<=d&&(h.za=h.za&60|d>>8&3,h.D=d&17279|h.D&34944|2048,d&1&&h.D&128?jb(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.Va,a,b,c);0<=d&&(h.Va=d);break;case 4193732:d=I(this,h.Ta,a,b,c);0<=d&&(h.Ta=d&65534);break;case 4193734:d=I(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=I(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&ib(this));break;case 4193738:d=h.S[f];break;case 4193740:d=h.Ua[f];break;case 4193742:d=I(this,
h.Na,a,b,c);0<=d&&(h.Na=d&255);break;case 4193744:d=h.yc[f];break;case 4193746:d=I(this,h.Wb,a,b,c);0<=d&&(h.Wb=d);break;case 4193748:d=I(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.zc[f];break;case 4193754:d=I(this,h.Yb[f],a,b,c);0<=d&&(h.Yb[f]=d);break;case 4193756:d=I(this,h.ja[f],a,b,c);0<=d&&(h.ja[f]=d&511);break;case 4193758:h.vb[f]=h.ja[f];d=h.vb[f];break;case 4193760:d=h.wc[f];break;case 4193762:d=h.xc[f];break;case 4193764:d=h.uc[f];break;case 4193766:d= h.Na,a,b,c);0<=d&&(h.Na=d&255);break;case 4193744:d=h.zc[f];break;case 4193746:d=I(this,h.Wb,a,b,c);0<=d&&(h.Wb=d);break;case 4193748:d=I(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.Ac[f];break;case 4193754:d=I(this,h.Yb[f],a,b,c);0<=d&&(h.Yb[f]=d);break;case 4193756:d=I(this,h.ja[f],a,b,c);0<=d&&(h.ja[f]=d&511);break;case 4193758:h.vb[f]=h.ja[f];d=h.vb[f];break;case 4193760:d=h.xc[f];break;case 4193762:d=h.yc[f];break;case 4193764:d=h.vc[f];break;case 4193766:d=
h.vc[f];break;case 4193768:d=I(this,h.za,a,b,c);0<=d&&(h.za=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=I(this,h.Hb,a,b,c);0<=d&&(h.Hb=d);break;default:return e.m|=16,J(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=I(this,f.o,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.o=f.o&-1023|d&1022,f.o&128||hb(this));break;case 4192514:d=I(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=I(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=I(this,f.va,a,b,c);0<=d&&(f.va=d);break; h.wc[f];break;case 4193768:d=I(this,h.za,a,b,c);0<=d&&(h.za=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=I(this,h.Hb,a,b,c);0<=d&&(h.Hb=d);break;default:return e.m|=16,J(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=I(this,f.o,a,b,c);0<=b&&0<=d&&(f.pa=f.pa&60|d>>4&3,f.o=f.o&-1023|d&1022,f.o&128||hb(this));break;case 4192514:d=I(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=I(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=I(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;
case 4192520:d=I(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.o=f.o&-49|(f.qa&3)<<4);break;default:return e.m|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Fa:(d=I(this,e.Fa,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.Fa=d,e.rb[0]=d&4?15:7,e.rb[1]=d&2?15:7,e.rb[3]=d&1?15:7,e.qb&&(f=2,e.Fa&16&&(f=1),this.h.Sa=this.h.Sa&-8|f)));break;default:return e.m|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=I(this,e.O[1][f], case 4192520:d=I(this,f.pa,a,b,c);0<=d&&(f.pa=d&63,f.o=f.o&-49|(f.pa&3)<<4);break;default:return e.m|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.La:(d=I(this,e.La,a,b,c),0<=d&&(70!==e.Ja&&(d&=-49),e.La=d,e.qb[0]=d&4?15:7,e.qb[1]=d&2?15:7,e.qb[3]=d&1?15:7,e.pb&&(f=2,e.La&16&&(f=1),this.h.Sa=this.h.Sa&-8|f)));break;default:return e.m|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=I(this,e.O[1][f],
a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ka)return J(e,4);f=a>>2&31;d=e.ib[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.ib[f]=a&2?d<<16|e.ib[f]&65535:e.ib[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=$a[a>>1&255];else return e.m|=16,J(e,4);break;default:return e.m|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)"); a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ja)return J(e,4);f=a>>2&31;d=e.ib[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.ib[f]=a&2?d<<16|e.ib[f]&65535:e.ib[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=$a[a>>1&255];else return e.m|=16,J(e,4);break;default:return e.m|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");
return d};var mb={},Ya=(mb[65382]=[null,null,G.prototype.nc,G.prototype.Cc],mb[65402]=[null,null,G.prototype.oc,G.prototype.Dc],mb[65396]=[null,null,G.prototype.qc,G.prototype.Gc],mb[65534]=[null,null,G.prototype.pc,G.prototype.Ec],mb);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new G(d);B(d,c)}});var nb;if(Ia){var ob=new ArrayBuffer(2);(new DataView(ob)).setUint16(0,256,!0);nb=256===(new Uint16Array(ob))[0]}else nb=!1;var pb=nb; return d};var K={},Ya=(K[65382]=[null,null,G.prototype.nc,G.prototype.Dc],K[65392]=[null,null,G.prototype.qc,G.prototype.Gc],K[65396]=[null,null,G.prototype.rc,G.prototype.Ic],K[65402]=[null,null,G.prototype.oc,G.prototype.Ec],K[65534]=[null,null,G.prototype.pc,G.prototype.Fc],K);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new G(d);B(d,c)}});var mb;
function F(a,b,c,d,f){this.id=qb+=2;this.a=null;this.Xa=a;this.wb=b;this.size=c||0;this.type=d||rb;this.h=d==sb;this.controller=null;La(this);this.sa=this.fc=!1;if(c)if(f)this.controller=f,this.a=null,tb(this,f.Ya);else if(Ia)this.f=new ArrayBuffer(c),this.v=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.l=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),tb(this,pb?ub:vb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;tb(this,wb)}else tb(this)} if(Ia){var nb=new ArrayBuffer(2);(new DataView(nb)).setUint16(0,256,!0);mb=256===(new Uint16Array(nb))[0]}else mb=!1;var ob=mb;
var rb=0,sb=2,Ra=4,Ta=["NONE","RAM","ROM","VID","H/W"],qb=0; function F(a,b,c,d,f){this.id=pb+=2;this.a=null;this.Xa=a;this.wb=b;this.size=c||0;this.type=d||qb;this.h=d==rb;this.controller=null;La(this);this.ra=this.fc=!1;if(c)if(f)this.controller=f,this.a=null,sb(this,f.Ya);else if(Ia)this.f=new ArrayBuffer(c),this.v=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.l=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),sb(this,ob?tb:ub);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;sb(this,vb)}else sb(this)}
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ia)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.v.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ia)for(b=0;b<a.length;b++)this.v.setInt32(b<<2,a[b],!0);else this.a=a;return this.sa=!0}return!1},s:function(){return 255},G:function(){},C:function(a,b){return this.eb(a++,b++)|this.eb(a,b)<<8},J:function(a,b,c){this.Wa(a++, var qb=0,rb=2,Ra=4,Ta=["NONE","RAM","ROM","VID","H/W"],pb=0;
b&255,c++);this.Wa(a,b>>8,c)},Z:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},na:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.sa=!0},Ra:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.sa=!0},T:function(a,b){return this.W(a,b)},ka:function(a,b){return this.la(a, F.prototype={constructor:F,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ia)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.v.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ia)for(b=0;b<a.length;b++)this.v.setInt32(b<<2,a[b],!0);else this.a=a;return this.ra=!0}return!1},s:function(){return 255},G:function(){},C:function(a,b){return this.eb(a++,b++)|this.eb(a,b)<<8},J:function(a,b,c){this.Wa(a++,
b)},Ca:function(a,b,c){this.h||this.ac(a,b,c)},Ha:function(a,b,c){this.h||this.Pa(a,b,c)},K:function(a){return this.b[a]},X:function(a){return this.b[a]},$:function(a){return this.v.getUint16(a,!0)},ma:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},Ba:function(a,b){this.b[a]=b;this.sa=!0},Da:function(a,b){this.b[a]=b;this.sa=!0},Ga:function(a,b){this.v.setUint16(a,b,!0);this.sa=!0},Qa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.sa=!0}}; b&255,c++);this.Wa(a,b>>8,c)},$:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},na:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ra=!0},Ra:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ra=!0},T:function(a,b){return this.X(a,b)},ka:function(a,b){return this.la(a,
function La(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&xb(a,yb,!1),(a.j=c.j)&&zb(a,yb,!1))}function zb(a,b,c){c&&a.j||(a.Wa=!a.h&&b[1]||a.G,a.Fc=!a.h&&b[3]||a.J);if(c||void 0===c)a.ac=b[1]||a.G,a.Pa=b[3]||a.J}function xb(a,b,c){c&&a.i||(a.eb=b[0]||a.s,a.tb=b[2]||a.C);if(c||void 0===c)a.W=b[0]||a.s,a.la=b[2]||a.C}function tb(a,b){b||(b=Ab);xb(a,b,void 0);zb(a,b,void 0)}var Ab=[],wb=[F.prototype.Z,F.prototype.Ea,F.prototype.na,F.prototype.Ra],yb=[F.prototype.T,F.prototype.Ca,F.prototype.ka,F.prototype.Ha]; b)},Ca:function(a,b,c){this.h||this.ac(a,b,c)},Ga:function(a,b,c){this.h||this.Pa(a,b,c)},K:function(a){return this.b[a]},Y:function(a){return this.b[a]},aa:function(a){return this.v.getUint16(a,!0)},ma:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},Ba:function(a,b){this.b[a]=b;this.ra=!0},Da:function(a,b){this.b[a]=b;this.ra=!0},Fa:function(a,b){this.v.setUint16(a,b,!0);this.ra=!0},Qa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.ra=!0}};
if(Ia)var vb=[F.prototype.K,F.prototype.Ba,F.prototype.$,F.prototype.Ga],ub=[F.prototype.X,F.prototype.Da,F.prototype.ma,F.prototype.Qa];function Bb(a,b){v.call(this,"CPU",a,Bb);var c=a.multiplier||1;this.mb=a.cycles||b;this.Z=c;this.zb=Math.round(this.mb/1E4)/100;this.la=this.zb*this.Z;this.g.ga=!1;this.g.Zb=!1;this.g.Za=a.autoStart;this.g.Qb=!1;this.g.ob=!1;this.kb=this.ma=0;this.lb=a.csStart;this.Ca=a.csInterval;this.Da=a.csStop;this.G=[];this.Tb=this.Ib.bind(this);D(this)}x(Bb); function La(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&wb(a,xb,!1),(a.j=c.j)&&yb(a,xb,!1))}function yb(a,b,c){c&&a.j||(a.Wa=!a.h&&b[1]||a.G,a.Hc=!a.h&&b[3]||a.J);if(c||void 0===c)a.ac=b[1]||a.G,a.Pa=b[3]||a.J}function wb(a,b,c){c&&a.i||(a.eb=b[0]||a.s,a.sb=b[2]||a.C);if(c||void 0===c)a.X=b[0]||a.s,a.la=b[2]||a.C}function sb(a,b){b||(b=zb);wb(a,b,void 0);yb(a,b,void 0)}var zb=[],vb=[F.prototype.$,F.prototype.Ea,F.prototype.na,F.prototype.Ra],xb=[F.prototype.T,F.prototype.Ca,F.prototype.ka,F.prototype.Ga];
var Cb=["power","reset"];l=Bb.prototype;l.La=function(a,b,c,d){this.l=a;this.B=b;this.I=d;for(b=0;b<Cb.length;b++)(c=this.v[Cb[b]])&&this.l.ca(null,Cb[b],c);this.Ba=null;a=Db(a,"autoStart");null!=a&&(this.g.Za="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.xa=function(a,b){if(!b){if(a&&this.restore){Eb(this);if(!this.restore(a))return!1;Fb(this)}else this.reset();this.N("No debugger detected")}Gb(this);return!0}; if(Ia)var ub=[F.prototype.K,F.prototype.Ba,F.prototype.aa,F.prototype.Fa],tb=[F.prototype.Y,F.prototype.Da,F.prototype.ma,F.prototype.Qa];function Ab(a,b){v.call(this,"CPU",a,Ab);var c=a.multiplier||1;this.lb=a.cycles||b;this.$=c;this.zb=Math.round(this.lb/1E4)/100;this.la=this.zb*this.$;this.g.ga=!1;this.g.Zb=!1;this.g.Za=a.autoStart;this.g.Qb=!1;this.g.nb=!1;this.jb=this.ma=0;this.kb=a.csStart;this.Ca=a.csInterval;this.Da=a.csStop;this.G=[];this.Tb=this.Ib.bind(this);D(this)}x(Ab);
l.wa=function(a){return a?this.save():!0};l.Za=function(){return this.g.Za||void 0===this.v.run?(this.Ib(),!0):!1};l.Ub=function(){return 0};function Fb(a){void 0===a.lb&&(a.lb=0);void 0===a.Ca&&(a.Ca=-1);void 0===a.Da&&(a.Da=-1);a.g.ob=0<=a.lb&&0<a.Ca;a.g.ob&&(a.kb=0,a.ma=a.lb-a.$)} var Bb=["power","reset"];l=Ab.prototype;l.Ka=function(a,b,c,d){this.l=a;this.B=b;this.I=d;for(b=0;b<Bb.length;b++)(c=this.v[Bb[b]])&&this.l.da(null,Bb[b],c);this.Ba=null;a=Cb(a,"autoStart");null!=a&&(this.g.Za="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.wa=function(a,b){if(!b){if(a&&this.restore){Db(this);if(!this.restore(a))return!1;Eb(this)}else this.reset();this.N("No debugger detected")}Fb(this);return!0};
function K(a,b,c,d){if(a.v[b]){void 0===c&&(a.g.error=!0,a.L("Value for "+b+" is invalid"),M(a));var f=a.I&&a.I.b||8;c=!a.g.ga||a.g.Qb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.v[b].textContent!=c&&(a.v[b].textContent=c)}} l.va=function(a){return a?this.save():!0};l.Za=function(){return this.g.Za||void 0===this.v.run?(this.Ib(),!0):!1};l.Ub=function(){return 0};function Eb(a){void 0===a.kb&&(a.kb=0);void 0===a.Ca&&(a.Ca=-1);void 0===a.Da&&(a.Da=-1);a.g.nb=0<=a.kb&&0<a.Ca;a.g.nb&&(a.jb=0,a.ma=a.kb-a.aa)}
l.ca=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.v[b]=c;a=!0;break;case "run":this.v[b]=c;c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.g.M)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.g.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.g.M);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.g.ready?"powered yet":"ready yet"+(b.pb?" (waiting for notification)":""))+".");a=!1}a&&(d.g.ga?M(d):d.Ib())};a=!0; function M(a,b,c,d){if(a.v[b]){void 0===c&&(a.g.error=!0,a.L("Value for "+b+" is invalid"),Gb(a));var f=a.I&&a.I.b||8;c=!a.g.ga||a.g.Qb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.v[b].textContent!=c&&(a.v[b].textContent=c)}}
break;case "speed":this.v[b]=c;a=!0;break;case "setSpeed":this.v[b]=c,c.onclick=function(){Hb(d,d.Z<<1)},c.textContent=this.la.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.$+=b;c&&(a.X=a.a=0)}function Jb(a,b){var c=1;b&&1<a.Z&&a.T&&(c=a.T/a.zb);a.Pb=Math.round(1E3/30);a.nb=Math.floor(a.mb/30*c);b||(a.Ea=a.nb);a.Ab=0}function Kb(a){return a.$+a.K+a.X-a.a}function Eb(a){a.T=0;a.Sb=0;a.$=a.K=a.X=a.a=0;Fb(a);Hb(a,1)} l.da=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.v[b]=c;a=!0;break;case "run":this.v[b]=c;c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.g.M)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.g.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.g.M);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.g.ready?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.g.ga?Gb(d):d.Ib())};a=!0;
function Hb(a,b){if(void 0!==b&&(.8>a.T/a.la&&(b=1),a.Z=b,b=a.zb*a.Z,a.la!=b)){a.la=b;b=a.la.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.N("target speed: "+b)}Ib(a,a.K);a.K=0;a.J=ia();a.W=0;Jb(a)}function ab(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function bb(a,b){var c;0<=b&&b<a.G.length&&0>a.G[b][0]&&(c=a.mb*a.Z/1E3*(1E3/60),a.G[b][0]=c)}function Lb(a){a.X-=a.a;a.a=0} break;case "speed":this.v[b]=c;a=!0;break;case "setSpeed":this.v[b]=c,c.onclick=function(){Hb(d,d.$<<1)},c.textContent=this.la.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.aa+=b;c&&(a.Y=a.a=0)}function Jb(a,b){var c=1;b&&1<a.$&&a.T&&(c=a.T/a.zb);a.Pb=Math.round(1E3/30);a.mb=Math.floor(a.lb/30*c);b||(a.Ea=a.mb);a.Ab=0}function Kb(a){return a.aa+a.K+a.Y-a.a}function Db(a){a.T=0;a.Sb=0;a.aa=a.K=a.Y=a.a=0;Eb(a);Hb(a,1)}
l.Ib=function(){if(Ga(this,!0)){if(!this.g.ga){Hb(this);this.l&&this.l.start(this.J,Kb(this));this.g.ga=!0;this.g.Zb=!0;this.Ba&&this.Ba.start();var a=this.v.run;a&&(a.textContent="Halt");this.l&&this.l.Oa(!0)}this.Ab>=this.mb&&Jb(this,!0);this.Ga=0;this.Ra=ia();this.W&&(a=this.Ra-this.W,a>this.Pb&&(this.J+=a,this.J>this.Ra&&(this.J=this.Ra)));try{do{for(var b,c=this.g.ob?1:this.nb,d=this.G.length-1;0<=d;d--){var f=this.G[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.$b(b)}catch(m){if("number"!=typeof m)throw m; function Hb(a,b){if(void 0!==b&&(.8>a.T/a.la&&(b=1),a.$=b,b=a.zb*a.$,a.la!=b)){a.la=b;b=a.la.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.N("target speed: "+b)}Ib(a,a.K);a.K=0;a.J=ia();a.X=0;Jb(a)}function ab(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function bb(a,b){var c;0<=b&&b<a.G.length&&0>a.G[b][0]&&(c=a.lb*a.$/1E3*(1E3/60),a.G[b][0]=c)}function Lb(a){a.Y-=a.a;a.a=0}
}for(var e=this.X-this.a,a=e,g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ga+=e;this.K+=e;Ib(this,0,!0);a=e;if(this.g.ob){var k=!1;this.kb=this.kb+this.Ub()|0;this.ma-=a;0>=this.ma&&(this.ma+=this.Ca,k=!0);0<=this.Da&&this.Da<=Kb(this)&&(this.Ca=this.Da=-1,Fb(this),M(this),k=!0);k&&this.N(Kb(this)+" cycles: checksum="+n(this.kb))}this.Ea-=e;if(0>=this.Ea){this.Ea+=this.nb;15<=++this.Sb&&(this.l&&this.l.Oa(),this.Sb=0);break}}while(this.g.ga)}catch(m){M(this); l.Ib=function(){if(Ga(this,!0)){if(!this.g.ga){Hb(this);this.l&&this.l.start(this.J,Kb(this));this.g.ga=!0;this.g.Zb=!0;this.Ba&&this.Ba.start();var a=this.v.run;a&&(a.textContent="Halt");this.l&&this.l.Oa(!0)}this.Ab>=this.lb&&Jb(this,!0);this.Fa=0;this.Ra=ia();this.X&&(a=this.Ra-this.X,a>this.Pb&&(this.J+=a,this.J>this.Ra&&(this.J=this.Ra)));try{do{for(var b,c=this.g.nb?1:this.mb,d=this.G.length-1;0<=d;d--){var f=this.G[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.$b(b)}catch(m){if("number"!=typeof m)throw m;
Gb(this);this.l&&this.l.stop(ia(),Kb(this));Ga(this,!1);b=m.stack||m.message;this.g.error=!0;this.L(b);return}b=setTimeout;c=this.Tb;this.W=ia();d=this.Pb;this.Ga&&(d=Math.round(d*this.Ga/this.nb));d-=this.W-this.Ra;if(f=this.W-this.J)this.T=Math.round(this.K/(10*f))/100,864E5<=f&&(this.$=0,Hb(this));if(0>d||this.T<this.la)-1E3>d&&(this.J-=d),d=0;this.Ab+=this.Ga;this.W+=d;b(c,d)}else Gb(this),this.l&&this.l.stop(ia(),Kb(this))};l.$b=function(){return 0}; }for(var e=this.Y-this.a,a=e,g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Fa+=e;this.K+=e;Ib(this,0,!0);a=e;if(this.g.nb){var k=!1;this.jb=this.jb+this.Ub()|0;this.ma-=a;0>=this.ma&&(this.ma+=this.Ca,k=!0);0<=this.Da&&this.Da<=Kb(this)&&(this.Ca=this.Da=-1,Eb(this),Gb(this),k=!0);k&&this.N(Kb(this)+" cycles: checksum="+n(this.jb))}this.Ea-=e;if(0>=this.Ea){this.Ea+=this.mb;15<=++this.Sb&&(this.l&&this.l.Oa(),this.Sb=0);break}}while(this.g.ga)}catch(m){Gb(this);
function M(a){a.g.ab&&(a.g.Bb=!0);Lb(a);Ib(a,a.K);a.K=0;if(a.g.ga){a.g.ga=!1;a.Ba&&a.Ba.stop();var b=a.v.run;b&&(b.textContent="Run")}a.g.complete=void 0}function Gb(a){a.l&&a.l.Oa(void 0)} Fb(this);this.l&&this.l.stop(ia(),Kb(this));Ga(this,!1);b=m.stack||m.message;this.g.error=!0;this.L(b);return}b=setTimeout;c=this.Tb;this.X=ia();d=this.Pb;this.Fa&&(d=Math.round(d*this.Fa/this.mb));d-=this.X-this.Ra;if(f=this.X-this.J)this.T=Math.round(this.K/(10*f))/100,864E5<=f&&(this.aa=0,Hb(this));if(0>d||this.T<this.la)-1E3>d&&(this.J-=d),d=0;this.Ab+=this.Fa;this.X+=d;b(c,d)}else Fb(this),this.l&&this.l.stop(ia(),Kb(this))};l.$b=function(){return 0};
function Mb(a){this.jc=a.resetAddr||0;Bb.call(this,a,1E6);this.Lb=0;this.decode=Nb.bind(this);this.i=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.jc];this.Ma=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.Qa=this.s=0;this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0, function Gb(a){a.g.ab&&(a.g.Bb=!0);Lb(a);Ib(a,a.K);a.K=0;if(a.g.ga){a.g.ga=!1;a.Ba&&a.Ba.stop();var b=a.v.run;b&&(b.textContent="Run")}a.g.complete=void 0}function Fb(a){a.l&&a.l.Oa(void 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.ib=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.u=0;this.Ka=70;this.na=-1;this.Ha=0;Ob(this);this.g.complete=this.g.dc=!1}x(Mb,Bb);l=Mb.prototype;l.reset=function(){this.g.ga&&M(this);Ob(this);Eb(this);this.g.error=!1;this.parent.reset.call(this)}; function Mb(a){this.jc=a.resetAddr||0;Ab.call(this,a,1E6);this.Lb=0;this.decode=Nb.bind(this);this.i=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.jc];this.Ma=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.Qa=this.s=0;this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,
function Ob(a){a.ya=255;a.m=0;a.Gb=0;a.C=0;a.oa=0;a.jb=0;a.Fa=0;a.qb=0;a.Pa=0;a.rb=[7,7,7,7];a.h=[];a.ia=2;cb(a)}function cb(a){a.qb?(a.Kb=65536,a.ka=a.ic,a.tb=a.Y):(a.Kb=0,a.ka=a.hc,a.tb=a.ub)}l.Ub=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.$,this.Z]);a.set(2,Wa(this.B));return a.data()}; 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.ib=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.u=0;this.Ja=70;this.na=-1;this.Ga=0;Ob(this);this.g.complete=this.g.dc=!1}x(Mb,Ab);l=Mb.prototype;l.reset=function(){this.g.ga&&Gb(this);Ob(this);Db(this);this.g.error=!1;this.parent.reset.call(this)};
l.restore=function(a){var b=a[1];this.$=b[1];Hb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.J){for(var e=0,g=Array(b.J),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b}; function Ob(a){a.ya=255;a.m=0;a.Gb=0;a.C=0;a.xa=0;a.ub=0;a.La=0;a.pb=0;a.Pa=0;a.qb=[7,7,7,7];a.h=[];a.ia=2;cb(a)}function cb(a){a.pb?(a.Kb=65536,a.ka=a.ic,a.sb=a.Z):(a.Kb=0,a.ka=a.hc,a.sb=a.tb)}l.Ub=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.aa,this.$]);a.set(2,Wa(this.B));return a.data()};
l.ca=function(a,b,c){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":this.v[b]=c;this.Lb++;a=!0;break;default:a=this.parent.ca.call(this,a,b,c)}return a}; l.restore=function(a){var b=a[1];this.aa=b[1];Hb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.J){for(var e=0,g=Array(b.J),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
l.Oa=function(a){if(this.Lb&&(a||!this.g.ga||this.g.Qb)){for(a=0;a<this.c.length;a++)K(this,"R"+a,this.c[a]);a=db(this);K(this,"PS",a);K(this,"NF",a&8?1:0,1);K(this,"ZF",a&4?1:0,1);K(this,"VF",a&2?1:0,1);K(this,"CF",a&1?1:0,1)}if(a=this.v.speed)a.textContent=this.g.ga&&this.T?this.T.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.i&65536?1:0}l.ta=function(){return this.j&32768?8:0}; l.da=function(a,b,c){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":this.v[b]=c;this.Lb++;a=!0;break;default:a=this.parent.da.call(this,a,b,c)}return a};
function H(a,b,c,d,f){for(var e=a.h.length;0<e--;)if(a.h[e].Bc===d){0<e&&(a.h[e-1].da+=a.h[e].da);a.h.splice(e,1);break}if(0<=b){2===a.Ha&&(b=0,a.Ha=0,setTimeout(a.Tb,0));for(e=a.h.length;0<e--;){if(a.h[e].da>b){a.h[e].da-=b;break}b-=a.h[e].da}a.h.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ia=2}function db(a){return a.w=a.w&63728|a.ta()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)} l.Oa=function(a){if(this.Lb&&(a||!this.g.ga||this.g.Qb)){for(a=0;a<this.c.length;a++)M(this,"R"+a,this.c[a]);a=db(this);M(this,"PS",a);M(this,"NF",a&8?1:0,1);M(this,"ZF",a&4?1:0,1);M(this,"VF",a&2?1:0,1);M(this,"CF",a&1?1:0,1)}if(a=this.v.speed)a.textContent=this.g.ga&&this.T?this.T.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.i&65536?1:0}l.sa=function(){return this.j&32768?8:0};
function H(a,b,c,d,f){for(var e=a.h.length;0<e--;)if(a.h[e].Cc===d){0<e&&(a.h[e-1].ea+=a.h[e].ea);a.h.splice(e,1);break}if(0<=b){2===a.Ga&&(b=0,a.Ga=0,setTimeout(a.Tb,0));for(e=a.h.length;0<e--;){if(a.h[e].ea>b){a.h[e].ea-=b;break}b-=a.h[e].ea}a.h.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ia=2}function db(a){return a.w=a.w&63728|a.sa()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)}
function eb(a,b){a.j=b<<12;a.f=~b&4;a.b=b<<14;a.i=b<<16;if((b^a.w)&2048)for(var c=a.Ma.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ma[c];a.Ma[c]=d}a.s=b>>14&3;c=a.w>>14&3;a.s!=c&&(a.fa[c]=a.c[6],a.c[6]=a.fa[a.s]);a.ia=2;a.w=b}function P(a,b,c){a.u&128||(a.j=a.f=a.i=b,a.b=c||0)}function Q(a,b){a.u&128||(a.j=a.f=b,a.b=0)}function Pb(a,b,c,d){a.u&128||(a.j=a.f=a.i=b,a.b=(c^b)&(d^b))}function R(a,b){a.u&128||(a.j=a.f=a.i=b,a.b=a.j^a.i>>1)}function Qb(a,b,c,d){a.u&128||(a.j=a.f=a.i=b,a.b=(c^d)&(d^b))} function eb(a,b){a.j=b<<12;a.f=~b&4;a.b=b<<14;a.i=b<<16;if((b^a.w)&2048)for(var c=a.Ma.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ma[c];a.Ma[c]=d}a.s=b>>14&3;c=a.w>>14&3;a.s!=c&&(a.fa[c]=a.c[6],a.c[6]=a.fa[a.s]);a.ia=2;a.w=b}function P(a,b,c){a.u&128||(a.j=a.f=a.i=b,a.b=c||0)}function Q(a,b){a.u&128||(a.j=a.f=b,a.b=0)}function Pb(a,b,c,d){a.u&128||(a.j=a.f=a.i=b,a.b=(c^b)&(d^b))}function R(a,b){a.u&128||(a.j=a.f=a.i=b,a.b=a.j^a.i>>1)}function Qb(a,b,c,d){a.u&128||(a.j=a.f=a.i=b,a.b=(c^d)&(d^b))}
function J(a,b){var c=!1;0>a.na?a.na=db(a):a.s||(b=4,c=!0);a.C&57344||(a.oa=63222,a.jb=b);a.s=0;var d=a.Y(b|65536),f=a.Y(b+2&65535|65536);eb(a,f&53247|a.na>>2&12288);c&&(a.m|=4,a.c[6]=4);Rb(a,a.na);Rb(a,a.c[7]);a.c[7]=d;a.u&=-113;a.na=-1;throw b;}function Sb(a){var b=Tb(a),c=Tb(a)&-1793;a.w&49152&&(c=c&-225|a.w&63712);a.c[7]=b&65535;eb(a,c);a.u&=-17}function lb(a,b){var c=b>>13&31;31>c?a.Fa&32&&(b=a.ib[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b} function J(a,b){var c=!1;0>a.na?a.na=db(a):a.s||(b=4,c=!0);a.C&57344||(a.xa=63222,a.ub=b);a.s=0;var d=a.Z(b|65536),f=a.Z(b+2&65535|65536);eb(a,f&-12289|a.na>>2&12288);c&&(a.m|=4,a.c[6]=4);Rb(a,a.na);Rb(a,a.c[7]);a.c[7]=d;a.u&=-113;a.na=-1;throw b;}function Sb(a){var b=Tb(a),c=Tb(a)&-1793;a.w&49152&&(c=c&-225|a.w&63712);a.c[7]=b&65535;eb(a,c);a.u&=-17}function lb(a,b){var c=b>>13&31;31>c?a.La&32&&(b=a.ib[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
function Ub(a,b,c){var d,f,e,g=0;if(c&a.qb){d=b>>13&a.rb[a.s];f=a.O[a.s][d];e=(a.O[a.s][d+16]<<6)+(b&8191)&4194303;a.Fa&16?3932160<=e&&4186112>e&&(e=lb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,J(a,4)),e&1&&!(c&1)&&(a.m|=64,J(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|= function Ub(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.s];f=a.O[a.s][d];e=(a.O[a.s][d+16]<<6)+(b&8191)&4194303;a.La&16?3932160<=e&&4186112>e&&(e=lb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,J(a,4)),e&1&&!(c&1)&&(a.m|=64,J(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
16384));a.O[a.s][d]=f;if(4194170!==e||a.s)a.Pa=a.s,a.Qa=d;g&&(g&57344&&(0<=a.na&&(g|=128),a.C&57344||(a.C=a.C|g|a.Pa<<5|a.Qa<<1),J(a,168)),a.C&61440||!(4191360>e||4194239<e)||(a.C|=4096,a.C&512&&(a.u|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.m|=64,J(a,4));return e}l.ub=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.B,c=a&b.i,d=(a&b.j)>>>b.f;a=c!=b.i?b.b[d].tb(c,a):b.b[d++].eb(c,a)|b.b[d&b.K].eb(0,a+1)<<8}return a};l.Y=function(a){return this.ub(Ub(this,a,2))}; 16384));a.O[a.s][d]=f;if(4194170!==e||a.s)a.Pa=a.s,a.Qa=d;g&&(g&57344&&(0<=a.na&&(g|=128),a.C&57344||(a.C=a.C|g|a.Pa<<5|a.Qa<<1),J(a,168)),a.C&61440||!(4191360>e||4194239<e)||(a.C|=4096,a.C&512&&(a.u|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.m|=64,J(a,4));return e}l.tb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.B,c=a&b.i,d=(a&b.j)>>>b.f;a=c!=b.i?b.b[d].sb(c,a):b.b[d++].eb(c,a)|b.b[d&b.K].eb(0,a+1)<<8}return a};l.Z=function(a){return this.tb(Ub(this,a,2))};
function Tb(a){var b=a.Y(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Rb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.C&57344||(a.oa=a.oa<<8|246);!a.s&&c<=a.ya&&4<c&&(c<=a.ya-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=4));c=Ub(a,c|65536,4);Va(a.B,c,b&65535)} function Tb(a){var b=a.Z(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Rb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.C&57344||(a.xa=a.xa<<8|246);!a.s&&c<=a.ya&&4<c&&(c<=a.ya-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=4));c=Ub(a,c|65536,4);Va(a.B,c,b&65535)}
function Vb(a,b,c){var d,f,e=b&7,g=c&8?0:a.Kb;switch(b>>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.s&&c&4&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);if(0>(d=a.Y(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.Y(d)))return d; function Vb(a,b,c){var d,f,e=b&7,g=c&8?0:a.Kb;switch(b>>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.s&&c&4&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);if(0>(d=a.Z(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.Z(d)))return d;
d|=g;break;case 6:if(0>(d=a.Y(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return d|g;case 7:if(0>(d=a.Y(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.Y(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.C&57344||(a.oa=a.oa<<8|f<<3&248|e);6===e&&!a.s&&c&4&&0>=f&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=64));return d}l.hc=function(a,b){return Vb(this,a,b)};l.ic=function(a,b){return Ub(this,Vb(this,a,b),b)}; d|=g;break;case 6:if(0>(d=a.Z(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return d|g;case 7:if(0>(d=a.Z(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.Z(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.C&57344||(a.xa=a.xa<<8|f<<3&248|e);6==e&&!a.s&&c&4&&0>=f&&(a.c[6]<=a.ya||65534<=a.c[6])&&(a.c[6]<=a.ya-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.u|=64));return d}l.hc=function(a,b){return Vb(this,a,b)};l.ic=function(a,b){return Ub(this,Vb(this,a,b),b)};
function Wb(a,b,c){b&56?(b=Vb(a,b,0),c&65536||61440!==(a.w&61440)&&(b&=65535),a.s=a.w>>12&3,c=a.Y(b|c&65536),a.s=a.w>>14&3):(c=b&7,c=6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]:a.fa[a.w>>12&3]);return c}function Xb(a,b,c,d){a.C&57344||(a.oa=22);b&56?(b=Vb(a,b,0),c&65536||(b&=65535),a.s=a.w>>12&3,b=Ub(a,b|c&65536,4),a.s=a.w>>14&3,Va(a.B,b,d&65535)):(c=b&7,6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]=d:a.fa[a.w>>12&3]=d)}function S(a,b){return b&56?a.tb(Vb(a,b,2)):a.c[b&7]} function Wb(a,b,c){b&56?(b=Vb(a,b,0),c&65536||61440!==(a.w&61440)&&(b&=65535),a.s=a.w>>12&3,c=a.Z(b|c&65536),a.s=a.w>>14&3):(c=b&7,c=6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]:a.fa[a.w>>12&3]);return c}function Xb(a,b,c,d){a.C&57344||(a.xa=22);b&56?(b=Vb(a,b,0),c&65536||(b&=65535),a.s=a.w>>12&3,b=Ub(a,b|c&65536,4),a.s=a.w>>14&3,Va(a.B,b,d&65535)):(c=b&7,6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]=d:a.fa[a.w>>12&3]=d)}function S(a,b){return b&56?a.sb(Vb(a,b,2)):a.c[b&7]}
function T(a,b){b&56?(b=a.ka(b,3),a=Ua(a.B,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ka(b,6),c=d.call(a,c,a.ub(b)),Va(a.B,b,c&65535)):(b&=7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.ka(b,7),c=d.call(a,c,Ua(a.B,b)),a=a.B,a.b[(b&a.j)>>>a.f].Wa(b&a.i,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Yb(a,b,c){b&56?(b=a.ka(b,4),Va(a.B,b,c&65535)):a.c[b&7]=c&65535;return c} function T(a,b){b&56?(b=a.ka(b,3),a=Ua(a.B,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ka(b,6),c=d.call(a,c,a.tb(b)),Va(a.B,b,c&65535)):(b&=7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.ka(b,7),c=d.call(a,c,Ua(a.B,b)),a=a.B,a.b[(b&a.j)>>>a.f].Wa(b&a.i,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Yb(a,b,c){b&56?(b=a.ka(b,4),Va(a.B,b,c&65535)):a.c[b&7]=c&65535;return c}
function Zb(a,b,c,d){b&56?(d=a.ka(b,5),a=a.B,a.b[(d&a.j)>>>a.f].Wa(d&a.i,c&255,d)):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b){a.c[7]=a.c[7]+(b<<24>>23)&65535} function Zb(a,b,c,d){b&56?(d=a.ka(b,5),a=a.B,a.b[(d&a.j)>>>a.f].Wa(d&a.i,c&255,d)):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b){a.c[7]=a.c[7]+(b<<24>>23)&65535}
l.$b=function(a){this.g.complete=!0;this.g.dc=!1;this.g.Zb=!1;this.X=this.a=a;do{this.u&112&&(this.u&32?J(this,168):this.u&64?J(this,4):this.u&16&&J(this,12),this.u&=-113);if(this.ia)if(1==this.ia)this.ia=2;else{this.ia=0;a=null;for(var b=this.Gb&224,c=this.h.length;0<=--c;){if(0<this.h[c].da){this.h[c].da--;this.ia=2;break}if(this.h[c].Ob){if(!this.h[c].Ob()){this.h.splice(c,1);continue}this.h[c].Ob=null}this.h[c].mc>b&&(b=this.h[c].mc,a=this.h[c],this.h.splice(c,1))}b>(this.w&224)&&(a?J(this,a.Bc): l.$b=function(a){this.g.complete=!0;this.g.dc=!1;this.g.Zb=!1;this.Y=this.a=a;do{this.u&112&&(this.u&32?J(this,168):this.u&64?J(this,4):this.u&16&&J(this,12),this.u&=-113);if(this.ia)if(1==this.ia)this.ia=2;else{this.ia=0;a=null;for(var b=this.Gb&224,c=this.h.length;0<=--c;){if(0<this.h[c].ea){this.h[c].ea--;this.ia=2;break}if(this.h[c].Ob){if(!this.h[c].Ob()){this.h.splice(c,1);continue}this.h[c].Ob=null}this.h[c].mc>b&&(b=this.h[c].mc,a=this.h[c],this.h.splice(c,1))}b>(this.w&224)&&(a?J(this,a.Cc):
J(this,160))}this.C&57344||(this.oa=0,this.jb=this.c[7]);this.u=this.w&16;a=this.Y(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a)}while(0<this.a);return this.g.complete?this.X-this.a:void 0===this.g.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Mb(d);B(d,c)}});function $b(a,b){var c=b+a;Pb(this,c,a,b);return c&65535}function ac(a,b){var c=b+a;Pb(this,c<<8,a<<8,b<<8);return c&255} J(this,160))}this.C&57344||(this.xa=0,this.ub=this.c[7]);this.u=this.w&16;a=this.Z(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a)}while(0<this.a);return this.g.complete?this.Y-this.a:void 0===this.g.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Mb(d);B(d,c)}});function $b(a,b){var c=b+a;Pb(this,c,a,b);return c&65535}function ac(a,b){var c=b+a;Pb(this,c<<8,a<<8,b<<8);return c&255}
function bc(a,b){a=b<<1;R(this,a);return a&65535}function cc(a,b){a=b<<1;R(this,a<<8);return a&255}function dc(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function ec(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function fc(a,b){a=b&~a;Q(this,a);return a}function gc(a,b){a=b&~a;Q(this,a<<8);return a}function hc(a,b){a|=b;Q(this,a);return a}function ic(a,b){a|=b;Q(this,a<<8);return a}function jc(a,b){a=~b|65536;P(this,a);return a&65535} function bc(a,b){a=b<<1;R(this,a);return a&65535}function cc(a,b){a=b<<1;R(this,a<<8);return a&255}function dc(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function ec(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function fc(a,b){a=b&~a;Q(this,a);return a}function gc(a,b){a=b&~a;Q(this,a<<8);return a}function hc(a,b){a|=b;Q(this,a);return a}function ic(a,b){a|=b;Q(this,a<<8);return a}function jc(a,b){a=~b|65536;P(this,a);return a&65535}
function kc(a,b){a=~b|256;P(this,a<<8);return a&255}function lc(a,b){a=b-a;this.u&128||(this.j=this.f=a,this.b=b&(b^a));return a&65535}function mc(a,b){a=b-a;var c=a<<8;b<<=8;this.u&128||(this.j=this.f=c,this.b=b&(b^c));return a&255}function nc(a,b){a=b+a;this.u&128||(this.j=this.f=a,this.b=a&(b^a));return a&65535}function oc(a,b){a=b+a;var c=a<<8;this.u&128||(this.j=this.f=c,this.b=c&(b<<8^c));return a&255}function pc(a,b){a=-b;P(this,a,a&b&32768);return a&65535} function kc(a,b){a=~b|256;P(this,a<<8);return a&255}function lc(a,b){a=b-a;this.u&128||(this.j=this.f=a,this.b=b&(b^a));return a&65535}function mc(a,b){a=b-a;var c=a<<8;b<<=8;this.u&128||(this.j=this.f=c,this.b=b&(b^c));return a&255}function nc(a,b){a=b+a;this.u&128||(this.j=this.f=a,this.b=a&(b^a));return a&65535}function oc(a,b){a=b+a;var c=a<<8;this.u&128||(this.j=this.f=c,this.b=c&(b<<8^c));return a&255}function pc(a,b){a=-b;P(this,a,a&b&32768);return a&65535}
function qc(a,b){a=-b;P(this,a<<8,(a&b&128)<<8);return a&255}function rc(a,b){a=b<<1|this.i>>16&1;R(this,a);return a&65535}function sc(a,b){a=b<<1|this.i>>16&1;R(this,a<<8);return a&255}function tc(a,b){a=(this.i&65536|b)>>1|b<<16;R(this,a);return a&65535}function uc(a,b){a=((this.i&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function vc(a,b){var c=b-a;Qb(this,c,a,b);return c&65535}function wc(a,b){var c=b-a;Qb(this,c<<8,a<<8,b<<8);return c&255}function xc(a,b){a^=b;Q(this,a);return a&65535} function qc(a,b){a=-b;P(this,a<<8,(a&b&128)<<8);return a&255}function rc(a,b){a=b<<1|this.i>>16&1;R(this,a);return a&65535}function sc(a,b){a=b<<1|this.i>>16&1;R(this,a<<8);return a&255}function tc(a,b){a=(this.i&65536|b)>>1|b<<16;R(this,a);return a&65535}function uc(a,b){a=((this.i&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function vc(a,b){var c=b-a;Qb(this,c,a,b);return c&65535}function wc(a,b){var c=b-a;Qb(this,c<<8,a<<8,b<<8);return c&255}function xc(a,b){a^=b;Q(this,a);return a&65535}
@ -99,42 +100,42 @@ function Ac(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];th
function Cc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.j=b>>16;this.f=this.j|b;this.b=0;this.i=-32768>b||32767<b?65536:0;--this.a}function Dc(){--this.a}function Y(a){a&1&&(this.i=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.j=32768);--this.a}function Ec(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535;--this.a} function Cc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.j=b>>16;this.f=this.j|b;this.b=0;this.i=-32768>b||32767<b?65536:0;--this.a}function Dc(){--this.a}function Y(a){a&1&&(this.i=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.j=32768);--this.a}function Ec(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535;--this.a}
function Fc(a){U(this,a,S(this,(a&448)>>6),xc);--this.a}function Z(){J(this,8)}function Nb(a){Gc[a>>12].call(this,a)} function Fc(a){U(this,a,S(this,(a&448)>>6),xc);--this.a}function Z(){J(this,8)}function Nb(a){Gc[a>>12].call(this,a)}
var Gc=[function(a){Hc[a>>8&15].call(this,a)},function(a){Q(this,Yb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Qb(this,b-a,a,b);--this.a},function(a){Q(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),fc);--this.a},function(a){U(this,a,S(this,a>>6),hc);--this.a},function(a){U(this,a,S(this,a>>6),$b);--this.a},function(a){Ic[a>>8&15].call(this,a)},function(a){Jc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);Q(this,Zb(this,a,b,1)<<8);--this.a}, var Gc=[function(a){Hc[a>>8&15].call(this,a)},function(a){Q(this,Yb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Qb(this,b-a,a,b);--this.a},function(a){Q(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),fc);--this.a},function(a){U(this,a,S(this,a>>6),hc);--this.a},function(a){U(this,a,S(this,a>>6),$b);--this.a},function(a){Ic[a>>8&15].call(this,a)},function(a){Jc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);Q(this,Zb(this,a,b,1)<<8);--this.a},
function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Qb(this,b-a,a,b);--this.a},function(a){Q(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),gc);--this.a},function(a){V(this,a,T(this,a>>6),ic);--this.a},function(a){U(this,a,S(this,a>>6),vc);--this.a},Z],Hc=[function(a){Kc[a>>4&15].call(this,a)},function(a){W(this,a);--this.a},function(a){this.f&65535&&W(this,a);--this.a},function(a){this.f&65535||W(this,a);--this.a},function(a){!this.ta()==!(this.b&32768)&&W(this,a);--this.a}, function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Qb(this,b-a,a,b);--this.a},function(a){Q(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),gc);--this.a},function(a){V(this,a,T(this,a>>6),ic);--this.a},function(a){U(this,a,S(this,a>>6),vc);--this.a},Z],Hc=[function(a){Kc[a>>4&15].call(this,a)},function(a){W(this,a);--this.a},function(a){this.f&65535&&W(this,a);--this.a},function(a){this.f&65535||W(this,a);--this.a},function(a){!this.sa()==!(this.b&32768)&&W(this,a);--this.a},
function(a){!this.ta()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ta()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ta()==!(this.b&32768)||W(this,a);--this.a},Bc,Bc,function(a){Lc[a>>6&3].call(this,a)},function(a){Mc[a>>6&3].call(this,a)},function(a){Nc[a>>6&3].call(this,a)},function(a){Oc[a>>6&3].call(this,a)},Z,Z],Kc=[function(a){Pc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Tb(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.w& function(a){!this.sa()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)||W(this,a);--this.a},Bc,Bc,function(a){Lc[a>>6&3].call(this,a)},function(a){Mc[a>>6&3].call(this,a)},function(a){Nc[a>>6&3].call(this,a)},function(a){Oc[a>>6&3].call(this,a)},Z,Z],Kc=[function(a){Pc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Tb(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.w&
49152||(this.w=this.w&-2017|(a&7)<<5,this.ia=1);--this.a},function(a){Qc[a&15].call(this,a)},function(a){Rc[a&15].call(this,a)},Z,Z,Z,Z],Qc=[Dc,function(){this.i=0;--this.a},function(){this.b=0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.j=0;--this.a},X,X,X,X,X,X,X],Rc=[Dc,function(){this.i=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.j=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Pc=[function(){this.w&49152?(this.m|=128,J(this,4)): 49152||(this.w=this.w&-2017|(a&7)<<5,this.ia=1);--this.a},function(a){Qc[a&15].call(this,a)},function(a){Rc[a&15].call(this,a)},Z,Z,Z,Z],Qc=[Dc,function(){this.i=0;--this.a},function(){this.b=0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.j=0;--this.a},X,X,X,X,X,X,X],Rc=[Dc,function(){this.i=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.j=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Pc=[function(){this.w&49152?(this.m|=128,J(this,4)):
(this.Ha=3,Lb(this));--this.a},function(){for(var a=0,b=this.h.length;0<=--b;)a+=this.h[b].da,this.h[b].da=0;a||0!==this.Ha||(this.Ha=2,Lb(this));--this.a},function(){Sb(this);this.u|=this.w&16;--this.a},function(){J(this,12);--this.a},function(){J(this,16);--this.a},function(){this.w&49152||(Ob(this),this.B.reset());--this.a},function(){Sb(this);--this.a},Z,Z,Z,Z,Z,Z,Z,Z,Z],Ic=[Cc,Cc,Ac,Ac,yc,yc,zc,zc,Fc,Fc,Z,Z,Z,Z,Ec,Ec],Jc=[function(a){this.ta()||W(this,a);--this.a},function(a){this.ta()&&W(this, (this.Ga=3,Lb(this));--this.a},function(){for(var a=0,b=this.h.length;0<=--b;)a+=this.h[b].ea,this.h[b].ea=0;a||0!==this.Ga||(this.Ga=2,Lb(this));--this.a},function(){Sb(this);this.u|=this.w&16;--this.a},function(){J(this,12);--this.a},function(){J(this,16);--this.a},function(){this.w&49152||(Ob(this),this.B.reset());--this.a},function(){Sb(this);--this.a},Z,Z,Z,Z,Z,Z,Z,Z,Z],Ic=[Cc,Cc,Ac,Ac,yc,yc,zc,zc,Fc,Fc,Z,Z,Z,Z,Ec,Ec],Jc=[function(a){this.sa()||W(this,a);--this.a},function(a){this.sa()&&W(this,
a);--this.a},function(a){!O(this)&&this.f&65535&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535||W(this,a);--this.a},function(a){this.b&32768||W(this,a);--this.a},function(a){this.b&32768&&W(this,a);--this.a},function(a){O(this)||W(this,a);--this.a},function(a){O(this)&&W(this,a);--this.a},function(){J(this,24);--this.a},function(){J(this,28);--this.a},function(a){Sc[a>>6&3].call(this,a)},function(a){Tc[a>>6&3].call(this,a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this, a);--this.a},function(a){!O(this)&&this.f&65535&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535||W(this,a);--this.a},function(a){this.b&32768||W(this,a);--this.a},function(a){this.b&32768&&W(this,a);--this.a},function(a){O(this)||W(this,a);--this.a},function(a){O(this)&&W(this,a);--this.a},function(){J(this,24);--this.a},function(){J(this,28);--this.a},function(a){Sc[a>>6&3].call(this,a)},function(a){Tc[a>>6&3].call(this,a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,
a)},Z,Z],Lc=[function(a){P(this,Yb(this,a,0));--this.a},function(a){U(this,a,0,jc);--this.a},function(a){U(this,a,1,nc);--this.a},function(a){U(this,a,1,lc);--this.a}],Mc=[function(a){U(this,a,0,pc);--this.a},function(a){U(this,a,O(this)?1:0,$b);--this.a},function(a){U(this,a,O(this)?1:0,vc);--this.a},function(a){a=S(this,a);P(this,a);--this.a}],Nc=[function(a){U(this,a,0,tc);--this.a},function(a){U(this,a,0,rc);--this.a},function(a){U(this,a,0,dc);--this.a},function(a){U(this,a,0,bc);--this.a}], a)},Z,Z],Lc=[function(a){P(this,Yb(this,a,0));--this.a},function(a){U(this,a,0,jc);--this.a},function(a){U(this,a,1,nc);--this.a},function(a){U(this,a,1,lc);--this.a}],Mc=[function(a){U(this,a,0,pc);--this.a},function(a){U(this,a,O(this)?1:0,$b);--this.a},function(a){U(this,a,O(this)?1:0,vc);--this.a},function(a){a=S(this,a);P(this,a);--this.a}],Nc=[function(a){U(this,a,0,tc);--this.a},function(a){U(this,a,0,rc);--this.a},function(a){U(this,a,0,dc);--this.a},function(a){U(this,a,0,bc);--this.a}],
Oc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.Y(a|65536);this.c[7]=this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(a){a=Wb(this,a,0);Rb(this,a);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,0,b);Q(this,b);--this.a},function(a){Q(this,Yb(this,a,this.ta?65535:0));--this.a}],Sc=[function(a){P(this,Zb(this,a,0));--this.a},function(a){V(this,a,0,kc);--this.a},function(a){V(this,a,1,oc);--this.a},function(a){V(this,a,1,mc);--this.a}],Tc=[function(a){V(this,a,0,qc); Oc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.Z(a|65536);this.c[7]=this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(a){a=Wb(this,a,0);Rb(this,a);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,0,b);Q(this,b);--this.a},function(a){Q(this,Yb(this,a,this.sa?65535:0));--this.a}],Sc=[function(a){P(this,Zb(this,a,0));--this.a},function(a){V(this,a,0,kc);--this.a},function(a){V(this,a,1,oc);--this.a},function(a){V(this,a,1,mc);--this.a}],Tc=[function(a){V(this,a,0,qc);
--this.a},function(a){V(this,a,O(this)?1:0,ac);--this.a},function(a){V(this,a,O(this)?1:0,wc);--this.a},function(a){a=T(this,a);P(this,a<<8);--this.a}],Uc=[function(a){V(this,a,0,uc);--this.a},function(a){V(this,a,0,sc);--this.a},function(a){V(this,a,0,ec);--this.a},function(a){V(this,a,0,cc);--this.a}],Vc=[Z,function(a){a=Wb(this,a,65536);Rb(this,a);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,65536,b);Q(this,b);--this.a},Z]; --this.a},function(a){V(this,a,O(this)?1:0,ac);--this.a},function(a){V(this,a,O(this)?1:0,wc);--this.a},function(a){a=T(this,a);P(this,a<<8);--this.a}],Uc=[function(a){V(this,a,0,uc);--this.a},function(a){V(this,a,0,sc);--this.a},function(a){V(this,a,0,ec);--this.a},function(a){V(this,a,0,cc);--this.a}],Vc=[Z,function(a){a=Wb(this,a,65536);Rb(this,a);Q(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,65536,b);Q(this,b);--this.a},Z];
function Wc(a){v.call(this,"ROM",a,Wc);this.b=null;this.l=a.addr;this.f=a.size;this.s=a.writable;this.h=a.alias;this.i=a.file;this.C=ca(this.i);if(this.i){a=this.i;var b=da(this.C);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Xc(c,a,b,e)})}}x(Wc);Wc.prototype.La=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Yc(this)};Wc.prototype.xa=function(){this.j&&(this.I&&this.I.a(this.id,this.l,this.f,this.j),delete this.j);return!0}; function Wc(a){v.call(this,"ROM",a,Wc);this.b=null;this.l=a.addr;this.f=a.size;this.s=a.writable;this.h=a.alias;this.i=a.file;this.C=ca(this.i);if(this.i){a=this.i;var b=da(this.C);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Xc(c,a,b,e)})}}x(Wc);Wc.prototype.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Yc(this)};Wc.prototype.wa=function(){this.j&&(this.I&&this.I.a(this.id,this.l,this.f,this.j),delete this.j);return!0};
Wc.prototype.wa=function(){return!0}; Wc.prototype.va=function(){return!0};
function Xc(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Nb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.j=h.symbols;if(!a.b.length){r("Empty ROM: "+b); function Xc(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Nb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.j=h.symbols;if(!a.b.length){r("Empty ROM: "+b);
return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.L("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Yc(a)}} return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.L("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Yc(a)}}
function Yc(a){if(!Ha(a))if(!a.i)D(a);else if(a.b&&a.B){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.g.error=!0;a.L(b)}else{b=a.l;if(Qa(a.B,b,a.f,a.s?1:sb)){var c;for(c=0;c<a.b.length;c++){var d=a.B,f=b+c;d.b[(f&d.j)>>>d.f].ac(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.B,g=e.f,h=[],k=e.l>>>f.f;0<g&& function Yc(a){if(!Ha(a))if(!a.i)D(a);else if(a.b&&a.B){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.g.error=!0;a.L(b)}else{b=a.l;if(Qa(a.B,b,a.f,a.s?1:rb)){var c;for(c=0;c<a.b.length;c++){var d=a.B,f=b+c;d.b[(f&d.j)>>>d.f].ac(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.B,g=e.f,h=[],k=e.l>>>f.f;0<g&&
k<f.b.length;)h.push(f.b[k++]),g-=f.h;f=e.B;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.h}}delete a.b}}D(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Wc(d);B(d,c)}});function Zc(a){v.call(this,"RAM",a,Zc);this.h=a.addr;this.f=a.size;this.b=!1}x(Zc);l=Zc.prototype;l.La=function(a,b,c,d){this.B=b;this.a=c;this.I=d;D(this)};l.xa=function(a,b){b||this.reset();return!0};l.wa=function(a){return a?this.save():!0}; k<f.b.length;)h.push(f.b[k++]),g-=f.h;f=e.B;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.h}}delete a.b}}D(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Wc(d);B(d,c)}});function Zc(a){v.call(this,"RAM",a,Zc);this.h=a.addr;this.f=a.size;this.b=!1}x(Zc);l=Zc.prototype;l.Ka=function(a,b,c,d){this.B=b;this.a=c;this.I=d;D(this)};l.wa=function(a,b){b||this.reset();return!0};l.va=function(a){return a?this.save():!0};
l.reset=function(){!this.b&&this.f&&Qa(this.B,this.h,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Zc(d);B(d,c)}});function $c(a){v.call(this,"Keyboard",a,$c);D(this)}x($c);$c.prototype.ca=function(){return!1};$c.prototype.La=function(a,b,c,d){this.l=a;this.a=c;this.I=d;this.Ba=null}; l.reset=function(){!this.b&&this.f&&Qa(this.B,this.h,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Zc(d);B(d,c)}});function $c(a){v.call(this,"Keyboard",a,$c);D(this)}x($c);$c.prototype.da=function(){return!1};$c.prototype.Ka=function(a,b,c,d){this.l=a;this.a=c;this.I=d;this.Ba=null};
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new $c(d);B(d,c)}}); u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new $c(d);B(d,c)}});
function ad(a,b,c){v.call(this,"Computer",a,ad);this.g.M=!1;bd(this,b);this.J=Db(this,"autoPower",a);this.h=0;this.Z=a.busWidth||a.buswidth;this.b=cd;this.C=null;this.l=this.W=!1;this.url=Db(this,"url")||"";(Math.random()+.1).toString(36);this.f=dd(this);if(this.a=Fa("CPU",this.id)){this.I=Fa("Debugger",this.id);this.B=new E({id:this.Nb+".bus",busWidth:this.Z},this.a,this.I);var d,f=y(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Cb)for(b=0;b<f.length;b++)d=f[b],d.L=this.i.L,d.N=this.i.N,d.Cb= function ad(a,b,c){v.call(this,"Computer",a,ad);this.g.M=!1;bd(this,b);this.J=Cb(this,"autoPower",a);this.h=0;this.$=a.busWidth||a.buswidth;this.b=cd;this.C=null;this.l=this.X=!1;this.url=Cb(this,"url")||"";(Math.random()+.1).toString(36);this.f=dd(this);if(this.a=Fa("CPU",this.id)){this.I=Fa("Debugger",this.id);this.B=new E({id:this.Nb+".bus",busWidth:this.$},this.a,this.I);var d,f=y(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Cb)for(b=0;b<f.length;b++)d=f[b],d.L=this.i.L,d.N=this.i.N,d.Cb=
this.i.Cb;this.N("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.N("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.La&&d.La(this,this.B,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.s=d:this.b=parseInt(d,10));var e;if(a=Db(this,"state")||(e=!0,a.state))b=this.K=a,e||(this.l=!0,this.b=cd),this.b&&(this.G= this.i.Cb;this.N("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.N("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ka&&d.Ka(this,this.B,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.s=d:this.b=parseInt(d,10));var e;if(a=Cb(this,"state")||(e=!0,a.state))b=this.K=a,e||(this.l=!0,this.b=cd),this.b&&(this.G=
new N(this,"1.30.0"),ed(this.G)?b=null:delete this.G);!b&&this.b&&(b=fd(this))&&(this.l=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.s=null,g.l=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.C=b,g.W=!0);D(g)})}else D(this);this.v.power||(this.J=!0);!c&&this.J&&gd(this,this.cb)}else r("Unable to find CPU component")}x(ad);var cd=0; new N(this,"1.30.0"),ed(this.G)?b=null:delete this.G);!b&&this.b&&(b=fd(this))&&(this.l=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.s=null,g.l=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.C=b,g.X=!0);D(g)})}else D(this);this.v.power||(this.J=!0);!c&&this.J&&gd(this,this.cb)}else r("Unable to find CPU component")}x(ad);var cd=0;
function bd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.X=b}function Db(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.X&&(d=a.X[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function gd(a,b,c){for(var d=y(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ha(e)){Ha(e,function(){gd(a,b,c)});return}}b.call(a,c)} function bd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.Y=b}function Cb(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.Y&&(d=a.Y[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function gd(a,b,c){for(var d=y(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ha(e)){Ha(e,function(){gd(a,b,c)});return}}b.call(a,c)}
function hd(a,b){var c=new N(a,"1.30.0","validate");if(ed(c)&&id(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=ad.prototype; function hd(a,b){var c=new N(a,"1.30.0","validate");if(ed(c)&&id(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=ad.prototype;
l.cb=function(a){void 0===a&&(a=this.b||(this.C?1:cd));if(!this.h){this.h++;var b=!1,c=!1;this.T=!1;var d=this.G||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>cd){if(ed(d,this.C)){this.j=new N(this,"1.30.0","failsafe");ed(this.j)&&(jd(this,d),a=2,kd(this.j));this.j.set("timestamp",ja());ld(this.j);var f=this.b&&!this.l;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=id(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?ed(d,g):("error"== l.cb=function(a){void 0===a&&(a=this.b||(this.C?1:cd));if(!this.h){this.h++;var b=!1,c=!1;this.T=!1;var d=this.G||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>cd){if(ed(d,this.C)){this.j=new N(this,"1.30.0","failsafe");ed(this.j)&&(jd(this,d),a=2,kd(this.j));this.j.set("timestamp",ja());ld(this.j);var f=this.b&&!this.l;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=id(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?ed(d,g):("error"==
e&&"no machine state"!=g?(this.L("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.N(e+": "+g),kd(d),ed(d)?(c=id(d),f=!0):c=!1))}f&&hd(this,c?d:null)}else 2==a&&d.clear()}else hd(this);delete this.C;delete this.G}f=y(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=md(this,g,d,b,c));b=[d,a,c];-1!=a?gd(this,this.Rb,b):this.Rb(b)}}; e&&"no machine state"!=g?(this.L("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.N(e+": "+g),kd(d),ed(d)?(c=id(d),f=!0):c=!1))}f&&hd(this,c?d:null)}else 2==a&&d.clear()}else hd(this);delete this.C;delete this.G}f=y(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=md(this,g,d,b,c));b=[d,a,c];-1!=a?gd(this,this.Rb,b):this.Rb(b)}};
function md(a,b,c,d,f){if(!b.g.M){b.g.M=!0;if(b.xa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.xa(e,d)&&e&&(r("Unable to restore state for "+b.type),a.K&&!a.W?(c.clear(),a.b=cd,window&&window.location.reload()):a.T=!0,b.xa(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f} function md(a,b,c,d,f){if(!b.g.M){b.g.M=!0;if(b.wa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.wa(e,d)&&e&&(r("Unable to restore state for "+b.type),a.K&&!a.X?(c.clear(),a.b=cd,window&&window.location.reload()):a.T=!0,b.wa(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
l.Rb=function(a){var b=a[0],c=0>a[1];a=a[2];this.$=!0;this.g.M=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(md(this,this.a,b,c,a),this.a.Za());this.T&&(jd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; l.Rb=function(a){var b=a[0],c=0>a[1];a=a[2];this.aa=!0;this.g.M=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(md(this,this.a,b,c,a),this.a.Za());this.T&&(jd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0};
function jd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}} function jd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
function nd(a,b,c){var d,f="none";if(a.h)return null;a.h--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.wa&&(c&&M(a.a),d=a.a.wa(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.g.M=!1,!1===d&&(f=null)));for(var h=y(a.id),k=0;k<h.length;k++){var m=h[k];m.g.M&&(m.wa&&(d=m.wa(b,c),"object"===typeof d&&e.set(m.id, function nd(a,b,c){var d,f="none";if(a.h)return null;a.h--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.va&&(c&&Gb(a.a),d=a.a.va(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.g.M=!1,!1===d&&(f=null)));for(var h=y(a.id),k=0;k<h.length;k++){var m=h[k];m.g.M&&(m.va&&(d=m.va(b,c),"object"===typeof d&&e.set(m.id,
d)),c&&(m.g.M=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&od(a,a.f,e.toString()),ld(g)&&ld(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.g.M=!1,b=a.v.power)&&(b.textContent="Power");a.h=0;return f}l.reset=function(){this.B&&this.B.reset&&this.B.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.B&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}}; d)),c&&(m.g.M=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&od(a,a.f,e.toString()),ld(g)&&ld(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.g.M=!1,b=a.v.power)&&(b.textContent="Power");a.h=0;return f}l.reset=function(){this.B&&this.B.reset&&this.B.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.B&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
l.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}}; l.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
l.ca=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.h||(d.g.M?nd(d,!1,!0):gd(d,d.cb))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.g.M&&!d.h)if(d.b&&!d.s){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nd(d,a,!0);!a&&d.K?window&&window.location.reload():d.cb(cd)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.v[b]= l.da=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.h||(d.g.M?nd(d,!1,!0):gd(d,d.cb))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.g.M&&!d.h)if(d.b&&!d.s){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nd(d,a,!0);!a&&d.K?window&&window.location.reload():d.cb(cd)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.v[b]=
c,c.onclick=function(){var a=dd(d,!0);if(a){var b=!!(d.b&&!d.s||d.K),c=nd(d,b);b?od(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1}; c,c.onclick=function(){var a=dd(d,!0);if(a){var b=!!(d.b&&!d.s||d.K),c=nd(d,b);b?od(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
function dd(a,b){var c=a.f;c||((c=na("user"),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=pd(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c} function dd(a,b){var c=a.f;c||((c=na("user"),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=pd(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c}
function pd(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function fd(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+qd(a,"1.30.0"));return b} function pd(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function fd(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+qd(a,"1.30.0"));return b}
function od(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=qd(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.L("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.L(c),oa("user",""),a.f=null)}} function od(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=qd(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.L("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.L(c),oa("user",""),a.f=null)}}
l.Oa=function(a){this.a&&this.a.Oa(a);this.i&&this.i.Oa(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new ad(g,d,!0);B(g,e);g.J&&gd(g,g.cb)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.$&&!c.g.M&&c.cb(-1)}}); l.Oa=function(a){this.a&&this.a.Oa(a);this.i&&this.i.Oa(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=z(e),g=new ad(g,d,!0);B(g,e);g.J&&gd(g,g.cb)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Fa("Computer",c.id))&&c.aa&&!c.g.M&&c.cb(-1)}});
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.g.M&&nd(c,!(!c.b||c.s),!0)}});function N(a,b,c){this.id=a.id;this.key=qd(a,b,c);this.I=a.I;kd(this,a.gc)}function qd(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} t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Fa("Computer",c.id))&&c.g.M&&nd(c,!(!c.b||c.s),!0)}});function N(a,b,c){this.id=a.id;this.key=qd(a,b,c);this.I=a.I;kd(this,a.gc)}function qd(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}
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){kd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c, N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){kd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
1);c=0}}};function kd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function ld(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function id(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function ed(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}var rd=0; 1);c=0}}};function kd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function ld(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function id(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function ed(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}var rd=0;
function sd(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):td(h,a,b,c,d,f,e)})} function sd(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):td(h,a,b,c,d,f,e)})}
@ -142,6 +143,6 @@ function td(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Ea(c,b,a),(e=
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){e=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?ud(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)} a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){e=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?ud(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function ud(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)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 "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, function ud(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)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 "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)}
function vd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--rd||va(!0));k=!1}var g,h,k=!0;rd++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=m:z.appendChild(document.createTextNode(m));q.appendChild(z)}c|| function vd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--rd||va(!0));k=!1}var g,h,k=!0;rd++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],A=document.createElement("style");A.type="text/css";A.styleSheet?A.styleSheet.cssText=m:A.appendChild(document.createTextNode(m));q.appendChild(A)}c||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?sd(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--rd||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--rd||va(!0)):e("invalid machine element: "+ (c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?sd(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--rd||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--rd||va(!0)):e("invalid machine element: "+
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?sd(b,a,d,!0,f,m):td(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(L){e(L.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return vd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})(); a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?sd(b,a,d,!0,f,m):td(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(L){e(L.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return vd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();